Introduction
A large number of storage controller drivers have been removed from RHEL 8.x, which means that the Dell R710/R610 with the H700 RAID controller, no longer supports RHEL 8.x natively. While this fact is unfortunate for a lot of hobbyists with their own homelabs, you can still install RHEL 8.x on these machines with the use of a driver update disk (DUD).
Setup
Using the link below, navigate and download the deprecated drivers.
https://elrepo.org/linux/dud/el8/x86_64
For Dell the R710/R10, you are specifically looking for the megaraid_sas drivers. See output below from R610.
# dmesg | grep raid
[ 1.402339] megaraid_sas 0000:03:00.0: FW now in Ready state
[ 1.402346] megaraid_sas 0000:03:00.0: 64 bit DMA mask and 32 bit consistent mask
[ 1.402571] megaraid_sas 0000:03:00.0: irq 34 for MSI/MSI-X
[ 1.402593] megaraid_sas 0000:03:00.0: firmware supports msix : (0)
The specific DUD iso that you need for RHEL 8.1 is shown below.
https://elrepo.org/linux/dud/el8/x86_64/dd-megaraid_sas-07.707.51.00-1.el8_1.elrepo.iso
Installation
The install process is as follows.
- Download RHEL 8.x media and burn to dvd or usb drive
- Download deprecated drivers in iso format and burn to usb drive
- Boot with both RHEL 8.x media and DUD mounted
- The installer should detect the DUD iso and install the proper drivers
Special Note: In my testing (3 systems) the DUD was not automatically detected by Anaconda. I suggest using the method below.
Troubleshooting
When you burn your DUD a usb stick, that the usb drive’s volume label is OEMDRV. This was the default when I burned the iso. The RHEL installer (anaconda) will look for this label on any and all available disks and should automatically recognize the DUD and mount the usb drive.
However, if this does not occur during the install process, and the installer still does not see your disks, you may need to reboot and this time interrupt the installer with the TAB key and append the following to your boot options.
inst.dd=/dev/sdb1
On my system, the DUD was /dev/sdb1 and the RHEL 8.1 install media was /dev/sda.
Resources:
https://access.redhat.com/discussions/3722151
https://elrepo.org/linux/dud/el8/x86_64
On my operational CENTOS 7 I installed pciutils which gave me lscpi, so that I could grep the exact controller, which is megaRAID 2801. Like you, I have an R710 with the Dell PERC H700 SAS controller for 6 drives too. I tried the auto-find with a second OEMDRV-named iso driver USB. It didn’t find the correct driver. REMEMBER: What I found out: type in the inst.dd=/dev/sd-whatever command after the vzlinux RATHER THAN appending it to the boot line. Even though I figured that out, I rebooted and I did a manual search, but still no correct drivers were found. I went to the Broadcom website and searched for the 2801 + Red Hat and downloaded the “MR_Linux_Driver_6-600-18-00” and then got the eplo drivers from your link (above). I successfully burned a full-monty CENTOS 8 USB with the volume title OEMDRV. Then I selected all the files inside of the Mr_Linux iso and folder and copied them and/plus the files from within your linked iso onto the CENTOS 8 installer. Get the files out of the iso. All the files and folders are on the root of the USB drive OEMDRV. This worked for me. I was able to install CENTOS 8.1 with the PERC control available. I should have tried the eplo first — just the eplo FILES on the root of the USB named OEMDRV. That’s maybe all I needed. But If that doesn’t work then maybe other people who need to install 8 can download the other drivers from the Broadcom site and try it like I did.
Thanks for this blog post, I had this exact problem.
If anyone is wondering how to “burn” the DUD .iso to a flash drive from a Windows machine I used dd for Windows and followed these helpful instructions from the CentOS wiki:
“If using a version of Windows newer than 7, make sure you unmount the USB drive first (formatting it prior to launching the disk copier is one way to accomplish that), otherwise Windows might refuse to write on the stick, bailing out with the “can’t write to drive” error message.
If using dd for Windows, run dd –list and look carefully at the list of NT Block Device Objects and use the one that looks like \\?\Device\Harddisk1\Partition0 where the description is something like Removable media other than floppy. Block size = 512. Be very careful about which output device you pick or you may overwrite something you did not intend to! On my machine I ran dd if=CentOS-7.0-1406-DVD.iso of=\\?\Device\Harddisk1\Partition0 – your device names and command may vary accordingly!”
Now if I can just figure out how to get past this _ped.PartitionException…
Here is the ipxe shell script, tested, and it works.
#!ipxe
set base http://repo.virtualhosting.hk/centos/8/BaseOS/x86_64/os
kernel ${base}/images/pxeboot/vmlinuz initrd=initrd.img repo=${base} dd=${boot-url}/images/dd-megaraid_sas-07.707.51.00-1.el8_1.elrepo.iso
initrd ${base}/images/pxeboot/initrd.img
boot || goto failed
goto start
Hi … if we use this DUD approach, the next time we upgrade the OS, we will not be able to boot ?
life saver! Thanks. I’m just getting spun back up on IT with everything going on. Every little bit helps.
Worked on my R710..
Thanks for the post, this helped my install of oVirt 4.4.0 on my R910, perd h700.
Stuck with Centos8 installaltion on dell poweredge r710 few days, this post is awesome life saver.
just fyi, if you do just “inst.dd” after the quiet the installer will prompt you for where you want to load the drivers from (tested on rhel 8.2).
Pingback: Running RHEL 8 on Dell R710/610 via Raid Controller Retrofit : FATMIN