Next
Previous
Contents
Portions of this text come from comments in the kernel source
files (obviously). I have added annotations in many places.
I hope that this will be useful to kernel developers -- either
new ones or experienced ones who need more of this type of
information. However, if there's not enough detail here for
you, "Use the Source."
This description is organized as a brief overview which
lists the sections that are described later in more detail.
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".
See the References section for other valuable documents
about booting, loading, and initialization.
This document describes Linux 2.4.x initialization on IA-32
(or i386 or x86) processors -- after one or more kernel boot loaders
(if any) have done their job.
You can format it using the commands (for example):
% sgml2txt ia32_init_240.sgml
or
% sgml2html ia32_init_240.sgml
This will produce plain ASCII or HTML files respectively.
You can also produce LaTeX, GNU, and RTF info by using the proper
sgmltool (man sgmltools).
Additions and corrections are welcome. Please send them
to me (rddunlap@ieee.org). Contributions of section
descriptions that are used will be credited to their author(s).
All trademarks are the property of their respective owners.
Copyright (C) 2001 Randy Dunlap.
This document may be distributed only subject to the terms
and conditions set forth in the LDP (Linux Documentation Project)
License at "http://www.linuxdoc.org/COPYRIGHT.html".
Next
Previous
Contents
|