AMD RAIDXpress – packaging and patches for Ubuntu/Debian

Recently, since I bought during my last computer’s upgrade an ASUS X470 board, I noticed first of all that drivers for the controller were not distributed nicely.

When thinking of the fun I had in the past with my ASUS T91’s graphics driver (Intel EMGD for GMA500), it looks like the chip manufacturers still don’t understand how to ship kernel drivers in a smart way.

As the drivers have been distributed in their source code and the I/O API in the kernel changes from time to time, it needs a system within the operating system, which recompiles the kernel driver automatically. This is why DKMS has been developed. Since the kernel headers, which are needed during compilation it is possible to use one source code of a driver with some if-clauses across different kernel versions. That is due to the fact that the kernel’s version is included in the headers and during compilation time the version can be checked.

So I began to prepare such a DKMS package and together with other people on the internet, I keep the package up-to-date with patches and improvements.

Today I’m using the driver daily together with a RAID1 on two hard drives to feel a bit more sure that my important development files are (more) safe.

How to install Ubuntu on an existing RAID array

  1. Create a USB installer as usual. Download an ISO and use the USB installer creator provided by Ubuntu.
  2. Go to launchpad.net and visit the PPA there. Download the rcraid-dkms package and drop the file on a second USB stick.
  3. Reboot and start from the USB install media.
  4. Choose to try Ubuntu/Kubuntu/whatever
  5. Open a terminal
  6. Do a “sudo apt update”
  7. Do a “sudo apt install dkms”
  8. From the second USB drive install the Debian package via “sudo dpkg -i <path to your deb>”
  9. Unload the “ahci” kernel driver (or do it even twice to be sure). Use “sudo rmmod ahci” for it.
  10. Unload the “rcraid” driver just as above.
  11. Reload the “rcraid” driver with “sudo modprobe rcraid”
  12. Double check via “dmesg” whether your drives have been found.
  13. Do the installation of Ubuntu as usual.
  14. Do not reboot! You need to chroot into your fresh installation, add the rcraid PPA and install the rcraid-dkms package. I’m not giving further instructions on this. Be creative! 😉

Share my content here: