-
Notifications
You must be signed in to change notification settings - Fork 6
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Signed-off-by: Kevin Mittman <kmittman@nvidia.com>
- Loading branch information
Showing
1 changed file
with
140 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,140 @@ | ||
# yum packaging dkms nvidia | ||
|
||
[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) | ||
[![Contributing](https://img.shields.io/badge/Contributing-Developer%20Certificate%20of%20Origin-violet)](https://developercertificate.org) | ||
|
||
## Overview | ||
|
||
Packaging templates using [DKMS](https://en.wikipedia.org/wiki/Dynamic_Kernel_Module_Support) on `yum` and `dnf` based Linux distros to manage NVIDIA driver kernel module compilation. | ||
|
||
For pre-compiled packaging see: [yum-packaging-precompiled-kmod](https://github.com/NVIDIA/yum-packaging-precompiled-kmod) | ||
|
||
The `main` branch contains this README and a sample build script. The `.spec` and `.conf` files can be found in the appropriate [rhel7](../../tree/rhel7), [rhel8](../../tree/rhel8), and [fedora](../../tree/fedora) branches. | ||
|
||
## Table of Contents | ||
|
||
- [Overview](#Overview) | ||
- [Deliverables](#Deliverables) | ||
- [Prerequisites](#Prerequisites) | ||
* [Clone this git repository](#Clone-this-git-repository) | ||
* [Install build dependencies](#Install-build-dependencies) | ||
- [Related](#Other-NVIDIA-driver-packages) | ||
* [Precompiled kernel modules](#Precompiled-kernel-modules) | ||
* [NVIDIA driver](#NVIDIA-driver) | ||
* [NVIDIA kmod common](#NVIDIA-kmod-common) | ||
* [NVIDIA modprobe](#NVIDIA-modprobe) | ||
* [NVIDIA persistenced](#NVIDIA-persistenced) | ||
* [NVIDIA plugin](#NVIDIA-plugin) | ||
* [NVIDIA settings](#NVIDIA-settings) | ||
* [NVIDIA xconfig](#NVIDIA-xconfig) | ||
- [Contributing](#Contributing) | ||
|
||
|
||
## Deliverables | ||
|
||
This repo contains the `.spec` file used to build the following **RPM** packages: | ||
|
||
> *note:* `XXX` is the first `.` delimited field in the driver version, ex: `460` in `460.32.03` | ||
* **RHEL8** or **Fedora** streams: `latest-dkms` and `XXX-dkms` | ||
```shell | ||
kmod-nvidia-latest-dkms-${version}-${rel}.${dist}.${arch}.rpm | ||
> ex: kmod-nvidia-latest-dkms-460.32.03-1.el8.x86_64.rpm | ||
> ex: kmod-nvidia-latest-dkms-460.27.04-1.fc33.x86_64.rpm | ||
``` | ||
|
||
* **RHEL7** flavor: `latest-dkms` | ||
```shell | ||
kmod-nvidia-latest-dkms-${version}-${rel}.${dist}.${arch}.rpm | ||
> ex: kmod-nvidia-latest-dkms-460.32.03-1.el7.x86_64.rpm | ||
``` | ||
|
||
The `latest` and `latest-dkms` streams/flavors always update to the highest versioned driver, while the `XXX` and `XXX-dkms` streams/flavors lock driver updates to the specified driver branch. | ||
|
||
> *note:* `XXX-dkms` is not available for RHEL7 | ||
These packages can be used in place of their equivalent [pre-compiled](https://github.com/NVIDIA/yum-packaging-precompiled-kmod) packages: | ||
|
||
* **RHEL8** or **Fedora** streams: `latest` and `XXX` | ||
```shell | ||
kmod-nvidia-${driver}-${kernel}-${driver}-${rel}.${dist}.${arch}.rpm | ||
> ex: kmod-nvidia-460.32.03-4.18.0-240.15.1-460.32.03-3.el8_3.x86_64.rpm | ||
``` | ||
|
||
* **RHEL7** flavor: `latest` | ||
```shell | ||
kmod-nvidia-latest-${kernel}.r${driver}.${dist}.${arch}.rpm | ||
> ex: kmod-nvidia-latest-3.10.0-1160.15.2.r460.32.03.el7.x86_64.rpm | ||
``` | ||
|
||
* **RHEL7** flavor: `branch-XXX` | ||
```shell | ||
kmod-nvidia-branch-XXX-${kernel}.r${driver}.${dist}.${arch}.rpm | ||
> ex: kmod-nvidia-branch-460-3.10.0-1160.r460.32.03.el7.x86_64.rpm | ||
``` | ||
|
||
|
||
## Prerequisites | ||
|
||
### Clone this git repository: | ||
|
||
Supported branches: `rhel7`, `rhel8` & `fedora` | ||
|
||
```shell | ||
git clone -b ${branch} https://github.com/NVIDIA/yum-packaging-dkms-nvidia | ||
> ex: git clone -b rhel8 https://github.com/NVIDIA/yum-packaging-dkms-nvidia | ||
``` | ||
|
||
### Install build dependencies | ||
|
||
```shell | ||
# Packaging | ||
yum install rpm-build dkms | ||
``` | ||
|
||
## Related | ||
|
||
### Precompiled kernel modules | ||
|
||
- Alternative to DKMS | ||
* [https://github.com/NVIDIA/yum-packaging-precompiled-kmod](https://github.com/NVIDIA/yum-packaging-precompiled-kmod) | ||
|
||
### NVIDIA driver | ||
|
||
- nvidia-driver | ||
* [https://github.com/NVIDIA/yum-packaging-nvidia-driver](https://github.com/NVIDIA/yum-packaging-nvidia-driver) | ||
|
||
### NVIDIA kmod common | ||
|
||
- Common files | ||
* [https://github.com/NVIDIA/yum-packaging-nvidia-kmod-common](https://github.com/NVIDIA/yum-packaging-nvidia-kmod-common) | ||
|
||
### NVIDIA modprobe | ||
|
||
- nvidia-modprobe | ||
* [https://github.com/NVIDIA/yum-packaging-nvidia-modprobe](https://github.com/NVIDIA/yum-packaging-nvidia-modprobe) | ||
|
||
### NVIDIA persistenced | ||
|
||
- nvidia-persistenced | ||
* [https://github.com/NVIDIA/yum-packaging-nvidia-persistenced](https://github.com/NVIDIA/yum-packaging-nvidia-persistenced) | ||
|
||
### NVIDIA plugin | ||
|
||
- _dnf-plugin-nvidia_ & _yum-plugin-nvidia_ | ||
* [https://github.com/NVIDIA/yum-packaging-nvidia-plugin](https://github.com/NVIDIA/yum-packaging-nvidia-plugin) | ||
|
||
### NVIDIA settings | ||
|
||
- nvidia-settings | ||
* [https://github.com/NVIDIA/yum-packaging-nvidia-settings](https://github.com/NVIDIA/yum-packaging-nvidia-settings) | ||
|
||
### NVIDIA xconfig | ||
|
||
- nvidia-xconfig | ||
* [https://github.com/NVIDIA/yum-packaging-nvidia-xconfig](https://github.com/NVIDIA/yum-packaging-nvidia-xconfig) | ||
|
||
|
||
## Contributing | ||
|
||
See [CONTRIBUTING.md](CONTRIBUTING.md) |