---

Randy Dunlap: Linux 2.4.x Initialization for IA-32

[ Thanks to dep for this link.
]

If you’ve ever wondered what goes on at boot during the time
between when your BIOS hands things off to lilo and just before
your first init script takes over, this article will be of interest
to you. If you’ve never wondered about any of that, but you’d still
like a printable sheet to help you sing along with your kernel as
it starts, this is still interesting.

“The description is in three main sections. The first
section covers early kernel initialization on IA-32 (but only after
your boot loader of choice and other intermediate loaders have run;
i.e., this description does not cover loading the kernel). This
section is based on the code in “linux/arch/i386/boot/setup.S” and
“linux/arch/i386/boot/video.S”.

The second major section covers Linux initialization that is
x86- (or i386- or IA-32-) specific. This section is based on the
source files “linux/arch/i386/kernel/head.S” and
“linux/arch/i386/kernel/setup.c”.

The third major section covers Linux initialization that is
architecture-independent. This section is based on the flow in the
source file “linux/init/main.c”.”

Complete
Story