The Linux Bootdisk HOWTO

Tom Fawcett

v4.4, June 2001

This document describes how to design and build boot/root diskettes for Linux. These disks can be used as rescue disks or to test new system components. You should be reasonably familiar with system administration tasks before attempting to build a bootdisk. If you just want a rescue disk to have for emergencies, see Appendix A.1.

Table of Contents
1. Preface
1.1. Version notes
1.2. Yet to do
1.3. Feedback and credits
1.4. Distribution policy
2. Introduction
3. Bootdisks and the boot process
3.1. The boot process
3.2. Disk types
4. Building a root filesystem
4.1. Overview
4.2. Creating the filesystem
4.3. Populating the filesystem
4.3.1. /dev
4.3.2. /etc
4.3.3. /bin and /sbin
4.3.4. /lib
4.4. Providing for PAM and NSS
4.4.1. PAM (Pluggable Authentication Modules)
4.4.2. NSS (Name Service Switch)
4.5. Modules
4.6. Some final details
4.7. Wrapping it up
5. Choosing a kernel
6. Putting them together: Making the diskette(s)
6.1. Transferring the kernel with LILO
6.2. Transferring the kernel without LILO
6.3. Setting the ramdisk word
6.4. Transferring the root filesystem
7. Troubleshooting, or The Agony of Defeat
8. Miscellaneous topics
8.1. Reducing root filesystem size
8.2. Non-ramdisk root filesystems
8.3. Building a utility disk
9. How the pros do it
10. Creating bootable CD-ROMs
10.1. What is El Torito?
10.2. How it Works
10.3. How to make it work
10.4. Create Win9x Bootable CD-Roms
11. Frequently Asked Question (FAQ) list
A. Resources and pointers
A.1. Pre-made Bootdisks
A.2. Rescue packages
A.3. LILO -- the Linux loader
A.4. Ramdisk usage
A.5. The Linux boot process
B. LILO boot error codes
C. Sample root filesystem listings
D. Sample utility disk directory listing