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
5 changes: 3 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# THIS FILE WAS AUTOMATICALLY GENERATED BY KRES, PLEASE DO NOT EDIT.
#
# Generated on 2026-05-28T13:00:54Z by kres e1a258d.
# Generated on 2026-06-08T12:10:26Z by kres a07fce6.

# common variables

Expand Down Expand Up @@ -42,6 +42,7 @@ WITH_BUILD_DEBUG ?=
BUILD_ARGS = --build-arg=SOURCE_DATE_EPOCH=$(SOURCE_DATE_EPOCH)
COMMON_ARGS = --file=Pkgfile
COMMON_ARGS += --provenance=false
COMMON_ARGS += --sbom=false
COMMON_ARGS += --progress=$(PROGRESS)
COMMON_ARGS += --platform=$(PLATFORM)
COMMON_ARGS += $(BUILD_ARGS)
Expand Down Expand Up @@ -271,7 +272,7 @@ release-notes: $(ARTIFACTS)
.PHONY: conformance
conformance:
@docker pull $(CONFORMANCE_IMAGE)
@docker run --rm -it -v $(PWD):/src -w /src $(CONFORMANCE_IMAGE) enforce
@docker run --rm -v $(PWD):/src -w /src $(CONFORMANCE_IMAGE) enforce

.PHONY: renovate-local
renovate-local: ## runs renovate locally to check syntax and test configuration
Expand Down
5 changes: 5 additions & 0 deletions Pkgfile
Original file line number Diff line number Diff line change
Expand Up @@ -293,5 +293,10 @@ vars:
gdrcopy_version: v2.5.2
gdrcopy_sha256: 32bc7b2c198dd97ec251de0ff4823252c95e31a4c79a5f843c82514c9af2052b
gdrcopy_sha512: c717f118eff8cd5a8dc35613c3881818f8b71dc493461dd0151ce7c882f8e2c2d852e22733fab4e2bec57219e10eec874c11b4fad90dd4815ae572840ed19d28

# renovate: datasource=github-releases depName=NVIDIA/gds-nvidia-fs
gds_nvidia_fs_version: v2.29.4
gds_nvidia_fs_sha256: 6936aeacfb519a1d6fe66e16281799c20ffe177c2022f831d29f90895f11e339
gds_nvidia_fs_sha512: c946689b37e1bdcc1835d9500a44f31973a25a630e37fb7e0b02dd9e046849e46a698a2fa6408dfd0a3abe52173970db049c7a38514f01d61ee73185071c072a
labels:
org.opencontainers.image.source: https://github.com/siderolabs/pkgs
9 changes: 9 additions & 0 deletions lefthook.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# THIS FILE WAS AUTOMATICALLY GENERATED BY KRES, PLEASE DO NOT EDIT.
#
# Generated on 2026-06-08T12:10:26Z by kres a07fce6.

commit-msg:
parallel: false
commands:
conformance:
run: make conformance
43 changes: 43 additions & 0 deletions nonfree/kmod-nvidia/lts/pkg.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,18 +18,56 @@ steps:
sha256: "{{ .nvidia_driver_lts_amd64_sha256 }}"
sha512: "{{ .nvidia_driver_lts_amd64_sha512 }}"
# {{ end }} This in fact is YAML comment, but Go templating instruction is evaluated by bldr
- url: https://github.com/NVIDIA/gds-nvidia-fs/archive/refs/tags/{{ .gds_nvidia_fs_version }}.tar.gz
destination: gds-nvidia-fs.tar.gz
sha256: "{{ .gds_nvidia_fs_sha256 }}"
sha512: "{{ .gds_nvidia_fs_sha512 }}"
env:
ARCH: {{ if eq .ARCH "aarch64"}}arm64{{ else if eq .ARCH "x86_64" }}x86_64{{ else }}unsupported{{ end }}
LLVM: 1
prepare:
- |
tar xf nvidia.tar.xz --strip-components=1
- |
mkdir -p /gds-nvidia-fs
tar xf gds-nvidia-fs.tar.gz -C /gds-nvidia-fs --strip-components=1
build:
- |
cd kernel

# Explicitly specify LLVM binutils for ThinLTO compatibility, https://github.com/NVIDIA/open-gpu-kernel-modules/issues/214
make LD=ld.lld OBJDUMP=llvm-objdump -j $(nproc) SYSSRC=/src
- |
# The proprietary driver sources (nv-p2p.h) and its built Module.symvers
# live in ./kernel relative to the step workdir; capture them absolutely.
NVIDIA_DIR=$(pwd)/kernel

cd /gds-nvidia-fs/src

# gds-nvidia-fs (GPUDirect Storage) build dir is hardcoded to
# /lib/modules/$KVER/build in both its Makefile and configure script;
# point that at the kernel sources copied to /src.
KVER=$(cat /src/include/config/kernel.release)
mkdir -p /lib/modules/${KVER}
ln -sf /src /lib/modules/${KVER}/build

