Skip to content

Commit c4f5e9f

Browse files
committed
kmod-6.1-nvidia-r580: Add package for R580 driver
1 parent e213df2 commit c4f5e9f

29 files changed

+1147
-0
lines changed

Cargo.lock

Lines changed: 8 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ members = [
66
"packages/kernel-6.1",
77
"packages/kernel-6.12",
88
"packages/kmod-6.1-nvidia-r570",
9+
"packages/kmod-6.1-nvidia-r580",
910
"packages/kmod-6.12-nvidia-r570",
1011
"packages/kmod-6.12-nvidia-r580",
1112
"packages/nvidia-migmanager",

kits/bottlerocket-kernel-kit/Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ grub = { path = "../../packages/grub" }
1616
kernel-6_1 = { path = "../../packages/kernel-6.1" }
1717
kernel-6_12 = { path = "../../packages/kernel-6.12" }
1818
kmod-6_1-nvidia-r570 = { path = "../../packages/kmod-6.1-nvidia-r570" }
19+
kmod-6_1-nvidia-r580 = { path = "../../packages/kmod-6.1-nvidia-r580" }
1920
kmod-6_12-nvidia-r570 = { path = "../../packages/kmod-6.12-nvidia-r570" }
2021
kmod-6_12-nvidia-r580 = { path = "../../packages/kmod-6.12-nvidia-r580" }
2122
nvidia-migmanager = { path = "../../packages/nvidia-migmanager" }
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
NVidiaEULAforAWS.pdf
2+
NvidiaGridAWSUserLicenseAgreement.DOCX
3+
COPYING
4+
*.rpm
Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
From 8d9bbc893466da39eea9f5b92dc2797cb7d79e12 Mon Sep 17 00:00:00 2001
2+
From: Shikha Vyaghra <[email protected]>
3+
Date: Wed, 8 Jan 2025 19:42:26 +0000
4+
Subject: [PATCH] makefile: allow to use any kernel arch
5+
6+
The added check results in failing build for x86_64 architecture when we use
7+
`_cross_karch` in make commands in spec file and fails for aarch64 while
8+
using _cross_arch in the make commands.
9+
10+
This check has been added recently and do not allow us to use
11+
Kernel_ARCH we want.
12+
13+
We need different Kernel arch as we do cross builds.
14+
15+
Signed-off-by: Shikha Vyaghra <[email protected]>
16+
Signed-off-by: Matthew Yeazel <[email protected]>
17+
---
18+
kernel-open/Makefile | 10 ----------
19+
kernel/Makefile | 10 ----------
20+
2 files changed, 20 deletions(-)
21+
22+
diff --git a/kernel-open/Makefile b/kernel-open/Makefile
23+
index f7a8db6..725d474 100644
24+
--- a/kernel-open/Makefile
25+
+++ b/kernel-open/Makefile
26+
@@ -104,16 +104,6 @@ else
27+
)
28+
endif
29+
30+
- KERNEL_ARCH = $(ARCH)
31+
-
32+
- ifneq ($(filter $(ARCH),i386 x86_64),)
33+
- KERNEL_ARCH = x86
34+
- else
35+
- ifeq ($(filter $(ARCH),arm64 riscv),)
36+
- $(error Unsupported architecture $(ARCH))
37+
- endif
38+
- endif
39+
-
40+
NV_KERNEL_MODULES ?= $(wildcard nvidia nvidia-uvm nvidia-vgpu-vfio nvidia-modeset nvidia-drm nvidia-peermem)
41+
NV_KERNEL_MODULES := $(filter-out $(NV_EXCLUDE_KERNEL_MODULES), \
42+
$(NV_KERNEL_MODULES))
43+
diff --git a/kernel/Makefile b/kernel/Makefile
44+
index f7a8db6..725d474 100644
45+
--- a/kernel/Makefile
46+
+++ b/kernel/Makefile
47+
@@ -104,16 +104,6 @@ else
48+
)
49+
endif
50+
51+
- KERNEL_ARCH = $(ARCH)
52+
-
53+
- ifneq ($(filter $(ARCH),i386 x86_64),)
54+
- KERNEL_ARCH = x86
55+
- else
56+
- ifeq ($(filter $(ARCH),arm64 riscv),)
57+
- $(error Unsupported architecture $(ARCH))
58+
- endif
59+
- endif
60+
-
61+
NV_KERNEL_MODULES ?= $(wildcard nvidia nvidia-uvm nvidia-vgpu-vfio nvidia-modeset nvidia-drm nvidia-peermem)
62+
NV_KERNEL_MODULES := $(filter-out $(NV_EXCLUDE_KERNEL_MODULES), \
63+
$(NV_KERNEL_MODULES))
64+
--
65+
2.49.0
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
[package]
2+
name = "kmod-6_1-nvidia-r580"
3+
version = "0.1.0"
4+
edition = "2021"
5+
publish = false
6+
build = "../build.rs"
7+
8+
[lib]
9+
path = "../packages.rs"
10+
11+
[package.metadata.build-package]
12+
package-name = "kmod-6.1-nvidia-r580"
13+
releases-url = "https://docs.nvidia.com/datacenter/tesla/"
14+
15+
[[package.metadata.build-package.external-files]]
16+
url = "https://s3.amazonaws.com/EULA/NVidiaEULAforAWS.pdf"
17+
sha512 = "e1926fe99afc3ab5b2f2744fcd53b4046465aefb2793e2e06c4a19455a3fde895e00af1415ff1a5804c32e6a2ed0657e475de63da6c23a0e9c59feeef52f3f58"
18+
19+
[[package.metadata.build-package.external-files]]
20+
url = "https://aws-nvidia-license-agreement.s3.amazonaws.com/NvidiaGridAWSUserLicenseAgreement.DOCX"
21+
sha512 = "915d76bc26f7b39202883b6f902ebde1194d1f3e45e6c858ee42ac48615e4b315c658ba78d24bd72a3011289c2ea888ee17089f674497f1cba58d0e0c8f37c7a"
22+
23+
[[package.metadata.build-package.external-files]]
24+
url = "https://us.download.nvidia.com/tesla/580.95.05/NVIDIA-Linux-x86_64-580.95.05.run"
25+
sha512 = "21e8076f593ce255c8e96dd456524f700e76b230130659ed73a279432dd9f2aa60735411c6fc906e9f60882e905cc1c5b91aaf80d5d5e64d317b1dd27f6e4c13"
26+
force-upstream = true
27+
28+
[[package.metadata.build-package.external-files]]
29+
url = "https://us.download.nvidia.com/tesla/580.95.05/NVIDIA-Linux-aarch64-580.95.05.run"
30+
sha512 = "e07b31824f7e6dd485df5c73e3a58f85962239ea20a92f18d82b9c55564d69309fe5bb279f39ed8ef152ccdbffc6d0fdf7bccfa3c794e4ecd9fac83bcfbb91a9"
31+
force-upstream = true
32+
33+
[[package.metadata.build-package.external-files]]
34+
url = "https://developer.download.nvidia.com/compute/cuda/repos/amzn2023/x86_64/nvidia-fabricmanager-580.95.05-1.x86_64.rpm"
35+
sha512 = "38cb3a7cbe5aa687f396809c4a43511a7f6885b22f2c08c5c2c82cd2dc33103340d0771248b3150f797123294b564323525ed51b46d84584d29f7f4307f74490"
36+
force-upstream = true
37+
38+
[[package.metadata.build-package.external-files]]
39+
url = "https://developer.download.nvidia.com/compute/cuda/repos/amzn2023/sbsa/nvidia-fabricmanager-580.95.05-1.aarch64.rpm"
40+
sha512 = "333cd4e54df830e59a7a2507b64d626b29d78aafd88ffc1da4ee24739abcea93885ee524119ea930100dd3dce395b71049905389858ddae1ab0dbb74b97a6bfa"
41+
force-upstream = true
42+
43+
[[package.metadata.build-package.external-files]]
44+
url = "https://s3.amazonaws.com/ec2-linux-nvidia-drivers/grid-19.2/NVIDIA-Linux-x86_64-580.95.05-grid-aws.run"
45+
sha512 = "fdc8279a147a491a2cfed6a7883515ddd824108b4003d70b97b43a70ab5912285d832ccd8102f7d2c7bf88911e507f1bab6a770bd40e45dacd9a7e1855716457"
46+
force-upstream = true
47+
48+
[[package.metadata.build-package.external-files]]
49+
url = "https://raw.githubusercontent.com/NVIDIA/open-gpu-kernel-modules/580.95.05/COPYING"
50+
sha512 = "f9cee68cbb12095af4b4e92d01c210461789ef41c70b64efefd6719d0b88468b7a67a3629c432d4d9304c730b5d1a942228a5bcc74a03ab1c411c77c758cd938"
51+
force-upstream = true
52+
53+
[build-dependencies]
54+
kernel-6_1 = { path = "../kernel-6.1" }
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
[Unit]
2+
Description=Copy GRID kernel modules
3+
RequiresMountsFor=PREFIX/lib/modules PREFIX/src/kernels
4+
# Rerunning this service after the system is fully loaded will override
5+
# the already linked kernel modules. This doesn't affect the running system,
6+
# since kernel modules are linked early in the boot sequence, but we still
7+
# disable manual restarts to prevent unnecessary kernel modules rewrites.
8+
RefuseManualStart=true
9+
RefuseManualStop=true
10+
11+
[Service]
12+
Type=oneshot
13+
ExecCondition=/usr/bin/ghostdog match-nvidia-driver grid
14+
ExecStart=/usr/bin/driverdog --modules-set nvidia-grid link-modules
15+
ExecStart=/usr/bin/driverdog --modules-set nvidia-grid-copy-only link-modules
16+
RemainAfterExit=true
17+
StandardError=journal+console
18+
19+
[Install]
20+
RequiredBy=preconfigured.target
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
[Unit]
2+
Description=Copy open GPU kernel modules
3+
RequiresMountsFor=PREFIX/lib/modules PREFIX/src/kernels
4+
# Rerunning this service after the system is fully loaded will override
5+
# the already linked kernel modules. This doesn't affect the running system,
6+
# since kernel modules are linked early in the boot sequence, but we still
7+
# disable manual restarts to prevent unnecessary kernel modules rewrites.
8+
RefuseManualStart=true
9+
RefuseManualStop=true
10+
11+
[Service]
12+
Type=oneshot
13+
ExecCondition=/usr/bin/ghostdog match-nvidia-driver open-gpu
14+
ExecStart=/usr/bin/driverdog --modules-set nvidia-open-gpu link-modules
15+
ExecStart=/usr/bin/driverdog --modules-set nvidia-open-gpu-copy-only link-modules
16+
RemainAfterExit=true
17+
StandardError=journal+console
18+
19+
[Install]
20+
RequiredBy=preconfigured.target
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
GUID_ARG=""
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
EnableUI=FALSE

0 commit comments

Comments
 (0)