Skip to contentSkip to conversation

U-Boot and ramdisk problem

DISCUSSION Robert Hodaszi 1 participant 1 message Jun 23, 2009 MIPS

lore
Share & tools
lore
#0 lore raw

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