Title: Linux Guide to Linux Certification, Third Edition
1Linux Guide to Linux Certification, Third Edition
- Week 8
- System Initialization and X Windows
2Objectives
- 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
3Objectives (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
4The 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
5The Boot Process (continued)
- /boot directory containing kernel and
boot-related files - Vmlinuz-ltkernel versiongt 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
6The Boot Process (continued)
Figure 8-1 The boot process
7Boot 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)
8GRUB
- 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
9GRUB (continued)
Figure 8-2 GRUB boot loader screen
10GRUB (continued)
- To configure, edit /boot/grub/grub.conf
- Read directly by Stage2 boot loader
- HDDs and partitions identified by numbers
- Format (hdltdrivegt,ltpartitiongt)
- 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
11GRUB (continued)
- If press any key during first five seconds after
the BIOS POST get graphical GRUB boot menu - Manipulate the boot process
- Get a grubgt 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
12GRUB (continued)
Figure 8-5 Viewing help at the GRUB prompt
13LILO
- 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
14LILO (continued)
Table 8-1 Common /etc/lilo.conf keywords
15LILO (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
16Dual 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
17Using 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
18Using GRUB or LILO to Dual Boot Other Operating
Systems (continued)
Figure 8-7 Configuring GRUB for a dual boot
system
19Using 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
20Using a Windows Boot Loader to Dual Boot Linux
(continued)
Figure 8-9 The EasyBCD program
21Using a Windows Boot Loader to Dual Boot Linux
(continued)
Figure 8-10 Booting Linux from a Windows boot
loader
22Linux 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
23Runlevels
- 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
24Runlevels (continued)
Table 8-3 Linux runlevels
25The /etc/inittab File
- Indicates default runlevel which the init daemon
enters - Syntax id5initdefault
- Contains single uncommented line and series of
explanatory comments
26Runtime 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
27Runtime 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
28Runtime 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
29Runtime Configuration Scripts (continued)
Figure 8-11 The Linux initialization process
30Configuring 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
31Configuring 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
32The X Windows System Linux GUI Components
Figure 8-15 Components of the Linux GUI
33X 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
34Windows 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
35Windows 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
36Windows Managers and Desktop Environments
(continued)
Figure 8-16 The KDE desktop environment
37Windows Managers and Desktop Environments
(continued)
Figure 8-17 The GNOME desktop environment
38Starting 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
39Starting 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
40Configuring 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
41Configuring 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
42Configuring 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
43Configuring X Windows (continued)
Figure 8-21 Selecting a keyboard layout
44Configuring X Windows (continued)
Figure 8-22 The Display Settings utility
45Configuring X Windows (continued)
Figure 8-23 Configuring video card and monitor
model
46Configuring X Windows (continued)
Figure 8-24 Configuring dual display support
47Configuring X Windows (continued)
Figure 8-25 The xvidtune utility
48Summary
- 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
49Summary (continued)
- Seven standard runlevels are used to categorize a
Linux system based on the number and type of
daemons loaded in memory - The init daemon is responsible for loading and
unloading daemons when switching between
runlevels - Daemons are typically stored in the
/etc/rc.d/init.d directory and loaded at system
startup from entries in the /etc/rc.d/rc.d
directories
50Summary (continued)
- The Linux GUI has several interchangeable
components X server, X clients, Window Manager,
and optional desktop environment - X Windows is the core component of the Linux GUI
that draws graphics to the terminal screen - You can start the Linux GUI from runlevel 3 by
typing startx at a command prompt, or from
runlevel 5 by using the gdm - The hardware information required by X windows is
automatically detected, but can be modified