520 likes | 528 Views
Learn about the major steps required to boot a Linux system, configure boot loaders, initialize the system at boot time, and start daemons in different runlevels. Also, understand the purpose and configuration of X Windows components such as window managers and desktop environments.
E N D
Linux+ Guide to Linux Certification, Third Edition Chapter 8 System Initialization and X Windows
Objectives • Summarize the major steps necessary to boot a Linux system • Configure the LILO and GRUB boot loaders • Explain how the init daemon initializes the system at boot time into different runlevels • Configure the system to start daemons upon entering certain runlevels Linux+ Guide to Linux Certification, 3e
Objectives (continued) • Explain the purpose of the major Linux GUI components: X Windows, window manager, and desktop environment • List common window managers and desktop environments used in Linux • Configure X Windows settings Linux+ Guide to Linux Certification, 3e
The Boot Process • POST (Power On Self Test): series of tests run when computer initializes • Ensures functionality of hardware • MBR: defines partitions and boot loader • Normally located on first HDD sector • Boot loader: program used to load an OS • MBR might contain pointer to a partition containing a boot loader on the first sector • Active partition: partition pointed to by MBR • One per HDD Linux+ Guide to Linux Certification, 3e
The Boot Process (continued) • /boot: directory containing kernel and boot-related files • Vmlinuz-<kernel version>: Linux kernel file • Daemon: system process that performs useful tasks • e.g., printing, scheduling, OS maintenance • Init (initialize) daemon: first process started by Linux kernel • Loads all other daemons • Brings system to usable state Linux+ Guide to Linux Certification, 3e
The Boot Process (continued) Figure 8-1: The boot process Linux+ Guide to Linux Certification, 3e
Boot Loaders • Primary function: load Linux kernel into memory • Other functions: • Passing information to kernel during startup • Booting another OS: known as dual booting • Two most common boot loaders: • GRand Unified Boot loader (GRUB) • Linux Loader (LILO) Linux+ Guide to Linux Certification, 3e
GRUB • More common boot loader for modern Linux • Stage1: first major part of GRUB • Typically resides on MBR • Points to Stage1.5 • Stage1.5: loads filesystem support and Stage2 • Resides in /boot/grub • Stage2: performs boot loader functions • Displays graphical boot loader screen • Resides in /boot/grub Linux+ Guide to Linux Certification, 3e
GRUB (continued) Figure 8-2: GRUB boot loader screen Linux+ Guide to Linux Certification, 3e
GRUB (continued) • To configure, edit /boot/grub/grub.conf • Read directly by Stage2 boot loader • HDDs and partitions identified by numbers • Format: (hd<drive#>,<partition#>) • GRUB root partition: partition containing Stage2 boot loader and grub.conf file • GRUB normally allows manipulation of boot loader • To prevent, enable password protection • grub-md5-crypt command: generates encrypted password for use in grub.conf file Linux+ Guide to Linux Certification, 3e
GRUB (continued) • If press any key during first five seconds after the BIOS POST get graphical GRUB boot menu • Manipulate the boot process • Get a grub> prompt to enter commands • Help screen provides list of all available commands • grub-install command: installs GRUB boot loader • Typically for reinstallation when GRUB becomes damaged Linux+ Guide to Linux Certification, 3e
GRUB (continued) Figure 8-5: Viewing help at the GRUB prompt Linux+ Guide to Linux Certification, 3e
LILO • Stands for Linux Loader • Traditional Linux boot loader • No longer supported by Fedora • Typically located on MBR • Lilo boot: prompt appears following BIOS POST • Allows choice of OS to load at startup • To configure, edit /etc/lilo.conf file Linux+ Guide to Linux Certification, 3e
LILO (continued) Table 8-1: Common /etc/lilo.conf keywords Linux+ Guide to Linux Certification, 3e
LILO (continued) Table 8-2: LILO error messages Linux+ Guide to Linux Certification, 3e
LILO (continued) • append= keyword (in /etc/lilo.conf): Useful for manually passing information to Linux kernel • Can pass almost any hardware information • Format is hardware dependent • Must reinstall LILO if /etc/lilo.conf file altered • lilo command: Reinstalls LILO • -u option: Uninstall LILO Linux+ Guide to Linux Certification, 3e
Dual Booting Linux • Normally only one OS may be used at a time • Can use virtualization software to run multiple OSs at the same time • Dual booting: configuration of boot loader which allows choice of OS at boot time Linux+ Guide to Linux Certification, 3e
Using GRUB or LILO to Dual Boot Other Operating Systems • Easiest if Linux installed after another OS • Allows installation program to detect other OS • Place appropriate entries in boot loader configuration file • GRUB and LILO cannot load Windows Kernel directly • GRUB loads Windows boot loader from Windows partition • LILO uses other= keyword to load boot loader in appropriate partition Linux+ Guide to Linux Certification, 3e
Using GRUB or LILO to Dual Boot Other Operating Systems (continued) Figure 8-7: Configuring GRUB for a dual boot system Linux+ Guide to Linux Certification, 3e
Using a Windows Boot Loader to Dual Boot Linux • Use EasyBCD to add components to Windows boot loader • Within EasyBCD, use NeoGrub tab to modify Windows boot loader to include Linux support • Copy contents of grub.conf into C:\NST\menu.lst • At next boot, Windows boot loader will prompt to choose between Windows and starting the NeoGrub loader to load the Linux OS Linux+ Guide to Linux Certification, 3e
Using a Windows Boot Loader to Dual Boot Linux (continued) Figure 8-9: The EasyBCD program Linux+ Guide to Linux Certification, 3e
Using a Windows Boot Loader to Dual Boot Linux (continued) Figure 8-10: Booting Linux from a Windows boot loader Linux+ Guide to Linux Certification, 3e
Linux Initialization • Kernel assumes control after Linux loaded • Executes first daemon process (init daemon) • /etc/inittab: configuration file for init daemon • Used to determine number of daemons to be loaded • init daemon responsible for unloading daemons when the system is halted or rebooted Linux+ Guide to Linux Certification, 3e
Runlevels • Runlevel: defines number and type of daemons loaded into memory and executed • init daemon responsible for changing runlevels • Often called initstates • Seven standard runlevels • runlevel command: displays current and most recent runlevel • init command: change OS runlevel • telinit command: Alias to init command Linux+ Guide to Linux Certification, 3e
Runlevels (continued) Table 8-3: Linux runlevels Linux+ Guide to Linux Certification, 3e
The /etc/inittab File • Indicates default runlevel which the init daemon enters • Syntax: id:5:initdefault: • Contains single uncommented line and series of explanatory comments Linux+ Guide to Linux Certification, 3e
Runtime Configuration Scripts • Runtime configuration (rc) scripts: scripts that prepare the system, start daemons and bring system to usable state • Executed by init daemon • At boot time, run /etc/rc.d/rc.sysinit script • Initialize the hardware components, set variables, check filesystems, and perform system tasks • dmesg command: shows output of hardware detection and /etc/rc.d/rc.sysinit script Linux+ Guide to Linux Certification, 3e
Runtime Configuration Scripts (continued) • init daemon executes script for default runlevel (5) /etc/rc.d/rc5 script • Executes all files that start with S or K in the /etc/rc.d/rc5.d directory • Each file is symbolic link to script for starting or stopping daemon • S/K indicate Start/Kill daemon upon entering the runlevel • When user specifies runlevel1, init daemon runs default script but executes files in the /etc/rc.d/rc1.d directory Linux+ Guide to Linux Certification, 3e
Runtime Configuration Scripts (continued) • Message during system initialization indicates whether each runtime configuration script has loaded successfully • Hidden by graphical boot screen display • Use Esc key to remove the graphical screen • Output of runtime configuration scripts is logged to the /var/log/messages file Linux+ Guide to Linux Certification, 3e
Runtime Configuration Scripts (continued) Figure 8-11: The Linux initialization process Linux+ Guide to Linux Certification, 3e
Configuring Daemon Startup • Most daemons started by init daemon from symbolic links in /etc/rc.d/rc*.d directories • Point to daemon executable files in /etc/rc.d/init.d • Most daemons accept arguments start, stop, restart • Can be used to manipulate daemons after system startup • service command: start, stop, or restart daemons within /etc/rc.d/init.d directory Linux+ Guide to Linux Certification, 3e
Configuring Daemon Startup (continued) • To add daemons to be automatically started: • Add executable to /etc/rc.d/init.d • Create appropriate links to /etc/rc.d/rc*.d • chkconfig command: view and modify daemons that are started in each runlevel • ntsysv utility: modifies file entries in /etc/rc.d/rc*.d directories • Service Configuration utility: easiest way to control daemon startup by runlevel Linux+ Guide to Linux Certification, 3e
The X Windows System: Linux GUI Components Figure 8-15: Components of the Linux GUI Linux+ Guide to Linux Certification, 3e
X Windows • X Windows: core component of Linux GUI • Provides ability to draw graphical images in windows that are displayed on terminal screen • Sometimes referred to as X server • X client: programs that tell X Windows how to draw the graphics and display the results • Need not run on same computer as X Windows • XFree86: OSS version of X Windows • Originally intended for Intel x86 platform Linux+ Guide to Linux Certification, 3e
Windows Managers and Desktop Environments • Window manager: modifies look and feel of X Windows • Desktop environment: standard set of GUI tools • Works with a window manager to provide standard GUI environment • Provides toolkits that speed up process of creating new software • KDE and GNOME are most common Linux+ Guide to Linux Certification, 3e
Windows Managers and Desktop Environments (continued) • K Windows Manager (kwm): window manager that works under KDE • Qt toolkit: software toolkit used with KDE • GNOME desktop environment: default desktop environment in Fedora Linux • Metacity window manager • GTK+ toolkit • Can configure KDE or GNOME to use different window manager • e.g., compiz Linux+ Guide to Linux Certification, 3e
Windows Managers and Desktop Environments (continued) Table 8-4: Common window managers Linux+ Guide to Linux Certification, 3e
Windows Managers and Desktop Environments (continued) Figure 8-16: The KDE desktop environment Linux+ Guide to Linux Certification, 3e
Windows Managers and Desktop Environments (continued) Figure 8-17: The GNOME desktop environment Linux+ Guide to Linux Certification, 3e
Starting and Stopping X Windows • Runlevel 5 starts GNOME Display Manager (GDM) • Displays graphical login screen • Allows user to choose the desktop environment • .dmrc file: contains desktop environments that were manually selected in a session menu • By default, root user is not allowed to log into system using GDM • To change this, edit /etc/pam.d/gdm and /etc/pam.d/gdm-password files Linux+ Guide to Linux Certification, 3e
Starting and Stopping X Windows (continued) • For runlevel 3: • Start gdm manually, or • Use startx command • startx command: start X Windows and Window Manager or desktop environment specified in .xinitrc file in home directory • Usually points to .Xclients-default file Linux+ Guide to Linux Certification, 3e
Configuring X Windows • X Windows interfaces with video hardware • Requires information regarding keyboard, mouse, monitor, and video adapter card • Attempts to automatically detect required information • If automatic detection fails, user needs to specify correct hardware information manually Linux+ Guide to Linux Certification, 3e
Configuring X Windows (continued) • Mouse, keyboard, monitor, and video adapter card information stored in a file • /etc/X11/xorg.conf file for X.org implementation of X Windows • /etc/X11/XF86Config file for XFree86 implementation of X Windows • Files can be edited manually or using a program • mouse-test command: detect mouse • Should be run as root user Linux+ Guide to Linux Certification, 3e
Configuring X Windows (continued) • system-config-keyboard command: start the Keyboard tool in order to configure keyboard • system-config-display command: start the Display Settings utility to configure video adapter card • xvidtune utility: fine-tune the vsync and hsync of the video card and monitor Linux+ Guide to Linux Certification, 3e
Configuring X Windows (continued) Figure 8-21: Selecting a keyboard layout Linux+ Guide to Linux Certification, 3e
Configuring X Windows (continued) Figure 8-22: The Display Settings utility Linux+ Guide to Linux Certification, 3e
Configuring X Windows (continued) Figure 8-23: Configuring video card and monitor model Linux+ Guide to Linux Certification, 3e
Configuring X Windows (continued) Figure 8-24: Configuring dual display support Linux+ Guide to Linux Certification, 3e
Configuring X Windows (continued) Figure 8-25: The xvidtune utility Linux+ Guide to Linux Certification, 3e
Summary • Boot loaders are typically loaded by the system BIOS from the MBR or the first sector of the active partition of a hard disk • The boot loader is responsible for loading the Linux kernel and to boot other OSs in a dual boot configuration • The GRUB boot loader uses the /boot/grub/grub.conf configuration file and the LILO boot loader uses the /etc/lilo.conf configuration file Linux+ Guide to Linux Certification, 3e