RAM Disk Issues With Device Tree

This problem seems to be fixed after updating from the u-boot mainline to version 1.3.4.

To make the ram disk work (initrd), the ml*.dts file in the kernel needs to be changed to include two additional properties for the initrd.

chosen {
bootargs = "console=ttyS0 ip=on root=/dev/ram";
linux,stdout-path = "/plb@0/serial@83e00000";
linux,initrd-start = <FD36000>;
linux,initrd-end = <FEA5F20>;
} ;

If the ramdisk is still not found by the kernel, the address where u-boot loaded the ramdisk may have changed. View the output of u-boot and replace the addresses of the initrd start and end based on where u-boot loaded it, as illustrated below.

=> bootm 0x1c00000 0x1800000 0x1000000
## Booting image at 01c00000 …
Image Name: Linux-2.6.26-rc8
Image Type: PowerPC Linux Kernel Image (gzip compressed)
Data Size: 1536958 Bytes = 1.5 MB
Load Address: 00000000
Entry Point: 00000000
Verifying Checksum … OK
Uncompressing Kernel Image … OK
## Loading RAMDisk Image at 01800000 …
Image Name:
Image Type: PowerPC Linux RAMDisk Image (gzip compressed)
Data Size: 1507104 Bytes = 1.4 MB
Load Address: 00000000
Entry Point: 00000000
Verifying Checksum … OK
Booting using the fdt at 0x1000000
Loading Ramdisk to 0fd36000, end 0fea5f20 … OK
Loading Device Tree to 007fc000, end 007fefff … OK

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License