Chapter 1. Bootstrapping and Kernel Initialization

Contributed by Sergey Lyubka.
Updated and enhanced by Sergio Andrés Gómez del Real.
Table of Contents
1.1. Synopsis
1.2. Overview
1.3. The BIOS
1.4. The Master Boot Record (boot0)
1.5. boot1 Stage
1.6. The BTX Server
1.7. boot2 Stage
1.8. loader Stage
1.9. Kernel Initialization

1.1. Synopsis

This chapter is an overview of the boot and system initialization processes, starting from the BIOS (firmware) POST, to the first user process creation. Since the initial steps of system startup are very architecture dependent, the IA-32 architecture is used as an example.

The FreeBSD boot process can be surprisingly complex. After control is passed from the BIOS, a considerable amount of low-level configuration must be done before the kernel can be loaded and executed. This setup must be done in a simple and flexible manner, allowing the user a great deal of customization possibilities.

All FreeBSD documents are available for download at

Questions that are not answered by the documentation may be sent to <>.
Send questions about this document to <>.