bug-grub
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: "Error 28" -problem on an old 386


From: Riku 'Rakkis' Nurminen
Subject: Re: "Error 28" -problem on an old 386
Date: Tue, 17 Jun 2003 15:47:31 +0300
User-agent: Mutt/1.3.28i

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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]