Customization
Theory of Operation
The basic boot process goes like this:
- MS-DOS boots from CD-ROM
 - MS-DOS loads CD-ROM drivers
 - MS-DOS calls 
LOADLIN.EXEfrom the CD LOADLINboots the Linux kernelinitfs.gz/linuxrcloads CD-ROM drivers- Alternatively, 
initfs.gz/linuxrccalls/floppy/drivers.shto load SCSI drivers 
- Alternatively, 
 initfs.gz/linuxrclooks for/baslin/FS.IMGon each IDE block deviceinitfs.gz/linuxrcuseslosetupto set upFS.IMGas/dev/loop0- Linux kernel continues boot using 
/dev/loop0as root 
Repo Explanation
/cdboot
Contents of the disk image cdboot.ima
Should be built into a cdboot.ima file that eventually becomes the "boot image" for ImgBurn. 
THIS IMAGE MUST BE MS-DOS BOOTABLE
The distributed cdboot.ima contains MS-DOS and BasicLinux-LCARS boot code. This boot code is located in cdboot.bin at the root of the repo. If you make a new disk image, ensure to re-use the original boot code.
/driverdisk
Contents of the demonstration "Adaptec AHA-1542CP SCSI Driver Disk"
driverdisk.ima and the /driverdisk directory show how to load additional drivers in "SCSI" boot mode. You can run any arbitrary script, but the boot-init shell only has a handful of commands available (see the demonstration /driverdisk/drivers.sh for examples).
/livecd
Files which belong on the LiveCD root partition (separate from the cdboot.ima "emulated" CD boot disk image)
/rootfs
Files which belong in the FS.IMG root Linux system image.
WARNING: One does not simply mke2fs -d /rootfs' into a new ext2 image. The 2.2.x kernel does not support devfs, so any dev nodes must be present in the read-only FS.IMG prior to boot. It's best to copy the existing FS.IMG, and modify it, unless you really know what you're doing. The /rootfs directory is only for reference, not for immediate reuse.
Note that you'll need to add any new dev nodes to /etc/ttyS0.img, /etc/ttyS1.img, /etc/psaux.img as well if you want those devices to be accessible from Xvesa sessions.
The final FS.IMG image size of ~256MB is not totally arbitrary; this is approximately the maximum size while keeping all official add-ons installed and the full Slackware-4.0 package repo on-disc.
/rootfs/etc/ttyS*.img, /rootfs/etc/psaux.img
X is tricky to get running on a fully read-only filesystem (and in fact, it is not truly possible to do so entirely, the lock files in /tmp and Xauthority must be writable). Traditionally, to choose a mouse device with X, one simply symlinks /dev/mouse to the desired device - for example, /dev/mouse -> /dev/ttyS0 for a serial mouse, or /dev/mouse -> /dev/psaux for a PS/2 mouse. On the LiveCD, /dev is read-only, so we cannot create the symlink. Initializing /dev as a RAMDISK at boot time would cost at least 160K of RAM, which is undesirable.
So instead, there are 3 separate /dev images, each with a different /dev/mouse symlink. startx will mount the appropriate one depending on which mouse the user indicates they want to use.
/slackware
Complete mirrors of the full Slackware 4.0 and 9.0 repositories, for posterity. Slackware 4 packages which run on BasicLinux are in the /packages directory already. Slackware 9 glibc2 libraries are included in /extras. The rest is merely for historical preservation.
/contrib
Mirrors of the add-on sites that still exist (some packages sadly lost to time)