17. x86_64_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.
18. Uncompress the initrd initial RAM file system, mounts it, and then executes /linuxrc.
19. Unmounts initrd, mounts the root file system, and executes /sbin/init. Resets the pid table to
assign process ID one to the init process.
20. /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.
• Starts the agetty program.
For more details about services started at run level 3, see the scripts in /etc/rc.d/rc3.d on an
SLES system.
For detailed information about the boot process, see http://tldp.org/HOWTO/Linux-Init-HOWTO.html#toc1.
Figure 5-83 schematically describes the boot process of eServer 326.
170