You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
for RHEL-based distros, there is a middle-ground between zfs-dkms (everything compiled every time) and zfs-kmod (statically built packages that don't usually survive a RHEL minor upgrade): provide an akmod package.
Please allow me to provide an example with NVidia proprietary drivers on RHEL (from either Megativo17 or rpmfusionorg):
The repo (here negativo17) provides 3 packages:
akmod-nvidia : akmod source of the nvidia driver:
dkms-nvidia : dkms source of the nvidia set of drivers
kmod-nvidia : static rpm for kABI-compatible loading
All of these are mutually exclusive.
When installed, the akmod rpm will build a version of the nvidia drivers for the current kernel -AND- it will also package them as a kmod which is then injected into the RHEL-like distro.
Here a RHEL8.10 machine where only akmod-nvidia is installed:
# rpm -q kmod-nvidia dkms-nvidia akmod-nvidia
package kmod-nvidia is not installed
package dkms-nvidia is not installed
akmod-nvidia-565.77-1.el8.x86_64
The appropriate kmod-nvidia- module got built when the system rebooted into RHEL for the first time with the akmod rpm installed.
There are several advantages to this approach:
thanks to akmod, this makes the nvidia driver better equipped to survive a minor upgrade on RHEL-like distros (RHELx.y to RHELx.y+1)
Since the akmod rpm ultimately produces other rpms the binary modules produced are: 1) with a checksum in the rpmdb and 2) redistributable to systems with the kernel version but without a compiler.
multiple kmod-nvidia- can coexist on the same system (similar to what dkms-nvidia does but unlike kmod-nvidia ).
for RHEL-based distros, there is a middle-ground between zfs-dkms (everything compiled every time) and zfs-kmod (statically built packages that don't usually survive a RHEL minor upgrade): provide an akmod package.
Please allow me to provide an example with NVidia proprietary drivers on RHEL (from either Megativo17 or rpmfusionorg):
The repo (here negativo17) provides 3 packages:
akmod-nvidia : akmod source of the nvidia driver:
dkms-nvidia : dkms source of the nvidia set of drivers
kmod-nvidia : static rpm for kABI-compatible loading
All of these are mutually exclusive.
When installed, the akmod rpm will build a version of the nvidia drivers for the current kernel -AND- it will also package them as a kmod which is then injected into the RHEL-like distro.
Here a RHEL8.10 machine where only akmod-nvidia is installed:
There is a fresh kmod-nvidia- rpm installed:
The appropriate kmod-nvidia- module got built when the system rebooted into RHEL for the first time with the akmod rpm installed.
There are several advantages to this approach:
RPMfusion has info on akmods here:
https://rpmfusion.org/Packaging/KernelModules/Akmods
Here is an example from negativo17's repo:
akmod SPEC file: https://github.com/negativo17/nvidia-kmod/blob/master/nvidia-kmod.spec
regular SPEC file: https://github.com/negativo17/kmod-nvidia/blob/master/kmod-nvidia.spec
The text was updated successfully, but these errors were encountered: