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 ..gzip, bzip2, LZMA, XZ 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
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.
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, bzip2, LZMA, XZ 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