#define PLATFORM_BOOT_INFO \
"initrdname=uInitrd\0" \
"initrdaddr=42000000\0" \
+ "initrdsize=800000\0" \
"fdtaddr=40800000\0" \
+ "root_dev=/dev/mmcblk${mmcrootdev}p${mmcrootpart}\0" \
+ "root_device=setenv root_dev /dev/mmcblk${mmcrootdev}p${mmcrootpart}\0" \
"loadkernel=load mmc ${mmcbootdev}:${mmcbootpart} ${kerneladdr} " \
"${kernelname}\0" \
- "loadinitrd=load mmc ${mmcbootdev}:${mmcbootpart} ${initrdaddr} " \
- "${initrdname}\0" \
+ "loadinitrd=" \
+ "if test -e mmc ${mmcbootdev}:${mmcbootpart} ramdisk.img; then " \
+ "setenv initrdname ramdisk.img;" \
+ "load mmc ${mmcbootdev}:${mmcbootpart} ${initrdaddr} " \
+ "${initrdname};" \
+ "else " \
+ "load mmc ${mmcbootdev}:${mmcbootpart} ${initrdaddr} " \
+ "${initrdname};" \
+ "fi;\0" \
"loaddtb=load mmc ${mmcbootdev}:${mmcbootpart} ${fdtaddr} " \
"${fdtfile}\0" \
"check_ramdisk=" \
"if run loadinitrd; then " \
- "setenv initrd_addr ${initrdaddr};" \
+ "setenv initrd_addr ${initrdaddr}:${initrdsize}; " \
+ "setenv root_dev /dev/ram0 rw;" \
"else " \
"setenv initrd_addr -;" \
"fi;\0" \
"setenv fdt_addr;" \
"fi;\0" \
"kernel_args=" \
- "setenv bootargs root=/dev/mmcblk${mmcrootdev}p${mmcrootpart}" \
+ "setenv bootargs root=${root_dev}" \
" rootfstype=${rootfstype} rootwait ${console} ${opts}\0" \
"boot_fit=" \
"setenv kerneladdr 0x42000000;" \
"bootz ${kerneladdr} ${initrd_addr} ${fdt_addr};\0" \
"autoboot=" \
"run checkboard;" \
+ "run root_device;" \
"if test -e mmc 0:${mmcbootpart} Image.itb; then; " \
"run boot_fit;" \
"elif test -e mmc 0:${mmcbootpart} zImage; then; " \