The Adaptec PCI Ultra 160 Single Channel RAID Controller, also known as the Adaptec 2100s, was an interesting challenge as drivers for this were not available on the install media. Thus initially it was not possible to install Linux. The initial boot with Debian GNU/Linx V2.2r2 CD-ROM failed because the disks were not found!
After the Configure Keyboard step in the Debian install process there is an opportunity to Preload Essential Modules from Floppy. This allows the loading of modules that are required for particular devices that are otherwise not provided in the kernel.
So the first attempt at installing Linux obtained the appropriate module/driver from Adaptec by downloading dptdriver-2.4.tgz from linux.adaptec.com. This gzipped tape archive generates /usr/adaptec/i2o_driver/:
$ tar zxvf dptdriver-2.4.tgz $ cd usr/adaptec/i2o_driver/
The drivers for various versions of the kernel are then contained in dpt_i2o_prebuilt.cgz. This is a gzipped cpio archive. To extract the archive:
$ mkdir tmp $ cd tmp $ gunzip < ../dpt_i2o_prebuilt.cgz | cpio --extract
The kernel installed was 2.2.18pre21 but there is not a corresponding dpt_i2o. The 2.2.18 version had undefined symbols and the machine froze. The 2.2.19 version worked. This was then copied onto a floppy for Debian to load:
$ mount /floppy $ mkdir /floppy/boot $ cp dpt_i2o.2.2.19 /floppy/boot/dpt_i2o.o $ umount /floppy
Once dpt_i2o is installed you can create and initialise the disk partitions on the RAID:
# cfdisk /dev/sda (to create a single partition perhaps) # mke2fs /dev/sda1
Later when configuring drivers and devices you can also add modules from floppy, but they must now be in /floppy/lib/modules/scsi/dpt_i2o.o, for example.
Now we come unstuck because we create a boot floppy yet there is no way to install the RAID driver on the kernel on this boot floppy, so next reboot the RAID is no longer available and the boot hangs with a Kernel Panic and a message about block-major-8 and not being able to mount the root fs.