D2 High Level Initialization

start_kernel acts as a dispatcher function to perform both platform-independent and platform-dependent tasks, all of which are implemented in C. It is responsible for invoking the high-level initialization routines of almost all kernel subsystems. Users can recognize when the kernel enters this initialization phase because one of the first things the function does is display the Linux banner on screen. For example, the following message is displayed on one of the author's systems:

Linux version 2.6.24-default ([email protected]) (gcc version 4.2.1 (SUSE Linux)) #1 SMP PREEMPT Thu Mar 20 00:17:06 CET 2008

The message is generated early on in the boot operation but is not displayed on-screen until the console system has been initialized. It is buffered in the intervening period.

The number of screen outputs increases dramatically during the subsequent steps because the subsystems being initialized display a wide range of status information on the console. This information is very useful, particularly for troubleshooting.

The following sections deal extensively with start_kernel and cast light on the kernel startup process after completion of the architecture-dependent phase.

Continue reading here: D21 Subsystem Initialization

Was this article helpful?

0 0