Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
mkisofs -no-emul-boot -b os.bin -o os.iso opt -> Create the iso image
Running this ISO through VirtualBox, I get this error: FATAL: Could not read from the boot medium! System halted.
I don't think that my bootloader is the issue, since setting -b boot.bin instead of -b os.bin with mkisofs makes the bootloader ISO work, but I can't load my kernel code like that!
Note that I don't have a GCC cross compiler set-up, I'm working from Ubuntu.
synthels wrote:I don't think that my bootloader is the issue, since setting -b boot.bin instead of -b os.bin with mkisofs makes the bootloader ISO work,
It sounds like the size of your bootloader is the issue. Some BIOSes have trouble if your no-emulation image is bigger than 2kiB, or not evenly divisible by 2kiB.
synthels wrote:but I can't load my kernel code like that!
Writing your own legacy bootloader is a big challenge. It's too easy to make a mistake somewhere that only causes problems once you run it on a different computer, and it takes a lot of time and effort to get something that works well. On top of that, new PCs have started to drop support for legacy boot. We strongly recommend using an existing bootloader (such as GRUB) to start out, and only writing your own once your OS reaches the limits of existing bootloaders.
synthels wrote:Note that I don't have a GCC cross compiler set-up, I'm working from Ubuntu.
That means setting up a GCC cross compiler will be easy.