Create a root filesystem, rootfs. You can use busybox for that. Create device files. console mtd0 mtd0ro mtd1 mtd1ro mtdblock0 mtdblock1 null ram0 ram1 ram10 ram11 ram12 ram13 ram14 ram15 ram16 ram2 ram3 ram4 ram5 ram6 ram7 ram8 ram9 random tty tty0 tty1 tty2 tty3 tty4 tty5 ttyS0 urandom Create a symlink ram pointing to device file ram0. Create a symlink init in rootfs pointing to bin/busybox. Use the following shellscript to create a initramfs file (compressed cpio archive). #!/bin/sh # Copyright 2006 Rob Landley and # TimeSys Corporation. Licensed under GPL version 2 if [ $# -ne 2 ] then echo "usage: mkinitramfs directory imagename.cpio.gz" exit 1 fi if [ -d "$1" ] then echo "creating $2 from $1" (cd "$1"; find . | cpio -o -H newc | gzip) > "$2" else echo "First argument must be a directory" exit 1 fi Use it like this: ./mkinitramfs rootfs initramfs.cpio.gz Finally create a U-Boot file: mkimage -n 'Ramdisk Image' -A arm -O linux -T ramdisk -C gzip -d initramfs.cpio.gz initramfs.uImage