Problems With Multiboot
Posted: Sun Apr 13, 2003 11:00 pm
I want to make a multiboot-compliant kernel. I decided to test it first with the sample kernel provided with the Multiboot Specification (http://www.mcc.ac.uk/grub/multiboot_4.html#SEC23), but I can't get it to work.
I'm using GNU GRUB v0.92(which came with Red Hat 8.0) to boot the machine. The kernel is supposed to be run in text mode, but when I tell GRUB to boot the kernel it just sits there at the Graphical Grub interface. I noticed that the kernel didn't specify a video mode, so I changed it to specify 80x25 text mode, but it still does the same thing. Of course the specification says that the loader can just ignore that if it feels like it (although the bit that you set for it seems to imply that it shouldn't), so maybe GRUB doesn't support that feature. I may also have made a mistake in compiling/linking it. This is my Makefile (using gcc v3.2):
mykernel: boot.S kernel.c multiboot.h
gcc -nostdinc -H -nostdlib -static -e _start boot.S kernel.c -o mykernel
Does anybody have any ideas on what could be wrong? If not, any ideas on a really simple way to tell if the kernel is even running?
I'm using GNU GRUB v0.92(which came with Red Hat 8.0) to boot the machine. The kernel is supposed to be run in text mode, but when I tell GRUB to boot the kernel it just sits there at the Graphical Grub interface. I noticed that the kernel didn't specify a video mode, so I changed it to specify 80x25 text mode, but it still does the same thing. Of course the specification says that the loader can just ignore that if it feels like it (although the bit that you set for it seems to imply that it shouldn't), so maybe GRUB doesn't support that feature. I may also have made a mistake in compiling/linking it. This is my Makefile (using gcc v3.2):
mykernel: boot.S kernel.c multiboot.h
gcc -nostdinc -H -nostdlib -static -e _start boot.S kernel.c -o mykernel
Does anybody have any ideas on what could be wrong? If not, any ideas on a really simple way to tell if the kernel is even running?