Comment 7 for bug 315763

Revision history for this message
Ben Li (bli-linsang) wrote : Re: bug with adaptec aic94xx raid

Building on Delbert's work, the following commands are what I had to do to get this working. Basically I use an initramfs hook to make sure the firmware and supporting files are included on the initrd image every time it's built (like when you do a kernel upgrade). Then you just use update-initramfs to re-build the image.
According to this bug: https://bugs.launchpad.net/ubuntu/+source/udev/+bug/328550 it looks like this won't be getting fixed any time soon?
Also, it looks like you don't actually need the firmware to be copied to /lib/firmware/<kernelversion>/aic94xx even though update-initramfs whines about it.

I hope this gets a more official fix, or at least some notification during the install process that you can't use drives requiring this driver as your root partiton

cat << EOF > /etc/initramfs-tools/hooks/firmware_aic94xx
#!/bin/sh

PREREQ="udev"

prereqs()
{
echo "$PREREQ"
}

case $1 in
prereqs)
prereqs
exit 0
;;
esac

. /usr/share/initramfs-tools/hook-functions

copy_exec /lib/udev/firmware.sh /lib/udev

cp /lib/udev/rules.d/50-firmware.rules $DESTDIR/lib/udev/rules.d/

mkdir -p $DESTDIR/lib/firmware
cp /lib/firmware/aic94xx-seq.fw $DESTDIR/lib/firmware
EOF

chmod +x /etc/initramfs-tools/hooks/firmware_aic94xx

update-initramfs -k all -c