IBM 10 SP1 EAL4 Manuale Utente

Pagina di 246
 5.10.2.1  Boot methods
SLES supports booting from a hard disk, a CD-ROM, or a floppy disk.  CD-ROM and floppy disk boots are 
used for installation, and to perform diagnostics and maintenance.  A typical boot is from a boot image on the 
local hard disk.
 5.10.2.2  Boot loader
A boot loader is a program that resides in the starting sectors of a disk, that is, the Master Boot Record (MBR) 
of the hard disk.  After testing the system during boot, the Basic Input-Output System (BIOS) transfers 
control to the MBR if the system is set to be booted from there.  Then the program residing in MBR gets 
executed.  This program is called the boot loader. Its duty is to transfer control to the operating system, which 
will then proceed with the boot process. 
SLES supports the GRUB (GRand Unified Boot Loader) boot loader.  GRUB lets you set pointers in the boot 
sector to the kernel image and to the RAM file system image.  GRUB is a part of the TSF.  For detailed 
information about GRUB, refer to their Web site at 
 and, on SLES systems, 
/usr/share/info/grub.info.gz.
 5.10.2.3  Boot process
The boot process consists of the following steps when the CPU is powered on or reset:
1. The BIOS probes the hardware, establishes which devices are present, and runs the Power-On Self 
Test (POST).  BIOS is not part of the TOE.
2. The BIOS initializes hardware devices and makes sure they operate without IRQ or I/O port conflicts.
3. The BIOS searches for the operating system to boot in an order predefined by the BIOS setting.  Once 
a valid device is found, the BIOS copies the contents of its first sector containing the boot loader into 
RAM, and starts executing the code just copied.
4. The boot loader is invoked by BIOS to load the kernel and the initial RAM file system into the 
system’s Random Access Memory (RAM). It then jumps to the setup() code.
5. The setup() function reinitializes the hardware devices in the computer and sets up the 
environment for the execution of the kernel program. The setup() function initializes and 
configures hardware devices, such as the keyboard, video card, disk controller, and floating point 
unit.
6. The boot loader reprograms the Programmable Interrupt Controller and maps the 16 hardware 
interrupts to the range of vectors from 32 to 47. The boot loader switches the CPU from Real Mode to 
Protected Mode and then jumps to the startup_32() function.
7. The boot loader initializes the segmentation registers and provisional stack.  It fills the area of 
uninitialized data of the kernel with zeros.
8. The boot loader decompresses the kernel, moves it into its final position at 0x00100000, and jumps to 
that address.
9. The boot loader calls the second startup_32() function to set the execution environment for 
process 0.
10. The boot loader initializes the segmentation registers.
11. The boot loader sets the kernel mode stack for process 0.
12. The boot loader initializes the provisional Page Tables and enables paging.
13. The boot loader fills the bss segment of the kernel with zeros.
158