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 stop on daemon respawn service

“Events”

control-alt-delete power-status-changed startup runlevel started stopped

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