Hi,
I'm working on a custom developed Au1200 based board. I'm using the
U-Boot as bootloader, and the latest 2.6.30 Linux kernel.
To try my setup, I burned the U-Boot into the flash, and it gets the
kernel (to 0x81000000) and ramdisk image (to 0x81FFFFC0, its header is
0x40 bytes long) from a TFTP server. I'm using the:
root=/dev/ram
as boot argument. When I call the U-Boot's
bootm 81000000 81FFFFC0
command to load the kernel, the bootloader successfully recognizes both
images, then starts the kernel. The kernel starts, but it can't find the
ramdisk image:
Initrd not found or empty
If I call the U-Boot as:
bootm 81000000
and manually set the command line parameters as:
root=/dev/ram rd_start=0x82000000 rd_size=0x191160
it runs perfectly.
As I saw, in the first case, the U-Boot pass the ramdisk parameters to
the kernel through environment variables (initrd_start and initrd_size).
But I couldn't find any code in the kernel side, which could process it.
It knows the memsize and ethaddr environment parameters (the U-Boot sets
them), but nor the initrd_start and initrd_size, and nor the flash_start
and flash_size. Is it true, or I'm blind?
Best regards,
Robert Hodaszi