Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ members = [
"packages/kernel-6.1",
"packages/kernel-6.12",
"packages/kmod-6.1-nvidia-r570",
"packages/kmod-6.1-nvidia-r580",
"packages/kmod-6.12-nvidia-r570",
"packages/kmod-6.12-nvidia-r580",
"packages/nvidia-migmanager",
Expand Down
1 change: 1 addition & 0 deletions kits/bottlerocket-kernel-kit/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ grub = { path = "../../packages/grub" }
kernel-6_1 = { path = "../../packages/kernel-6.1" }
kernel-6_12 = { path = "../../packages/kernel-6.12" }
kmod-6_1-nvidia-r570 = { path = "../../packages/kmod-6.1-nvidia-r570" }
kmod-6_1-nvidia-r580 = { path = "../../packages/kmod-6.1-nvidia-r580" }
kmod-6_12-nvidia-r570 = { path = "../../packages/kmod-6.12-nvidia-r570" }
kmod-6_12-nvidia-r580 = { path = "../../packages/kmod-6.12-nvidia-r580" }
nvidia-migmanager = { path = "../../packages/nvidia-migmanager" }
Expand Down
1 change: 1 addition & 0 deletions packages/kmod-6.1-nvidia-r570/.gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
NVidiaEULAforAWS.pdf
NvidiaGridAWSUserLicenseAgreement.DOCX
COPYING
*.rpm
4 changes: 4 additions & 0 deletions packages/kmod-6.1-nvidia-r580/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
NVidiaEULAforAWS.pdf
NvidiaGridAWSUserLicenseAgreement.DOCX
COPYING
*.rpm
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
From 8d9bbc893466da39eea9f5b92dc2797cb7d79e12 Mon Sep 17 00:00:00 2001
From: Shikha Vyaghra <[email protected]>
Date: Wed, 8 Jan 2025 19:42:26 +0000
Subject: [PATCH] makefile: allow to use any kernel arch

The added check results in failing build for x86_64 architecture when we use
`_cross_karch` in make commands in spec file and fails for aarch64 while
using _cross_arch in the make commands.

This check has been added recently and do not allow us to use
Kernel_ARCH we want.

We need different Kernel arch as we do cross builds.

Signed-off-by: Shikha Vyaghra <[email protected]>
Signed-off-by: Matthew Yeazel <[email protected]>
---
kernel-open/Makefile | 10 ----------
kernel/Makefile | 10 ----------
2 files changed, 20 deletions(-)

diff --git a/kernel-open/Makefile b/kernel-open/Makefile
index f7a8db6..725d474 100644
--- a/kernel-open/Makefile
+++ b/kernel-open/Makefile
@@ -104,16 +104,6 @@ else
)
endif

- KERNEL_ARCH = $(ARCH)
-
- ifneq ($(filter $(ARCH),i386 x86_64),)
- KERNEL_ARCH = x86
- else
- ifeq ($(filter $(ARCH),arm64 riscv),)
- $(error Unsupported architecture $(ARCH))
- endif
- endif
-
NV_KERNEL_MODULES ?= $(wildcard nvidia nvidia-uvm nvidia-vgpu-vfio nvidia-modeset nvidia-drm nvidia-peermem)
NV_KERNEL_MODULES := $(filter-out $(NV_EXCLUDE_KERNEL_MODULES), \
$(NV_KERNEL_MODULES))
diff --git a/kernel/Makefile b/kernel/Makefile
index f7a8db6..725d474 100644
--- a/kernel/Makefile
+++ b/kernel/Makefile
@@ -104,16 +104,6 @@ else
)
endif

- KERNEL_ARCH = $(ARCH)
-
- ifneq ($(filter $(ARCH),i386 x86_64),)
- KERNEL_ARCH = x86
- else
- ifeq ($(filter $(ARCH),arm64 riscv),)
- $(error Unsupported architecture $(ARCH))
- endif
- endif
-
NV_KERNEL_MODULES ?= $(wildcard nvidia nvidia-uvm nvidia-vgpu-vfio nvidia-modeset nvidia-drm nvidia-peermem)
NV_KERNEL_MODULES := $(filter-out $(NV_EXCLUDE_KERNEL_MODULES), \
$(NV_KERNEL_MODULES))
--
2.49.0
54 changes: 54 additions & 0 deletions packages/kmod-6.1-nvidia-r580/Cargo.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
[package]
name = "kmod-6_1-nvidia-r580"
version = "0.1.0"
edition = "2021"
publish = false
build = "../build.rs"

[lib]
path = "../packages.rs"

[package.metadata.build-package]
package-name = "kmod-6.1-nvidia-r580"
releases-url = "https://docs.nvidia.com/datacenter/tesla/"

[[package.metadata.build-package.external-files]]
url = "https://s3.amazonaws.com/EULA/NVidiaEULAforAWS.pdf"
sha512 = "e1926fe99afc3ab5b2f2744fcd53b4046465aefb2793e2e06c4a19455a3fde895e00af1415ff1a5804c32e6a2ed0657e475de63da6c23a0e9c59feeef52f3f58"

