diff --git a/.kres.yaml b/.kres.yaml index 669113e8..9e31e714 100644 --- a/.kres.yaml +++ b/.kres.yaml @@ -35,6 +35,7 @@ spec: - nvidia-container-toolkit-production - nvidia-fabricmanager-lts - nvidia-fabricmanager-production + - nvidia-l4t - nvidia-open-gpu-kernel-modules-lts - nvidia-open-gpu-kernel-modules-production - nvme-cli diff --git a/MAINTAINERS.md b/MAINTAINERS.md index 058c4c93..2a4e9ce2 100644 --- a/MAINTAINERS.md +++ b/MAINTAINERS.md @@ -42,6 +42,7 @@ If the field is marked as `Needs Maintainer`, it means that the package is curre | nivida-container-toolkit-production | Sidero Labs | NA | | nvidia-fabricmanager-lts | Sidero Labs | NA | | nvidia-fabricmanager-production | Sidero Labs | NA | +| nvidia-l4t | Michał Małyska | [mmalyska](https://github.com/mmalyska) | | nvidia-open-gpu-kernel-modules-lts | Sidero Labs | NA | | nvidia-open-gpu-kernel-modules-production | Sidero Labs | NA | | nvme-cli | Sidelo Labs | NA | diff --git a/Makefile b/Makefile index afbf23d1..4f561047 100644 --- a/Makefile +++ b/Makefile @@ -86,6 +86,7 @@ TARGETS += nvidia-container-toolkit-lts TARGETS += nvidia-container-toolkit-production TARGETS += nvidia-fabricmanager-lts TARGETS += nvidia-fabricmanager-production +TARGETS += nvidia-l4t TARGETS += nvidia-open-gpu-kernel-modules-lts TARGETS += nvidia-open-gpu-kernel-modules-production TARGETS += nvme-cli diff --git a/Pkgfile b/Pkgfile index 12df4f83..0d7f3846 100644 --- a/Pkgfile +++ b/Pkgfile @@ -7,6 +7,7 @@ vars: DRBD_DRIVER_VERSION: 9.2.12 # update this when updating PKGS_VERSION in Makefile ZFS_DRIVER_VERSION: 2.3.0 # update this when updating PKGS_VERSION in Makefile UTIL_LINUX_VERSION: 2.40.4 # update this when updating PKGS_VERSION in Makefile + L4T_NVIDIA_VERSION: 36.4.3 # update this when updating PKGS_VERSION in Makefile # renovate: datasource=git-tags extractVersion=^libtiprc-(?.*)$ depName=git://linux-nfs.org/~steved/libtirpc LIBTIRPC_VERSION: 1-3-3 diff --git a/nvidia-l4t/files/nvidia.conf b/nvidia-l4t/files/nvidia.conf new file mode 100644 index 00000000..8ebc4dec --- /dev/null +++ b/nvidia-l4t/files/nvidia.conf @@ -0,0 +1,3 @@ +blacklist nvidia +blacklist nvidia_drm +blacklist nvidia_modeset diff --git a/nvidia-l4t/manifest.yaml b/nvidia-l4t/manifest.yaml new file mode 100644 index 00000000..b18a407b --- /dev/null +++ b/nvidia-l4t/manifest.yaml @@ -0,0 +1,10 @@ +version: v1alpha1 +metadata: + name: nvidia-l4t + version: "$VERSION" + author: Michał Małyska + description: | + This system extension provides nvidia open source driver kernel modules build for Jetson Orin platform + compatibility: + talos: + version: ">= v1.9.0" diff --git a/nvidia-l4t/pkg.yaml b/nvidia-l4t/pkg.yaml new file mode 100644 index 00000000..857a5ceb --- /dev/null +++ b/nvidia-l4t/pkg.yaml @@ -0,0 +1,31 @@ +name: nvidia-l4t +variant: scratch +shell: /bin/bash +dependencies: + - stage: base +# The pkgs version for a particular release of Talos as defined in +# https://github.com/siderolabs/talos/blob//pkg/machinery/gendata/data/pkgs + - image: "{{ .BUILD_ARG_PKGS_PREFIX }}/nvidia-l4t-pkg:{{ .BUILD_ARG_PKGS }}" +steps: + - prepare: + - | + sed -i 's#$VERSION#{{ .VERSION }}#' /pkg/manifest.yaml + - install: + - | + mkdir -p /rootfs/usr/lib/modules \ + /rootfs/usr/local/lib/modprobe.d + + cp /pkg/files/nvidia.conf /rootfs/usr/local/lib/modprobe.d/nvidia.conf + + cp -R /usr/lib/modules/* /rootfs/usr/lib/modules + test: + - | + mkdir -p /extensions-validator-rootfs + cp -r /rootfs/ /extensions-validator-rootfs/rootfs + cp /pkg/manifest.yaml /extensions-validator-rootfs/manifest.yaml + /extensions-validator validate --rootfs=/extensions-validator-rootfs --pkg-name="${PKG_NAME}" +finalize: + - from: /rootfs + to: /rootfs + - from: /pkg/manifest.yaml + to: / diff --git a/nvidia-l4t/vars.yaml b/nvidia-l4t/vars.yaml new file mode 100644 index 00000000..f622e9a1 --- /dev/null +++ b/nvidia-l4t/vars.yaml @@ -0,0 +1,2 @@ +# the first part is the driver version and the second the talos version for which the module is built against +VERSION: "{{ .L4T_NVIDIA_VERSION }}-{{ .BUILD_ARG_TAG }}"