Stuck Moving to AlmaLinux 8 Because of Megaraid SAS Driver

I’m trying to update to CentOS 8.5 and subsequently AlmaLinux. Server is on CentOS 8.4.

Per the almalinux-deploy instructions, I’ve reconfigured dnf to point to a valid mirror, but dnf update fails with this error:

Problem: cannot install the best update candidate for package kmod-megaraid_sas-07.714.04.00-3.el8_4.elrepo.x86_64

  • nothing provides kernel(__x86_return_thunk) = 0x5b8239ca needed by kmod-megaraid_sas-07.719.03.00-3.el8_8.elrepo.x86_64
  • nothing provides kernel(_dev_info) = 0xbdc3f5dc needed by kmod-megaraid_sas-07.719.03.00-3.el8_8.elrepo.x86_64
  • nothing provides kernel(_dev_err) = 0x1cba9e84 needed by kmod-megaraid_sas-07.719.03.00-3.el8_8.elrepo.x86_64
  • nothing provides kernel(_dev_warn) = 0xaad33b64 needed by kmod-megaraid_sas-07.719.03.00-3.el8_8.elrepo.x86_64
  • nothing provides kernel >= 4.18.0-477.10.1.el8_8 needed by kmod-megaraid_sas-07.719.03.00-3.el8_8.elrepo.x86_64
  • nothing provides kernel(dev_printk) = 0x008c88fc needed by kmod-megaraid_sas-07.719.03.00-3.el8_8.elrepo.x86_64
  • nothing provides kernel(pci_find_capability) = 0x6e90426b needed by kmod-megaraid_sas-07.719.03.00-3.el8_8.elrepo.x86_64
  • nothing provides kernel(__num_online_cpus) = 0xc60d0620 needed by kmod-megaraid_sas-07.719.03.00-3.el8_8.elrepo.x86_64
  • nothing provides kernel(_dev_notice) = 0x7d4c60c7 needed by kmod-megaraid_sas-07.719.03.00-3.el8_8.elrepo.x86_64
  • nothing provides kernel(pci_hw_deprecated) = 0xb2930a63 needed by kmod-megaraid_sas-07.719.03.00-3.el8_8.elrepo.x86_64
  • nothing provides kernel(pci_hw_unmaintained) = 0x82f2869a needed by kmod-megaraid_sas-07.719.03.00-3.el8_8.elrepo.x86_64
    (try to add ‘–skip-broken’ to skip uninstallable packages or ‘–nobest’ to use not only best candidate packages)

Can I safely use the --nobest flag to get to 8.5 or should I just run almalinux-deploy from 8.4?

Any advice is appreciated!

The el8_4 tells that that kmod from ELRepo is for kernels of EL 8.4.

The el8_8 tells that that kmod from ELRepo is for kernels of EL 8.8.

Neither is for kernel of EL 8.5.


The big question is: what do you need the megaraid_sas for?

  • If you have only data volumes on it, then stop mounting them, remove the kmod, up/sidegrade, and finally reinstall & mount
  • If your OS volumes are on it, then you have to install kernel and matching kmod synchronously. (Upgrade of kmod seems to touch all initramfs, so it renders kernels of older point releases unbootable?)

Now don’t boo and hiss, but my server is old. It’s a Dell R610 with an H700. Early versions of EL8 didn’t support this controller, hence my need for megaraid_sas.

I believe RedHat re-added support for the MegaRAID SAS LSI controllers, but I’ve been unable to find a definitive answer without a subscription. Availability of MegaRAID SAS LSI storage controllers in RHEL 8 and 9 - Red Hat Customer Portal

It’s possible this is a non-issue, but considering this is a production server, I’d like to confirm before proceeding.

Thanks for your insights on the kmod/kernel mismatch.

That one can test. Boot with Alma installer. If it can see the disks/volumes on that PERC, then it has driver for H700. (I know, production does not like downtime but such test should be quick.)

wow that article is awful, but it looks like if lspci -nn returns PERC H700 Adapter [1000:0079] then it should be recognised by 8.4+ (without elrepo) and 9.x albeit untested.

if you have to use the elrepo driver in 8.4 i would assume its on the removed list and you’re out of luck, probably best you could do is install alma 8.8 from scratch using the elrepo driver.

or if the boot drive isn’t on the PERC you may be able to do the centos 8.5 upgrade without the elrepo driver, then upgrade to alma 8.8 and re-enable the elrepo driver.

If you really, really have to install el8.4, DUDs can be obtained from:

https://mirrors.coreix.net/elrepo-archive-archive/dud/el8/x86_64/