DaVinci Initrd 1.0

From eLinux.org
Revision as of 13:35, 4 July 2007 by SpaceMonkey (Talk | contribs)

Jump to: navigation, search

Create initrd Procedure (note change count to your required filesystem size):

> dd if=/dev/zero of=uRamdisk.img bs=1k count=20480
> mkfs.ext2 -F -v -M0 uRamdisk.img
> mount -o loop uRamdisk.img <path to mount point>

Now copy all the files needed for RAMDISK to the <path to mount point>.. that would be busybox and/or other apps and libs.

> umount <path to mount point>
> gzip -9 < uRamdisk.img > uRamdisk

Installing the Ramdisk (/tftpboot/uRamdisk) via u-boot

Copy the data into RAM then flash:

UBOOT# install_ramdisk 'tftp 0x2200000 uRamdisk; era 0x2200000 +${filesize};cp.b 0x85000000 0x2200000 ${filesize}'

Save the ramdisk size into an environmental variable:

UBOOT# setenv ramdisksize 0x${filesize}; saveenv

Update the boot parameters:

UBOOT# setenv bootargs 'mem=120M console=ttyS0,115200n8 ip=dhcp root=/dev/ram0 rw initrd=0x85000000,8M'
UBOOT# setenv bootcmd 'cp.b 0x2200000 0x85000000 ${ramdisksize}; bootm'