SCIENTIFIC-LINUX-USERS Archives

July 2012

SCIENTIFIC-LINUX-USERS@LISTSERV.FNAL.GOV

Options: Use Monospaced Font
Show Text Part by Default
Show All Mail Headers

Message: [<< First] [< Prev] [Next >] [Last >>]
Topic: [<< First] [< Prev] [Next >] [Last >>]
Author: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Subject:
From:
David Sommerseth <[log in to unmask]>
Reply To:
Date:
Fri, 20 Jul 2012 01:36:47 +0200
Content-Type:
text/plain
Parts/Attachments:
text/plain (62 lines)
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

ATOM RSS1 RSS2