in linux/install_gpu_driver.py [0:0]
def install_dependencies_centos_rhel_rocky(system: System, version: str) -> bool:
"""
Installs required kernel-related packages and pciutils for CentOS and RHEL.
"""
if version.startswith("8"):
binary = "dnf"
else:
binary = "yum"
run(f"{binary} clean all")
general_update = run(f"{binary} update -y --skip-broken")
if "kernel" in general_update.stdout.decode():
return True # Kernel update requires a reboot before continuing
kernel_install = run(f"{binary} install -y kernel")
kernel_version = run("uname -r").stdout.decode().strip()
if "already installed" not in kernel_install.stdout.decode():
return True # Kernel update requires a reboot
if system == System.Rocky:
if version.startswith("8"):
run("dnf config-manager --set-enabled powertools")
run(
f"dnf config-manager --add-repo https://developer.download.nvidia.com/compute/cuda/repos/rhel{version[0]}/x86_64/cuda-rhel{version[0]}.repo"
)
run("dnf update -y --skip-broken")
run("dnf install -y epel-release")
run(
f"dnf install -y kernel-devel-{kernel_version} kernel-headers-{kernel_version}"
)
elif system == System.CentOS and version.startswith("8"):
run("dnf config-manager --set-enabled powertools")
run("dnf install -y epel-release epel-next-release")
elif system == System.CentOS and version.startswith("9"):
run(
"dnf install -y https://dl.fedoraproject.org/pub/epel/next/9/Everything/x86_64/Packages/e/epel-next-release-9-1.el9.next.noarch.rpm"
)
run(
"dnf install -y https://dl.fedoraproject.org/pub/epel/next/9/Everything/x86_64/Packages/e/epel-release-9-1.el9.next.noarch.rpm"
)
elif system == System.RHEL and version[0] in ("8", "9"):
run(
f"dnf config-manager --add-repo https://developer.download.nvidia.com/compute/cuda/repos/rhel{version[0]}/x86_64/cuda-rhel{version[0]}.repo"
)
run("dnf update -y --skip-broken")
run(
f"dnf install -y kernel-devel-{kernel_version} kernel-headers-{kernel_version}"
)
run(
f"dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-{version[0]}.noarch.rpm"
)
run(
f"{binary} install -y kernel-devel epel-release "
f"kernel-headers pciutils gcc make dkms acpid "
f"libglvnd-glx libglvnd-opengl libglvnd-devel pkgconfig"
)
return False