Adding SATA Controller Support in initrd

Today we had a problem at work where, after adding two 400G drives and a SATA controller to a server and adding the two drives to the root logical volume, the system would not boot. It would kernel panic because LVM could not find the drives. Turns out the SATA controller driver wasn’t being loaded on boot, before the drives are accessed.

The solution was to run mkinird with SATA device probing. It was further surmised that RPM kernel upgrades handle this automatically by reading in the required devices from modprobe.conf.

This solution saved nearly a full day of labor by avoiding a complete server re-install.