This is the primary reference for making boot disks. It is difficult for beginners, but an essential document for anyone making their own boot disks.
A few notes on this HOWTO:
A guide to configuration and compilation of the Linux kernel
Useful examples of how to setup lilo.conf for 5 different situations.
A guide to the use of command-line Linux programs needed to write CD-ROMs.
The Technical Overview is quite confusing, but the best documentation we have (other than the linux source code) for the structure of the linux kernel image and how it is loaded by Lilo.
The User's Guide provides extensive documentation for the variety of command line and configuration options possible when using LILO.
The official layout of /dev, specifying names and major/minor node values.
This is packaged with the CD writing program cdrecord
During boot, the kernel can preload ramdisk device /dev/ram0 (a.k.a. /dev/ram or /dev/ramdisk) from a floppy drive (/dev/fd0 or /dev/fd1) as specified by the kernel boot parameter root=... and make it the root device. This is the method used for loading the root filesystem in the two-diskette boot set.
In newer kernels (2.2.12 or so and later) this feature is compatible with an initial ramdisk. Kernel boot parameter load_ramdisk=2 is then specified and the diskette filesystem is loaded into /dev/ram1 while the initial ramdisk is loaded into /dev/ram0. The initial ramdisk is initially mounted as root, and when it exits, the ramdisk loaded from the diskette(s) is mounted as root. Either can be compressed, but only an uncompressed, non-initial ramdisk can be can be loaded from multiple diskettes.
This document describes the creation and use of initial ramdisks. Additional clarifications may be obtained by examination of the source code in linux/init/main.c, linux/fs/super.c, linux/drivers/block/rd.c, and linux/drivers/block/genhd.c.
The "initial ramdisk" must be loaded by the Lilo boot loader into memory from the device and blocks specified in the Lilo map file as a result of an initrd=... specification in lilo.conf. The initial ramdisk is temporarily mounted as the root filesystem, and a special file (program or shell script) in it, /initrdrc, is then run. When /initrdrc exits, the device specified by root=... in lilo.conf is then mounted as the final root filesystem.
An "initial ramdisk" that remains as the permanent root filesystem is used for loading the root filesystem in the CD-ROM boot method.
This is an outstanding book to help beginners and intermediate users better understand the functioning and tuning of Linux. It has good under-the-hood type of information to help the user when simple user directions don't work. Most books simply give directions for how to use a system when it has already been properly configured.
Source code listing for the core 40,000 lines of Linux kernel code plus well-worded commentary. An essential book for those who really want to understand Linux. It does not include many parts of Linux, but by studying this book, you will learn Linux coding styles and be better able to read the remaining source code.
Last updated: April 8, 2006
Contact Craig Van Degrift if you have problems or questions with this web site.