This HOWTO has been superseeded by the newer Lilo/Grub booting HOWTO that desribes an even easier way to boot directly from hard disk via either lilo or grub.

Howto boot Quantian without a cdrom

The following procedure is useful for testing .iso images, as well as for installations where use of a cdrom may not be practical, possible or efficient. It is also an clever way to add the rich set of application Quantian provides in a small space as it requires only slightly more diskspace that the compressed cdrom .iso image itself.

Extracting the boot file

Other than the iso, we need two files that are otherwise hidden in the boot section of a Quantian (i.e. Knoppix) cdrom. The procedure to obtain these differs between older Knoppix releases, and newer ones.
For Knoppix 3.3 and prior
From the main build script, this is achieved as follows.
    echo "Extracting boot files boot288.img"

    echo "   Mounting img"
    mount -t vfat -o loop orig-cdrom/KNOPPIX/boot288.img /cdrom/
    [ ! -d bootfiles ] && mkdir bootfiles
    rm -rf bootfiles/*
    echo "   Copying content"
    cp -Rap /cdrom/* bootfiles
    echo "   Unmounting img"
    umount /cdrom

    echo "   Done"
This requires only the loop module, and a directory bootfiles to hold these files. The file KNOPPIX/boot288.img is part of the original clusterKnoppix setup. For a pure Knoppix cdrom, the file may be called boot144.img.
For Knoppix 3.4 and later
Knoppix switched from syslinux to isolinux, making the extraction much easier. Following the initial mounting of the iso image to the /cdrom device, two top-level directories are available: KNOPPIX and boot.
  basebud:/home/edd/src/quantian# mount -o loop -t iso9660 Quantian_0.5.9.1.iso /cdrom
  basebud:/home/edd/src/quantian# ls -l /cdrom/
  total 4
  dr-xr-xr-x    2 root     root         2048 Jun 12 21:38 KNOPPIX
  dr-xr-xr-x    3 root     root         2048 Jan 10 14:40 boot
  basebud:/home/edd/src/quantian# ls -l /cdrom/boot/
  total 2
  dr-xr-xr-x    2 root     root         2048 May 15 11:19 isolinux
  basebud:/home/edd/src/quantian# ls -l /cdrom/boot/isolinux/
  total 4499
  -r--r--r--    1 root     root         2048 May  3 14:28
  -r--r--r--    1 root     root          142 May 15 07:24 boot.msg
  -r--r--r--    1 root     root         1612 May 15 07:23 f2
  -r--r--r--    1 root     root         1675 May 15 07:24 f3
  -r--r--r--    1 root     root          256 Jan 10 18:02 german.kbd
  -r--r--r--    1 root     root         9404 May 15 11:35 isolinux.bin
  -r--r--r--    1 root     root         2431 May  3 14:28 isolinux.cfg
  -r--r--r--    1 root     root      1183675 May  9 08:27 linux24
  -r--r--r--    1 root     root      1398432 May 15 07:12 linux26
  -r--r--r--    1 root     root        25142 May 15 11:19 logo.16
  -r-xr-xr-x    1 root     root        84420 Jan 11 13:16 memtest
  -r--r--r--    1 root     root      1043507 May  3 11:32 minirt24.gz
  -r--r--r--    1 root     root       850549 May 15 07:12 minirt26.gz
The files of interest are in the directory boot/isolinux, and called minirt24.gz (which I renamed to miniroot.gz) as well as linux24 (which I renamed vmlinuz). They play the same role they do in the rest of the recipe presented here: provide a bootable kernel as well as an initrd file. One can simply use them in place of the files extracted by the more labourious method described above.

The lilo setup

Nothing much to it -- we boot from /dev/hda7 and mount this on demand via the useful autofs trick which require the line
    quantian-boot   -fstype=ext3                            :/dev/hda7
in /etc/auto.misc, and the rest is automatic.

We set it up such that we can boot once in X11 mode, and once in text. Other options are of course also possible.

            append="ramdisk_size=100000 init=/etc/init apm=power-off hda=scsi \
    hdb=scsi hdc=scsi hdd=scsi initrd=KNOPPIX/miniroot.gz noscsi lang=us \

            append="ramdisk_size=100000 init=/etc/init 2 apm=power-off hda=scsi \
    hdb=scsi hdc=scsi hdd=scsi initrd=KNOPPIX/miniroot.gz noscsi lang=us \

The installation script

The following script copies the three required files over to your local hard disk.
    cd /var/autofs/net/$SERVER/$QUANTIANDIR/bootfiles/
    cp -vax vmlinuz miniroot.gz $TARGETDIR/boot
    cd /var/autofs/net/$SERVER/$QUANTIANDIR/release/KNOPPIX
    ls -lR $TARGETDIR
    cd /
    echo "Done! Ready to reboot"

Last modified: Fri Mar 18 22:17:07 CST 2005