How to write a simple operating system
While it's cool and all to write your own bootloader, this means you have to deal with a lot of the really ugly bits of x86/PC architecture... like the A20 gate, for example (if you don't know what that is, count yourself lucky).Instead, I suggest using GRUB to boot your kernel image. It leaves you in 32-bit mode and a relatively sane state. It's not hard to write a loader file (in assembly) which contains the multiboot header and an entry point. Presumably you'll want to set up a basic C runtime environment and call your C "main" function.http://wiki.osdev.org/Bare_bones