# Generate config-host.h (kernel feature probes).
./configure ${KVER}

# Build directly via kbuild, bypassing the Makefile's `module` target
# (which hardcodes an empty KBUILD_EXTRA_SYMBOLS and a nvidia.ko lookup):
# feed it the NVIDIA driver sources (nv-p2p.h) and the nvidia_p2p_*
# symbol versions from the proprietary driver build above.
# -Wno-strict-prototypes: nvfs has K&R-style `void foo()` declarations
# that clang otherwise promotes to errors via the kernel's -Werror.
make LD=ld.lld OBJDUMP=llvm-objdump -j $(nproc) -C /src M=/gds-nvidia-fs/src modules \
KDIR=/src \
NVIDIA_SRC_DIR=${NVIDIA_DIR}/nvidia \
KBUILD_EXTRA_SYMBOLS=${NVIDIA_DIR}/Module.symvers \
KCPPFLAGS="-DCONFIG_NVFS_STATS=y -DGDS_VERSION=$(cat GDS_VERSION) -DNVFS_ENABLE_KERN_RDMA_SUPPORT -DNVFS_BATCH_SUPPORT=y" \
KCFLAGS="-Wno-strict-prototypes" \
CONFIG_NVFS_STATS=y \
CONFIG_NVFS_BATCH_SUPPORT=y
install:
- |
cd kernel
Expand All @@ -40,6 +78,11 @@ steps:
cp /src/modules.builtin.modinfo /rootfs/usr/lib/modules/$(cat /src/include/config/kernel.release)/

make LD=ld.lld OBJDUMP=llvm-objdump -j $(nproc) modules_install SYSSRC=/src INSTALL_MOD_PATH=/rootfs/usr INSTALL_MOD_DIR=extras INSTALL_MOD_STRIP=1
- |
cd /gds-nvidia-fs/src

# Install the nvidia-fs kernel module
make -C /src M=/gds-nvidia-fs/src modules_install INSTALL_MOD_PATH=/rootfs/usr INSTALL_MOD_DIR=extras INSTALL_MOD_STRIP=1
test:
- |
# https://www.kernel.org/doc/html/v4.15/admin-guide/module-signing.html#signed-modules-and-stripping
Expand Down
43 changes: 43 additions & 0 deletions nonfree/kmod-nvidia/production/pkg.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,18 +18,56 @@ steps:
sha256: "{{ .nvidia_driver_production_amd64_sha256 }}"
sha512: "{{ .nvidia_driver_production_amd64_sha512 }}"
# {{ end }} This in fact is YAML comment, but Go templating instruction is evaluated by bldr
- url: https://github.com/NVIDIA/gds-nvidia-fs/archive/refs/tags/{{ .gds_nvidia_fs_version }}.tar.gz
destination: gds-nvidia-fs.tar.gz
sha256: "{{ .gds_nvidia_fs_sha256 }}"
sha512: "{{ .gds_nvidia_fs_sha512 }}"
env:
ARCH: {{ if eq .ARCH "aarch64"}}arm64{{ else if eq .ARCH "x86_64" }}x86_64{{ else }}unsupported{{ end }}
LLVM: 1
prepare:
- |
tar xf nvidia.tar.xz --strip-components=1
- |
mkdir -p /gds-nvidia-fs
tar xf gds-nvidia-fs.tar.gz -C /gds-nvidia-fs --strip-components=1
build:
- |
cd kernel

# Explicitly specify LLVM binutils for ThinLTO compatibility, https://github.com/NVIDIA/open-gpu-kernel-modules/issues/214
make LD=ld.lld OBJDUMP=llvm-objdump -j $(nproc) SYSSRC=/src
- |
# The proprietary driver sources (nv-p2p.h) and its built Module.symvers
# live in ./kernel relative to the step workdir; capture them absolutely.
NVIDIA_DIR=$(pwd)/kernel

cd /gds-nvidia-fs/src

# gds-nvidia-fs (GPUDirect Storage) build dir is hardcoded to
# /lib/modules/$KVER/build in both its Makefile and configure script;
# point that at the kernel sources copied to /src.
KVER=$(cat /src/include/config/kernel.release)
mkdir -p /lib/modules/${KVER}
ln -sf /src /lib/modules/${KVER}/build

# Generate config-host.h (kernel feature probes).
./configure ${KVER}

