Linux boot seqence in short

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 ..gzipbzip2LZMAXZ and 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.



Comments

Popular posts from this blog

Airtel Digital tv remote factory reset and reprogram

Tracking Linux kworker threads

Asynchronus I/O (AIO) in vxworks and Linux