NOTE: The author of this section sent this to me June, 11th 1997.
After spending a few hours wrestling with dpkg I decided it would be simpler to modify the Debian "Rescue" disk so that it would recognize the ppa ZIP drive. This proved to be very easy. You can then use this modified disk to procede through the normal Debian base system install. Once you've completed installing the base system you can use a boot disk to start the new base system and complete the installation using dselect. To use this technique you need to build two kernels - one with ppa and initial RAM disk support, and another without the RAM disk support.
If you want, you can skip all the steps in section 2 and let the Debian install procedure handle formatting the ZIP disk for you.
The Debian rescue disk is a SYSLINUX style boot disk, which uses a DOS formatted floppy disk and a special boot loader to avoid loading MS-DOS. These disks are very easy to modify to start your own custom boot configuration. The Debian 'boot-floppies' package contains a set of scripts to automate the process of building boot disks. However, its so simple I found it easier to do the process by hand. This deviates a bit from the Debian philosophy, but I'm over it :). There are brief instructions in the 'readme.txt' file of the Rescue floppy.
Review the Debian install docs if you don't remember how to do this.
Build a new kernel with ZIP ppa support (as in step 3.3.1), but also configure RAM disk and initial RAM disk support. You also need to configure the msdos, fat, minix, ext2fs, and procfs filesystems.
Also configure any modules that you would like in your final installation on the ZIP disk.
Once the kernel is configured, build with:
==> make dep; make clean
==> make bzImage
Build the modules with:
==> make modules
You will install these later.
NOTE: Make sure that you are using 'make bzImage', and not 'make zImage'.
==> fdmount fd0
or
==> mount /dev/fd0 /mnt
or
==> whatever :)
Copy the kernel image (on the i386 platform it will be located at arch/i386/boot/bzImage) to 'linux' on the floppy disk.
Open the 'rdev.sh' script located on the Rescue floppy with your favorite editor. Change the last line: from--:
to--:
'rdev /mnt/linux /dev/ram0'
'rdev /mnt/linux /dev/sda1'
You will also have to change all occurences of /mnt/linux to the appropriate path. Since I mount my floppies under /fd0, I had to change /mnt/linux to /fd0/linux.
==> ./rdev.sh
Boot your modified Rescue disk. If all goes correctly you will be presented with the familiar Debian menu based install process, except that now it is aware of your ppa ZIP drive. Procede through this process as if you were installing the system on a normal hard drive, but mount /dev/sda1 as root and initialize /dev/sda2 as swap.
There is one deviation from the standard install process-- don't install and/or configure any loadable modules. You will install the modules you built in step 7.3.2 later.
You can create the boot disk just as described in steps 3.3.1 to 3.3.2, or, if you want, just use the "Create Boot Disk" option during the Debian install. I like this second option because I get another SYSLINUX boot disk, allowing me to edit the greeting message to describe the nature of my custom boot floppy and allow me to enter additional kernel arguments. You can even include help files, accessible via the functions keys. You may still wish to rebuild the kernel and modify this boot disk by hand later to remove the RAM disk support. Your call.
Insert your boot disk and choose the 'Reboot' option from the install menu.
When the system reboots you will have a slow but completely workable Debian base installation running off of your ppa ZIP drive. Proceed normally with the installation at this point. I installed all the normal UNIX utilities, along with documentation sets, make, gcc, libraries, and various useful file manipulation utilities. The result is a very powerful emergency boot system that I can use to rescue any of the systems in our department in an emergency.
NOTE: You'll at least need to install 'make' to complete the next step.
If you installed make in the last step, you should be able to mount the hard drive partition containing your kernel build, cd to the proper directory and run 'make modules_install'. Here's how I did it:
==> mount /dev/hda2 /mnt
==> cd /mnt/usr/src/linux
==> make modules_install
NOTE: You won't need to modify the /etc/fstab file, as explained in step 5. The Debian installation process has already taken care of that.