The Linux Bootdisk HOWTO

Tom Fawcett

v4.5, January 2002

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. To do list
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.4. Providing for PAM and NSS
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. Reducing root filesystem size
8.1. Increase the diskette density
8.2. Replace common utilities with BusyBox
8.3. Use an alternate shell
8.4. Strip libraries and binaries
8.5. Move files to a utility disk
9. Miscellaneous topics
9.1. Non-ramdisk root filesystems
9.2. Building a utility disk
10. How the pros do it
11. Creating bootable CD-ROMs
11.1. What is El Torito?
11.2. How it Works
11.3. How to make it work
11.4. Create Win9x Bootable CD-Roms
12. 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