This the following minimum boot sequence 1) Bootloader loads the Kernel image to Ram The image may be compressed or uncompressed.Uboot uses a special header in added to the kernel image and make it as uImage. Using mkimage we can make the image zImage/vmLinux 2) Ramdisk loaded in the memory, bootloader do that. 3) Control is given to kernel ,it also provides kernel arguments/command line options.Also bootlader set ramdisk as rootfs. Initial Rootfs filesystem may be of ext2 or minix format. **initramfs** is the file can be unpacked by kerne l of following formats **..****[gzip](http://en.wikipedia.org/wiki/Gzip "Gzip"), [bzip2](http://en.wikipedia.org/wiki/Bzip2 "Bzip2"), [LZMA](http://en.wikipedia.org/wiki/LZMA "LZMA"), [XZ](http://en.wikipedia.org/wiki/Xz "Xz") and [LZO](http://en.wikipedia.org/wiki/LZO "LZO").** 3) Then “linuxrc” ran from initial ramdisk. 4) The root device is changed to that specified in the kernel parameter. 5) The init program `/etc/init` is run which will perform the user configurable boot sequence. if rdinit is used then specified binary is called.
qemu-system-arm -M versatilepb -m 128M -kernel linux-3.5.3/arch/arm/boot/uImage -initrd rootfs3.img.gz -append “rdinit=/sbin/init” That means roofs is rootfs3.img.gz and run /sbin/init from mounted rootfs.In this command we run the uImage kernel on qemu arm emulator which is emulation versatilepb arm architechture.