# Build directly via kbuild, bypassing the Makefile's `module` target
# (which hardcodes an empty KBUILD_EXTRA_SYMBOLS and a nvidia.ko lookup):
# feed it the NVIDIA driver sources (nv-p2p.h) and the nvidia_p2p_*
# symbol versions from the proprietary driver build above.
# -Wno-strict-prototypes: nvfs has K&R-style `void foo()` declarations
# that clang otherwise promotes to errors via the kernel's -Werror.
make LD=ld.lld OBJDUMP=llvm-objdump -j $(nproc) -C /src M=/gds-nvidia-fs/src modules \
KDIR=/src \
NVIDIA_SRC_DIR=${NVIDIA_DIR}/nvidia \
KBUILD_EXTRA_SYMBOLS=${NVIDIA_DIR}/Module.symvers \
KCPPFLAGS="-DCONFIG_NVFS_STATS=y -DGDS_VERSION=$(cat GDS_VERSION) -DNVFS_ENABLE_KERN_RDMA_SUPPORT -DNVFS_BATCH_SUPPORT=y" \
KCFLAGS="-Wno-strict-prototypes" \
CONFIG_NVFS_STATS=y \
CONFIG_NVFS_BATCH_SUPPORT=y
install:
- |
cd kernel
Expand All @@ -40,6 +78,11 @@ steps:
cp /src/modules.builtin.modinfo /rootfs/usr/lib/modules/$(cat /src/include/config/kernel.release)/

make LD=ld.lld OBJDUMP=llvm-objdump -j $(nproc) modules_install SYSSRC=/src INSTALL_MOD_PATH=/rootfs/usr INSTALL_MOD_DIR=extras INSTALL_MOD_STRIP=1
- |
cd /gds-nvidia-fs/src

# Install the nvidia-fs kernel module
make -C /src M=/gds-nvidia-fs/src modules_install INSTALL_MOD_PATH=/rootfs/usr INSTALL_MOD_DIR=extras INSTALL_MOD_STRIP=1
test:
- |
# https://www.kernel.org/doc/html/v4.15/admin-guide/module-signing.html#signed-modules-and-stripping
Expand Down
39 changes: 39 additions & 0 deletions nvidia-open-gpu-kernel-modules/lts/pkg.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,10 @@ steps:
destination: gdrcopy.tar.gz
sha256: "{{ .gdrcopy_sha256 }}"
sha512: "{{ .gdrcopy_sha512 }}"
- url: https://github.com/NVIDIA/gds-nvidia-fs/archive/refs/tags/{{ .gds_nvidia_fs_version }}.tar.gz
destination: gds-nvidia-fs.tar.gz
sha256: "{{ .gds_nvidia_fs_sha256 }}"
sha512: "{{ .gds_nvidia_fs_sha512 }}"
env:
ARCH: {{ if eq .ARCH "aarch64"}}arm64{{ else if eq .ARCH "x86_64" }}x86_64{{ else }}unsupported{{ end }}
LLVM: 1
Expand All @@ -32,6 +36,9 @@ steps:
- |
mkdir -p /gdrcopy
tar xf gdrcopy.tar.gz -C /gdrcopy --strip-components=1
- |
mkdir -p /gds-nvidia-fs
tar xf gds-nvidia-fs.tar.gz -C /gds-nvidia-fs --strip-components=1
build:
- |
cd /nvidia-driver/kernel-open
Expand All @@ -47,6 +54,33 @@ steps:
HAVE_VM_FLAGS_SET=y \
HAVE_PROC_OPS=y \
KDIR=/src
- |
cd /gds-nvidia-fs/src

# gds-nvidia-fs (GPUDirect Storage) build dir is hardcoded to
# /lib/modules/$KVER/build in both its Makefile and configure script;
# point that at the kernel sources copied to /src.
KVER=$(cat /src/include/config/kernel.release)
mkdir -p /lib/modules/${KVER}
ln -sf /src /lib/modules/${KVER}/build

# Generate config-host.h (kernel feature probes).
./configure ${KVER}

# Build directly via kbuild, bypassing the Makefile's `module` target
# (which hardcodes an empty KBUILD_EXTRA_SYMBOLS and a nvidia.ko lookup):
# feed it the NVIDIA driver sources (nv-p2p.h) and the nvidia_p2p_*
# symbol versions from the open driver build above.
# -Wno-strict-prototypes: nvfs has K&R-style `void foo()` declarations
# that clang otherwise promotes to errors via the kernel's -Werror.
make LD=ld.lld OBJDUMP=llvm-objdump -j $(nproc) -C /src M=/gds-nvidia-fs/src modules \
KDIR=/src \
NVIDIA_SRC_DIR=/nvidia-driver/kernel-open/nvidia \
KBUILD_EXTRA_SYMBOLS=/nvidia-driver/kernel-open/Module.symvers \
KCPPFLAGS="-DCONFIG_NVFS_STATS=y -DGDS_VERSION=$(cat GDS_VERSION) -DNVFS_ENABLE_KERN_RDMA_SUPPORT -DNVFS_BATCH_SUPPORT=y" \
KCFLAGS="-Wno-strict-prototypes" \
CONFIG_NVFS_STATS=y \
CONFIG_NVFS_BATCH_SUPPORT=y
install:
- |
cd /nvidia-driver/kernel-open
Expand All @@ -62,6 +96,11 @@ steps:

