On Tue, Jun 17, 2003 at 08:34:33AM +0900 or thereabouts, Yoshinori K. Okuji wrote: > Did you check your kernel with the utility ``mbchk''? > > Okuji
Yes, it's a valid multiboot kernel. Remember that it all worked fine before my kernel grew only few kilobytes in size. I've done a bit more experimenting on the matter and found the following: When I remove everything from my kernel except the main() and printk(), the kernel size is about 14KB, and it boots fine. This is what GRUB reports upon bootup (I've added a line "printf(", 0x%x - 0x%x", phdr->p_paddr, phdr->p_vaddr);" in stage2/boot.c after line 599 to print out the virtual and physical load addresses of the kernel, which in my case are both 0x100000): ... kernel /boot/rkernel [Multiboot-elf, 0x100000 - 0x100000, <0x100000:0x1000:0x0> ... The addresses are correct and my kernel boots fine. Now I compile my kernel with all the source files included, its size grows to 17KB, and I get the following from GRUB: ... kernel /boot/rkernel [Multiboot-elf, 0x0 - 0x0, <0x0:0xac1:0x0>, Error 28: ... Both of the addresses are zero, and the only thing done is that the kernel is few KBs bigger. I believe the virtual/physical addresses in boot.c come from the ELF header, but I can't imagine how adding some C-files to the kernel could screw up the header. Any ideas? Greetings, Riku "Rakkis" Nurminen Personal: http://www.rakkis.net Member of: http://www.madqon.org _______________________________________________ Bug-grub mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/bug-grub