Skip to content
Draft
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
1 change: 1 addition & 0 deletions .kres.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
1 change: 1 addition & 0 deletions MAINTAINERS.md
Original file line number Diff line number Diff line change
Expand Up @@ -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 |
Expand Down
13 changes: 7 additions & 6 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -41,13 +41,13 @@ COMMON_ARGS += --provenance=false
COMMON_ARGS += --progress=$(PROGRESS)
COMMON_ARGS += --platform=$(PLATFORM)
COMMON_ARGS += --build-arg=SOURCE_DATE_EPOCH=$(SOURCE_DATE_EPOCH)
COMMON_ARGS += --build-arg=TAG="$(TAG)"
COMMON_ARGS += --build-arg=TAG="$(IMAGE_TAG)"
COMMON_ARGS += --build-arg=PKGS="$(PKGS)"
COMMON_ARGS += --build-arg=PKGS_PREFIX="$(PKGS_PREFIX)"

# extra variables

EXTENSIONS_IMAGE_REF ?= $(REGISTRY_AND_USERNAME)/extensions:$(TAG)
EXTENSIONS_IMAGE_REF ?= $(REGISTRY_AND_USERNAME)/extensions:$(IMAGE_TAG)
PKGS ?= v1.10.0-alpha.0-40-ge1f11f0
PKGS_PREFIX ?= ghcr.io/siderolabs

Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -190,7 +191,7 @@ nonfree: $(NONFREE_TARGETS) ## Builds all nonfree targets defined.

.PHONY: $(TARGETS) $(NONFREE_TARGETS)
$(TARGETS) $(NONFREE_TARGETS): $(ARTIFACTS)/bldr
@$(MAKE) docker-$@ TARGET_ARGS="--tag=$(REGISTRY)/$(USERNAME)/$@:$(shell $(ARTIFACTS)/bldr eval --target $@ --build-arg TAG=$(TAG) '{{.VERSION}}' 2>/dev/null) --push=$(PUSH)"
@$(MAKE) docker-$@ TARGET_ARGS="--tag=$(REGISTRY)/$(USERNAME)/$@:$(shell $(ARTIFACTS)/bldr eval --target $@ --build-arg TAG=$(IMAGE_TAG) '{{.VERSION}}' 2>/dev/null) --push=$(PUSH)"

$(ARTIFACTS)/bldr: $(ARTIFACTS) ## Downloads bldr binary.
@curl -sSL https://github.com/siderolabs/bldr/releases/download/$(BLDR_RELEASE)/bldr-$(OPERATING_SYSTEM)-$(GOARCH) -o $(ARTIFACTS)/bldr
Expand All @@ -207,8 +208,8 @@ extensions: internal/extensions/descriptions.yaml
.PHONY: extensions-metadata
extensions-metadata: $(ARTIFACTS)/bldr
@rm -f _out/extensions-metadata
@$(foreach target,$(TARGETS),echo $(REGISTRY)/$(USERNAME)/$(target):$(shell $(ARTIFACTS)/bldr eval --target $(target) --build-arg TAG=$(TAG) '{{.VERSION}}' 2>/dev/null) >> _out/extensions-metadata;)
@$(foreach target,$(NONFREE_TARGETS),echo $(REGISTRY)/$(USERNAME)/$(target):$(shell $(ARTIFACTS)/bldr eval --target $(target) --build-arg TAG=$(TAG) '{{.VERSION}}' 2>/dev/null) >> _out/extensions-metadata;)
@$(foreach target,$(TARGETS),echo $(REGISTRY)/$(USERNAME)/$(target):$(shell $(ARTIFACTS)/bldr eval --target $(target) --build-arg TAG=$(IMAGE_TAG) '{{.VERSION}}' 2>/dev/null) >> _out/extensions-metadata;)
@$(foreach target,$(NONFREE_TARGETS),echo $(REGISTRY)/$(USERNAME)/$(target):$(shell $(ARTIFACTS)/bldr eval --target $(target) --build-arg TAG=$(IMAGE_TAG) '{{.VERSION}}' 2>/dev/null) >> _out/extensions-metadata;)

.PHONY: internal/extensions/image-digests
internal/extensions/image-digests: extensions-metadata
Expand Down Expand Up @@ -243,7 +244,7 @@ help: ## This help menu.

.PHONY: release-notes
release-notes: $(ARTIFACTS)
@ARTIFACTS=$(ARTIFACTS) ./hack/release.sh $@ $(ARTIFACTS)/RELEASE_NOTES.md $(TAG)
@ARTIFACTS=$(ARTIFACTS) ./hack/release.sh $@ $(ARTIFACTS)/RELEASE_NOTES.md $(IMAGE_TAG)

