------------------------------------------------------------------------------ Supported Distro list and supported package list ------------------------------------------------------------------------------ ################################################################################ SuSE: ################################################################################ x86_64 SLES 12 SP5 Gold (4.12.14-120) (default) SLES 15 SP4 Gold (5.14.21-150400.22) (default) SLES 15 SP4 Gold (5.14.21-150400.13-rt) (rt) SLES 15 SP5 Gold (5.14.21-150500.53) (default) SLES 15 SP5 Gold (5.14.21-150500.11-rt) (rt) SLES 15 SP6 Gold (6.4.0-150600.21) (default) SLES 15 SP6 Gold (6.4.0-150600.6-rt) (rt) ################################################################################ Red Hat: ################################################################################ x86_64 RHEL8 Update8 (4.18.0-477.10.1.el8_8.x86_64) (el8) Update8 RT (4.18.0-477.10.1.rt7.274.el8_8.x86_64) (el8) Update9 (4.18.0-513.5.1.el8_9.x86_64) (el8) Update9 RT (4.18.0-513.5.1.rt7.307.el8_9.x86_64) (el8) Update10 (4.18.0-553.el8_10.x86_64) (el8) Update10 RT (4.18.0-553.rt7.342.el8_10.x86_64) (el8) RHEL9 Update2 (5.14.0-284.11.1.el9_2.x86_64) (el9) Update2 RT (5.14.0-284.11.1.rt14.296.el9_2.x86_64) (el9) Update3 (5.14.0-362.8.1.el9_3.x86_64) (el9) Update3 RT (5.14.0-362.8.1.el9_3.x86_64+rt) (el9) Update4 (5.14.0-427.13.1.el9_4.x86_64) (el9) Update4 RT (5.14.0-427.13.1.el9_4.x86_64+rt) (el9) ################################################################################ Ubuntu: ################################################################################ x86_64 Ubuntu 22.04 LTS (5.15) Ubuntu 24.04 LTS (6.8) NOTE: 1. Single source DKMS Deb driver package will work for above mentioned Ubuntu OS releases. Please refer driver README for how to use DKMS deb driver package. 2. In case of a kernel upgrade, if megaraid_sas driver DMKS module installation fails in the upgraded kernel and if it is due to broken DKMS then inbox driver will be installed in the upgraded kernel. ################################################################################ Citrix: ################################################################################ x86_64 Citrix8.2 Base (4.19.0+1) NOTE: Only RPM support is provided for Citrix's XenServer/Hypervisor OSes. Citrix has changed the DUD (Driver Update Disk) process in XenServer/ Hypervisor and made it mandatory for ISO images to be signed with GPG keys and the GPG public key must be present in the base OS installation media.Due to this DUD support is dropped for XenServer/Hypervisor. Also, XenServer/Hypervisor OS by default installs out-of-box megaraid_sas driver rpm while installing the OS. After installing the OS, user can upgrade to the latest Citrix XenServer/Hypervisor megaraid_sas driver rpm provided as below, # rpm -Uvh avago-megaraid-sas-07.730.00.00_CitrixXen8.2-1.x86_64.rpm ################################################################################ Debian: ################################################################################ x86_64 Debian 12.6 (6.1.0-23) NOTE: 1. source DKMS Deb driver package will work for above-mentioned debian OS release. Please refer to the driver README for instructions on how to use the DKMS deb driver package. 2. Users should have complete root privileges before installing the driver DKMS package to avoid warnings about "ldconfig" and "start-stop-daemon" not being found in the PATH. 3. In case of a kernel upgrade, if the megaraid_sas driver DMKS module installation fails in the upgraded kernel due to a broken DKMS, the inbox driver will be installed in the upgraded kernel. ################################################################################ FusionOs: ################################################################################ x86_64 fos22 (4.19.90-2112.8.0.0131.u32.fos22.x86_64) ################################################################################ Anolis: ################################################################################ x86_64 anolis8.9 : (5.10.134-16.2.an8.x86_64) anolis23.0 : (5.10.134-14.1.an23.x86_64) aarch64 anolis8.9 : (5.10.134-16.2.an8.aarch64) anolis23.0 : (5.10.134-14.1.an23.aarch64) ################################################################################ OpenCloudOS: ################################################################################ x86_64 opencloudos8.8 : (5.4.119-20.0009.31) opencloudos9.0 : (6.6.6-2401.0.1.oc9.x86_64) aarch64 opencloudos8.8 : (5.4.119-20.0009.29) opencloudos9.0 : (6.6.6-2401.0.1.oc9.aarch64) ################################################################################ OpenEuler: ################################################################################ x86_64 openeuler20.03 : (4.19.90-2312.1.0.0255.oe2003sp4.x86_64) openeuler22.03 : (5.10.0-182.0.0.95.oe2203sp3.x86_64) aarch64 openeuler20.03 : 4.19.90-2312.1.0.0255.oe2003sp4.aarch64 openeuler22.03 : (5.10.0-182.0.0.95.oe2203sp3.aarch64) Note the following regarding Anolis, OpenCloudOS and OpenEuler OS: 1. Only source RPM is supported, binary RPM and DUD are not supported. 2. The kmod source RPM, located in the 'kmod_srpm' folder in the release tarball should be used. 3. Installation steps for the kmod source RPM remain unchanged. Few additional notes: ===================== 1. For few distros(e.g.fedora23), while building binary RPM from source RPM, debuginfo package building is mandatory but MR build scripts do not have debugfiles.list required to build MR driver's debuginfo RPM. Not having debugfiles.list can cause failure to build binary RPM from source RPM. On such distros, while creating binary RPM from source RPM(using rpmbuild) use below options- #rpmbuild -ba --define "debug_package %{nil}" file_name.spec 2. Many Linux kernel distribution fails >4MB contiguous memory allocation request on x86 platform. Most of the linux distribution on x86 platform supports PAGE_SIZE=4K and max possible physical contiguous memory supported is 4MB (2^10 * PAGE_SIZE). This upper limit (4MB) depends upon architecture and kernel configuration (like PAGE_SIZE etc.). In MegaRaid JBOD personality which supports adapter QD = ~9k, memory required for IO request frame pool is >4 MB. driver will work in reduced QD mode (QD set to 8172) so that corresponding memory requirement for IO request frames is <= 4MB. Below is git commit id of upstream patch which makes driver is reduced QD mode due to >4MB memory can not be allocated- e97e673 scsi: megaraid_sas: Retry with reduced queue depth when alloc fails for higher QD In newer kernels, CMA (contiguous memory allocator) feature can be used to allocate large physical contiguous memory. CMA can be enabled by adding cma=xxxx in grub entry of kernel. This will reserve some memory reserved for larger memory allocations on boot time. Once grub file is edited, reboot the system and check for CmaTotal in output of cat /proc/meminfo it should reflect memory reserved in grub config file. e.g. If cma=16M is set in grub config file(menu.lst/grub.cfg), then CmaTotal should be set as below- # cat /proc/meminfo -- -- CmaTotal: 16384 kB CmaFree: 0 kB -- For more details on CMA refer to this link- https://lwn.net/Articles/486301/ 3. List of megaraid_sas driver binaries with retpoline support Driver binaries for below OS versions have retpoline support built using "thunk-extern" GCC option as the GA kernels itself have retpoline support enabled: - RHEL8.x and RHEL9.x releases that are supported - SLES15.x releases that are supported - SLES12 SP5 GA and any future SLES12 Service Pack releases that are supported - Ubuntu 22.04 LTS and any future Ubuntu LTS releases that are supported - Debian 12.6 and any future Debian releases that are supported In output of "modinfo megaraid_sas.ko", "retpoline: Y" indicates compiled driver module is retpoline compliant. 4. Some information on driver binaries built for OS GA kernels which does not have retpoline support: 1. For those OS where GA kernel does not have retpoline support, if OSV has released updated GCC package, in that case driver binaries will be built using "thunk-inline" GCC option. Refer above list for OS GA versions where retpoline support is currently available. 2. In this case, both driver RPMs and DUDs are compiled with GCC option: "-mindirect-branch=thunk-inline -mindirect-branch-register" They are safe from Spectre v2 vulnerabilities. 3. "modinfo megaraid_sas.ko" will show "retpoline :Y" for driver module built with retpoline support. 4. Retpoline kernels have "CONFIG_RETPOLINE=y" in kernel config file. 5. Driver binaries (both DUD and RPM) will work for both OS GA as well as retpoline kernels. 5. Only RPM will be provided in the release package for all the supported RT kernels. 6. Ubuntu 24.04 LTS triggers a UBSAN warning for an out-of-bounds array index upon megaraid_sas driver load. However, this warning has no functional impact and can be safely ignored as a false positive. UBSAN warning message snippet: UBSAN: array-index-out-of-bounds in ./arch/x86/include/asm/topology.h index -1 is out of range for type 'cpumask *[1024]' Stack trace snippet: dump_stack+0x10/0x20 __ubsan_handle_out_of_bounds+0xc6/0x110 megasas_alloc_irq_vectors+0x223/0x230 [megaraid_sas] ? srso_return_thunk+0x5/0x5f megasas_probe_one+0x94e/0x2050 [megaraid_sas] The UBSAN warning will only occur if the system lacks support for NUMA architecture or if the device is not associated with any NUMA node.