On 18/07/12 16:28, anuraag chowdhry wrote: > thanks for replying. but the files needed to boot i.e stage1, stage2, > initram disk image and kernel are present in boot partition, right? > and /boot can be on different hard disk partition too, right? stage1, stage2, the kernel and initramfs images are actually bootloader (GRUB, syslinux, lilo, etc) related. That's the needed pieces to put the kernel into RAM, boot it and enable the hardware needed to access harddrives and such. GRUB have also limited file system support, to be able to locate and load those mentioned files. When the kernel has started, the hardware is enabled, then it goes ahead and mounts the root file system (rootfs) which it takes from the root= kernel command line. When rootfs is ready, it starts the init process (upstart, /sbin/init or whatever the init= kernel command line argument says). This is the first process which should make sure to start the rest of the system processes ... like starting all the enabled services etc. It also takes care of enabling all the physical consoles (usually tty{1-6}) and respawning these consoles when you're logging out again. It's a little detail I haven't mentioned, but the very first step is to run some scripts which are inside the initramfs ... but that's a more advanced topic. > are you referring to /sbin/init or /etc/syconfig/init files that reside > in / partition ? > > if i remove the root= ,.. parameter, the system will try to boot to > some extent , right? Nope, the kernel will panic, as it doesn't know about any rootfs. The rootfs usually needs at minimum /bin, /sbin and /etc. But it's possible to boot a system if you just have /etc available - but then the first init process (pid 1) needs to be in /etc as well. So to sum up the boot process: - You press the POWER ON button - Bootstrap/BIOS Selfcheck - BIOS POST starts - BIOS locates boot harddrive and loads the MBR boot loader (512 bytes) - MBR boots GRUB (stage1/stage2) - GRUB loads initramfs and kernel into RAM - GRUB boots the kernel - kernel executes scripts in the initramfs, prepares for mounting rootfs - kernel mounts rootfs and starts init process - init process mounts the rest of the file system(s) - init process continues loading/starting system config - init finally starts the console processes (Xorg, *getty) - The system is ready for logins (This is the typical Intel arch PC BIOS boot procedure, with EFI this changes a little bit. And non-Intel is quite more different) kind regards, David Sommerseth