.PHONY: conformance
conformance:
Expand Down
1 change: 1 addition & 0 deletions Pkgfile
Original file line number Diff line number Diff line change
Expand Up @@ -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-(?<version>.*)$ depName=git://linux-nfs.org/~steved/libtirpc
LIBTIRPC_VERSION: 1-3-3
Expand Down
128 changes: 128 additions & 0 deletions nvidia-l4t/files/nvidia.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,128 @@
blacklist kfuse
blacklist tegra23x_perf_uncore
blacklist mc-utils
blacklist tegra-fsicom
blacklist tegra-cactmon-mc-all
blacklist tegra-dce
blacklist tegra-mce
blacklist tegra-bootloader-debug
blacklist ivc-bus
blacklist tegra-camera-rtcpu
blacklist camchar
blacklist camera-diagnostics
blacklist hsp-mailbox-client
blacklist rtcpu-debug
blacklist capture-ivc
blacklist tegra-uss-io-proxy
blacklist tegra-aon-ivc-echo
blacklist tegra234-aon
blacklist mc-hwpm
blacklist tegra23x_psc
blacklist cpuidle-tegra-auto
blacklist cpuidle-debugfs
blacklist tegra_vnet
blacklist nvethernet
blacklist oak_pci
blacklist nvidia-p2p
blacklist pcie-tegra-vf
blacklist tegra-pcie-edma
blacklist arm64-ras
blacklist tegra-se
blacklist tegra-se-nvrng
blacklist tegra-nvvse-cryptodev
blacklist tegra-hv-vse-safety
blacklist wch
blacklist max77851-regulator
blacklist max77851-poweroff
blacklist nvpps
blacklist nv-virtio-console-poc
blacklist tegra_bpmp
blacklist ivc_ext
blacklist pwm-tegra-tachometer
blacklist watchdog-tegra-t18x
blacklist max77851_wdt
blacklist softdog-platform
blacklist nvvrs-pseq-rtc
blacklist rtc-max77851
blacklist pex9749-thermal
blacklist max77851_thermal
blacklist thermal-trip-event
blacklist tegra234-oc-event
blacklist tsecriscv
blacklist nvhost-vi5
blacklist nvhost-nvdla
blacklist nvhost-nvcsi
blacklist nvhost-nvcsi-t194
blacklist nvhost-pva
blacklist nvhost-capture
blacklist nvhost-isp5
blacklist nvmap
blacklist tegra_gr_comm
blacklist maxim_gmsl_hdmi_serializer
blacklist ti_fpdlink_dp_serializer
blacklist maxim_gmsl_dp_serializer
blacklist tegra_camera_platform
blacklist i2c-nvvrs11
blacklist nvpmodel-clk-cap
blacklist tegra_wmark
blacklist governor_pod_scaling
blacklist f75308
blacklist cam_fsync
blacklist cam_cdi_tsc
blacklist cdi_gpio
blacklist cdi_dev
blacklist cdi_pwm
blacklist cdi_mgr
blacklist isc_pwm
blacklist isc_dev
blacklist isc_mgr
blacklist isc_gpio
blacklist nvhost-vi-tpg-t19x
blacklist tegra-camera
blacklist tegracam_log
blacklist sensor_kernel_tests
blacklist nv_imx274
blacklist ar1335_common
blacklist max9295
blacklist max929x
blacklist nv_ov5693
blacklist max96712
blacklist nv_imx219
blacklist nv_ar0234
blacklist max9296
blacklist nv_hawk_owl
blacklist pca9570
blacklist lt6911uxc
blacklist nv_imx390
blacklist nv_imx318
blacklist nv_imx477
blacklist nv_imx185
blacklist tegra_hv_vcpu_yield
blacklist tegra_hv_pm_ctl
blacklist hvc_sysfs
blacklist ivc-cdev
blacklist userspace_ivc_mempool
blacklist fusb301
blacklist tegra_hv_vblk_oops
blacklist tegra_hv_mtd
blacklist pinctrl-max77851
blacklist pinctrl-tegra194-pexclk-padctrl
blacklist pinctrl-tegra234-dpaux
blacklist nvidia-vrs-pseq
blacklist max77851
blacklist spi-tegra210-quad
blacklist spi-tegra124-slave
blacklist spi-aurix-tegra
blacklist tegra-pcie-dma-test
blacklist ioctl_example
blacklist nvsciipc
blacklist bluedroid_pm
blacklist host1x-fence
blacklist host1x
blacklist tegra-drm
blacklist host1x-nvhost
blacklist nvgpu
blacklist nvidia-modeset
blacklist nvhwpm
blacklist nvidia
blacklist nvidia-drm
10 changes: 10 additions & 0 deletions nvidia-l4t/manifest.yaml
Original file line number Diff line number Diff line change
@@ -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"
31 changes: 31 additions & 0 deletions nvidia-l4t/pkg.yaml
Original file line number Diff line number Diff line change
@@ -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/<talos version>/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: /
2 changes: 2 additions & 0 deletions nvidia-l4t/vars.yaml
Original file line number Diff line number Diff line change
@@ -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 }}"