5.10.4.1 Boot process
For an individual computer, the boot process consists of the following steps when the CPU is powered on or
reset:
1. The hypervisor assigns memory to the partition as a 64 MB contiguous load area and the balance in
256 KB chunks.
2. The boot loader loads the SLES kernel into the load area.
3. Provides system configuration data to the SLES kernel via several data areas provided within the
kernel.
4. Sets up hardware translations to the SLES kernel space address 0xc000 for the first 32 MB of the load
area.
5. Gives control to the SLES kernel with relocation enabled.
6. Builds the msChunks array to map the kernel view of real addresses to the actual hardware addresses.
7. Builds an event queue, which is used by the hypervisor to communicate I/O interrupts to the partition.
8. Opens a connection to a hosting partition through the hypervisor to perform any virtual I/O.
9. Starts kernel initialization by invoking start_kernel().
10. start_kernel() completes the kernel initialization by initializing Page Tables, Memory
Handling Data Structures, IDT tables, slab allocator (described in Section 5.5.3.6), system date, and
system time.
11. Uncompresses the system initrd initial RAM file, mounts it, and then executes /linuxrc.
12. Unmount initrd, mounts the root file system, and executes /sbin/init. Resets the pid table to
assign process ID one to the init process.
13. /sbin/init determines the default run level from /etc/inittab and performs the following
basic system initialization by executing the script /etc/rc.d/rc.sysinit:
1. Allows an administrator to perform interactive debugging of the startup process by executing the
/etc/sysconfig/init script.
2. Mounts the /proc special file system.
3. Mounts the /dev/pts special file system.
4. Executes /etc/rc.d/rc.local, which was set by an administrator to perform site-specific
setup functions.
5. Performs run-level specific initialization by executing startup scripts defined in
/etc/inittab. The scripts are named /etc/rc.d/rcX.d, where X is the default run
level. The default run level for a typical SLES system is 3. The following lists some of the
initializations performed at run level 3.
Saves and restores the system entropy tool for higher quality random number generation.
Configures network interfaces.
Starts the system logging daemons.
Starts the sshd daemon.
Starts the cron daemon.
Probes hardware for setup and configuration.
164