Transcript PPT
UNIX Startup and Shutdown
CSCI N321 – System and Network Administration
Copyright © 2000, 2009 by Scott Orr and the Trustees of Indiana University
Section Overview
Bootstrapping Startup Scripts and Run Levels Boot Configuration and Troubleshooting System Shutdown
References
CQU COIT13146 System Administration Course Textbook Chapter 13 Lectures 2002 #12
Monolithic vs. Microkernels
Source:http://en.wikipedia.org/wiki/Microkernel
Bootstrapping
Starting the system Process of loading kernel into memory Boot Modes Normal Single User Rescue (on CD)
RedHat Boot Process
BIOS GRUB Linux Kernel /etc/inittab init /etc/rc.d/ rc3.d
/etc/rc.d/ rc.sysinit
/etc/rc.d/rc RL Specific /etc/inittab Login Shell /etc/rc.d/ rc5.d
Source: http://nmc.nchu.edu.tw/linux/Linux_boot.htm
Fedora Boot Process
BIOS GRUB Linux Kernel /etc/inittab init /etc/rc.d/ rc3.d
/etc/ event.d/* RL Specific Login Shell /etc/rc.d/ rc5.d
Source: http://nmc.nchu.edu.tw/linux/Linux_boot.htm
Boot Process
Load & initialize kernel Detect & configure devices Fork system processes (Stop if Single User mode) Run startup scripts Start multiuser operations
Boot Loader
ROM loads boot program from disk Boot program finds/loads kernel Checks available memory Initializes kernel internal data structures GRand Unified Bootloader (GRUB) Can boot multiple OS Boot options can be edited at boot Linux Boot Loader (LILO) Can boot multiple OS Single User:
linux single
Rescue:
linux rescue
/etc/grub.conf
default=1 timeout=10 splashimage=(hd0,5)/boot/grub/splash.xpm.gz
title Fedora Core - N321 (2.6.11-1.1369_FC4) root (hd0,5) kernel /boot/vmlinuz-2.6.11-1.1369_FC4 ro root=LABEL=/1 rhgb quiet initrd /boot/initrd-2.6.11-1.1369_FC4.img
title Windows XP rootnoverify (hd0,0) chainloader +1 title Red Hat Enterprise WS (2.6.9-11.EL) rootnoverify (hd0,4) kernel /boot/vmlinuz-2.6.9-11.EL ro root=LABEL=/ rhgb quiet initrd /boot/initrd-2.6.9-11.EL.img
System Processes
BSD Systems
swapper
– PID 0
init
– PID 1
pagedaemon
– PID 2 AT&T SVR4
sched
– PID 0 (invisible under RedHat)
init
– PID 1
/etc/inittab
Startup Scripts
Hostname Timezone Check the hard drives Mount the hard drives Remove files from /tmp Configure network interfaces Start daemons and network services
BSD
/etc/rc*
Scripts
/etc/rc
Master script Executes supplemental scripts Example supplemental scripts (freeBSD)
/etc/defaults/rc.conf
/etc/rc.conf
/etc/rc.conf.local
/etc/inittab
Initializes system for use Format:
id:rl:action:process
id
: uniquely identifies entry
rl
: Run level entry applies to
action
: How to execute process
process
: process command line Ex: Setting the default Runlevel:
id:3:initdefault:
Startup Run Levels
Solaris 1 (S) 2 3 4 5 6 0 RedHat 1 (S) 2 3 4 5 6 0 Mode Single user Multiuser (no networking) Full Multiuser Unused Power-off shutdown X11 Reboot Halt
Event file directives
exec script start on
“Events”
control-alt-delete power-status-changed startup runlevel
Virtual Consoles
Started in
/etc/event.d/tty[1-6]
: Example (tty2):
start on stopped rc2 start on stopped rc3 start on stopped rc4 start on started prefdm stop on runlevel 0 stop on runlevel 1 stop on runlevel 6 respawn exec /sbin/mingetty tty2
Strarting/Stopping Run Levels
Started in
/etc/event.d/rc[0-6,S]
: Example (rc3):
start on runlevel 3 stop on runlevel [!3] console output script set $(runlevel --set 3 || true) if [ "$1" != "unknown" ]; then PREVLEVEL=$1 RUNLEVEL=$2 export PREVLEVEL RUNLEVEL fi exec /etc/rc.d/rc 3 end script
Run Level Scripts
Actual scripts -
/etc/rc.d/init.d/ /etc/rc.d/rc#.d/
Symbolic links to
/etc/init.d
scripts S## - Start scripts K## - Stop scripts
/etc/sysconfig/
- script configuration files
chkconfig