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.
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)
Ramdisk support (default ramdisk size will be set by syslinux).
Initial ramdisk support.
Depending on your system, either
IDE CDROM support or
SCSI CDROM support
Second extended (ext2)
devfs (mount at boot will be set by syslinux).
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.
Loopback device support.
Both IDE and SCSI CDROM support so others can use the disk you build.
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.
Network packet filtering (netfilter), and all modules except ipchains and ipfwadm
Unix domain sockets
IPv6 and IPv6 netfilter.
The following will add very little to a repair disk and are not recommended except in very special circumstances.
Could possibly be useful for accessibility, but otherwise, adds little.
This is used for such special features as Human Interface Devices (those keyboards with all the buttons on them) and joysticks.
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.
Get your system up and running again before you fire up your videoconferencing and radio receiver, mmmmmmkay?