Appendix A.1. Including a Kernel in Repairlix

I'm using the variable REPAIRLIX_DIR to mean: wherever you have unpacked the Repairlix sources.

There are changes in 2.4.x that will make life a lot easier (devfs being one such), and it is now required for Repairlix. 2.2.x kernels have been tested, but the addition of devfs makes them obsolete (until 2.2 gets official devfs support). 2.0.x and earlier kernels will not be tested, as there is no compelling reason to do so on a repair disk; unlike system software, which must be compatible with boxes that might not have been rebooted or upgraded in years, a rescue disk by nature brings its environment with it, so there's no incentive for that environment to be anything but the latest and greatest.

To build Repairlix, you must provide a kernel. To do this, you must copy your compressed kernel to $REPAIRLIX_DIR/vmlinuz, e.g.

bash$ cp /boot/vmlinuz-2.4.2 /usr/src/repairlix/vmlinuz
 

Optionally, you may provide kernel modules. To do this, copy your module tree (e.g. /lib/modules/2.4.2/*) into the directory $REPAIRLIX_DIR/modules, e.g.

bash$ cp -rav /lib/modules/2.4.2 /usr/src/repairlix/modules
 

or symlink it:

bash$ ln -s /lib/modules/2.4.2 /usr/src/repairlix/modules
 

make will automatically pick up this directory and use it during the build process, provided modules/modules.dep exists (it may be empty). If modules/ is missing, you are limited to functionality that has been compiled into your base kernel.

Appendix A.1.1. Required Kernel Options

The following kernel options are required to boot Repairlix. A Repairlix CD will not boot if the kernel is missing any of these options. (TODO)

Appendix A.1.1.1. Block Devices

  • Ramdisk support (default ramdisk size will be set by syslinux).

  • Initial ramdisk support.

Appendix A.1.1.2. IDE/ATA/ATAPI / SCSI

Depending on your system, either

  • IDE CDROM support or

  • SCSI CDROM support

Appendix A.1.1.3. Filesystems

  • ISO 9660

  • Joliet

  • Second extended (ext2)

  • /proc

  • devfs (mount at boot will be set by syslinux).

  • ramfs

Appendix A.1.2. Recommended Kernel Options

The following kernel options are recommended (and are built into the standard ISO image). These may be built into the kernel, or compiled as modules.

Appendix A.1.2.1. BLOCK DEVICES

  • Loopback device support.

Appendix A.1.2.2. IDE/SCSI

  • Both IDE and SCSI CDROM support so others can use the disk you build.

Appendix A.1.2.3. FILESYSTEMS

  • Native language support for your language (CP437/ISO8859-1=US English)

  • Default codepage set to your language. Aside from the obvious benefits, codepage support also eliminates some error messages during startup.

  • Reiserfs support

  • NTFS support

  • DOS FAT

  • MSDOS

  • VFAT.

Appendix A.1.2.4. Network Options

  • Network packet filtering (netfilter), and all modules except ipchains and ipfwadm

  • Unix domain sockets

  • TCP/IP

  • IPv6 and IPv6 netfilter.

Appendix A.1.3. Discouraged Kernel Options

The following will add very little to a repair disk and are not recommended except in very special circumstances.

Appendix A.1.3.1. Sound (all)

  • Could possibly be useful for accessibility, but otherwise, adds little.

Appendix A.1.3.2. Input core (all)

  • This is used for such special features as Human Interface Devices (those keyboards with all the buttons on them) and joysticks.

Appendix A.1.3.3. Character Devices (some)

  • AGP support: Used primarily for games

  • DRI support: Used primarily for games

  • Joysticks: Used primarily for games

  • Watchdog cards: this is not only useless for someone sitting at the console doing recovery, it may actually be harmful.

Appendix A.1.3.4. Multimedia Devices (all)

  • Get your system up and running again before you fire up your videoconferencing and radio receiver, mmmmmmkay?