Unable to install AlmaLinux 8.9 with mpt3sas driver

Hi, I have a really old server with a SAS2008 raid controller, I’m currently trying to install almalinux. I looked up, and it appears that I need to load the driver mpt3sas from elrepo, but even after loading the module I can’t use the hard drives. I’m not sure what could be the issue here because when I tried running lspci -nn the raid card doesn’t appear.

As a second option, I also tried installing CentOS 7 and using the Elevate tool to migrate to Alma 8, but I also didn’t have any luck because when I added the elrepo module i get this error message. (This is when you run the preupgrade, leapp upgrade)


2024-04-09 17:57:50.964314 [ERROR] Actor: target_userspace_creator
Message: Unable to install RHEL 8 userspace packages.
    Details: Command ['systemd-nspawn', '--register=no', '--quiet', '-D', '/var/lib/leapp/scratch/mounts/root_/system_overlay', '--setenv=LEAPP_UPGRADE_PATH_TARGET_RELEASE=8.6', '--setenv=LEAPP_NO_RHSM=0', '--setenv=LEAPP_EXPERIMENTAL=0', '--setenv=LEAPP_UPGRADE_PATH_FLAVOUR=default', '--setenv=LEAPP_COMMON_TOOLS=:/etc/leapp/repos.d/system_upgrade/cloudlinux/tools:/etc/leapp/repos.d/system_upgrade/common/tools:/etc/leapp/repos.d/system_upgrade/el7toel8/tools', '--setenv=LEAPP_COMMON_FILES=:/etc/leapp/repos.d/system_upgrade/wp-toolkit/files:/etc/leapp/repos.d/system_upgrade/common/files:/etc/leapp/repos.d/system_upgrade/el7toel8/files', '--setenv=LEAPP_IPU_IN_PROGRESS=7to8', '--setenv=LEAPP_UNSUPPORTED=0', '--setenv=LEAPP_EXECUTION_ID=3149fe13-8a6f-4b8d-8297-def702b2fdce', '--setenv=LEAPP_HOSTNAME=polilla', 'dnf', 'install', '-y', '--nogpgcheck', '--setopt=module_platform_id=platform:el8', '--setopt=keepcache=1', '--releasever', u'8.6', '--installroot', '/el8target', '--disablerepo', '*', '--enablerepo', u'el8-epel', '--enablerepo', u'almalinux8-baseos', '--enablerepo', u'almalinux8-powertools', '--enablerepo', u'elrepo', '--enablerepo', u'almalinux8-resilientstorage', '--enablerepo', u'almalinux8-extras', '--enablerepo', u'almalinux8-ha', '--enablerepo', u'almalinux8-appstream', 'kmod-mpt3sas-', 'dnf', 'kernel-modules', 'dnf-command(config-manager)', '--disableplugin', 'subscription-manager'] failed with exit code 1.
    Stderr: Host and machine ids are equal (5209e49122414c8e8f59a057d195e1dd): refusing to link journals
            Module yaml error: Unexpected key in component
            Module defaults error: Unexpected key in component
            Error: transaction check vs depsolve:
            ((grub2 >= 2.02-99) if grub2) is needed by kernel-core-4.18.0-513.18.2.el8_9.x86_64
            ((grub2-efi >= 2.02-99) if grub2-efi) is needed by kernel-core-4.18.0-513.18.2.el8_9.x86_64
            rpmlib(RichDependencies) <= 4.12.0-1 is needed by kernel-core-4.18.0-513.18.2.el8_9.x86_64
            To diagnose the problem, try running: 'rpm -Va --nofiles --nodigest'.
            You probably have corrupted RPMDB, running 'rpm --rebuilddb' might fix the issue.

                       END OF ERRORS                        

I did try running the suggest commands, but nothing happened. At this point, I’m not sure how to continue troubleshooting this, so any ideas of how to solve any of these issues would be really helpful.

The AlmaLinux 8.10 beta is right around the corner which will have this driver added back into the kernel natively.

Be on the lookout for it, I hear it might be tomorrow :wink:

1 Like

Thanks. I tried the 8.10 beta but still no luck. I did the usual troubleshooting, like reloading the kernel module with modprobe mpt3sas yet nothing happened, so I’m still not sure what could be the issue here. Not only that, but I ran lspci -nn and the RAID Controller didn’t appear. On the CentOS 7 installation I have running, the device ID is [1000:0072], I have seen that this controller uses the mpt2sas module, but mpt3sas should also work, right?

On both AlmaLinux 8.9 and 9.3 the modprobe -c | grep -i 1000.*0072 returns mpt3sas.
That is, the device ID is listed by that kernel module.
On both the mpt2sas is an alias for mpt3sas.

Alas, Red Hat’s modules do list some device IDs even when they don’t support those devices properly. The 1000:0072 could be one of those cases.

ELRepo lists kmod-mpt3sas for 1000:0072 deviceids [ELRepo Wiki]
ELRepo does not build just an RPM package that has kernel module. They do also build driver update disks (DUD).
One of their mirrors (that I picked on random) Index of /linux/elrepo/dud/el8/x86_64/ has: dd-mpt3sas-

If the installer can use the NIC of the system, then one can add to installer’s kernel cmdline options:


and then the installer should:

  1. Download the ISO and mount it
  2. Load the mpt3sas module to kernel
  3. Have access to the storage device
  4. Install the kmod-mpt3sas package to the system

One only has to dnf install elrepo-release after install to ensure that the el8_10 version can be installed for Alma 8.10’s kernel. (One has to look at timing of updates so that kernel and ELRepo modules are simultaneously available.)

Oh, I think I didn’t mention, but I had already tried using the DUD from elrepo, though I did this with Rocky Linux 8.9, I could try with Almalinux, but I don’t think this will solve the issue. Right now I’m wondering if there is a reason why even with the correct kernel module, the controller doesn’t show with lspci

Sorry, I missed this bit. The lspci ought to list even the devices that the kernel has no driver for. If the 1000:0072 isn’t on the list, then it is even more invisible than plain “unsupported” items. I have no idea how that can happen.