Install Debian on AIC79XX-based Systems

Debian does not install out of the box on an AIC79XX host adapter based machine. The problem is that the AIC79XX is not supported by any of the standard Debian kernels. We therefore need to replace the stock Debian kernel with a custom one.

This procedure is also described in the Debian Installation Manual.

In order to do this, we need access to another machine for compiling a kernel with support for the AIC79XX and a CD writer for creating a custom install CD.

Getting an Up-To-Date Kernel

I was able to make my AIC7902 work using a 2.4.22-pre2 kernel. The vanilla 2.4.21 kernel already contains the required aic79xx driver, but this one seems a little bit outdated and did not work on my server.

Configure and Compile the Kernel

A good starting point for a kernel config is a stock bf2.4 kernel config. Just copy this file to .config of your kernel source directory.

Now, you need to activate support for your AIC79XX SCSI host adapter. Run make menuconfig and activate the aic79xx driver. Make sure that this driver is actually included in the kernel, and not just a module!

Using the method described here, space on the installation CD is limited. Your kernel may not become too big, so remove unnecessary stuff. This will also speed up the compilation process.

Finally, create the new kernel:

  make dep
  make bzImage

Create a Minimal ISO

The mini-iso.sh script in the boot-floppies package allows to create a minimal ISO for installing a Debian system. You probably don't have the boot-floppies package installed, so we get the mini-iso.sh script from the CVS repository:

  wget -O mini-iso.sh http://cvs.debian.org/*checkout*/boot-floppies/i386-specials/mini-iso.sh?rev=1.10
  chmod +x mini-iso.sh

Then run the script as follows:

  ./mini-iso.sh bf2.4 ftp://ftp.debian.org/debian yes

Replace ftp://ftp.debian.org with the URL of your nearest Debian mirror!

The mini-iso.sh script will download all the necessary files for creating a minimal boot CD-ROM.

Replace the Stock Kernel

The file resc2880bf2.4.bin is the rescue disk containing the boot kernel. We will now replace this kernel with our own one. For this, we mount that file as a loop device:

  mount -t auto -o loop resc2880bf2.4.bin /mnt

We can now copy our bzImage to /mnt/linux.bin:

  cp <path-to-bzImage>/bzImage /mnt/linux.bin

Finally, unmount /mnt.

Create the Install CD

Delete the file bootbf2.4.iso and re-run mini-iso.sh. This will create a new bootbf2.4.iso:

  rm bootbf2.4.iso
  ./mini-iso.sh bf2.4 ftp://ftp.debian.org/debian yes

The resulting bootbf2.4.iso can now be written to a CD:

  cdrecord -eject -v speed=8 dev=0,0,0 -data -pad bootbf2.4.iso

Well done, you should now be able to boot from this CD and install Debian on your AIC79XX!

Oliver Hitz, 20030703

Disclaimer: This information is provided "as is", with absolutely no warranty expressed or implied. Any use is at your own risk.