Next Previous Contents

# Linux 2.4.x Initialization for IA-32 HOWTO

## Randy Dunlap, `rddunlap@ieee.org`

v1.0, 2001-05-17

This document contains a description of the Linux 2.4 kernel initialization sequence on IA-32 processors.

## 1. Introduction

- 1.1 Overview
- 1.2 This document
- 1.3 Contributions
- 1.4 Trademarks
- 1.5 License

## 2. Linux init ("ASCII art")

## 3. Linux early setup

- 3.1 IA-32 Kernel Setup
- 3.2 Video Setup

## 4. Linux architecture-specific initialization

- 4.1 startup_32:
- 4.2 Set segment registers to known values
- 4.3 SMP BSP (Bootstrap Processor) check
- 4.4 Initialize page tables
- 4.5 Enable paging
- 4.6 Clear BSS
- 4.7 32-bit setup
- 4.8 Copy boot parameters and command line out of the way
- 4.9 checkCPUtype
- 4.10 Count this processor
- 4.11 Load descriptor table pointer registers
- 4.12 Start other processors

## 5. Linux architecture-independent initialization

- 5.1 start_kernel:
- 5.2 setup_arch
- 5.3 init thread
- 5.4 do_basic_setup {part of the init thread}

## 6. Glossary

## 7. References

Next Previous Contents