Presentation is loading. Please wait.

Presentation is loading. Please wait.

UNIX Startup and Shutdown CSCI N321 – System and Network Administration Copyright © 2000, 2012 by Scott Orr and the Trustees of Indiana University.

Similar presentations


Presentation on theme: "UNIX Startup and Shutdown CSCI N321 – System and Network Administration Copyright © 2000, 2012 by Scott Orr and the Trustees of Indiana University."— Presentation transcript:

1 UNIX Startup and Shutdown CSCI N321 – System and Network Administration Copyright © 2000, 2012 by Scott Orr and the Trustees of Indiana University

2 Section Overview Bootstrapping Startup Scripts and Run Levels Boot Configuration and Troubleshooting System Shutdown

3 References CQU COIT13146 System Administration Course Chapter 13

4 Monolithic Kernels Hardware Device Drivers, Dispatcher, … Scheduler, Virtual Memory IPC, File System VFS Application Source:http://en.wikipedia.org/wiki/Monolithic_kernel KernelMode UserMode

5 Microkernels Hardware Basic IPC, Virtual Memory, Scheduling ApplicationIPC Source:http://en.wikipedia.org/wiki/Microkernel KernelMode UserMode UNIXServer DeviceDriversFileServer Application

6 Bootstrapping Starting the system Process of loading kernel into memory Boot Modes Normal Single User/Safe Mode Rescue (on DVD)

7 RedHat Boot Process BIOS LoginShell GRUB /etc/inittab Source: http://nmc.nchu.edu.tw/linux/Linux_boot.htm LinuxKernelinit /etc/rc.d/rc.sysinit/etc/rc.d/rc RL Specific /etc/inittab/etc/rc.d/rc3.d/etc/rc.d/rc5.d

8 Fedora Boot Process BIOS LoginShell GRUB Source: http://nmc.nchu.edu.tw/linux/Linux_boot.htm LinuxKernelinit Systemd/etc/init/*.conf RL Specific /etc/rc.d/rc3.d/etc/rc.d/rc5.d systemd

9 Boot Process Power On Self Tests (POST) Run Boot Loader(s) Load & initialize kernel Detect & configure devices Fork system processes (Stop if Single User mode) Run startup scripts Start multiuser operations

10 Boot Loader ROM loads Master Boot program from disk Primary Bootloader BIOS - Basic I/O, Program Loading UEFI – Unified Extensible Firmware Interface 2 nd Boot Loader finds/loads kernel Checks available memory Initializes kernel internal data structures NTLDR – Microsoft Boot Loader GRand Unified Bootloader (GRUB/GRUB2) Can boot multiple OS Boot options can be edited at boot

11 GRUB Images (/boot/grub2) boot.img – Loaded first on BIOS systems diskboot.img – first sector of core image cdboot.img – DVD version of diskboot.img core.img Main image Includes kernel.img and module lists Built with grub-mkimage kernel.img – Basic run-time functions *.mod – Dynamically loadable modules

12 Basic grub.cfg options Shell script in /etc/boot2 set default=“0” set timeout=“5” menuentry ‘Fedora’ set root=‘(hd0,gpt2)’ linux /vmlinuz- initrd /initranfs-

13 Creating grub.cfg Compiled using grub2-mkconfig /etc/default/grub Variables to change default settings /etc/grub.d/* 00_header 10_linux 40_custom

14 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

15 Startup Services Hostname Timezone Check the hard drives Mount the hard drives Remove files from /tmp Configure network interfaces Start daemons and network services

16 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

17 /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 Replaced in Fedora with systemd

18 Systemd Becoming more prevalent in Linux Distros Currently used by Fedora and OpenSUSE Testing in Debian Mostly compatible with the init system init scripts are read as alternative format Established functionality such as fstab still supported

19 Systemd - Units Uses a dependency system between “units” Requires/Wants Conflicts Before After Encapsulate objects relevant to booting and maintenance Configured in config files May be tied through symbolic links

20 Systemd – Unit Types Different unit types control different aspects of the operating system service: handles daemons socket: handles network sockets target: Logical grouping of units (example: runlevel) device: expose kernel devices mount: controls mount points of the files system automount: mounts the file system snapshot: references other units (similar to targets)

21 Systemd Unit File Section [Unit] Description Requires Wants Conflicts Before After

22 Systemd Service Section [Service] Type= simple|oneshot|forking|dbus|notify|idle ExecStart ExecReload ExecStop Restart= no|on-success|on-failure|on-abort|always

23 Systemd Install Section [Install] Wantedby= Used to determine when to start (e.g. Runlevel)

24 Startup Run Levels RedHatMode 1 (S)Single user 2Multiuser (no networking) 3Full Multiuser 4Unused 5X11 6Reboot 0Halt

25 Systemd – Runlevels Runlevel is defined through a symbolic to one of the runlevel targets Runlevel Target Runlevel 3: /lib/systemd/system/multi-user.target Runlevel 5: /lib/systemd/system/graphical.target Change Runlevel: Remove current link /etc/systemd/system/default.target Add a new link to the desired runlevel

26 Systemd - Virtual Consoles Started in /etc/systemd/system/getty.target \.wants/getty@tty#.service /sbin/agetty agetty Alternative Linux getty Opens tty port and prompts for login

27 Systemd - Virtual Consoles Example: getty@tty1.service [Unit] Description=Getty on %I BindTo=dev-%i.device … [Service] Environment=TERM=linux ExecStart=-/sbin/agetty %I 38400 Restart=always RestartSec=0 UtmpIdentifier=%I KillMode=process …

28 /etc/init/*.conf directives exec script start on stop on task respawn See man 5 init for more

29 “Events” control-alt-delete power-status-changed startup runlevel started stopped

30 /etc/init - Virtual Consoles Started in /etc/init/start-ttys.conf tty restarts in /etc/init/tty.conf Example: /etc/init.d/tty.conf: # tty - getty # # This service maintains a getty on the sepcified device. stop on runlevel [016] respawn instance $TTY exec /sbin/mingetty $TTY

31 Started in /etc/init/rc[S].conf : Example (rc.conf): start on runlevel [0123456] stop on runlevel [!$RUNLEVEL] task export RUNLEVEL console output exec /etc/rc.d/rc $RUNLEVEL /etc/init - Run Levels

32 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 on|off service start|stop|restart

33 Startup Messages Displayed to console RedHat – daemon [ ok ] /bin/dmesg History of boot messages Convenient to search RedHat allows for interactive setup (“i”)

34 Windows Boot Options When system starts booting…

35 Boot Display During Safe Mode

36 System Shutdown Turn off power – BAD!!! Reboot reboot shutdown –r Halting the system halt shutdown –h Changing the Run Level telinit shutdown –i

37 When to Shutdown Failures Maintenance and Upgrades Regularly Scheduled Housecleaning Window for Maintenance/Upgrades User Notification /etc/motd Email Support web pages


Download ppt "UNIX Startup and Shutdown CSCI N321 – System and Network Administration Copyright © 2000, 2012 by Scott Orr and the Trustees of Indiana University."

Similar presentations


Ads by Google