[[package.metadata.build-package.external-files]]
url = "https://aws-nvidia-license-agreement.s3.amazonaws.com/NvidiaGridAWSUserLicenseAgreement.DOCX"
sha512 = "915d76bc26f7b39202883b6f902ebde1194d1f3e45e6c858ee42ac48615e4b315c658ba78d24bd72a3011289c2ea888ee17089f674497f1cba58d0e0c8f37c7a"

[[package.metadata.build-package.external-files]]
url = "https://us.download.nvidia.com/tesla/580.95.05/NVIDIA-Linux-x86_64-580.95.05.run"
sha512 = "21e8076f593ce255c8e96dd456524f700e76b230130659ed73a279432dd9f2aa60735411c6fc906e9f60882e905cc1c5b91aaf80d5d5e64d317b1dd27f6e4c13"
force-upstream = true

[[package.metadata.build-package.external-files]]
url = "https://us.download.nvidia.com/tesla/580.95.05/NVIDIA-Linux-aarch64-580.95.05.run"
sha512 = "e07b31824f7e6dd485df5c73e3a58f85962239ea20a92f18d82b9c55564d69309fe5bb279f39ed8ef152ccdbffc6d0fdf7bccfa3c794e4ecd9fac83bcfbb91a9"
force-upstream = true

[[package.metadata.build-package.external-files]]
url = "https://developer.download.nvidia.com/compute/cuda/repos/amzn2023/x86_64/nvidia-fabricmanager-580.95.05-1.x86_64.rpm"
sha512 = "38cb3a7cbe5aa687f396809c4a43511a7f6885b22f2c08c5c2c82cd2dc33103340d0771248b3150f797123294b564323525ed51b46d84584d29f7f4307f74490"
force-upstream = true

[[package.metadata.build-package.external-files]]
url = "https://developer.download.nvidia.com/compute/cuda/repos/amzn2023/sbsa/nvidia-fabricmanager-580.95.05-1.aarch64.rpm"
sha512 = "333cd4e54df830e59a7a2507b64d626b29d78aafd88ffc1da4ee24739abcea93885ee524119ea930100dd3dce395b71049905389858ddae1ab0dbb74b97a6bfa"
force-upstream = true

[[package.metadata.build-package.external-files]]
url = "https://s3.amazonaws.com/ec2-linux-nvidia-drivers/grid-19.2/NVIDIA-Linux-x86_64-580.95.05-grid-aws.run"
sha512 = "fdc8279a147a491a2cfed6a7883515ddd824108b4003d70b97b43a70ab5912285d832ccd8102f7d2c7bf88911e507f1bab6a770bd40e45dacd9a7e1855716457"
force-upstream = true

[[package.metadata.build-package.external-files]]
url = "https://raw.githubusercontent.com/NVIDIA/open-gpu-kernel-modules/580.95.05/COPYING"
sha512 = "f9cee68cbb12095af4b4e92d01c210461789ef41c70b64efefd6719d0b88468b7a67a3629c432d4d9304c730b5d1a942228a5bcc74a03ab1c411c77c758cd938"
force-upstream = true

[build-dependencies]
kernel-6_1 = { path = "../kernel-6.1" }
20 changes: 20 additions & 0 deletions packages/kmod-6.1-nvidia-r580/copy-grid-kernel-modules.service.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
[Unit]
Description=Copy GRID kernel modules
RequiresMountsFor=PREFIX/lib/modules PREFIX/src/kernels
# Rerunning this service after the system is fully loaded will override
# the already linked kernel modules. This doesn't affect the running system,
# since kernel modules are linked early in the boot sequence, but we still
# disable manual restarts to prevent unnecessary kernel modules rewrites.
RefuseManualStart=true
RefuseManualStop=true

[Service]
Type=oneshot
ExecCondition=/usr/bin/ghostdog match-nvidia-driver grid
ExecStart=/usr/bin/driverdog --modules-set nvidia-grid link-modules
ExecStart=/usr/bin/driverdog --modules-set nvidia-grid-copy-only link-modules
RemainAfterExit=true
StandardError=journal+console

[Install]
RequiredBy=preconfigured.target
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
[Unit]
Description=Copy open GPU kernel modules
RequiresMountsFor=PREFIX/lib/modules PREFIX/src/kernels
# Rerunning this service after the system is fully loaded will override
# the already linked kernel modules. This doesn't affect the running system,
# since kernel modules are linked early in the boot sequence, but we still
# disable manual restarts to prevent unnecessary kernel modules rewrites.
RefuseManualStart=true
RefuseManualStop=true

[Service]
Type=oneshot
ExecCondition=/usr/bin/ghostdog match-nvidia-driver open-gpu
ExecStart=/usr/bin/driverdog --modules-set nvidia-open-gpu link-modules
ExecStart=/usr/bin/driverdog --modules-set nvidia-open-gpu-copy-only link-modules
RemainAfterExit=true
StandardError=journal+console

[Install]
RequiredBy=preconfigured.target
1 change: 1 addition & 0 deletions packages/kmod-6.1-nvidia-r580/fabricmanager.env
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
GUID_ARG=""
1 change: 1 addition & 0 deletions packages/kmod-6.1-nvidia-r580/gridd.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
EnableUI=FALSE
Loading