Where to Go Next
How do I load and execute applications?
You can use your own load-module format but you may be better to support an existing file layout.
- Linkers and Loaders - online book by John Levine: http://www.iecc.com/linker/
Who would be willing to test my OS code?
- http://www.fysnet.net/os_testers.htm - OS Tester Page. A list of fellow developers and their testing machines that they are willing to test your OS on.
My code doesn't work/hangs/reboots, help!
Formulate your problem in a detailed way. If the code doesn't work, we need to know how it's supposed to work in the first place. Explain what it does (or supposed to) and exactly how it doesn't work. Try to figure out where it doesn't work by using debug screen outputs and infinite loops (to see up to which point the code gets successfully before something bad happens). Don't just post hundreds of lines of ASM/C code, especially irrelevant to the problem, be nice. If you have exception handlers that fire unexpectedly, print out from them CS:EIP of the faulty instruction and then use the map file (can be produced by the linker) or disassembler to figure out exactly what that instruction was and in what function/subroutine.
Are there FAQs and documents with further info?
Yes, there is a lot of good information, if rather sporadic, out there on the Internet.
- http://www.aarongray.org/AODUBL/bookmarks.html - alt.os.development commented bookmark list. Massive amount of bookmarks for many os-related development topics.
- http://wiki.osdev.org/Main_Page - wiki and more on OS development, good general starting point for hardware/software
- http://www.osdever.net/ - tutorials and discussion
- http://alexfru.narod.ru - os dev related links, docs, demos
- http://www.programmersheaven.com/ - programming resources
- http://redir.no-ip.org/mirrors/my.execpc.com/~geezer/index.htm - Chris Giese's OSD (and mirror of the pages of former OS developer John Fine)
- http://www.brokenthorn.com/Resources/OSDevIndex.html - A sequence of tutorials
Where can I ask for further help?
- http://groups.google.com/group/alt.lang.asm - general assembly programming
- http://groups.google.com/group/comp.lang.asm.x86 - group on x86 assembly, which is useful for os dev for x86/64 platform; has its own FAQ.
- http://groups.google.com/group/comp.os.msdos.djgpp - group on DOS port of GNU C/C++ compiler, which can be used for os dev for x86 platform; has a FAQ.
- irc://irc.freenode.net/Osdev - with a suitable IRC client