Hi guys,
one of the authors here. First of all, huge thanks to everyone in this community! Without the wiki and these forums, I would never have gotten into OS development. So why did we write this book if the wiki here and the forums already contains everything you need? Our goal was to try to create an easy to follow guide that also contained a lot of references if the reader wanted to dig deeper.
Octocontrabass wrote:
The tutorial says nothing about a cross-compiler.
You need a cross-compiler for OS development.I haven't read through all of it, but I wouldn't be surprised if there are other mistakes.
There are definitely other mistakes in the book! I have created an issue for adding information about using a cross-compiler:
https://github.com/littleosbook/littleosbook/issues/12. Just a question though, since the OS created in the guide is for x86, and the user is most likely using an x86-64 CPU, isn't passing -m32 to gcc enough (as well as other flags to not use standard headers, libc etc)?
Icee wrote:
Combuster wrote:
Look, it doesn't assemble!
Not just that. The linker script (first one) is wrong,
An issue has been filed, see
https://github.com/littleosbook/littleosbook/issues/10Icee wrote:
struct gdt is wrong
Issue filed:
https://github.com/littleosbook/littleosbook/issues/13Icee wrote:
and that is just what immediately draws attention. Overall, the little book seems to be written by people who have done little to no testing of their code snippets.
Hmm, yes, we should definetely try add tests for the snippets in the book to avoid (embarassing) issues like these. Filed an issue for this as well:
https://github.com/littleosbook/littleosbook/issues/14Icee wrote:
UPD: oh, the IDT loading code is wrong, too.
Filed
https://github.com/littleosbook/littleosbook/issues/15. Thanks for all the feedback, much appreciated!
Icee wrote:
willedwards wrote:
I posted this thinking it a good, useful resource for everyone especially beginners.
Posting a beginners guide that contains errors that are hard for beginners to identify and debug does more harm than good.
Agree, but thanks to feedback from everyone in here (as well as from reddit and github), this can hopefully become a correct beginner friendly guide. The other alternative would of course have been to not publish this at all, hopefully people can get some value out of it (even in its current state).
Icee wrote:
willedwards wrote:
Anyone who has found a genuine fault with the guide can submit issues or, better yet, pull-request corrections at
https://github.com/littleosbook/littleosbookCould you please define what a genuine fault is so that I don't bother you with my immaturity anymore?
I don't think your replies are immature, again, the feedback is much appreciated! Feel free to post any errors in this thread, or open an issue on github.
Icee wrote:
willedwards wrote:
The source-code for the actual OS is available online
https://github.com/helino/aenix and it does - obviously - build ok.
Which is a good thing. But irrelevant to the guide in question because the code excerpts in the two locations don't match.
Agreed, this needs to be fixed.
Again, thanks to everyone that read through parts of this text! I'm grateful for any comments, issues etc.