# Install the gdrdrv kernel module
make -C /src M=/gdrcopy/src/gdrdrv modules_install INSTALL_MOD_PATH=/rootfs/usr INSTALL_MOD_DIR=extras INSTALL_MOD_STRIP=1
- |
cd /gds-nvidia-fs/src

# Install the nvidia-fs kernel module
make -C /src M=/gds-nvidia-fs/src modules_install INSTALL_MOD_PATH=/rootfs/usr INSTALL_MOD_DIR=extras INSTALL_MOD_STRIP=1
test:
- |
# https://www.kernel.org/doc/html/v4.15/admin-guide/module-signing.html#signed-modules-and-stripping
Expand Down
39 changes: 39 additions & 0 deletions nvidia-open-gpu-kernel-modules/production/pkg.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,10 @@ steps:
destination: gdrcopy.tar.gz
sha256: "{{ .gdrcopy_sha256 }}"
sha512: "{{ .gdrcopy_sha512 }}"
- url: https://github.com/NVIDIA/gds-nvidia-fs/archive/refs/tags/{{ .gds_nvidia_fs_version }}.tar.gz
destination: gds-nvidia-fs.tar.gz
sha256: "{{ .gds_nvidia_fs_sha256 }}"
sha512: "{{ .gds_nvidia_fs_sha512 }}"
env:
ARCH: {{ if eq .ARCH "aarch64"}}arm64{{ else if eq .ARCH "x86_64" }}x86_64{{ else }}unsupported{{ end }}
LLVM: 1
Expand All @@ -32,6 +36,9 @@ steps:
- |
mkdir -p /gdrcopy
tar xf gdrcopy.tar.gz -C /gdrcopy --strip-components=1
- |
mkdir -p /gds-nvidia-fs
tar xf gds-nvidia-fs.tar.gz -C /gds-nvidia-fs --strip-components=1
build:
- |
cd /nvidia-driver/kernel-open
Expand All @@ -47,6 +54,33 @@ steps:
HAVE_VM_FLAGS_SET=y \
HAVE_PROC_OPS=y \
KDIR=/src
- |
cd /gds-nvidia-fs/src

# gds-nvidia-fs (GPUDirect Storage) build dir is hardcoded to
# /lib/modules/$KVER/build in both its Makefile and configure script;
# point that at the kernel sources copied to /src.
KVER=$(cat /src/include/config/kernel.release)
mkdir -p /lib/modules/${KVER}
ln -sf /src /lib/modules/${KVER}/build

# Generate config-host.h (kernel feature probes).
./configure ${KVER}

# Build directly via kbuild, bypassing the Makefile's `module` target
# (which hardcodes an empty KBUILD_EXTRA_SYMBOLS and a nvidia.ko lookup):
# feed it the NVIDIA driver sources (nv-p2p.h) and the nvidia_p2p_*
# symbol versions from the open driver build above.
# -Wno-strict-prototypes: nvfs has K&R-style `void foo()` declarations
# that clang otherwise promotes to errors via the kernel's -Werror.
make LD=ld.lld OBJDUMP=llvm-objdump -j $(nproc) -C /src M=/gds-nvidia-fs/src modules \
KDIR=/src \
NVIDIA_SRC_DIR=/nvidia-driver/kernel-open/nvidia \
KBUILD_EXTRA_SYMBOLS=/nvidia-driver/kernel-open/Module.symvers \
KCPPFLAGS="-DCONFIG_NVFS_STATS=y -DGDS_VERSION=$(cat GDS_VERSION) -DNVFS_ENABLE_KERN_RDMA_SUPPORT -DNVFS_BATCH_SUPPORT=y" \
KCFLAGS="-Wno-strict-prototypes" \
CONFIG_NVFS_STATS=y \
CONFIG_NVFS_BATCH_SUPPORT=y
install:
- |
cd /nvidia-driver/kernel-open
Expand All @@ -62,6 +96,11 @@ steps:

# Install the gdrdrv kernel module
make -C /src M=/gdrcopy/src/gdrdrv modules_install INSTALL_MOD_PATH=/rootfs/usr INSTALL_MOD_DIR=extras INSTALL_MOD_STRIP=1
- |
cd /gds-nvidia-fs/src

# Install the nvidia-fs kernel module
make -C /src M=/gds-nvidia-fs/src modules_install INSTALL_MOD_PATH=/rootfs/usr INSTALL_MOD_DIR=extras INSTALL_MOD_STRIP=1
test:
- |
# https://www.kernel.org/doc/html/v4.15/admin-guide/module-signing.html#signed-modules-and-stripping
Expand Down