1 / 36

CIT 470: Advanced Network and System Administration

Booting and Runlevels. CIT 470: Advanced Network and System Administration. Topics. Booting Bootstrap loaders Run levels Startup scripts Shutdown and reboot. Booting. 1. ROM boot code (BIOS) Bootloader Kernel Init. 2. 3. 4. 1. BIOS. Load CMOS settings.

Download Presentation

CIT 470: Advanced Network and System Administration

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CIT 470: Advanced Network and System Administration Booting and Runlevels CIT 470: Advanced Network and System Administration

  2. CIT 470: Advanced Network and System Administration Topics • Booting • Bootstrap loaders • Run levels • Startup scripts • Shutdown and reboot

  3. CIT 470: Advanced Network and System Administration Booting 1 ROM boot code (BIOS) Bootloader Kernel Init 2 3 4

  4. CIT 470: Advanced Network and System Administration 1 BIOS • Load CMOS settings. • Initialize registers and power management. • POST (Power On Self Test.)‏ • Display system settings (if key pressed.)‏ • Activate other BIOSes Disk interfaces Graphics cards Network interfaces • Find bootable device. • Load MBR. • Run MBR program.

  5. CIT 470: Advanced Network and System Administration 1 Dell BIOS Screenshot

  6. CIT 470: Advanced Network and System Administration 2 MBR contains Bootloader Only 446 bytes! MBR bootloader bootstraps itself by loading larger bootloader program from disk.

  7. CIT 470: Advanced Network and System Administration 2 Bootloader: GRUB

  8. CIT 470: Advanced Network and System Administration 2 GRUB Boot Process Stage 1 (stored in MBR)‏ Detect the geometry and the accessing mode of the loading drive. Finds and runs stage 1.5. Stage 1.5 (stored at beginning of partition) Understands filesystem; loads stage 2 from filesystem. Stage 2 (stored in filesystem)‏ Displays menu of OS choices. Often displays boot splashscreen. Loads selected OS kernel.

  9. CIT 470: Advanced Network and System Administration 2 GRUB Installation At OS Install Time Most distributions install GRUB. Linux Install grub-install /dev/hda Native install Boot with CD and run grub. #>> root (hd0,0)‏ #>> setup (hd0)‏ #>> quit

  10. CIT 470: Advanced Network and System Administration 2 GRUB Boot • Automatically boots default OS after timeout. • Key sequences bring up • Menu of boot options (described in menu.lst)‏ • Edit kernel options (runlevel, other features)‏ • GRUB command shell • A boot prompt password may be required before edit/shell access granted. • Can bypass OS security by specifying kernel options or accessing files from GRUB shell.

  11. CIT 470: Advanced Network and System Administration 2 Booting with GRUB Direct Boot Specify OS kernel image to load. Chainloading Specify another bootloader to load. Chainload NTLDR to boot MS Windows.

  12. CIT 470: Advanced Network and System Administration 2 Config: /boot/grub/menu.lst # timeout (sec) before booting default timeout 10 title Ubuntu, kernel 2.6.10-5-386 root (hd1,0)‏ kernel /boot/vmlinuz-2.6.10-5-386 root=/dev/hde1 ro quiet splash initrd /boot/initrd.img-2.6.10-5-386 boot title Windows 2000 root (hd0,0)‏ makeactive chainloader +1

  13. CIT 470: Advanced Network and System Administration 2 GRUB Naming Convention GRUB uses BIOS hard disk numbers OS may not number disks identically to BIOS. Examples (hd0,0) First partition of first hard disk (hd1,2) Third partition of second hard disk.

  14. CIT 470: Advanced Network and System Administration 3 Kernel Booting

  15. CIT 470: Advanced Network and System Administration 3 Initial RAMDisk Temporary filesystem used for booting. • Stored as /boot/initrd-VERSION • Loaded into memory by bootloader Contains drivers needed to mount root fs • RAID, LVM, NFS or other device drivers • Filesystem drivers Allows single kernel to be shipped by vendor • Drivers specific to your system on RAMdisk • Also supports hibernation for laptops

  16. CIT 470: Advanced Network and System Administration 3 Kernel Arguments Numeric arguments • Specify runlevel. • single also specifies single user mode Root device options • root= specifies which root device to use • ro, rw specify access type Console options • console=ttyS1,9600 will use serial console Hardware options • Enable, disable specific hardware devices/features.

  17. CIT 470: Advanced Network and System Administration 4 Run Levels 0 – Shutdown 1 – Single user mode 2 – Multi-user, no networking, no GUI 3 – Multi-user, with networking, no GUI 4 – Unused 5 – Multi-user, networking, and GUI 6 – Reboot

  18. CIT 470: Advanced Network and System Administration 4 Single User Mode Single user mode has • No GUI. • No network access. • Only one user (root) can use system. Why use single user mode? • Run fsck to fix filesystem corruption. • Backup files without filesystem active. • Fix problems without user interference. • May allow access to system without a password in case you have forgotten root’s password.

  19. CIT 470: Advanced Network and System Administration 4 Booting in Single User Mode • At GRUB prompt, select ‘a’ to append args • Append this argument to list: single • Hit return to complete argument changes • Select ‘b’ to boot the kernel Single-user mode differs from run level 1 in that run level 1 runs the scripts for run level 1, then enters single-user mode.

  20. CIT 470: Advanced Network and System Administration 4 What if you lost your root password? • At GRUB prompt, select ‘a’ to append arguments • Append this argument to list: init=/bin/bash • Hit return to complete argument changes • Select ‘b’ to boot the kernel • At root prompt, remount / mount / -o rw,remount • Reset root password passwd • Power cycle system

  21. CIT 470: Advanced Network and System Administration 4 /etc/inittab # The default runlevel. id:2:initdefault: # Boot-time system configuration/initialization script. si::sysinit:/etc/init.d/rcS # What to do in single-user mode. ~~:S:wait:/sbin/sulogin # /etc/init.d executes the S and K scripts upon change l0:0:wait:/etc/init.d/rc 0 l1:1:wait:/etc/init.d/rc 1 l2:2:wait:/etc/init.d/rc 2 l3:3:wait:/etc/init.d/rc 3 l4:4:wait:/etc/init.d/rc 4 l5:5:wait:/etc/init.d/rc 5 l6:6:wait:/etc/init.d/rc 6 # What to do when CTRL-ALT-DEL is pressed. ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -r now

  22. CIT 470: Advanced Network and System Administration 4 rc • Executed by init with runlevel as argument. • Starts and stops services for each runlevel. • /etc/rc#.d scripts • Symlinks to actual scripts in /etc/init.d • Stops services beginning with K* • Starts services beginning with S* • Executes in ASCII order.

  23. CIT 470: Advanced Network and System Administration 4 Scripts in runlevel 2 $ ls /etc/rc2.d S05vbesave S13gdm S20openntpd S89cron S08iptables S18hplip S20postfix S91apache2 S10acpid S18portmap S20powernowd S98usplash S10powernowd.early S19cupsys S20rsync S99acpi-support S10sysklogd S20apmd S20ssh S99rc.local S10syslog-ng S20argus-server S20xinetd S99rmnologin S11klogd S20hotkey-setup S21nfs-common S99stop-readahead S12dbus S20makedev S89anacron

  24. CIT 470: Advanced Network and System Administration 4 Example init.d script #! /bin/sh case "$1" in 'start') if [ -f /usr/local/sbin/sshd ]; then echo "starting SSHD daemon" /usr/local/sbin/sshd & fi ;; 'stop')‏ PID=`/usr/bin/ps -e -u 0 | /usr/bin/fgrep sshd | /usr/bin/awk '{print $1}'` if [ ! -z "$PID" ] ; then /usr/bin/kill ${PID} >/dev/null 2>&1 fi ;; *) echo "usage: /etc/init.d/sshd {start|stop}“ ;; esac

  25. CIT 470: Advanced Network and System Administration 4 Turning Services On/Off Add a new service Install startup script in /etc/init.d Create S symlinks in appropriate runlevels Create K symlinks in appropriate runlevels Prevent a service from starting on boot Remove S links from /etc/rc?.d/* Remove K links from /etc/rc?.d/*

  26. CIT 470: Advanced Network and System Administration 4 Red Hat Service Commands Starting or stopping a service service NAME [start,restart,stop] is equivalent to /etc/init.d/NAME [start,restart,stop] Enabling or disabling a service at boot time chkconfig --level # NAME is equivalent to ln –s /etc/init.d/NAME /etc/init.d/rc.d/rc#.d/S??name

  27. 4 Red Hat Service Configuration RH Linuxes use files in /etc/sysconfig VARIABLE=value format Documentation in RHEL manuals Examples desktop: select GNOME, KDE, XFCE desktop iptables: firewall configuration network-scripts/ifcfg-eth0: eth0 cfg

  28. CIT 470: Advanced Network and System Administration 4 /etc/sysconfig

  29. CIT 470: Advanced Network and System Administration 4 Shutdown shutdown –h now (or init 0)‏ Offers time-delay option (-h time) Runs server stop scripts. Kill remaining processes. Flushes writes to disk. halt Kills processes. Flushes writes to disk (sync).

  30. CIT 470: Advanced Network and System Administration 4 Reboot reboot (or init 6) restarts system Ctrl-Alt-Del Defined in /etc/inittab ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -r now

  31. CIT 470: Advanced Network and System Administration 4 What's wrong with init? Performance • Starts services sequentially. • Shell scripts spawn lots of processes. Manual configuration • Order to start services determined manually. • i.e. network before authentication before nfs. Reliability • Init doesn’t monitor or restart services after boot. Hotplug hardware • Drives mounted at boot. • What about USB or network drives?

  32. CIT 470: Advanced Network and System Administration 4 Init Alternatives iniNG • Service config specifies dependencies. • need = system/initial net/all; • Starts services in parallel once dependencies met. launchd • Mac replacement for init, rc, cron, atd, inetd • Monitors services, starts on demand. Service Management Facility • Sun replacement for init with service monitoring.

  33. CIT 470: Advanced Network and System Administration 4 Upstart • Event-based init replacement. • Events • Hardware device has been added. • Filesystem has been mounted. • Time (cron-replacement) • File has been modified. • Another job has begun or finished running. • Backwards compatible with /etc/init.d scripts. • Respawns services that are down.

  34. CIT 470: Advanced Network and System Administration Boot Process Summary

  35. CIT 470: Advanced Network and System Administration Key Points Boot Steps • BIOS • Bootloader(GRUB) • Kernel • init init is PID 1, parent of all processes, started by kernel • Uses rc command to run all scripts in /etc.rcN.ddir where N is runlevel • RHEL: use chkconfig to configure, /etc/sysconfigfor options Run levels 1 and Single user mode (use to fix problems) 3 = multiuser + network (servers) 5 = multiuser + network + GUI (workstations)

  36. CIT 470: Advanced Network and System Administration References • Aeleen Frisch, Essential System Administration, 3rd edition, O’Reilly, 2002. • M. Tim Jones, “Inside the Linux boot process,” http://www.ibm.com/developerworks/library/l-linuxboot/index.html, 2006. • M. Tim Jones, “Parallelize applications for faster Linux booting,” http://www.ibm.com/developerworks/linux/library/l-boot-faster/index.html, 2007. • Evi Nemeth et al, UNIX System Administration Handbook, 3rd edition, Prentice Hall, 2001. • Scott James Remnant, “Upstart in Universe,” http://www.netsplit.com/2006/08/26/upstart-in-universe/, 2006. • Starman, “Boot records revealed: MBR details,” http://mirror.href.com/thestarman/asm/mbr/index.html • “Extended boot record,” http://en.wikipedia.org/wiki/Extended_Boot_Record. • GRUB manual, http://www.gnu.org/software/grub/manual/grub.html • “How it works: Master Boot Record (MBR),” http://www.ata-atapi.com/hiwmbr.htm • “Replacement Init”, https://wiki.ubuntu.com/ReplacementInit

More Related