5. Boot up
1. BIOS loads first stage boot loader from the first sector of available disks (floppy, hard drive, cd-rom, etc.)
2. First stage boot loader then loads the second stage boot loader.
3. Second stage boot loader allows user to choose what kernel to boot.
4. Chosen kernel then booted and devices are initialized.
5. Kernel then executes init process.
6. Init starts services according to /etc/inittab:
o rc.sysinit – System initialization scripts
1. Mounts /proc.
2. Configures Kernel parameters (via sysctl)
3. Configures system clock.
4. Sets host name.
5. Initialize USB and HID devices.
6. Configure PnP.
7. Determines module dependencies.
8. Setup any RAID devices.
9. Performs file system checks if needed.
10. Mounts file systems.
11. Starts user quotas.
12. Enable process accounting.
13. Starts swap.
14. Initialize serial ports.
15. Dump boot messages to /var/log/dmesg
16. Much more….
o rc – Configures services based on runlevel
1. Stop services that begin with “K” in /etc/rcX.d where X is the runlevel.
2. Start services that begin with “S” in /etc/rcX.d where X is the runlevel.
o rc.local – Configures any system specific information (deprecated).
o Other, runlevel specific services started according to /etc/inittab.
1. mingetty (except for runlevel 1).
2. xdm (runlevel 5).
This file contains information needed by init to configure the system. Entries in the file have a specific format:
id:runlevel:style:command to run
1. id – A 1-4 character field the creates a unique identifier for the entry.
2. runlevel – Specifies the runlevel(s) that the entry applies to.
3. style – Specifies how the command is executed.
o respawn – Process is restarted if it ever dies.
o wait – Process is started once when the specified runlevel is entered. Init will wait for it to finish before proceeding.
o once – Process will be executed once when the specified runlevel is entered.
o boot – Process will be executed during system boot (runlevel field is ignored).
o bootwait – Same as boot, except init will wait for it to complete before continuing.
o initdefault – Specifies default run level (command field ignored).
o sysinit – Process executed during boot before any boot or bootwait entries.
o powerwait – Process executed when power goes down. Init waits for it to complete.
o powerfail – Same as powerwait, except init doesn’t wait for it to complete.
o powerokwait – Executed when power is restored. Init waits for it to complete.
o powerfailnow – Executed when battery on UPS is almost dead.
o ctrlaltdel – Process executed when init receives SIGINT signal (CTRL+ALT+DEL was pressed).
4. command – Specifies process to execute.
5.3 Viewing boot up information.
1. Boot information displayed during boot up is stored in /var/log/dmesg.
2. Use ‘dmesg’ command to view.
5.4 Run Levels
0 – Halt (Don’t set default runlevel to this!)
1 – Single User mode
2 – Multi-user mode without NFS
3 – Full multi-user mode
4 – Unused
5 – X11 (with networking)
6 – Reboot (Don’t set default runlevel to this!)
5.5 Default Run Levels
1. Workstation/Laptop = 5
2. Server = 3
3. Custom with X = 5
4. Custom w/o X = 3
5. Boot up