Madgwick.xyz

May 27, 2018 (2018-05-27)
Updated: Aug 25, 2018 (2018-08-25)

The cpqarray Kernel Module

Recently, I decided to install Ubuntu on an old Compaq server I had. But I couldn’t get the installer to detect any of the 5 hard disks in the system. Admittedly this was a very old server. Compaq ceased to exist as a company over a decade ago and this server was released in around 1998.

Linux in general has a reputation for running on old hardware which nothing else supports so I was mystified why the installer couldn’t find any volumes.

After some research I discovered that the SCSI controller required a kernel module called ‘cpqarray’. But only after an extensive search did I discover why it wasn’t in the installers list of extra driver modules.

It was disabled in the Linux Kernel makefile in October 2013 and other than a few arch users no one really noticed. Presumably nobody complained enough to save it and so it was removed from the Kernel forever in March 2016.

This was quite a problem for me, because if I wanted to use the systems SCSI controller then I would have to use a 2013 kernel (and distro), which in 2018 is years old.

Unless… I got the code for the module, put it back into the kernel source, compiled it as a module, and run it in the installer. Then I would be able to format the drives and install Ubuntu. Easier said than done.

The rest of the page is a work in progress, I will complete it when I have time and when I have a put together a cpqarray module which works with DKMS so others can use it easily and so it doesn’t need to be built manually.

Areas to cover (WIP)

Getting everything working and booting ubuntu after installing

To get cpqarray working after install

To get disk partitions to mount correctly: Edit /etc/fstab and get rid of the ‘UUID=’ replace it with ‘/dev/ida/xxxx’

To get rid of the garbled text and actually see grub menu


References