On Thu, Jan 18, 2001 at 05:27:18PM -0500, Sébastien Côté wrote:
I finally figured out a small part of the problem... My initrd_start
was overwritten (to 0) by the function start_kernel in init/main.c :
<snip>
I don't really understand this function... Why would my initrd be
overwritten?!? Anyways, I commented it out to see what would happen.
Because it's in the wrong place and the kernel is walking all over
it. Usually because a bootloader couldn't handle relocating the
image to a safe place.
<snip>
sb is NULL. Damn.. What now? Is it possible that my initrd has been
erased like the kernel told me? What else could it be?
Yes.
I was also wondering if I loaded the kernel correctly. I put my
zImage+initrd (zvmlinux.initrd) at address 0 of ram. Since I compiled
the kernel with debug symbols, it takes a few Megs... Could it be too
large for it's own good? Maybe somebody knows about the answer to that
one!
What does the bootloader show when it relocates the zImage and initrd?
How about a progress dump so we have something to help you with? You
make some comments about not using a special bootloader then say
you are loading a zImage (from the Sandpoint port) which does have
a relocating bootloader. This smells like a custom board port where
you've gutted or dropped a bootloader and don't have the r3-r6 set
up correctly for entry into arch/ppc/kernel/head.S. Are you really
just dropping vmlinux at address 0? Details details...
--
Matt Porter
MontaVista Software, Inc.
mporter@mvista.com
** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
Matt Porter wrote:
quoted
I was also wondering if I loaded the kernel correctly. I put my
zImage+initrd (zvmlinux.initrd) at address 0 of ram. Since I compiled
the kernel with debug symbols, it takes a few Megs... Could it be too
large for it's own good? Maybe somebody knows about the answer to that
one!
What does the bootloader show when it relocates the zImage and initrd?
How about a progress dump so we have something to help you with? You
make some comments about not using a special bootloader then say
you are loading a zImage (from the Sandpoint port) which does have
a relocating bootloader. This smells like a custom board port where
you've gutted or dropped a bootloader and don't have the r3-r6 set
up correctly for entry into arch/ppc/kernel/head.S. Are you really
just dropping vmlinux at address 0? Details details...
I'll try to see what happens when the image is moved now that I know
this might be the problem, but my stupid debugger isn't friendly at all
and it's very difficult to do so.
I tought the image wouldn't be moved if I placed it a address 0. I copy
my zvmlinux.initrd at this address so I tought it wouldn't be used.
This is indeed a custom board and I'm really just dropping vmlinux at
address 0.
I also found out that the values of initrd_start and initrd_end aren't
valid when assigned from r4 and r5, so something must be overwriting
these values (intrd_end is smaller than initrd_start)
What's the use for r3? I read it's board identification but I don't
really care if my board isn't identified correctly (for now at least).
A looked for documentation about this but couldn't find any (the booting
process of linux on a PowerPc seems to be terribly undocumented)
Thanks for your help,
Sébastien Côté
** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/