how to include a third-party driver in the installation

This commit is contained in:
2023-02-20 15:23:11 +01:00
parent 636c9f255d
commit dd7d274251

View File

@@ -36,9 +36,44 @@ Bugs and issues can be reported in the [Linux project in JIRA](https://jira.psi.
| `devtoolset*` | `gcc-toolset*` | |
| `git-cvs` | - | `cvs` itself is not supported by RHEL8, but available through EPEL. Still missing is the support for `git cvsimport`. |
### Boot Failure due to Missing RAID Drivers
### Missing RAID Drivers
If the machine does not boot after provisioning with
#### Missing RAID Drivers during Installation
For RHEL 8 Red Hat phased out some hardware drivers, here is an [official list](https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/considerations_in_adopting_rhel_8/hardware-enablement_considerations-in-adopting-rhel-8#removed-adapters_hardware-enablement), but I also found some stuff missing not listed there.
Installation then fails as the installer does not find a system disk to use.
To figure out what driver you need, best go the the installer shell or boot a rescue linux over the network and on the shell check the PCI Device ID of the RAID controller with
```
$ lspci -nn
...
82:00.0 RAID bus controller [0104]: 3ware Inc 9750 SAS2/SATA-II RAID PCIe [13c1:1010] (rev 05)
...
```
The number is in the rightmost square brackets. Then check if there are drivers available.
I will now focus on [ElRepo](https://elrepo.org/) which provides drivers not supported any more by Red Hat. Check the PCI Device ID on their list of (https://elrepo.org/tiki/DeviceIDs). If you found a driver, then there are also [driver disks provided](https://linuxsoft.cern.ch/elrepo/dud/el8/x86_64/).
There are two option in providing this driver disk to the installer:
1. Download the according `.iso` file and extract it on an USB stick labelled with `OEMDRV` and have it connected during installation.
2. Extend the kernel command line with `inst.dd=$URL_OF_ISO_FILE`, e.g. with a custom Grub config on the (boot server)[https://git.psi.ch/linux-infra/network-boot]
([Red Hat documentation of this procedure](https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html-single/performing_an_advanced_rhel_8_installation/index#updating-drivers-during-installation_installing-rhel-as-an-experienced-user))
At the end do not forget to enable the ElRepo RPM package repository in Hiera to also get new drivers for kernel updates:
```
# enable 3rd-party drivers from ElRepo
rpm_repos::default:
- 'elrepo_rhel8'
```
#### Missing RAID Drivers on Kernel Upgrade
If the machine does not boot after provisioning or after an kernel upgrade with
```
Warning: /dev/mapper/vg_root-lv_root does not exist
Warning: /dev/vg_root/lv_root does not exist
@@ -47,8 +82,7 @@ after a lot of
```
Warning: dracut-initqueue timeout - starting timeout scripts
```
the it could be that the RAID controller is not supported any more.
There is a [full list](https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/considerations_in_adopting_rhel_8/hardware-enablement_considerations-in-adopting-rhel-8#removed-adapters_hardware-enablement) of such hardware, but e.g. for the LSI MegaRAID SAS there is a [dedicated article](https://access.redhat.com/solutions/3751841).
the it could be that the RAID controller supported was removed with the new kernel, e.g. for the LSI MegaRAID SAS there is a [dedicated article](https://access.redhat.com/solutions/3751841).
For the LSI MegaRAID SAS there is still a driver available in ElRepo, so it can be installed during provisioning by Puppet.
To do so add to Hiera:
@@ -58,7 +92,7 @@ base::pkg_group::....:
rpm_repos::default:
- 'elrepo_rhel8'
````
```
### AFS cache partition not created due to existing XFS signature
It can happen when upgrading an existing RHEL 7 installation that the puppet run produces