Initrd and 2.6.33 curious behaviour

Robert Jarzmik robert.jarzmik at free.fr
Mon May 24 15:22:17 EDT 2010


Robert Jarzmik <robert.jarzmik at free.fr> writes:
> CONFIG_BLK_DEV_RAM is enabled. I'll add some debugging now and will try again.
>
OK, found out the culprit.
My bootloader(haret) is to be blamed : the first 6 bytes of initrd as the kernel
sees them are totally different from the actual 6 first bytes of initrd file.

The long story is that when haret stops wince MMU, it "reorders" the pages to
create a physically contiguous kernel and initrd, from the scattered pages
allocated in wince. The relocation algorithm is faulty, as it doesn't cope with
the cases where there is a double dependency (ie. a kernel page should be moved
to the page occupied by a initrd page, and the initrd page should be moved to
where resides the kernel page).

It's funny how people want to solve the hanoi towers problem without a spare
slot ...

Cheers.

--
Robert



More information about the linux-arm-kernel mailing list