diff --git a/README.md b/README.md index 59f134ad..342d07d4 100644 --- a/README.md +++ b/README.md @@ -11,15 +11,16 @@ This repository packages components from NVIDIA's [JetPack SDK](https://develope - Graphics: Wayland, GBM, EGL, Vulkan - Power/fan control: nvpmodel, nvfancontrol -This package supports JetPack 5 and 6. It works with NVIDIA's developer kits supported by these versions only: - -| Device | JetPack 5 | JetPack 6 | -| ------------------ | --------- | --------- | -| Jetson Orin AGX | ✓ | ✓ | -| Jetson Orin NX | ✓ | ✓ | -| Jetson Orin Nano | ✓ | ✓ | -| Jetson Xavier AGX | ✓ | | -| Jetson Xavier NX | ✓ | | +This package supports JetPack 5, 6, and 7. It works with NVIDIA's developer kits supported by these versions only: + +| Device | JetPack 5 | JetPack 6 | JetPack 7 | +| ------------------ | --------- | --------- | --------- | +| Jetson Thor AGX | | | ✓ | +| Jetson Orin AGX | ✓ | ✓ | | +| Jetson Orin NX | ✓ | ✓ | | +| Jetson Orin Nano | ✓ | ✓ | | +| Jetson Xavier AGX | ✓ | | | +| Jetson Xavier NX | ✓ | | | The Jetson Nano, TX2, and TX1 devices are _not_ supported, since support for them was dropped upstream in JetPack 5. diff --git a/device-pkgs/default.nix b/device-pkgs/default.nix index a21c1247..a2f82af0 100644 --- a/device-pkgs/default.nix +++ b/device-pkgs/default.nix @@ -29,6 +29,9 @@ let l4tMajorMinorPatchVersion ; + jetpackAtLeast = lib.versionAtLeast cfg.majorVersion; + jetpackOlder = lib.versionOlder cfg.majorVersion; + # This produces a script where we have already called the ./flash.sh script # with `--no-flash` and produced a file under bootloader/flashcmd.txt. # This requires setting various BOARD* environment variables to the exact @@ -84,6 +87,7 @@ let flashArgs = [ "--rcm-boot" ] + ++ lib.optional (jetpackAtLeast "7") "-r" # A little jank, but don't have the flash script itself actually flash, just produce the flashcmd.txt file # We need to sign the boot.img file afterwards in this script ++ lib.optional (cfg.firmware.secureBoot.pkcFile != null) "--no-flash" @@ -143,4 +147,4 @@ let meta.platforms = [ "x86_64-linux" ]; }; in -{ inherit flashScript initrdFlashScript fuseScript rcmBoot; } +{ inherit initrdFlashScript fuseScript rcmBoot; flashScript = initrdFlashScript; } // lib.optionalAttrs (jetpackOlder "7") { inherit flashScript; } diff --git a/device-pkgs/flash-script.nix b/device-pkgs/flash-script.nix index 7a0fd56c..675e9a8c 100644 --- a/device-pkgs/flash-script.nix +++ b/device-pkgs/flash-script.nix @@ -18,6 +18,9 @@ additionalDtbOverlays ? [ ] , flash-tools }: +let + uefi_image = if socType == "t264" then "uefi_t26x_general.bin" else "uefi_jetson.bin"; +in ('' set -euo pipefail @@ -45,7 +48,7 @@ ${lib.optionalString (partitionTemplate != null) "cp ${partitionTemplate} flash.xml"} ${lib.optionalString (dtbsDir != null) "cp -r ${dtbsDir}/. kernel/dtb/"} ${lib.optionalString (uefi-firmware != null) '' - cp ${uefi-firmware}/uefi_jetson.bin bootloader/uefi_jetson.bin + cp ${uefi-firmware}/uefi_jetson.bin bootloader/${uefi_image} if [ -e "${uefi-firmware}/uefi_jetson_minimal.bin" ] ; then cp ${uefi-firmware}/uefi_jetson_minimal.bin bootloader/uefi_jetson_minimal.bin fi @@ -55,10 +58,15 @@ cp ${uefi-firmware}/L4TLauncher.efi bootloader/BOOTAA64.efi # Replace additional dtbos - cp ${uefi-firmware}/dtbs/*.dtbo kernel/dtb/ + if [ -e ${uefi-firmware}/dtbs ]; then + cp ${uefi-firmware}/dtbs/*.dtbo kernel/dtb/ + fi ''} ${lib.optionalString (tosImage != null) '' cp ${tosImage}/tos.img bootloader/tos-optee_${socType}.img + if [ -e ${tosImage}/bl31.fip ]; then + cp ${tosImage}/bl31.fip bootloader/bl31_${socType}.fip + fi ''} ${lib.optionalString (eksFile != null) '' cp ${eksFile} bootloader/eks_${socType}.img diff --git a/device-pkgs/initrdflash-script.nix b/device-pkgs/initrdflash-script.nix index 017b2736..9e0e71f9 100644 --- a/device-pkgs/initrdflash-script.nix +++ b/device-pkgs/initrdflash-script.nix @@ -18,6 +18,12 @@ let forceXusbPeripheralDts = let overridePaths = { + "38" = { + thor = { + xudcPadctlPath = "bus@0/padctl@a808680000"; + xudcPath = "bus@0/usb@a808670000"; + }; + }; "36" = { orin = { xudcPadctlPath = "bus@0/padctl@3520000"; @@ -87,10 +93,9 @@ let rcmScript = mkRcmBootScript { kernelPath = "${config.system.build.kernel}/${config.system.boot.loader.kernelFile}"; initrdPath = "${flashInitrd}/initrd"; - kernelCmdline = lib.concatStringsSep " " [ - "console=ttyTCU0,115200" + kernelCmdline = lib.concatStringsSep " " ([ "sdhci_tegra.en_boot_part_access=1" - ]; + ] ++ cfg.console.args); # During the initrd flash script, we upload two edk2 builds to the # board, one that is only used temporarily to boot into our # kernel/initrd to perform the flashing, and another one that is diff --git a/flake.nix b/flake.nix index 7c173fd7..c8f4c95b 100644 --- a/flake.nix +++ b/flake.nix @@ -38,6 +38,9 @@ jetpack5_config = { hardware.nvidia-jetpack.majorVersion = "5"; }; + jetpack7_config = { + hardware.nvidia-jetpack.majorVersion = "7"; + }; in { nixosConfigurations = { @@ -53,6 +56,12 @@ installer_minimal_cross_jp5 = nixpkgs.lib.nixosSystem { modules = [ aarch64_cross_config installer_minimal_config jetpack5_config ]; }; + installer_minimal_jp7 = nixpkgs.lib.nixosSystem { + modules = [ aarch64_config installer_minimal_config jetpack7_config ]; + }; + installer_minimal_cross_jp7 = nixpkgs.lib.nixosSystem { + modules = [ aarch64_cross_config installer_minimal_config jetpack7_config ]; + }; }; nixosModules.default = import ./modules/default.nix; @@ -79,6 +88,7 @@ { som = "orin-nano"; carrierBoard = "devkit"; majorVersion = "5"; } { som = "orin-nx"; carrierBoard = "devkit"; super = true; majorVersion = "5"; } { som = "orin-nano"; carrierBoard = "devkit"; super = true; majorVersion = "5"; } + { som = "thor-agx"; carrierBoard = "devkit"; } { som = "xavier-agx"; carrierBoard = "devkit"; } { som = "xavier-agx-industrial"; carrierBoard = "devkit"; } # TODO: Entirely untested { som = "xavier-nx"; carrierBoard = "devkit"; } @@ -105,6 +115,7 @@ { iso_minimal = self.nixosConfigurations.installer_minimal_cross.config.system.build.isoImage; iso_minimal_jp5 = self.nixosConfigurations.installer_minimal_cross_jp5.config.system.build.isoImage; + iso_minimal_jp7 = self.nixosConfigurations.installer_minimal_cross_jp7.config.system.build.isoImage; inherit (self.legacyPackages.x86_64-linux) board-automation python-jetson; @@ -119,6 +130,7 @@ aarch64-linux = { iso_minimal = self.nixosConfigurations.installer_minimal.config.system.build.isoImage; iso_minimal_jp5 = self.nixosConfigurations.installer_minimal_jp5.config.system.build.isoImage; + iso_minimal_jp7 = self.nixosConfigurations.installer_minimal_jp7.config.system.build.isoImage; }; }; @@ -147,7 +159,7 @@ overlays = [ self.overlays.default ]; }); in - pkgs.nvidia-jetpack // { inherit (pkgs) nvidia-jetpack5 nvidia-jetpack6; } + pkgs.nvidia-jetpack // { inherit (pkgs) nvidia-jetpack5 nvidia-jetpack6 nvidia-jetpack7; } ); }; } diff --git a/mk-overlay.nix b/mk-overlay.nix index 67b65dbd..9616c71e 100644 --- a/mk-overlay.nix +++ b/mk-overlay.nix @@ -7,6 +7,7 @@ , cudaMajorMinorPatchVersion , cudaDriverMajorMinorVersion , bspHash +, bspPatches ? [ ] }: final: _: let @@ -15,7 +16,7 @@ let callPackageWith callPackagesWith composeManyExtensions - concatStringsSep + concatMapAttrsStringSep extends filter makeScope @@ -48,35 +49,36 @@ makeScope final.newScope (self: { callPackages = callPackagesWith (final // self); - bspSrc = final.runCommand "l4t-unpacked" - { - # https://developer.nvidia.com/embedded/jetson-linux-archive - # https://repo.download.nvidia.com/jetson/ - src = final.fetchurl { - url = "https://developer.download.nvidia.com/embedded/L4T/r${versions.major l4tMajorMinorPatchVersion}_Release_v${versions.minor l4tMajorMinorPatchVersion}.${versions.patch l4tMajorMinorPatchVersion}/release/Jetson_Linux_R${l4tMajorMinorPatchVersion}_aarch64.tbz2"; - hash = bspHash; - }; - # We use a more recent version of bzip2 here because we hit this bug - # extracting nvidia's archives: - # https://bugs.launchpad.net/ubuntu/+source/bzip2/+bug/1834494 - nativeBuildInputs = [ final.buildPackages.bzip2_1_1 ]; - } '' - bzip2 -d -c $src | tar xf - - mv Linux_for_Tegra $out - ''; + bspSrc = final.applyPatches { + src = final.runCommand "l4t-unpacked" + { + # https://developer.nvidia.com/embedded/jetson-linux-archive + # https://repo.download.nvidia.com/jetson/ + src = final.fetchurl { + url = "https://developer.download.nvidia.com/embedded/L4T/r${versions.major l4tMajorMinorPatchVersion}_Release_v${versions.minor l4tMajorMinorPatchVersion}.${versions.patch l4tMajorMinorPatchVersion}/release/Jetson_Linux_R${l4tMajorMinorPatchVersion}_aarch64.tbz2"; + hash = bspHash; + }; + # We use a more recent version of bzip2 here because we hit this bug + # extracting nvidia's archives: + # https://bugs.launchpad.net/ubuntu/+source/bzip2/+bug/1834494 + nativeBuildInputs = [ final.buildPackages.bzip2_1_1 ]; + } '' + bzip2 -d -c $src | tar xf - + mv Linux_for_Tegra $out + ''; + patches = bspPatches; + }; # Here for convenience, to see what is in upstream Jetpack unpackedDebs = final.runCommand "unpackedDebs-${l4tMajorMinorPatchVersion}" { nativeBuildInputs = [ final.buildPackages.dpkg ]; } '' mkdir -p $out - ${concatStringsSep "\n" (mapAttrsToList (n: p: "echo Unpacking ${n}; dpkg -x ${p.src} $out/${n}") self.debs.common)} - ${concatStringsSep "\n" (mapAttrsToList (n: p: "echo Unpacking ${n}; dpkg -x ${p.src} $out/${n}") self.debs.t234)} + ${concatMapAttrsStringSep "\n" (repo: debs: (concatMapAttrsStringSep "\n" (n: p: "echo Unpacking ${n}; dpkg -x ${p.src} $out/${n}") debs)) self.debs} ''; # Also just for convenience, unpackedDebsFilenames = final.runCommand "unpackedDebsFilenames-${l4tMajorMinorPatchVersion}" { nativeBuildInputs = [ final.buildPackages.dpkg ]; } '' mkdir -p $out - ${concatStringsSep "\n" (mapAttrsToList (n: p: "echo Extracting file list from ${n}; dpkg --fsys-tarfile ${p.src} | tar --list > $out/${n}") self.debs.common)} - ${concatStringsSep "\n" (mapAttrsToList (n: p: "echo Extracting file list from ${n}; dpkg --fsys-tarfile ${p.src} | tar --list > $out/${n}") self.debs.t234)} + ${concatMapAttrsStringSep "\n" (repo: debs: (concatMapAttrsStringSep "\n" (n: p: "echo Extracting file list from ${n}; dpkg --fsys-tarfile ${p.src} | tar --list > $out/${n}") debs)) self.debs} ''; unpackedGitRepos = final.runCommand "unpackedGitRepos-${l4tMajorMinorPatchVersion}" { } ( diff --git a/modules/default.nix b/modules/default.nix index 8780054a..f3c4258c 100644 --- a/modules/default.nix +++ b/modules/default.nix @@ -16,7 +16,7 @@ let cfg = config.hardware.nvidia-jetpack; - jetpackVersions = [ "5" "6" ]; + jetpackVersions = [ "5" "6" "7" ]; teeApplications = pkgs.symlinkJoin { name = "tee-applications"; @@ -57,7 +57,7 @@ in enable = mkEnableOption "NVIDIA Jetson device support"; majorVersion = mkOption { - default = if cfg.som == "generic" || lib.hasPrefix "orin" cfg.som then "6" else "5"; + default = if lib.hasPrefix "thor" cfg.som then "7" else if cfg.som == "generic" || lib.hasPrefix "orin" cfg.som then "6" else "5"; type = types.enum jetpackVersions; description = "Jetpack major version to use"; }; @@ -100,6 +100,7 @@ in "orin-agx-industrial" "orin-nx" "orin-nano" + "thor-agx" "xavier-agx" "xavier-agx-industrial" "xavier-nx" @@ -170,6 +171,11 @@ in type = types.bool; description = "Enable boot.kernelParams default console configuration"; }; + + console.args = mkOption { + internal = true; + type = types.listOf types.str; + }; }; }; @@ -196,6 +202,7 @@ in } (validSomsAssertion "5" [ "xavier" "orin" ]) (validSomsAssertion "6" [ "orin" ]) + (validSomsAssertion "7" [ "thor" ]) ] ( let @@ -268,6 +275,18 @@ in lib.optionals (isXavier || isGeneric) [ "7.2" ] ++ lib.optionals (isOrin || isGeneric) [ "8.7" ]; }); + hardware.nvidia-jetpack.console.args = lib.mkMerge [ + (lib.optionals (checkValidSoms [ "xavier" "orin" ]) [ + "console=tty0" # Output to HDMI/DP. May need fbcon=map:0 as well + "console=ttyTCU0,115200" # Provides console on "Tegra Combined UART" (TCU) + ]) + (lib.optionals (checkValidSoms [ "thor" ]) [ + "console=tty0" + "console=ttyUTC0,115200" + "earlycon=tegra_utc,mmio32,0xc5a0000" + ]) + ]; + boot.kernelPackages = (if cfg.kernel.realtime then pkgs.nvidia-jetpack.rtkernelPackages @@ -278,11 +297,11 @@ in # Needed on Orin at least, but upstream has it for both "nvidia.rm_firmware_active=all" ] - ++ lib.optionals cfg.console.enable [ - "console=tty0" # Output to HDMI/DP. May need fbcon=map:0 as well - "console=ttyTCU0,115200" # Provides console on "Tegra Combined UART" (TCU) - ] - ++ lib.optional (lib.hasPrefix "xavier-" cfg.som || cfg.som == "generic") "video=efifb:off"; # Disable efifb driver, which crashes Xavier NX and possibly AGX + ++ lib.optionals cfg.console.enable cfg.console.args + ++ lib.optional (lib.hasPrefix "xavier-" cfg.som || cfg.som == "generic") "video=efifb:off" # Disable efifb driver, which crashes Xavier NX and possibly AGX + ++ lib.optionals (pkgs.nvidia-jetpack.l4tAtLeast "38") [ + "clk_ignore_unused" + ]; boot.initrd.includeDefaultModules = false; # Avoid a bunch of modules we may not get from tegra_defconfig boot.initrd.availableKernelModules = [ "xhci-tegra" "ucsi_ccg" "typec_ucsi" "typec" ] # Make sure USB firmware makes it into initrd @@ -298,6 +317,25 @@ in # Ethernet for AGX "nvpps" "nvethernet" + ] ++ lib.optionals (pkgs.nvidia-jetpack.l4tAtLeast "38") [ + "pwm-fan" + "uas" + "r8152" + "phy-tegra194-p2u" + "nvme-core" + "tegra-bpmp-thermal" + "pwm-tegra" + "tegra_vblk" + "tegra_hv_vblk_oops" + "ufs-tegra" + "nvpps" + "pcie-tegra264" + "nvethernet" + "r8126" + "r8168" + "tegra_vnet" + "rtl8852ce" + "oak_pci" ]; # See upstream default for this option, removes any modules that aren't enabled in JetPack kernel @@ -337,8 +375,10 @@ in hardware.firmware = with pkgs.nvidia-jetpack; [ l4t-firmware - l4t-xusb-firmware # usb firmware also present in linux-firmware package, but that package is huge and has much more than needed + ] ++ lib.optionals pkgs.config.cudaSupport [ cudaPackages.vpi-firmware # Optional, but needed for pva_auth_allowlist firmware file used by VPI2 + ] ++ lib.optionals (l4tOlder "36") [ + l4t-xusb-firmware # usb firmware also present in linux-firmware package, but that package is huge and has much more than needed ]; hardware.deviceTree.enable = true; @@ -439,7 +479,12 @@ in install -D -t $out/etc/udev/rules.d ${pkgs.nvidia-jetpack.l4t-init}/etc/udev/rules.d/99-tegra-devices.rules sed -i \ -e '/camera_device_detect/d' \ - -e 's#/bin/mknod#${pkgs.coreutils}/bin/mknod#' \ + -e 's#/bin/mknod#${lib.getExe' pkgs.coreutils "mknod"}#' \ + -e 's#/bin/rm#${lib.getExe' pkgs.coreutils "rm"}#' \ + -e 's#/bin/cut#${lib.getExe' pkgs.coreutils "cut"}#' \ + -e 's#/bin/grep#${lib.getExe pkgs.gnugrep}#' \ + -e 's#/bin/bash /etc/systemd/nvpower.sh#${pkgs.nvidia-jetpack.l4t-nvpmodel}/etc/systemd/nvpower.sh#' \ + -e 's#/bin/bash#${lib.getExe pkgs.bash}#' \ $out/etc/udev/rules.d/99-tegra-devices.rules '') ]; @@ -502,7 +547,7 @@ in ''; in { - enable = true; + enable = cfg.configureCuda; description = "Create a symlink for libEGL_nvidia.so.0 at /usr/lib/aarch64-linux-gnu/tegra-egl/"; unitConfig = { ConditionPathExists = "!/usr/lib/aarch64-linux-gnu/tegra-egl/libEGL_nvidia.so.0"; @@ -555,7 +600,8 @@ in otaUtils # Tools for UEFI capsule updates ] ++ lib.optional cfg.firmware.optee.xtest pkgs.nvidia-jetpack.opteeXtest # Tool to view GPU utilization. - ++ lib.optional (l4tAtLeast "36") nvidia-smi; + ++ lib.optionals (l4tAtLeast "36") [ nvidia-smi ] + ++ lib.optionals (l4tAtLeast "38") [ l4t-bootloader-utils ]; # Used by libEGL_nvidia.so.0 environment.etc."egl/egl_external_platform.d".source = @@ -666,5 +712,14 @@ in ); }; }) + (lib.mkIf (lib.hasPrefix "thor" cfg.som) { + assertions = [ + { + assertion = !(config.hardware.nvidia-jetpack.configureCuda || pkgs.config.cudaSupport); + message = "CUDA 13 support is not available in NixOS 25.05. Please disable CUDA."; + } + ]; + hardware.nvidia-jetpack.configureCuda = lib.mkForce false; + }) ]); } diff --git a/modules/devices.nix b/modules/devices.nix index f2f2c804..e6bc12f2 100644 --- a/modules/devices.nix +++ b/modules/devices.nix @@ -15,6 +15,7 @@ let orin-agx-industrial = "${pkgs.nvidia-jetpack.l4t-nvpmodel}/etc/nvpmodel/nvpmodel_p3701_0008.conf"; orin-nx = "${pkgs.nvidia-jetpack.l4t-nvpmodel}/etc/nvpmodel/nvpmodel_p3767_0000${lib.optionalString cfg.super "_super"}.conf"; orin-nano = "${pkgs.nvidia-jetpack.l4t-nvpmodel}/etc/nvpmodel/nvpmodel_p3767_0003${lib.optionalString cfg.super "_super"}.conf"; + thor-agx = "${pkgs.nvidia-jetpack.l4t-nvpmodel}/etc/nvpmodel/nvpmodel_p3834_0008.conf"; xavier-agx = "${pkgs.nvidia-jetpack.l4t-nvpmodel}/etc/nvpmodel/nvpmodel_t194.conf"; xavier-agx-industrial = "${pkgs.nvidia-jetpack.l4t-nvpmodel}/etc/nvpmodel/nvpmodel_t194_agxi.conf"; xavier-nx = "${pkgs.nvidia-jetpack.l4t-nvpmodel}/etc/nvpmodel/nvpmodel_t194_p3668.conf"; @@ -26,6 +27,7 @@ let orin-agx-industrial = "${pkgs.nvidia-jetpack.l4t-nvfancontrol}/etc/nvpower/nvfancontrol/nvfancontrol_p3701_0008.conf"; orin-nx = "${pkgs.nvidia-jetpack.l4t-nvfancontrol}/etc/nvpower/nvfancontrol/nvfancontrol_p3767_0000.conf"; orin-nano = "${pkgs.nvidia-jetpack.l4t-nvfancontrol}/etc/nvpower/nvfancontrol/nvfancontrol_p3767_0000.conf"; + thor-agx = "${pkgs.nvidia-jetpack.l4t-nvfancontrol}/etc/nvpower/nvfancontrol/nvfancontrol_p3834_0008_p4071_0000.conf"; xavier-agx = "${pkgs.nvidia-jetpack.l4t-nvfancontrol}/etc/nvpower/nvfancontrol/nvfancontrol_p2888.conf"; xavier-agx-industrial = "${pkgs.nvidia-jetpack.l4t-nvfancontrol}/etc/nvpower/nvfancontrol/nvfancontrol_p2888.conf"; xavier-nx = "${pkgs.nvidia-jetpack.l4t-nvfancontrol}/etc/nvpower/nvfancontrol/nvfancontrol_p3668.conf"; @@ -120,6 +122,10 @@ in partitionTemplate = mkDefault "${pkgs.nvidia-jetpack.bspSrc}/bootloader/${partitionTemplateDirectory}/cfg/flash_t234_qspi.xml"; }) + (mkIf (cfg.som == "thor-agx") { + targetBoard = mkDefault "jetson-agx-thor-devkit"; + }) + (mkIf (cfg.som == "xavier-agx") { targetBoard = mkDefault "jetson-agx-xavier-devkit"; # Remove unnecessary partitions to make it more like @@ -204,5 +210,21 @@ in "rtw88/rtw8822c_wow_fw.bin" ]) ]; + }) + (lib.mkIf (cfg.som == "thor-agx") { + hardware.firmware = [ + (extractLinuxFirmware "xusb-firmware" [ "nvidia/tegra186/xusb.bin" ]) + ] ++ lib.optionals + (config.hardware.bluetooth.enable + || config.networking.wireless.enable + || config.networking.wireless.iwd.enable) [ + "rtl_nic/rtl8153a-2.fw" + "rtl_nic/rtl8153a-3.fw" + "rtl_nic/rtl8153a-4.fw" + "rtl_nic/rtl8153b-2.fw" + "rtl_nic/rtl8153c-1.fw" + "rtl_nic/rtl8156a-2.fw" + "rtl_nic/rtl8156b-2.fw" + ]; })]); } diff --git a/modules/flash-script.nix b/modules/flash-script.nix index b19021c2..c86b1af7 100644 --- a/modules/flash-script.nix +++ b/modules/flash-script.nix @@ -407,7 +407,8 @@ in }; partitionTemplate = mkOption { - type = types.path; + type = types.nullOr types.path; + default = null; description = ".xml file describing partition template to use when flashing"; }; @@ -527,6 +528,10 @@ in { boardid = "3668"; boardsku = "0003"; fab = "301"; boardrev = ""; fuselevel = "fuselevel_production"; chiprev = "2"; } ]; + thor-agx = [ + { boardid = "3834"; boardsku = "0008"; fab = "000"; boardrev = ""; fuselevel = "fuselevel_production"; chiprev = ""; chipsku = "00:00:00:A0"; } # Thor AGX Devkit + ]; + orin-agx = [ { boardid = "3701"; boardsku = "0000"; fab = "300"; boardrev = ""; fuselevel = "fuselevel_production"; chiprev = ""; chipsku = "00:00:00:D0"; } { boardid = "3701"; boardsku = "0004"; fab = "300"; boardrev = ""; fuselevel = "fuselevel_production"; chiprev = ""; chipsku = "00:00:00:D2"; } # 32GB diff --git a/overlay-with-config.nix b/overlay-with-config.nix index de54a557..6617b328 100644 --- a/overlay-with-config.nix +++ b/overlay-with-config.nix @@ -11,6 +11,8 @@ final: prev: ( inherit (final) lib; + jetpackAtLeast = lib.versionAtLeast cfg.majorVersion; + tosArgs = { inherit (final.nvidia-jetpack) socType; inherit (cfg.firmware.optee) taPublicKeyFile extraMakeFlags coreLogLevel taLogLevel; @@ -23,12 +25,14 @@ final: prev: ( nvidia-jetpack = prev.nvidia-jetpack.overrideScope (finalJetpack: prevJetpack: { socType = if cfg.som == null then null + else if lib.hasPrefix "thor-" cfg.som then "t264" else if lib.hasPrefix "orin-" cfg.som then "t234" else if lib.hasPrefix "xavier-" cfg.som then "t194" else throw "Unknown SoC type"; chipId = if cfg.som == null then null + else if lib.hasPrefix "thor-" cfg.som then "0x26" else if lib.hasPrefix "orin-" cfg.som then "0x23" else if lib.hasPrefix "xavier-" cfg.som then "0x19" else throw "Unknown SoC type"; @@ -46,6 +50,12 @@ final: prev: ( errorLevelInfo = cfg.firmware.uefi.errorLevelInfo; edk2NvidiaPatches = cfg.firmware.uefi.edk2NvidiaPatches; edk2UefiPatches = cfg.firmware.uefi.edk2UefiPatches; + socFamily = + if cfg.som == null then null + else if lib.hasPrefix "thor-" cfg.som then "t26x" + else if lib.hasPrefix "orin-" cfg.som then "t23x" + else if lib.hasPrefix "xavier-" cfg.som then "t19x" + else throw "Unknown SoC type"; # A hash of something that represents everything that goes into the # platform firmware so that we can include it in the firmware version. @@ -86,7 +96,7 @@ final: prev: ( rootModules = modules; kernel = config.system.modulesTree; firmware = config.hardware.firmware; - allowMissing = false; + allowMissing = true; }; manufacturer = "NixOS"; product = "serial"; @@ -210,7 +220,7 @@ final: prev: ( "./flash.sh" (lib.optionalString (cfg.flashScriptOverrides.partitionTemplate != null) "-c flash.xml") "--no-flash" - (lib.optionalString (cfg.majorVersion == "6") "--sign") + (lib.optionalString (jetpackAtLeast "6") "--sign") "--bup" "--multi-spec" (builtins.toString cfg.flashScriptOverrides.flashArgs) diff --git a/overlay.nix b/overlay.nix index 6063fc3d..bac523a0 100644 --- a/overlay.nix +++ b/overlay.nix @@ -47,7 +47,7 @@ in l4tMajorMinorPatchVersion = "36.4.4"; cudaMajorMinorPatchVersion = "12.6.10"; - # nix build .#legacyPacakges.l4t-cuda.src; unpack the deb; find libnvidia-ptxjijtcompiler.so + # nix build .#legacyPacakges.nvidia-l4t-3d-core.src; unpack the deb; find libnvidia-ptxjitcompiler.so # and use that. cudaDriverMajorMinorVersion = "540.4.0"; @@ -56,6 +56,20 @@ in final prev; + nvidia-jetpack7 = import ./mk-overlay.nix + { + jetpackMajorMinorPatchVersion = "7.0"; + l4tMajorMinorPatchVersion = "38.2.1"; + cudaMajorMinorPatchVersion = "12.6.10"; #TODO + + cudaDriverMajorMinorVersion = "580.00"; + + bspHash = "sha256-raHtaLeODpgHxw24e+ViturGqpXVOL9jtun4owCDcEs="; + bspPatches = [ ./pkgs/r38-bsp.patch ]; + } + final + prev; + # Due to the interplay between JetPack releases and supported CUDA versions, the choice of CUDA version drives the # version of nvidia-jetpack made the default to avoid the need to maintain tedious overlays and ensures the two stay # in sync by default. diff --git a/pkgs/board-automation/default.nix b/pkgs/board-automation/default.nix index 1999914a..1260e86c 100644 --- a/pkgs/board-automation/default.nix +++ b/pkgs/board-automation/default.nix @@ -2,6 +2,7 @@ , bspSrc , l4tMajorMinorPatchVersion , python3 # python3 is required for nvtopo.py +, python3Packages , makeWrapper }: @@ -13,7 +14,9 @@ stdenv.mkDerivation { nativeBuildInputs = [ makeWrapper ]; buildInputs = [ - python3 + (python3.buildEnv.override { + extraLibs = [ python3Packages.pyusb ]; + }) ]; dontConfigure = true; @@ -24,8 +27,10 @@ stdenv.mkDerivation { runHook preInstall mkdir -p $out/bin - cp tools/board_automation/* $out/bin + cp -r tools/board_automation/* $out/bin runHook postInstall ''; + + meta.mainProgram = "boardctl"; } diff --git a/pkgs/containers/deps.nix b/pkgs/containers/deps.nix index 432caa6b..f289f4dd 100644 --- a/pkgs/containers/deps.nix +++ b/pkgs/containers/deps.nix @@ -3,14 +3,18 @@ , dpkg , debs , l4tMajorMinorPatchVersion +, l4tAtLeast }: runCommand "container-deps" { nativeBuildInputs = [ dpkg ]; } (lib.concatStringsSep "\n" (lib.mapAttrsToList (deb: debFiles: - (if builtins.hasAttr deb debs.t234 then '' - echo Unpacking ${deb}; dpkg -x ${debs.t234.${deb}.src} debs + let + repo = if l4tAtLeast "38" then "som" else "t234"; + in + (if builtins.hasAttr deb debs.${repo} then '' + echo Unpacking ${deb}; dpkg -x ${debs.${repo}.${deb}.src} debs '' else '' echo Unpacking ${deb}; dpkg -x ${debs.common.${deb}.src} debs '') + (lib.concatStringsSep "\n" (map diff --git a/pkgs/cuda-packages/vpi-firmware.nix b/pkgs/cuda-packages/vpi-firmware.nix index 724c4184..321545f6 100644 --- a/pkgs/cuda-packages/vpi-firmware.nix +++ b/pkgs/cuda-packages/vpi-firmware.nix @@ -10,6 +10,7 @@ let majorVersion = { "35" = "2"; "36" = "3"; + "38" = "4"; }.${lib.versions.major l4tMajorMinorPatchVersion}; in runCommand "vpi${majorVersion}-firmware" { nativeBuildInputs = [ dpkg ]; } '' diff --git a/pkgs/flash-tools/default.nix b/pkgs/flash-tools/default.nix index 02b40910..71b55db8 100644 --- a/pkgs/flash-tools/default.nix +++ b/pkgs/flash-tools/default.nix @@ -31,6 +31,7 @@ , bspSrc , l4tMajorMinorPatchVersion , symlinkJoin +, xmlstarlet }: let @@ -76,6 +77,7 @@ let '' + (lib.optionalString (!stdenv.hostPlatform.isx86) '' # Wrap x86 binaries in qemu pushd bootloader/ >/dev/null + # Wrap i386 binaries in qemu for filename in chkbdinfo mkbctpart mkbootimg mksparse tegrabct_v2 tegradevflash_v2 tegrahost_v2 tegrakeyhash tegraopenssl tegraparser_v2 tegrarcm_v2 tegrasign_v2; do if [[ -e $filename ]]; then mv "$filename" ."$filename"-wrapped @@ -87,6 +89,18 @@ let chmod +x "$filename" fi done + # Wrap x86_64 binaries in qemu + for filename in fiptool; do + if [[ -e $filename ]]; then + mv "$filename" ."$filename"-wrapped + # DO NOT CHANGE THE WHITESPACE BELOW! + cat >"$filename" </dev/null ''); @@ -128,6 +142,7 @@ let bc openssl sbsigntool # In l4t_uefi_sign_image.sh, which is needed by RCM flashing + xmlstarlet # Needed in JetPack 7 # Needed by bootloader/tegraflash_impl_t234.py gcc diff --git a/pkgs/flash-tools/flash-tools-r38.patch b/pkgs/flash-tools/flash-tools-r38.patch new file mode 100644 index 00000000..0c96ad71 --- /dev/null +++ b/pkgs/flash-tools/flash-tools-r38.patch @@ -0,0 +1,13 @@ +diff --git a/bootloader/l4t_bup_gen.func b/bootloader/l4t_bup_gen.func +index 7224069..e8116f2 100644 +--- a/bootloader/l4t_bup_gen.func ++++ b/bootloader/l4t_bup_gen.func +@@ -25,8 +25,6 @@ BSP_VER="" + + declare -A ENTRY_LIST + ENTRY_LIST[bl]="" +-ENTRY_LIST[kernel]="" +-ENTRY_LIST[safety_user]="" + + PART_NAME="" + IMAGE_SIGNED=0 diff --git a/pkgs/kernels/r38/0001-usb-host-Export-xhci_irq.patch b/pkgs/kernels/r38/0001-usb-host-Export-xhci_irq.patch new file mode 100644 index 00000000..a7abda04 --- /dev/null +++ b/pkgs/kernels/r38/0001-usb-host-Export-xhci_irq.patch @@ -0,0 +1,29 @@ +From 173bf15c5274580a344dae38a29edee51dd449ce Mon Sep 17 00:00:00 2001 +From: Elliot Berman +Date: Tue, 26 Aug 2025 10:31:32 -0700 +Subject: [PATCH] usb: host: Export xhci_irq + +This symbol is used by xhci-tegra, which can be built in a separate +module from xhci. + +Fixes: fd7de45afba5 ("NVIDIA: SAUCE: xhci: tegra: enable firmware log") +Signed-off-by: Elliot Berman +--- + drivers/usb/host/xhci-ring.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/drivers/usb/host/xhci-ring.c b/drivers/usb/host/xhci-ring.c +index 7badf91645909..04186add014e4 100644 +--- a/drivers/usb/host/xhci-ring.c ++++ b/drivers/usb/host/xhci-ring.c +@@ -3254,6 +3254,7 @@ irqreturn_t xhci_irq(struct usb_hcd *hcd) + + return ret; + } ++EXPORT_SYMBOL_GPL(xhci_irq); + + irqreturn_t xhci_msi_irq(int irq, void *hcd) + { +-- +2.50.1 + diff --git a/pkgs/kernels/r38/Makefile.diff b/pkgs/kernels/r38/Makefile.diff new file mode 100644 index 00000000..ee4eeb1f --- /dev/null +++ b/pkgs/kernels/r38/Makefile.diff @@ -0,0 +1,18 @@ +diff --git a/source/Makefile b/source/Makefile +index 24ee6c5..0780577 100644 +--- a/source/Makefile ++++ b/source/Makefile +@@ -124,12 +124,7 @@ define display-cmd + KERNELRELEASE="" \ + SYSSRCNVOOT=$(MAKEFILE_DIR)/nvidia-oot \ + SYSSRC=$(KERNEL_HEADERS) \ +- SYSOUT=$(KERNEL_OUTPUT) \ +- CC=$(CROSS_COMPILE)gcc \ +- LD=$(CROSS_COMPILE)ld.bfd \ +- AR=$(CROSS_COMPILE)ar \ +- CXX=$(CROSS_COMPILE)g++ \ +- OBJCOPY=$(CROSS_COMPILE)objcopy ++ SYSOUT=$(KERNEL_OUTPUT) + endef + + diff --git a/pkgs/kernels/r38/default.nix b/pkgs/kernels/r38/default.nix new file mode 100644 index 00000000..c6c05e28 --- /dev/null +++ b/pkgs/kernels/r38/default.nix @@ -0,0 +1,115 @@ +{ lib +, realtime ? false +, kernelPatches ? [ ] +, structuredExtraConfig ? { } +, argsOverride ? { } +, buildLinux +, gitRepos +, ... +}@args: +buildLinux (args // { + # See Makefile in kernel source root for VERSION/PATCHLEVEL/SUBLEVEL. + version = "6.8.12"; + extraMeta.branch = "6.8"; + + defconfig = "defconfig"; + + # https://github.com/NixOS/nixpkgs/pull/366004 + # introduced a breaking change that if a module is declared but it is not being used it will fail + # if you try to suppress each of he errors e.g. + # REISERFS_FS_SECURITY = lib.mkForce unset; within structuredExtraConfig + # that list runs to a long 100+ modules so we go back to the previous default and ignore them + ignoreConfigErrors = true; + + # disabling the dependency on the common-config would seem appropriate as we define our own defconfig + # however, it seems that some of the settings for e.g. fw loading are only made available there. + # TODO: a future task could be to set this, disable ignoreConfigErrors and add the needed modules to the + # structuredExtraConfig below. + # enableCommonConfig = false; + + # Using applyPatches here since it's not obvious how to append an extra + # postPatch. This is not very efficient. + src = gitRepos."kernel/kernel-noble"; + autoModules = false; + features = { }; # TODO: Why is this needed in nixpkgs master (but not NixOS 22.05)? + + kernelPatches = [ + { + name = "usb: host: Export xhci_irq"; + patch = ./0001-usb-host-Export-xhci_irq.patch; + } + ] ++ kernelPatches; + + structuredExtraConfig = with lib.kernel; { + # Override the default CMA_SIZE_MBYTES=32M setting in common-config.nix with the default from tegra_defconfig + # Otherwise, nvidia's driver craps out + CMA_SIZE_MBYTES = lib.mkForce (freeform "64"); + + ### So nat.service and firewall work ### + NF_TABLES = module; # This one should probably be in common-config.nix + # this NFT_NAT is not actually being set. when build with enableCommonConfig = false; + # and not ignoreConfigErrors = true; it will fail with error about unused option + # unused means that it wanted to set it as a module, but make oldconfig didn't ask it about that option, + # so it didn't get a chance to set it. + NFT_NAT = module; + NFT_MASQ = module; + NFT_REJECT = module; + NFT_COMPAT = module; + NFT_LOG = module; + NFT_COUNTER = module; + + # search for "ip46tables" in nixpkgs and find all the -m options. + # Enable the corresponding Kconfigs + # TODO: nixpkgs should turn these on themselves. + NETFILTER_XT_MATCH_PKTTYPE = module; + NETFILTER_XT_MATCH_COMMENT = module; + NETFILTER_XT_MATCH_CONNTRACK = module; + NETFILTER_XT_MATCH_LIMIT = module; + NETFILTER_XT_MATCH_MARK = module; + NETFILTER_XT_MATCH_MULTIPORT = module; + + IP_NF_MATCH_RPFILTER = module; + + # IPv6 is enabled by default and without some of these `firewall.service` will explode. + IP6_NF_MATCH_AH = module; + IP6_NF_MATCH_EUI64 = module; + IP6_NF_MATCH_FRAG = module; + IP6_NF_MATCH_OPTS = module; + IP6_NF_MATCH_HL = module; + IP6_NF_MATCH_IPV6HEADER = module; + IP6_NF_MATCH_MH = module; + IP6_NF_MATCH_RPFILTER = module; + IP6_NF_MATCH_RT = module; + IP6_NF_MATCH_SRH = module; + + # Needed since mdadm stuff is currently unconditionally included in the initrd + # This will hopefully get changed, see: https://github.com/NixOS/nixpkgs/pull/183314 + MD_LINEAR = module; + MD_RAID0 = module; + MD_RAID1 = module; + MD_RAID10 = module; + MD_RAID456 = module; + + # Needed for booting from USB + USB_UAS = module; + + FW_LOADER_COMPRESS_XZ = yes; + FW_LOADER_COMPRESS_ZSTD = yes; + + # Restore default LSM from security/Kconfig. Undoes Nvidia downstream changes. + LSM = freeform "landlock,lockdown,yama,loadpin,safesetid,integrity,selinux,smack,tomoyo,apparmor,bpf"; + } // lib.optionalAttrs realtime { + PREEMPT_VOLUNTARY = lib.mkForce no; # Disable the one set in common-config.nix + # These are the options enabled/disabled by source/generic_rt_build.sh (this file comes after source/source_sync.sh) + PREEMPT_RT = yes; + DEBUG_PREEMPT = no; + KVM = no; + EMBEDDED = yes; + NAMESPACES = yes; + CPU_IDLE_TEGRA18X = no; + CPU_FREQ_GOV_INTERACTIVE = no; + CPU_FREQ_TIMES = no; + FAIR_GROUP_SCHED = no; + } // structuredExtraConfig; + +} // argsOverride) diff --git a/pkgs/kernels/r38/devicetree.nix b/pkgs/kernels/r38/devicetree.nix new file mode 100644 index 00000000..facfbf2d --- /dev/null +++ b/pkgs/kernels/r38/devicetree.nix @@ -0,0 +1,53 @@ +{ bspSrc +, gitRepos +, kernel +, l4tMajorMinorPatchVersion +, lib +, runCommand +, stdenv +, buildPackages +, ... +}: +let + l4t-devicetree-sources = runCommand "l4t-devicetree-sources" { } + (lib.strings.concatStrings + ([ "mkdir -p $out ; cp ${bspSrc}/source/Makefile $out/Makefile ;" ] ++ + lib.lists.forEach + [ "hardware/nvidia/t264/nv-public" "hardware/nvidia/t23x/nv-public" "hardware/nvidia/tegra/nv-public" "kernel-devicetree" ] + ( + project: + '' + mkdir -p "$out/${project}" + cp --no-preserve=all -vr "${lib.attrsets.attrByPath [project] 0 gitRepos}"/. "$out/${project}" + '' + ))); +in +stdenv.mkDerivation (finalAttrs: { + pname = "l4t-devicetree"; + version = "${l4tMajorMinorPatchVersion}"; + src = l4t-devicetree-sources; + + inherit kernel; + + nativeBuildInputs = finalAttrs.kernel.moduleBuildDependencies; + depsBuildBuild = [ buildPackages.stdenv.cc ]; + + # See bspSrc/source/Makefile + makeFlags = [ + "KERNEL_HEADERS=${finalAttrs.kernel.dev}/lib/modules/${finalAttrs.kernel.modDirVersion}/source" + "KERNEL_OUTPUT=${finalAttrs.kernel.dev}/lib/modules/${finalAttrs.kernel.modDirVersion}/build" + ]; + + buildFlags = "dtbs"; + + installPhase = '' + runHook preInstall + + mkdir -p "$out"/ + # See kernel-devicetree/generic-dts/Makefile + # The dtbs are installed to kernel-devicetree/generic-dts/dtbs + install -Dm644 kernel-devicetree/generic-dts/dtbs/* "$out/" + + runHook postInstall + ''; +}) diff --git a/pkgs/kernels/r38/oot-modules.nix b/pkgs/kernels/r38/oot-modules.nix new file mode 100644 index 00000000..4dfdfd20 --- /dev/null +++ b/pkgs/kernels/r38/oot-modules.nix @@ -0,0 +1,93 @@ +{ applyPatches +, bspSrc +, buildPackages +, gitRepos +, kernel +, l4tMajorMinorPatchVersion +, lib +, runCommand +, stdenv +, ... +}: +let + patchedBsp = applyPatches { + name = "patchedBsp"; + src = bspSrc; + patches = [ + ./Makefile.diff + ]; + }; + + mkCopyProjectCommand = name: project: '' + mkdir -p "$out/${name}" + cp --no-preserve=all -vr "${project}"/. "$out/${name}" + ''; + + l4t-oot-projects = { + inherit (gitRepos) hwpm nvidia-oot nvgpu nvdisplay unifiedgpudisp; + nvethernetrm = applyPatches { + name = "nvethernetrm"; + src = gitRepos.nvethernetrm; + # Some directories in the git repo are RO. + # This works for L4T b/c they use different output directory + postPatch = '' + chmod -R u+w osi + ''; + }; + }; + + l4t-oot-modules-sources = runCommand "l4t-oot-sources" { } + ( + # Copy the Makefile + '' + mkdir -p "$out" + cp "${patchedBsp}/source/Makefile" "$out/Makefile" + cp "${patchedBsp}/source/kernel_src_build_env.sh" "$out/kernel_src_build_env.sh" + '' + # copy the projects + + lib.strings.concatMapAttrsStringSep "\n" mkCopyProjectCommand l4t-oot-projects + # See bspSrc/source/source_sync.sh symlink at end of file + + '' + ln -vsrf "$out/nvethernetrm" "$out/nvidia-oot/drivers/net/ethernet/nvidia/nvethernet/nvethernetrm" + '' + ); +in +stdenv.mkDerivation (finalAttrs: { + pname = "l4t-oot-modules"; + version = "${l4tMajorMinorPatchVersion}"; + src = l4t-oot-modules-sources; + + inherit kernel; + + nativeBuildInputs = finalAttrs.kernel.moduleBuildDependencies; + depsBuildBuild = [ buildPackages.stdenv.cc ]; + + # See bspSrc/source/Makefile + makeFlags = finalAttrs.kernel.makeFlags ++ [ + "KERNEL_HEADERS=${finalAttrs.kernel.dev}/lib/modules/${finalAttrs.kernel.modDirVersion}/source" + "KERNEL_OUTPUT=${finalAttrs.kernel.dev}/lib/modules/${finalAttrs.kernel.modDirVersion}/build" + "INSTALL_MOD_PATH=$(out)" + # Maybe TODO: get these from kernel_src_build_env.sh directly + "kernel_name=noble" + "system_type=l4t" + ]; + + postInstall = '' + mkdir -p $dev + cat **/Module.symvers > $dev/Module.symvers + + mkdir -p $dev/include/nvidia + install -m 0644 out/nvidia-conftest/nvidia/conftest.h $dev/include/nvidia/ + ''; + + outputs = [ + "out" + "dev" + ]; + + # # GCC 14.2 seems confused about DRM_MODESET_LOCK_ALL_BEGIN/DRM_MODESET_LOCK_ALL_END in nvdisplay/kernel-open/nvidia-drm/nvidia-drm-drv.c:1344 + # extraMakeFlags = [ "KCFLAGS=-Wno-error=unused-label" ]; + + buildFlags = [ "modules" ]; + installTargets = [ "modules_install" ]; +}) diff --git a/pkgs/l4t/default.nix b/pkgs/l4t/default.nix index b91bff83..4cadb148 100644 --- a/pkgs/l4t/default.nix +++ b/pkgs/l4t/default.nix @@ -1,6 +1,7 @@ { stdenv , stdenvNoCC , buildPackages +, config , lib , fetchurl , fetchpatch @@ -27,13 +28,16 @@ , cudaDriverMajorMinorVersion }: let + # Nicely, for JetPack 5 and 6, the t194 and t234 packages are currently + # identical, so we just use t194. No guarantee that will stay the same in + # the future, so we should consider choosing the right package set based + # on the SoC. + defaultSomRepo = if l4tAtLeast "38" then "som" else "t234"; + # Wrapper around mkDerivation that has some sensible defaults to extract a .deb file from the L4T BSP pacckage buildFromDeb = - # Nicely, the t194 and t234 packages are currently identical, so we just - # use t194. No guarantee that will stay the same in the future, so we - # should consider choosing the right package set based on the SoC. { name - , repo ? "t234" + , repo ? defaultSomRepo , deb ? debs.${repo}.${name} , src ? deb.src , version ? deb.version @@ -51,7 +55,8 @@ let # CMake, we need to add the hook (`markForCudatoolkitRootHook`) which allows them to be discovered by our # tooling. nativeBuildInputs = - [ cudaPackages.markForCudatoolkitRootHook dpkg ] + [ dpkg ] + ++ lib.optional config.cudaSupport cudaPackages.markForCudatoolkitRootHook ++ lib.optional autoPatchelf autoPatchelfHook ++ nativeBuildInputs; @@ -213,7 +218,7 @@ let # well as libnvidia-ptxjitcompiler in the same package. meta-tegra does a # similar thing where they pull libnvidia-ptxjitcompiler out of # l4t-3d-core and place it in the same package as libcuda. - dpkg --fsys-tarfile ${debs.t234.nvidia-l4t-3d-core.src} | tar -xO ./usr/lib/aarch64-linux-gnu/${folder}/libnvidia-ptxjitcompiler.so.${version} > lib/libnvidia-ptxjitcompiler.so.${version} + dpkg --fsys-tarfile ${debs.${defaultSomRepo}.nvidia-l4t-3d-core.src} | tar -xO ./usr/lib/aarch64-linux-gnu/${folder}/libnvidia-ptxjitcompiler.so.${version} > lib/libnvidia-ptxjitcompiler.so.${version} ln -sf libnvidia-ptxjitcompiler.so.${version} lib/libnvidia-ptxjitcompiler.so.1 ln -sf libnvidia-ptxjitcompiler.so.${version} lib/libnvidia-ptxjitcompiler.so ''; @@ -308,7 +313,7 @@ let name = "nvidia-l4t-multimedia"; # TODO: Replace the below with the builder from cuda-packages that works with multiple debs postUnpack = '' - dpkg-deb -x ${debs.t234.nvidia-l4t-multimedia-utils.src} source + dpkg-deb -x ${debs.${defaultSomRepo}.nvidia-l4t-multimedia-utils.src} source dpkg-deb -x ${debs.common.nvidia-l4t-jetson-multimedia-api.src} source ''; buildInputs = [ l4t-core l4t-cuda l4t-nvsci pango alsa-lib ] ++ (with gst_all_1; [ gstreamer gst-plugins-base ]); @@ -417,6 +422,18 @@ let ''; }; + l4t-bootloader-utils = buildFromDeb { + name = "nvidia-l4t-bootloader-utils"; + buildInputs = [ stdenv.cc.cc.lib l4t-core ]; + postPatch = '' + # Remove NVIDIA utilities for which we have a NixOS specific implementation + rm -f bin/nv_bootloader_capsule_updater.sh bin/nv_bootloader_payload_updater + + # Remove fwupd and systemd stuff + rm -rf etc + ''; + }; + l4t-wayland = buildFromDeb { name = "nvidia-l4t-wayland"; buildInputs = [ wayland ]; @@ -433,8 +450,8 @@ let nvidia-smi = buildFromDeb { name = "nvidia-smi"; - src = debs.t234.nvidia-l4t-nvml.src; - version = debs.t234.nvidia-l4t-nvml.version; + src = debs.${defaultSomRepo}.nvidia-l4t-nvml.src; + version = debs.${defaultSomRepo}.nvidia-l4t-nvml.version; buildInputs = [ l4t-core ]; # nvidia-smi will dlopen libnvidia-ml.so.1 appendRunpaths = [ "${placeholder "out"}/lib" ]; @@ -458,10 +475,14 @@ in l4t-nvsci l4t-pva l4t-tools - l4t-wayland - l4t-xusb-firmware; + l4t-wayland; } // lib.optionalAttrs (l4tAtLeast "36") { inherit l4t-dla-compiler - nvidia-smi; + nvidia-smi + ; +} // lib.optionalAttrs (l4tOlder "38") { + inherit l4t-xusb-firmware; # L4T 38+ uses upstream firmware +} // lib.optionalAttrs (l4tAtLeast "38") { + inherit l4t-bootloader-utils; } diff --git a/pkgs/optee/default.nix b/pkgs/optee/default.nix index b51cdd43..e6f24033 100644 --- a/pkgs/optee/default.nix +++ b/pkgs/optee/default.nix @@ -17,7 +17,6 @@ }: let - atfSrc = gitRepos."tegra/optee-src/atf"; nvopteeSrc = gitRepos."tegra/optee-src/nv-optee"; opteeClient = stdenv.mkDerivation { @@ -108,6 +107,7 @@ let nvCccPrebuilt = { t194 = ""; t234 = "${nvopteeSrc}/optee/optee_os/prebuilt/t234/libcommon_crypto.a"; + t264 = "${nvopteeSrc}/optee/optee_os/prebuilt/t264/libcommon_crypto.a"; }.${socType}; makeFlags = [ @@ -115,13 +115,15 @@ let "CROSS_COMPILE64=${stdenv.cc.targetPrefix}" "PLATFORM=tegra" "PLATFORM_FLAVOR=${socType}" - "CFG_WITH_STMM_SP=y" "NV_CCC_PREBUILT=${nvCccPrebuilt}" "O=$(out)" "CFG_TEE_CORE_LOG_LEVEL=${toString coreLogLevel}" "CFG_TEE_TA_LOG_LEVEL=${toString taLogLevel}" ] - ++ (lib.optional (uefi-firmware != null) "CFG_STMM_PATH=${uefi-firmware}/standalonemm_optee.bin") + ++ (lib.optionals ((socType == "t194" || socType == "t234") && uefi-firmware != null) [ + "CFG_WITH_STMM_SP=y" + "CFG_STMM_PATH=${uefi-firmware}/standalonemm_optee.bin" + ]) ++ (lib.optional (taPublicKeyFile != null) "TA_PUBLIC_KEY=${taPublicKeyFile}") ++ extraMakeFlags; in @@ -240,29 +242,49 @@ let ''); buildArmTrustedFirmware = lib.makeOverridable ({ socType, ... }: + let + socSpecialization = gitRepos ? "tegra/optee-src/atf_${socType}"; + src = if socSpecialization then gitRepos."tegra/optee-src/atf_${socType}" else gitRepos."tegra/optee-src/atf"; + srcDir = if socSpecialization then "arm-trusted-firmware.${socType}" else "arm-trusted-firmware"; + in stdenv.mkDerivation { pname = "arm-trusted-firmware"; version = l4tMajorMinorPatchVersion; - src = atfSrc; + inherit src; makeFlags = [ - "-C arm-trusted-firmware" + "-C ${srcDir}" "BUILD_BASE=$(PWD)/build" "CROSS_COMPILE=${stdenv.cc.targetPrefix}" "DEBUG=0" "LOG_LEVEL=20" "PLAT=tegra" - "SPD=opteed" "TARGET_SOC=${socType}" "V=0" # binutils 2.39 regression # `warning: /build/source/build/rk3399/release/bl31/bl31.elf has a LOAD segment with RWX permissions` # See also: https://developer.trustedfirmware.org/T996 "LDFLAGS=-no-warn-rwx-segments" - ] ++ lib.optionals (l4tAtLeast "36" && socType == "t234") [ + ] ++ lib.optionals (socType == "t194" || socType == "t234") [ + "SPD=opteed" + ] ++ lib.optionals (socType == "t264") [ + "ARM_ARCH_MINOR=6" + "CTX_INCLUDE_EL2_REGS=1" + "SPD=spmd" + "SP_LAYOUT_FILE=${src}/${srcDir}/secure_partition/sp_layout.json" + ] ++ lib.optionals ((lib.versions.major l4tMajorMinorPatchVersion) == "36" && socType != "t194") [ "BRANCH_PROTECTION=3" "ARM_ARCH_MINOR=3" ]; + buildFlags = [ "all" ] ++ lib.optional (l4tAtLeast "38") "fiptool"; + + nativeBuildInputs = lib.optionals (l4tAtLeast "38") [ dtc openssl buildPackages.stdenv.cc ]; + + # buildPackages.openssl needed to build `fiptool` + buildInputs = [ buildPackages.openssl ]; + + strictDeps = true; + enableParallelBuilding = true; installPhase = '' @@ -271,6 +293,13 @@ let mkdir -p $out cp ./build/tegra/${socType}/release/bl31.bin $out/bl31.bin + ${lib.optionalString socSpecialization '' + # From public sources, see instructions in nvidia-jetson-optee-source.tbz2 + dtc -I dts -O dtb -o nvidia-${socType}.dtb ${srcDir}/fdts/nvidia-${socType}.dts + ${srcDir}/tools/fiptool/fiptool create --soc-fw $out/bl31.bin --soc-fw-config nvidia-${socType}.dtb $out/bl31.fip + ''} + + runHook postInstall ''; @@ -288,13 +317,16 @@ let hwKeyAgent = buildHwKeyAgent args; opteeOS = buildOptee ({ - earlyTaPaths = [ + earlyTaPaths = lib.optionals (socType == "t194" || socType == "t234") [ "${nvLuksSrv}/b83d14a8-7128-49df-9624-35f14f65ca6c.stripped.elf" "${cpuBlPayloadDec}/0e35e2c9-b329-4ad9-a2f5-8ca9bbbd7713.stripped.elf" "${hwKeyAgent}/82154947-c1bc-4bdf-b89d-04f93c0ea97c.stripped.elf" ]; } // args); + teeRaw = "${opteeOS}/core/tee-raw.bin"; + dtb = "${opteeDTB}/tegra${lib.removePrefix "t" socType}-optee.dtb"; + image = buildPackages.runCommand "tos.img" { nativeBuildInputs = [ nukeReferences ]; @@ -303,16 +335,36 @@ let mkdir -p $out ${buildPackages.python3}/bin/python3 ${bspSrc}/nv_tegra/tos-scripts/gen_tos_part_img.py \ --monitor ${armTrustedFirmware}/bl31.bin \ - --os ${opteeOS}/core/tee-raw.bin \ - --dtb ${opteeDTB}/*.dtb \ + --os ${teeRaw} \ + --dtb ${dtb} \ --tostype optee \ $out/tos.img # Get rid of any string references to source(s) nuke-refs $out/* ''; + + imageSpTool = buildPackages.runCommand "tos.img" + { + nativeBuildInputs = [ nukeReferences ]; + passthru = { inherit nvLuksSrv hwKeyAgent; }; + } '' + # From public sources, see instructions in nvidia-jetson-optee-source.tbz2 + mkdir -p $out + ${lib.getExe buildPackages.python3} ${armTrustedFirmware.src}/arm-trusted-firmware.${socType}/tools/sptool/sptool.py \ + -i ${teeRaw}:${dtb} \ + -o $out/tos.img + + cp ${armTrustedFirmware}/bl31.fip $out/ + + nuke-refs $out/* + ''; in - image; + { + t194 = image; + t234 = image; + t264 = imageSpTool; + }.${socType}; in { inherit buildTOS buildOpteeTaDevKit opteeClient buildPkcs11Ta buildOpteeXtest; diff --git a/pkgs/ota-utils/ota-check-firmware.sh b/pkgs/ota-utils/ota-check-firmware.sh index dfc18aaf..820e2612 100644 --- a/pkgs/ota-utils/ota-check-firmware.sh +++ b/pkgs/ota-utils/ota-check-firmware.sh @@ -117,25 +117,25 @@ show_help() { brief= -while getopts ":hb" opt ; do +while getopts ":hb" opt; do case $opt in - h) - show_help - exit 0 - ;; - b) - brief=1 - ;; - ?) - echo "Error: invalid option -$OPTARG" >&2 - show_help "$@" >&2 - exit 2\ - ;; - *) - echo "Unknown error" >&2 - show_help "$@" >&2 - exit 2 - ;; + h) + show_help + exit 0 + ;; + b) + brief=1 + ;; + ?) + echo "Error: invalid option -$OPTARG" >&2 + show_help "$@" >&2 + exit 2 + ;; + *) + echo "Unknown error" >&2 + show_help "$@" >&2 + exit 2 + ;; esac done @@ -149,7 +149,7 @@ fi echo "Current firmware version is : ${CURRENT_FW_VER}" echo "Expected firmware version is: ${EXPECTED_FW_VER}" -if [ -z "$brief" ] ; then +if [ -z "$brief" ]; then # Capsule update is pending if TEGRA_BL.Cap exists and # OsIndications bit 4 is set (EFI_OS_INDICATIONS_FILE_CAPSULE_DELIVERY_SUPPORTED) if ! mountpoint -q @efiSysMountPoint@; then @@ -171,7 +171,7 @@ if [ -z "$brief" ] ; then # Xavier AGX clears BootChainFwStatus upon reboot since it doesn't have runtime writable UEFI variables. # get_efi_int will give us the to-be-written value, which is functionally an empty string. # This isn't interesting or useful, so always grab the cached value in /var/run/tegra-bootchainfwstatus - if [[ ( ! -e /var/run/tegra-bootchainfwstatus ) || ( -e /sys/firmware/efi/efivars/BootChainFwStatus-781e084c-a330-417c-b678-38e696380cb9 && -z "$noRuntimeUefiWrites" ) ]]; then + if [[ (! -e /var/run/tegra-bootchainfwstatus) || (-e /sys/firmware/efi/efivars/BootChainFwStatus-781e084c-a330-417c-b678-38e696380cb9 && -z "$noRuntimeUefiWrites") ]]; then echo "BootChainFwStatus : $(lookup "$(get_efi_int BootChainFwStatus-781e084c-a330-417c-b678-38e696380cb9)" bootchainstatus)" else echo "BootChainFwStatus : $(lookup "$(cat /var/run/tegra-bootchainfwstatus)" bootchainstatus)" diff --git a/pkgs/ota-utils/ota_helpers.sh b/pkgs/ota-utils/ota_helpers.sh index 959adffb..3a1de23a 100644 --- a/pkgs/ota-utils/ota_helpers.sh +++ b/pkgs/ota-utils/ota_helpers.sh @@ -69,6 +69,14 @@ generate_compat_spec() { chiprev="" ;; + # Thor AGX + 3834) + fab="" + boardsku="" + boardrev="" + chiprev="" + ;; + *) echo "Unknown boardid: ${boardid}" exit 1 diff --git a/pkgs/r38-bsp.patch b/pkgs/r38-bsp.patch new file mode 100644 index 00000000..2ddcc104 --- /dev/null +++ b/pkgs/r38-bsp.patch @@ -0,0 +1,27 @@ +diff --git a/bootloader/LICENSE.bl31_t264.fip.rst b/bootloader/LICENSE.bl31_t264.fip.rst +index 9ba773d..3a1f4e8 120000 +--- a/bootloader/LICENSE.bl31_t264.fip.rst ++++ b/bootloader/LICENSE.bl31_t264.fip.rst +@@ -1 +1 @@ +-Linux_for_Tegra/bootloader/LICENSE.bl31_t264.bin.rst +\ No newline at end of file ++LICENSE.bl31_t264.bin.rst +\ No newline at end of file +diff --git a/bootloader/LICENSE.hafnium_t264.fip.rst b/bootloader/LICENSE.hafnium_t264.fip.rst +index 00bf565..a49abfe 120000 +--- a/bootloader/LICENSE.hafnium_t264.fip.rst ++++ b/bootloader/LICENSE.hafnium_t264.fip.rst +@@ -1 +1 @@ +-Linux_for_Tegra/bootloader/LICENSE.hafnium_t264.bin.rst +\ No newline at end of file ++LICENSE.hafnium_t264.bin.rst +\ No newline at end of file +diff --git a/bootloader/LICENSE.t264_spmc.dtb.rst b/bootloader/LICENSE.t264_spmc.dtb.rst +index 00bf565..a49abfe 120000 +--- a/bootloader/LICENSE.t264_spmc.dtb.rst ++++ b/bootloader/LICENSE.t264_spmc.dtb.rst +@@ -1 +1 @@ +-Linux_for_Tegra/bootloader/LICENSE.hafnium_t264.bin.rst +\ No newline at end of file ++LICENSE.hafnium_t264.bin.rst +\ No newline at end of file diff --git a/pkgs/samples/graphics-demos.nix b/pkgs/samples/graphics-demos.nix index 491840ce..76135b7a 100644 --- a/pkgs/samples/graphics-demos.nix +++ b/pkgs/samples/graphics-demos.nix @@ -9,14 +9,17 @@ , stdenv , wayland , xorg +, l4tAtLeast }: # TODO: Add wayland and x11 tests for graphics demos.... let inherit (xorg) libX11 libXau; + + repo = if l4tAtLeast "38" then "som" else "t234"; in stdenv.mkDerivation { pname = "graphics-demos"; - inherit (debs.t234.nvidia-l4t-graphics-demos) src version; + inherit (debs.${repo}.nvidia-l4t-graphics-demos) src version; unpackCmd = "dpkg -x $src source"; sourceRoot = "source/usr/src/nvidia/graphics_demos"; diff --git a/pkgs/tegra-eeprom-tool/default.nix b/pkgs/tegra-eeprom-tool/default.nix index 3b78525c..3ff40945 100644 --- a/pkgs/tegra-eeprom-tool/default.nix +++ b/pkgs/tegra-eeprom-tool/default.nix @@ -7,8 +7,8 @@ stdenv.mkDerivation rec { src = fetchFromGitHub { owner = "OE4T"; repo = pname; - rev = "283a701d25283a4e5584f5fe072bcb2d7d2ae1b1"; - sha256 = "sha256-YMHIruwF9YKjYJY52DLJ8eovFZYyrUt1jb5GbTcrC+A="; + rev = "v2.1.0"; + sha256 = "sha256-oPc1IUyje4m9KDmvkyJbrImf5o/g+4eEkD6+e5Cq6iA="; }; nativeBuildInputs = [ cmake pkg-config ]; diff --git a/pkgs/uefi-firmware/r35/default.nix b/pkgs/uefi-firmware/r35/default.nix index 4236defc..48e49ced 100644 --- a/pkgs/uefi-firmware/r35/default.nix +++ b/pkgs/uefi-firmware/r35/default.nix @@ -25,6 +25,7 @@ edk2UefiPatches ? [ ] , debugMode ? false , errorLevelInfo ? debugMode +, socFamily ? null # used in r38+, not needed here. , # Enables a bunch more info messages # The root certificate (in PEM format) for authenticating capsule updates. By diff --git a/pkgs/uefi-firmware/r36/default.nix b/pkgs/uefi-firmware/r36/default.nix index e7612b1c..c3493c57 100644 --- a/pkgs/uefi-firmware/r36/default.nix +++ b/pkgs/uefi-firmware/r36/default.nix @@ -24,6 +24,7 @@ edk2UefiPatches ? [ ] , debugMode ? false , errorLevelInfo ? debugMode +, socFamily ? null # used in r38+, not needed here. , # Enables a bunch more info messages # The root certificate (in PEM format) for authenticating capsule updates. By diff --git a/pkgs/uefi-firmware/r38/capsule-authentication.diff b/pkgs/uefi-firmware/r38/capsule-authentication.diff new file mode 100644 index 00000000..0c4ac0f5 --- /dev/null +++ b/pkgs/uefi-firmware/r38/capsule-authentication.diff @@ -0,0 +1,14 @@ +diff --git a/Platform/NVIDIA/NVIDIA.common.dsc.inc b/Platform/NVIDIA/NVIDIA.common.dsc.inc +index 8e8ddbbe..84b8a84b 100644 +--- a/Platform/NVIDIA/NVIDIA.common.dsc.inc ++++ b/Platform/NVIDIA/NVIDIA.common.dsc.inc +@@ -945,6 +945,9 @@ gEfiSecurityPkgTokenSpaceGuid.PcdSingleBootApplicationGuid|{ GUID("cbf481fb-b373 + gNVIDIATokenSpaceGuid.PcdNvLogToScratchRegs|TRUE + !endif + ++ !include PublicCapsuleKey.cer.gEfiSecurityPkgTokenSpaceGuid.PcdPkcs7CertBuffer.inc ++ !include PublicCapsuleKey.cer.gFmpDevicePkgTokenSpaceGuid.PcdFmpDevicePkcs7CertBufferXdr.inc ++ + [PcdsDynamicDefault] + # + # Enable emulated variable NV mode in variable driver. diff --git a/pkgs/uefi-firmware/r38/default.nix b/pkgs/uefi-firmware/r38/default.nix new file mode 100644 index 00000000..4b0cc660 --- /dev/null +++ b/pkgs/uefi-firmware/r38/default.nix @@ -0,0 +1,255 @@ +{ lib +, stdenv +, callPackage +, buildPackages +, fetchFromGitHub +, fetchpatch +, runCommand +, acpica-tools +, dtc +, python3 +, unixtools +, libuuid +, which +, nasm +, applyPatches +, nukeReferences +, l4tMajorMinorPatchVersion +, uniqueHash ? "" +, # Optional path to a boot logo that will be converted and cropped into the format required + bootLogo ? null +, # Patches to apply to edk2-nvidia source tree + edk2NvidiaPatches ? [ ] +, # Patches to apply to edk2 source tree + edk2UefiPatches ? [ ] +, debugMode ? false +, socFamily ? "t26x" +, defconfig ? "${socFamily}_general" +, errorLevelInfo ? debugMode +, # Enables a bunch more info messages + + # The root certificate (in PEM format) for authenticating capsule updates. By + # default, EDK2 authenticates using a test keypair commited upstream. + trustedPublicCertPemFile ? null +}: + +let + # TODO: Move this generation out of uefi-firmware.nix, because this .nix + # file is callPackage'd using an aarch64 version of nixpkgs, and we don't + # want to have to recompilie imagemagick + bootLogoVariants = runCommand "uefi-bootlogo" { nativeBuildInputs = [ buildPackages.buildPackages.imagemagick ]; } '' + mkdir -p "$out" + convert "${bootLogo}" -resize 1920x1080 -gravity Center -extent 1920x1080 -format bmp -define bmp:format=bmp3 "$out/logo1080.bmp" + convert "${bootLogo}" -resize 1280x720 -gravity Center -extent 1280x720 -format bmp -define bmp:format=bmp3 "$out/logo720.bmp" + convert "${bootLogo}" -resize 640x480 -gravity Center -extent 640x480 -format bmp -define bmp:format=bmp3 "$out/logo480.bmp" + ''; + + # See: https://github.com/NVIDIA/edk2-edkrepo-manifest/blob/7b298576d93b0fae216aee7a1539268f4ce9c6a9/edk2-nvidia/Platform/NVIDIAPlatformsManifest.xml#L306 + defaultOrigin = { + owner = "NVIDIA"; + rev = "r38.2"; + }; + repos = { + edk2 = { + sha256 = "sha256-qJoQrU9o9HYdT9xwXV4fqQqIpG7zvL1nAzE+6fuwRFk="; + fetchSubmodules = true; + }; + edk2-non-osi.sha256 = "sha256-Dj6Og/sc3MEMU/37rUMu7miHOvFi3Qvfkm+nMSUBUF0="; + edk2-platforms.sha256 = "sha256-PsKxy/tiRl2/qcL/JQNXbUPsnWekAQ+4b+NiccSRGa4="; + edk2-infineon.sha256 = "sha256-47UJfEd4ViTenx5dvy2G75NFSgmcsyIWpN0Lv1QlvA8="; + edk2-redfish-client.sha256 = "sha256-EUWi5z+1sz2zMZM6x/sqE2NvdHRkQwQOcotsUwELsBY="; + edk2-nvidia.sha256 = "sha256-G+WoeWH4OxQlpwUijHSr5fcgQxLbzrGlackIUSxWtFc="; + edk2-nvidia-non-osi.sha256 = "sha256-8y7rNaaXC9ZvNHV/NRmbMVPCgYERqqley2SnMer5T0k="; + }; + + fetchRepo = name: value: fetchFromGitHub (defaultOrigin // { inherit name; repo = name; } // value); + fetchedRepos = builtins.mapAttrs fetchRepo repos; + + patchedRepos = fetchedRepos // { + edk2 = applyPatches { + name = "edk2"; + src = fetchedRepos.edk2; + # see https://github.com/NixOS/nixpkgs/blob/9e7e65f7c5ec6a9cfb4ca7239c78a3d237c160ac/pkgs/by-name/ed/edk2/package.nix#L51-L98 + patches = [ + # pass targetPrefix as an env var + (fetchpatch { + url = "https://src.fedoraproject.org/rpms/edk2/raw/08f2354cd280b4ce5a7888aa85cf520e042955c3/f/0021-Tweak-the-tools_def-to-support-cross-compiling.patch"; + hash = "sha256-E1/fiFNVx0aB1kOej2DJ2DlBIs9tAAcxoedym2Zhjxw="; + }) + # https://github.com/tianocore/edk2/pull/5658 + (fetchpatch { + name = "fix-cross-compilation-antlr-dlg.patch"; + url = "https://github.com/tianocore/edk2/commit/a34ff4a8f69a7b8a52b9b299153a8fac702c7df1.patch"; + hash = "sha256-u+niqwjuLV5tNPykW4xhb7PW2XvUmXhx5uvftG1UIbU="; + }) + + ./remove-gcc-prefix-checks.diff + ]; + }; + + edk2-nvidia = applyPatches { + name = "edk2-nvidia"; + src = fetchedRepos.edk2-nvidia; + patches = edk2NvidiaPatches ++ [ + ./stuart-passthru-compiler-prefix.diff + ./repeatability.diff + ] ++ lib.optionals (trustedPublicCertPemFile != null) [ + ./capsule-authentication.diff + ]; + postPatch = lib.optionalString errorLevelInfo '' + sed -i 's#PcdDebugPrintErrorLevel|.*#PcdDebugPrintErrorLevel|0x8000004F#' Platform/NVIDIA/NVIDIA.common.dsc.inc + '' + lib.optionalString (bootLogo != null) '' + cp ${bootLogoVariants}/logo1080.bmp Silicon/NVIDIA/Drivers/Logo/nvidiagray1080.bmp + cp ${bootLogoVariants}/logo720.bmp Silicon/NVIDIA/Drivers/Logo/nvidiagray720.bmp + cp ${bootLogoVariants}/logo480.bmp Silicon/NVIDIA/Drivers/Logo/nvidiagray480.bmp + ''; + }; + }; + pythonEnv = buildPackages.python312.withPackages (ps: callPackage ./pyenv.nix { inherit ps; inherit (patchedRepos) edk2-nvidia; }); + + buildTarget = if debugMode then "DEBUG" else "RELEASE"; + + targetArch = + if stdenv.hostPlatform.isi686 then + "IA32" + else if stdenv.hostPlatform.isx86_64 then + "X64" + else if stdenv.hostPlatform.isAarch32 then + "ARM" + else if stdenv.hostPlatform.isAarch64 then + "AARCH64" + else if stdenv.hostPlatform.isRiscV64 then + "RISCV64" + else if stdenv.hostPlatform.isLoongArch64 then + "LOONGARCH64" + else + throw "Unsupported architecture"; + + mkStuartDrv = platformBuild: extraArgs: + # TODO: edk2.mkDerivation doesn't have a way to override the edk version used! + # Make it not via passthru ? + stdenv.mkDerivation (finalAttrs: { + pname = "${platformBuild}-edk2-uefi-${buildTarget}"; + version = l4tMajorMinorPatchVersion; + + srcs = builtins.attrValues patchedRepos; + + sourceRoot = "."; + + depsBuildBuild = [ buildPackages.stdenv.cc buildPackages.bash libuuid ]; + nativeBuildInputs = [ + pythonEnv + + # from nixpkgs, for stuart + acpica-tools + dtc + nasm + unixtools.whereis + which + ]; + strictDeps = true; + + # trick taken from https://src.fedoraproject.org/rpms/edk2/blob/08f2354cd280b4ce5a7888aa85cf520e042955c3/f/edk2.spec#_319 + ${"GCC_${targetArch}_PREFIX"} = stdenv.cc.targetPrefix; + # stuart (nvidia extensions) really wants CROSS_COMPILER_PREFIX to look like this + CROSS_COMPILER_PREFIX = "${stdenv.cc}/bin/${stdenv.cc.targetPrefix}"; + # Version is ${FIRMWARE_VERSION_BASE}-${GIT_SYNC_REVISION} + FIRMWARE_VERSION_BASE = "${l4tMajorMinorPatchVersion}"; + + # see nixpkgs/pkgs/by-name/ed/edk2/package.nix + hardeningDisable = [ + "format" + "fortify" + ]; + + patches = edk2UefiPatches; + + patchPhase = '' + find . -name \*_ext_dep.yaml -delete + patchShebangs . + ''; + + configurePhase = '' + runHook preConfigure + + unset AR + unset AS + unset CC + unset CXX + unset LD + unset NM + unset OBJCOPY + unset OBJDUMP + unset RANLIB + unset READELF + unset SIZE + unset STRINGS + unset STRIP + + export WORKSPACE=$(pwd) + export GIT_SYNC_REVISION=$(printf "%s-%s" "${uniqueHash}" "$out" | sha256sum | head -c 12) + CFLAGS=$NIX_CFLAGS_COMPILE_FOR_BUILD LDFLAGS=$NIX_LDFLAGS_FOR_BUILD python edk2/BaseTools/Edk2ToolsBuild.py -t GCC5 + # DANGER: If someone else modifies PYTHONPATH, then we lose this + # We're okay when this was written. + export PYTHONPATH=$(pwd)/edk2-nvidia/Silicon/NVIDIA + + ${lib.optionalString (trustedPublicCertPemFile != null) '' + echo Using ${trustedPublicCertPemFile} as public certificate for capsule verification + ${lib.getExe buildPackages.openssl} x509 -outform DER -in ${trustedPublicCertPemFile} -out edk2/PublicCapsuleKey.cer + python3 edk2/BaseTools/Scripts/BinToPcd.py -p gEfiSecurityPkgTokenSpaceGuid.PcdPkcs7CertBuffer -i edk2/PublicCapsuleKey.cer -o edk2/PublicCapsuleKey.cer.gEfiSecurityPkgTokenSpaceGuid.PcdPkcs7CertBuffer.inc + python3 edk2/BaseTools/Scripts/BinToPcd.py -x -p gFmpDevicePkgTokenSpaceGuid.PcdFmpDevicePkcs7CertBufferXdr -i edk2/PublicCapsuleKey.cer -o edk2/PublicCapsuleKey.cer.gFmpDevicePkgTokenSpaceGuid.PcdFmpDevicePkcs7CertBufferXdr.inc + ''} + + runHook postConfigure + ''; + + buildPhase = '' + stuart_setup -c "edk2-nvidia/Platform/NVIDIA/${platformBuild}/PlatformBuild.py" + stuart_build -c "edk2-nvidia/Platform/NVIDIA/${platformBuild}/PlatformBuild.py" ${extraArgs} --target ${buildTarget} + ''; + + installPhase = '' + runHook preInstall + mv -v Build/*/* $out + mv -v reports/* $out + runHook postInstall + ''; + }); + + jetsonUefi = mkStuartDrv "Tegra" "--init-defconfig edk2-nvidia/Platform/NVIDIA/Tegra/DefConfigs/${defconfig}.defconfig"; + jetsonStandaloneMMOptee = mkStuartDrv "StandaloneMmOptee" ""; + + uefi-firmware = runCommand "uefi-firmware-${l4tMajorMinorPatchVersion}" + { + nativeBuildInputs = [ python3 nukeReferences ]; + passthru = { + # Keep in sync with FIRMWARE_VERSION_BASE and GIT_SYNC_REVISION above + biosVersion = "${l4tMajorMinorPatchVersion}-" + lib.substring 0 12 (builtins.hashString "sha256" "${uniqueHash}-${jetsonUefi}"); + inherit jetsonUefi jetsonStandaloneMMOptee; + } // patchedRepos; + } + ('' + mkdir -p $out + python3 ${patchedRepos.edk2-nvidia}/Silicon/NVIDIA/edk2nv/FormatUefiBinary.py \ + ${jetsonUefi}/FV/UEFI_NS.Fv \ + $out/uefi_jetson.bin + + python3 ${patchedRepos.edk2-nvidia}/Silicon/NVIDIA/edk2nv/FormatUefiBinary.py \ + ${jetsonUefi}/AARCH64/L4TLauncher.efi \ + $out/L4TLauncher.efi + + # Get rid of any string references to source(s) + nuke-refs $out/uefi_jetson.bin + '' + lib.optionalString (socFamily == "t19x" || socFamily == "t23x") '' + python3 ${patchedRepos.edk2-nvidia}/Silicon/NVIDIA/edk2nv/FormatUefiBinary.py \ + ${jetsonStandaloneMMOptee}/FV/UEFI_MM.Fv \ + $out/standalonemm_optee.bin + + nuke-refs $out/standalonemm_optee.bin + ''); +in +{ + inherit uefi-firmware; +} + + diff --git a/pkgs/uefi-firmware/r38/pyenv.nix b/pkgs/uefi-firmware/r38/pyenv.nix new file mode 100644 index 00000000..ba399ac3 --- /dev/null +++ b/pkgs/uefi-firmware/r38/pyenv.nix @@ -0,0 +1,100 @@ +{ fetchFromGitHub +, ps +, ... +}: +with ps; +let + edk2-pytool-library = buildPythonPackage + rec { + pname = "edk2-pytool-library"; + # Bumped from 0.19.3 for edk2-basetools + version = "0.23.2"; + pyproject = true; + + src = fetchPypi { + pname = "edk2_pytool_library"; + inherit version; + hash = "sha256-v33XVI+m2CSOuuxsu2JcBjm0cQmspWQGireQzL6/6rI="; + }; + build-system = [ setuptools-scm ]; + + dependencies = [ + pyasn1 + pyasn1-modules + cryptography + joblib + GitPython + sqlalchemy + pygount + ]; + }; + edk2-pytool-extensions = buildPythonPackage + rec { + pname = "edk2-pytool-extensions"; + version = "0.29.4"; + pyproject = true; + + src = fetchPypi { + pname = "edk2_pytool_extensions"; + inherit version; + hash = "sha256-qHLLHjFKnfgn4aO6n+CxhEqwyR7MaHYOfZxJCDhR13s="; + }; + build-system = [ setuptools-scm ]; + + dependencies = [ + edk2-pytool-library + pyyaml + pefile + semantic-version + GitPython + openpyxl + XlsxWriter + ]; + }; + edk2-basetools = buildPythonPackage + rec { + pname = "edk2-basetools"; + # Want 0.1.48, but it hard-codes a fetch from pypi! + # 0.1.50 is broken, see tianocore/edk2-basetools#124 + version = "0.1.53"; + pyproject = true; + + src = fetchFromGitHub { + owner = "tianocore"; + repo = pname; + rev = "v${version}"; + hash = "sha256-qg54/2fYjX9pJbcu2iryrWIvQc1iOFl8v490zD7IhrA="; + }; + build-system = [ setuptools setuptools-scm pytest pytest-html pytest-cov flake8 build ]; + + dependencies = [ + edk2-pytool-library + antlr4-python3-runtime + ]; + }; + kconfiglib = buildPythonPackage + rec { + pname = "kconfiglib"; + version = "14.1.0"; # Latest when writing, conveniently not pinned + pyproject = true; + + src = fetchPypi { + inherit pname version; + hash = "sha256-vtLMIhb1OOykJVqDpFiNiCNWPN1QEU+GzxomdOYCyTw="; + }; + build-system = [ setuptools ]; + }; +in +[ + # from edk2/pip-requirements.txt + edk2-pytool-library + edk2-pytool-extensions + edk2-basetools + antlr4-python3-runtime + lcov-cobertura + regex + # from edk2-nvidia + kconfiglib + # implicit! + setuptools +] diff --git a/pkgs/uefi-firmware/r38/remove-gcc-prefix-checks.diff b/pkgs/uefi-firmware/r38/remove-gcc-prefix-checks.diff new file mode 100644 index 00000000..cbd5913f --- /dev/null +++ b/pkgs/uefi-firmware/r38/remove-gcc-prefix-checks.diff @@ -0,0 +1,40 @@ +diff --git a/BaseTools/Plugin/LinuxGcc5ToolChain/LinuxGcc5ToolChain.py b/BaseTools/Plugin/LinuxGcc5ToolChain/LinuxGcc5ToolChain.py +index dab7a87997..db18dc8341 100644 +--- a/BaseTools/Plugin/LinuxGcc5ToolChain/LinuxGcc5ToolChain.py ++++ b/BaseTools/Plugin/LinuxGcc5ToolChain/LinuxGcc5ToolChain.py +@@ -21,35 +21,6 @@ class LinuxGcc5ToolChain(IUefiBuildPlugin): + + def do_pre_build(self, thebuilder): + self.Logger = logging.getLogger("LinuxGcc5ToolChain") +- +- # +- # GCC5 - The ARM and AARCH64 compilers need their paths set if available +- if thebuilder.env.GetValue("TOOL_CHAIN_TAG") == "GCC5": +- +- # Start with AARACH64 compiler +- ret = self._check_aarch64() +- if ret != 0: +- self.Logger.critical("Failed in check aarch64") +- return ret +- +- # Check arm compiler +- ret = self._check_arm() +- if ret != 0: +- self.Logger.critical("Failed in check arm") +- return ret +- +- # Check RISCV64 compiler +- ret = self._check_riscv64() +- if ret != 0: +- self.Logger.critical("Failed in check riscv64") +- return ret +- +- # Check LoongArch64 compiler +- ret = self._check_loongarch64() +- if ret != 0: +- self.Logger.critical("Failed in check loongarch64") +- return ret +- + return 0 + + def _check_arm(self): diff --git a/pkgs/uefi-firmware/r38/repeatability.diff b/pkgs/uefi-firmware/r38/repeatability.diff new file mode 100644 index 00000000..24f73828 --- /dev/null +++ b/pkgs/uefi-firmware/r38/repeatability.diff @@ -0,0 +1,13 @@ +diff --git a/Silicon/NVIDIA/edk2nv/stuart/builder.py b/Silicon/NVIDIA/edk2nv/stuart/builder.py +index 692400d2..f4e37d05 100644 +--- a/Silicon/NVIDIA/edk2nv/stuart/builder.py ++++ b/Silicon/NVIDIA/edk2nv/stuart/builder.py +@@ -323,7 +323,7 @@ class NVIDIAPlatformBuilder(UefiBuilder): + self.settings.GetGuid(), reason_dynamic) + + # Set additional build variables +- cur_time = datetime.datetime.now() ++ cur_time = datetime.datetime.fromtimestamp(int(os.getenv("SOURCE_DATE_EPOCH"))) + build_ts = cur_time.astimezone().replace(microsecond=0).isoformat() + self.env.SetValue("BLD_*_BUILD_DATE_TIME", build_ts, reason_dynamic) + epoch_time = int(time.time()) diff --git a/pkgs/uefi-firmware/r38/stuart-passthru-compiler-prefix.diff b/pkgs/uefi-firmware/r38/stuart-passthru-compiler-prefix.diff new file mode 100644 index 00000000..aead7267 --- /dev/null +++ b/pkgs/uefi-firmware/r38/stuart-passthru-compiler-prefix.diff @@ -0,0 +1,18 @@ +diff --git a/Silicon/NVIDIA/edk2nv/stuart/builder.py b/Silicon/NVIDIA/edk2nv/stuart/builder.py +index 692400d2..31cef6ae 100644 +--- a/Silicon/NVIDIA/edk2nv/stuart/builder.py ++++ b/Silicon/NVIDIA/edk2nv/stuart/builder.py +@@ -340,13 +340,6 @@ class NVIDIAPlatformBuilder(UefiBuilder): + str(ws_dir / self.settings.GetReportFile()), + reason_setman) + +- # Set shell env +- shell_environment.GetEnvironment().set_shell_var( +- f"{toolchain_tag}_AARCH64_PREFIX", +- self.settings.GetCrossCompilerPrefix()) +- shell_environment.GetEnvironment().set_shell_var( +- f"DTCPP_PREFIX", +- self.settings.GetCrossCompilerPrefix()) + # - Needed by build.py. + confdir_path = ws_dir / self.settings.GetConfDirName() + shell_environment.GetEnvironment().set_shell_var( diff --git a/sourceinfo/debs-update.py b/sourceinfo/debs-update.py index 8cc92c95..7eee3f43 100755 --- a/sourceinfo/debs-update.py +++ b/sourceinfo/debs-update.py @@ -13,7 +13,6 @@ BASE_URL = "https://repo.download.nvidia.com/jetson" -REPOS = ["t234", "common"] def fetch_debs(url): @@ -53,11 +52,18 @@ def fetch_debs(url): def main(): version = ".".join(sys.argv[1].removeprefix("r").split(sep=".", maxsplit=2)[:2]) + majorVersion = version.split(".")[0] + if majorVersion == "38": + repos = ["common", "som"] + elif majorVersion == "35" or majorVersion == "36": + repos = ["common", "t234"] + else: + raise Exception("Unsupported version") data = { repo: fetch_debs( f"{BASE_URL}/{repo}/dists/r{version}/main/binary-arm64/Packages.gz" ) - for repo in REPOS + for repo in repos } print(json.dumps(data, sort_keys=True, indent=2, separators=(",", ": "))) diff --git a/sourceinfo/r38.2-debs.json b/sourceinfo/r38.2-debs.json new file mode 100644 index 00000000..be6e35b6 --- /dev/null +++ b/sourceinfo/r38.2-debs.json @@ -0,0 +1,1503 @@ +{ + "common": { + "collectx-bringup": { + "filename": "pool/main/c/collectx-bringup/collectx-bringup_1.20.3-1_arm64.deb", + "sha256": "2df8028528c6b3e0369284f1efa0b527e0c10a49bd2be70efee34fb0c3271507", + "version": "1.20.3-1" + }, + "cuda-cccl-13-0": { + "filename": "pool/main/c/cuda-cccl/cuda-cccl-13-0_13.0.50-1_arm64.deb", + "sha256": "4ddff5a943bbce2d1793d28c3cde63fd2b011c9515cc5b008f8955005c2965b4", + "source": "cuda-cccl", + "version": "13.0.50-1" + }, + "cuda-command-line-tools-13-0": { + "filename": "pool/main/c/cuda-command-line-tools-13-0/cuda-command-line-tools-13-0_13.0.0-1_arm64.deb", + "sha256": "d2ffddde14bf7257a6f47737a26e95e37600861301b12bdfee4d2e96125f3acf", + "version": "13.0.0-1" + }, + "cuda-compat-13-0": { + "filename": "pool/main/n/nvidia-graphics-drivers-580/cuda-compat-13-0_580.65.06-0ubuntu1_arm64.deb", + "sha256": "a5573f4bb22dad6446c871fea34a1e1c500936257c634386346871c51f9db195", + "source": "nvidia-graphics-drivers-580", + "version": "580.65.06-0ubuntu1" + }, + "cuda-compiler-13-0": { + "filename": "pool/main/c/cuda-compiler-13-0/cuda-compiler-13-0_13.0.0-1_arm64.deb", + "sha256": "1826bdb86b09efd8afb89dc3d25f51d749ef7aa49f7bedb124ae8307d60f21d8", + "version": "13.0.0-1" + }, + "cuda-crt-13-0": { + "filename": "pool/main/c/cuda-crt/cuda-crt-13-0_13.0.48-1_arm64.deb", + "sha256": "ae228663c817bd92a5fcc2bcb1c0854741ec1a6582bfd597fc4e202e77bfc3cc", + "source": "cuda-crt", + "version": "13.0.48-1" + }, + "cuda-ctadvisor-13-0": { + "filename": "pool/main/c/cuda-ctadvisor/cuda-ctadvisor-13-0_13.0.39-1_arm64.deb", + "sha256": "5a263f376075b3de23940d43bbf091f15638aecf38093e394f57f5da23583990", + "source": "cuda-ctadvisor", + "version": "13.0.39-1" + }, + "cuda-cudart-13-0": { + "filename": "pool/main/c/cuda-cudart/cuda-cudart-13-0_13.0.48-1_arm64.deb", + "sha256": "399365014352921445857edf107863a41bb7c327d56b9b2f15b4a4858c6ad70e", + "source": "cuda-cudart", + "version": "13.0.48-1" + }, + "cuda-cudart-dev-13-0": { + "filename": "pool/main/c/cuda-cudart/cuda-cudart-dev-13-0_13.0.48-1_arm64.deb", + "sha256": "a250e6f687a78638edbd722846dadd720e6925fad19570c8fea3be14a94c7d70", + "source": "cuda-cudart", + "version": "13.0.48-1" + }, + "cuda-culibos-13-0": { + "filename": "pool/main/c/cuda-culibos/cuda-culibos-13-0_13.0.39-1_arm64.deb", + "sha256": "eda4a8a749a2da91572c4baf57dfa73281e438bb2eb58f90f23379c400f89c06", + "source": "cuda-culibos", + "version": "13.0.39-1" + }, + "cuda-culibos-dev-13-0": { + "filename": "pool/main/c/cuda-culibos/cuda-culibos-dev-13-0_13.0.39-1_arm64.deb", + "sha256": "d96dea261c1e30b0e43019e321487f8f2d27480f331953d9890e02d80a5fb9aa", + "source": "cuda-culibos", + "version": "13.0.39-1" + }, + "cuda-cuobjdump-13-0": { + "filename": "pool/main/c/cuda-cuobjdump/cuda-cuobjdump-13-0_13.0.39-1_arm64.deb", + "sha256": "0b4154bca9071ee4d1c26be5f0e38fa717477c4b557f7680262b4d6d79a077a2", + "source": "cuda-cuobjdump", + "version": "13.0.39-1" + }, + "cuda-cupti-13-0": { + "filename": "pool/main/c/cuda-cupti/cuda-cupti-13-0_13.0.48-1_arm64.deb", + "sha256": "a390c229852ea31c61771f82f29963e6d4580d74c865a74ba3fecf53d3959886", + "source": "cuda-cupti", + "version": "13.0.48-1" + }, + "cuda-cupti-dev-13-0": { + "filename": "pool/main/c/cuda-cupti/cuda-cupti-dev-13-0_13.0.48-1_arm64.deb", + "sha256": "af8ad5f0c08a5505b7ffc7a81621524b4519b8c81da75180e1f464b68236e75c", + "source": "cuda-cupti", + "version": "13.0.48-1" + }, + "cuda-cuxxfilt-13-0": { + "filename": "pool/main/c/cuda-cuxxfilt/cuda-cuxxfilt-13-0_13.0.39-1_arm64.deb", + "sha256": "bc652397c7e20680d74fed7d13be7e21b2cf4bc9bf936aa035607cf6e1d381d9", + "source": "cuda-cuxxfilt", + "version": "13.0.39-1" + }, + "cuda-documentation-13-0": { + "filename": "pool/main/c/cuda-documentation/cuda-documentation-13-0_13.0.39-1_arm64.deb", + "sha256": "441cf608c241ba69c1bfd3927312eecede005c8eca7d4186af0ef13e7965305a", + "source": "cuda-documentation", + "version": "13.0.39-1" + }, + "cuda-driver-dev-13-0": { + "filename": "pool/main/c/cuda-cudart/cuda-driver-dev-13-0_13.0.48-1_arm64.deb", + "sha256": "73a305ac2aa16d53cda27feee38f05941ca573332995687105f519190f4350d2", + "source": "cuda-cudart", + "version": "13.0.48-1" + }, + "cuda-gdb-13-0": { + "filename": "pool/main/c/cuda-gdb/cuda-gdb-13-0_13.0.39-1_arm64.deb", + "sha256": "5cf033b19a843c8480e2d3665925156f51cd8743cf2c86255cc0218bc06e6973", + "source": "cuda-gdb", + "version": "13.0.39-1" + }, + "cuda-gdb-src-13-0": { + "filename": "pool/main/c/cuda-gdb/cuda-gdb-src-13-0_13.0.39-1_arm64.deb", + "sha256": "415d23894d49a524fadfb394d5b2a126312fcc2e73adc55fb7b80013dea442a7", + "source": "cuda-gdb", + "version": "13.0.39-1" + }, + "cuda-minimal-build-13-0": { + "filename": "pool/main/c/cuda-minimal-build-13-0/cuda-minimal-build-13-0_13.0.0-1_arm64.deb", + "sha256": "88d90553bf4af4c9dfc4a95da512a9df570279497ea6ecedfe4378fa4181a869", + "version": "13.0.0-1" + }, + "cuda-nsight-compute-13-0": { + "filename": "pool/main/c/cuda-nsight-compute-13-0/cuda-nsight-compute-13-0_13.0.0-1_arm64.deb", + "sha256": "b8b9b6fd84eef2f5e8585bb56622dc0b5e4c1399489ddeed1653e8410fa825ad", + "version": "13.0.0-1" + }, + "cuda-nsight-systems-13-0": { + "filename": "pool/main/c/cuda-nsight-systems-13-0/cuda-nsight-systems-13-0_13.0.0-1_arm64.deb", + "sha256": "73cbdb4fd36f7c543d2fee88851929ac12224ccab0f8bd9b2dfc197d69d3d637", + "version": "13.0.0-1" + }, + "cuda-nvcc-13-0": { + "filename": "pool/main/c/cuda-nvcc/cuda-nvcc-13-0_13.0.48-1_arm64.deb", + "sha256": "c320d58169ba86a3adbbd48955efa9d2a62c08009f2bbeca8721317533bc70cc", + "source": "cuda-nvcc", + "version": "13.0.48-1" + }, + "cuda-nvdisasm-13-0": { + "filename": "pool/main/c/cuda-nvdisasm/cuda-nvdisasm-13-0_13.0.39-1_arm64.deb", + "sha256": "2cf59525037339f1fa7b2143a15d9d7afb353690ad09ca526c83f86dde52435c", + "source": "cuda-nvdisasm", + "version": "13.0.39-1" + }, + "cuda-nvml-dev-13-0": { + "filename": "pool/main/c/cuda-nvml-dev/cuda-nvml-dev-13-0_13.0.39-1_arm64.deb", + "sha256": "b99fb5614d36031a6ed7f64912c68d21212794ab7aea4a6c1e084e000b9ad512", + "source": "cuda-nvml-dev", + "version": "13.0.39-1" + }, + "cuda-nvprune-13-0": { + "filename": "pool/main/c/cuda-nvprune/cuda-nvprune-13-0_13.0.39-1_arm64.deb", + "sha256": "1b478656640abed0ffecef36c0dc157f8cbedca1bcd102bf3da7ce8ea7d67c6a", + "source": "cuda-nvprune", + "version": "13.0.39-1" + }, + "cuda-nvrtc-13-0": { + "filename": "pool/main/c/cuda-nvrtc/cuda-nvrtc-13-0_13.0.48-1_arm64.deb", + "sha256": "7620bb17b14e57596775d9fd0284a4df618283f0c6772c77de4abfbac2091480", + "source": "cuda-nvrtc", + "version": "13.0.48-1" + }, + "cuda-nvrtc-dev-13-0": { + "filename": "pool/main/c/cuda-nvrtc/cuda-nvrtc-dev-13-0_13.0.48-1_arm64.deb", + "sha256": "f7cafa202fe87b32d3192cf3f203b5aa03a62095b9acaf75135ef7f5270f7bbc", + "source": "cuda-nvrtc", + "version": "13.0.48-1" + }, + "cuda-nvtx-13-0": { + "filename": "pool/main/c/cuda-nvtx/cuda-nvtx-13-0_13.0.39-1_arm64.deb", + "sha256": "b24f88e7f8e7caeb6ab11aa9bbd38a09efbd7ccb6278b1e721ded49e8285651d", + "source": "cuda-nvtx", + "version": "13.0.39-1" + }, + "cuda-profiler-api-13-0": { + "filename": "pool/main/c/cuda-profiler-api/cuda-profiler-api-13-0_13.0.39-1_arm64.deb", + "sha256": "2cd1cc94faa6ae1dd68914470dc8a4abc4c78717088cb8737c946959195b99c4", + "source": "cuda-profiler-api", + "version": "13.0.39-1" + }, + "cuda-sandbox-dev-13-0": { + "filename": "pool/main/c/cuda-sandbox-dev/cuda-sandbox-dev-13-0_13.0.39-1_arm64.deb", + "sha256": "6dd3ffa42100b0c33dbe4129d99c97f3824756e3bd209413879d105e4adf67d9", + "source": "cuda-sandbox-dev", + "version": "13.0.39-1" + }, + "cuda-sanitizer-13-0": { + "filename": "pool/main/c/cuda-sanitizer-api/cuda-sanitizer-13-0_13.0.48-1_arm64.deb", + "sha256": "5385dc3d3177e5eb8caf62939eb60de8e0606e453be7369e438e8997ced4cbd0", + "source": "cuda-sanitizer-api", + "version": "13.0.48-1" + }, + "cuda-toolkit-13-0-config-common": { + "filename": "pool/main/c/cuda-cudart/cuda-toolkit-13-0-config-common_13.0.48-1_all.deb", + "sha256": "abffad16a936a95f453bd744077b9fe6120d9f8d081f1b659a24531856c081d9", + "source": "cuda-cudart", + "version": "13.0.48-1" + }, + "cuda-toolkit-13-config-common": { + "filename": "pool/main/c/cuda-cudart/cuda-toolkit-13-config-common_13.0.48-1_all.deb", + "sha256": "623ec73c66adc97e385bb8149d4c64eddfc5643fa7df11b0dc11812c94d7ddf3", + "source": "cuda-cudart", + "version": "13.0.48-1" + }, + "cuda-toolkit-config-common": { + "filename": "pool/main/c/cuda-cudart/cuda-toolkit-config-common_13.0.48-1_all.deb", + "sha256": "dfb7289c1712ce9dc538ecd7f3d37fbc0f0303763a626ea0a611a2b173caa868", + "source": "cuda-cudart", + "version": "13.0.48-1" + }, + "cuda-visual-tools-13-0": { + "filename": "pool/main/c/cuda-visual-tools-13-0/cuda-visual-tools-13-0_13.0.0-1_arm64.deb", + "sha256": "064012a365d9aad8a8759a58df5c4c8e8ac4accdfcc5ac21ef7c83c306ac44a7", + "version": "13.0.0-1" + }, + "cudnn": { + "filename": "pool/main/c/cudnn/cudnn_9.12.0-1_arm64.deb", + "sha256": "986175c6f771ea40905283da396c524b40cbb629a2056e3b71504b5fd5895d65", + "version": "9.12.0-1" + }, + "cudnn-jit": { + "filename": "pool/main/c/cudnn-jit/cudnn-jit_9.12.0-1_arm64.deb", + "sha256": "922a83f5f607cfb1c4f24ce257e05b41a0bdc39423e553369c7eb8ef198ea9c0", + "version": "9.12.0-1" + }, + "cudnn9": { + "filename": "pool/main/c/cudnn9/cudnn9_9.12.0-1_arm64.deb", + "sha256": "7609f9116caca261ba6f1a79198adbca85cfed3fbffa2d6c9a0dd0f91418fbf3", + "version": "9.12.0-1" + }, + "cudnn9-cuda-12": { + "filename": "pool/main/c/cudnn/cudnn9-cuda-12_9.12.0.46-1_arm64.deb", + "sha256": "760127a78da84a355ac280f206331749d59df3a7611f2cdf9bd58a8f25763fad", + "source": "cudnn", + "version": "9.12.0.46-1" + }, + "cudnn9-cuda-12-9": { + "filename": "pool/main/c/cudnn/cudnn9-cuda-12-9_9.12.0.46-1_arm64.deb", + "sha256": "e2361d1d3f57103cd643582591af131f71b9d9654b90d66c2ac8596e75e59220", + "source": "cudnn", + "version": "9.12.0.46-1" + }, + "cudnn9-cuda-13": { + "filename": "pool/main/c/cudnn/cudnn9-cuda-13_9.12.0.46-1_arm64.deb", + "sha256": "aa56914943de08e4d9075cca5d73a6daa87b8526133df8d3dee7cde401d8e8f5", + "source": "cudnn", + "version": "9.12.0.46-1" + }, + "cudnn9-cuda-13-0": { + "filename": "pool/main/c/cudnn/cudnn9-cuda-13-0_9.12.0.46-1_arm64.deb", + "sha256": "e7edf3d73e2de7c4b681a0e40203cbf2715440c288d5caa5dde52347a97ba070", + "source": "cudnn", + "version": "9.12.0.46-1" + }, + "cudnn9-jit": { + "filename": "pool/main/c/cudnn9-jit/cudnn9-jit_9.12.0-1_arm64.deb", + "sha256": "7bf1bc36ab2bb3ed6b30ef19a61af0fd3ed218006faace97caa447ca819d776a", + "version": "9.12.0-1" + }, + "cudnn9-jit-cuda-12": { + "filename": "pool/main/c/cudnn/cudnn9-jit-cuda-12_9.12.0.46-1_arm64.deb", + "sha256": "c431473fc00c3854fe5b9cc899bdec51fd54893786bccaf80c2496ef68c768c3", + "source": "cudnn", + "version": "9.12.0.46-1" + }, + "cudnn9-jit-cuda-12-9": { + "filename": "pool/main/c/cudnn/cudnn9-jit-cuda-12-9_9.12.0.46-1_arm64.deb", + "sha256": "181224b9e4f483530f01eb93f0d11fd44efb86602ef497eeee5c82f3377e4c29", + "source": "cudnn", + "version": "9.12.0.46-1" + }, + "cudnn9-jit-cuda-13": { + "filename": "pool/main/c/cudnn/cudnn9-jit-cuda-13_9.12.0.46-1_arm64.deb", + "sha256": "30c41aa0f50ff009a8d39fde015ce20a27851a016cdbf426f7cde0937f86e221", + "source": "cudnn", + "version": "9.12.0.46-1" + }, + "cudnn9-jit-cuda-13-0": { + "filename": "pool/main/c/cudnn/cudnn9-jit-cuda-13-0_9.12.0.46-1_arm64.deb", + "sha256": "0db381546765e856e93de5e6203a780919ee26ef094db822a1b0ab3d1b4be60a", + "source": "cudnn", + "version": "9.12.0.46-1" + }, + "deepstream-8.0": { + "filename": "pool/main/d/deepstream-8.0/deepstream-8.0_8.0.0-1_arm64.deb", + "sha256": "1eb5ad4550d43416a561a318f53c5c2a4a166f828b9dcc8e50c321d6e6055c31", + "version": "8.0.0-1" + }, + "dh-dkms": { + "filename": "pool/main/d/dkms/dh-dkms_3.2.1-1ubuntu2_all.deb", + "sha256": "419ba23750b537a0b1ee5c0f01854039a602209640ab8f51a572a3770faa35c3", + "source": "dkms", + "version": "1:3.2.1-1ubuntu2" + }, + "dkms": { + "filename": "pool/main/d/dkms/dkms_3.2.1-1ubuntu2_all.deb", + "sha256": "47af16cb67f6f7ef1c2086f28744364296267020536d601fa0cd8acdbd534965", + "version": "1:3.2.1-1ubuntu2" + }, + "dkms-noautoinstall-test-dkms": { + "filename": "pool/main/d/dkms/dkms-noautoinstall-test-dkms_3.2.1-1ubuntu2_all.deb", + "sha256": "1ed7542b5abc20c995339b6ec4548bcad4ac74c2fc8a6e788bfca943ba7a21f8", + "source": "dkms", + "version": "1:3.2.1-1ubuntu2" + }, + "dkms-replace-test-dkms": { + "filename": "pool/main/d/dkms/dkms-replace-test-dkms_3.2.1-1ubuntu2_all.deb", + "sha256": "687758b23e61fd7ac27f2789e257f970cd45beeb6c0d35ef9f7913e369cf34d2", + "source": "dkms", + "version": "1:3.2.1-1ubuntu2" + }, + "dkms-test-dkms": { + "filename": "pool/main/d/dkms/dkms-test-dkms_3.2.1-1ubuntu2_all.deb", + "sha256": "62eb58ec3b066c324d3b1d3034db0c2dab557b7dbd2446f069c140a59ea2e0cf", + "source": "dkms", + "version": "1:3.2.1-1ubuntu2" + }, + "gds-tools-13-0": { + "filename": "pool/main/libc/libcufile/gds-tools-13-0_1.15.0.42-1_arm64.deb", + "sha256": "b230f9527a575955d9384cf524c6a092e801e65223bb29c221e31508589e4529", + "source": "libcufile", + "version": "1.15.0.42-1" + }, + "holoscan": { + "filename": "pool/main/h/holoscan/holoscan_3.6.1_arm64.deb", + "sha256": "76ba0e4962d56ea4b3cb9b316eaabd2d4af14b889764af06415399fff89c42c0", + "version": "3.6.1" + }, + "libcublas-13-0": { + "filename": "pool/main/libc/libcublas/libcublas-13-0_13.0.0.19-1_arm64.deb", + "sha256": "99811d486c94dd7872da2d08bf75ff15692a83aba20d9acd7b664b48994281f4", + "source": "libcublas", + "version": "13.0.0.19-1" + }, + "libcublas-dev-13-0": { + "filename": "pool/main/libc/libcublas/libcublas-dev-13-0_13.0.0.19-1_arm64.deb", + "sha256": "eca54fc2cba92e7bef84df0d4ed98b3b2c5d99d3a9c8f28a2895b68de520a0b9", + "source": "libcublas", + "version": "13.0.0.19-1" + }, + "libcudnn9-cuda-12": { + "filename": "pool/main/c/cudnn/libcudnn9-cuda-12_9.12.0.46-1_arm64.deb", + "sha256": "4a7c94a408a10e6efeb8cf09cccdf7dcfa3748ad8caa50efddc02b894a6eb82d", + "source": "cudnn", + "version": "9.12.0.46-1" + }, + "libcudnn9-cuda-13": { + "filename": "pool/main/c/cudnn/libcudnn9-cuda-13_9.12.0.46-1_arm64.deb", + "sha256": "04a793a6e206b153578851f25d7dcb923a17d19e166fb1acb4e4b2f47e7a6516", + "source": "cudnn", + "version": "9.12.0.46-1" + }, + "libcudnn9-dev-cuda-12": { + "filename": "pool/main/c/cudnn/libcudnn9-dev-cuda-12_9.12.0.46-1_arm64.deb", + "sha256": "04c9b574d5acefb07be0aebde2b8e2c4f35e7091145aef4c75ad7844f803e136", + "source": "cudnn", + "version": "9.12.0.46-1" + }, + "libcudnn9-dev-cuda-13": { + "filename": "pool/main/c/cudnn/libcudnn9-dev-cuda-13_9.12.0.46-1_arm64.deb", + "sha256": "854b889fee8135209acdb076c5feffd8170e9d6c330e5f6d3c19005d7a555917", + "source": "cudnn", + "version": "9.12.0.46-1" + }, + "libcudnn9-headers-cuda-12": { + "filename": "pool/main/c/cudnn/libcudnn9-headers-cuda-12_9.12.0.46-1_arm64.deb", + "sha256": "b2da75e5fbd28e4dc4b053ecbe25fd0631f2d0e35a4b58c3a075dbe210e79dcd", + "source": "cudnn", + "version": "9.12.0.46-1" + }, + "libcudnn9-headers-cuda-13": { + "filename": "pool/main/c/cudnn/libcudnn9-headers-cuda-13_9.12.0.46-1_arm64.deb", + "sha256": "4f8f12616437d16629769ca899524dfa3057d40c6044c2e8b44078d37be7e467", + "source": "cudnn", + "version": "9.12.0.46-1" + }, + "libcudnn9-jit-cuda-12": { + "filename": "pool/main/c/cudnn/libcudnn9-jit-cuda-12_9.12.0.46-1_arm64.deb", + "sha256": "39fbc09af7d666aa782b5970e8986eda947ea7ea79aa5ef738c4ba215eb5f499", + "source": "cudnn", + "version": "9.12.0.46-1" + }, + "libcudnn9-jit-cuda-13": { + "filename": "pool/main/c/cudnn/libcudnn9-jit-cuda-13_9.12.0.46-1_arm64.deb", + "sha256": "3a492fc7b4f184f83a18efa5e75dcf754c2cc2b37e650c46707dfaafd13475f4", + "source": "cudnn", + "version": "9.12.0.46-1" + }, + "libcudnn9-jit-dev-cuda-12": { + "filename": "pool/main/c/cudnn/libcudnn9-jit-dev-cuda-12_9.12.0.46-1_arm64.deb", + "sha256": "095f49c5d644e95e9b351d4110d9a8e140cbd865c93c8a742ef9df716e60bb77", + "source": "cudnn", + "version": "9.12.0.46-1" + }, + "libcudnn9-jit-dev-cuda-13": { + "filename": "pool/main/c/cudnn/libcudnn9-jit-dev-cuda-13_9.12.0.46-1_arm64.deb", + "sha256": "3443e972ce00d80e62c544ec1ce9c9e2a39be41a3f1fb69f53506f1a5bb42f48", + "source": "cudnn", + "version": "9.12.0.46-1" + }, + "libcudnn9-samples": { + "filename": "pool/main/c/cudnn-samples/libcudnn9-samples_9.12.0.46-1_all.deb", + "sha256": "674152f1fa5ca91cacbb0c74ffaec9550bf6d46e45cd92266e8e35193eefc97b", + "source": "cudnn-samples", + "version": "9.12.0.46-1" + }, + "libcudnn9-static-cuda-12": { + "filename": "pool/main/c/cudnn/libcudnn9-static-cuda-12_9.12.0.46-1_arm64.deb", + "sha256": "19000c45537a872ca82d7c3e0ad1e171b2ecc426c01b93980d86ebfde50beabf", + "source": "cudnn", + "version": "9.12.0.46-1" + }, + "libcudnn9-static-cuda-13": { + "filename": "pool/main/c/cudnn/libcudnn9-static-cuda-13_9.12.0.46-1_arm64.deb", + "sha256": "f928d0f40c641c251e6f0397d007fa39d82653da04b65efef9df0a5c45b5f945", + "source": "cudnn", + "version": "9.12.0.46-1" + }, + "libcufft-13-0": { + "filename": "pool/main/libc/libcufft/libcufft-13-0_12.0.0.15-1_arm64.deb", + "sha256": "f1d38860f267da646ee59edfe3e6b80757e852b658dfe00b9f843817e82af87c", + "source": "libcufft", + "version": "12.0.0.15-1" + }, + "libcufft-dev-13-0": { + "filename": "pool/main/libc/libcufft/libcufft-dev-13-0_12.0.0.15-1_arm64.deb", + "sha256": "b702149fdfb8951ea08a4d998366ed365e1950c59526a9c1bb067eb2534f2246", + "source": "libcufft", + "version": "12.0.0.15-1" + }, + "libcufile-13-0": { + "filename": "pool/main/libc/libcufile/libcufile-13-0_1.15.0.42-1_arm64.deb", + "sha256": "24a8e9388124a45408a9b5b4ab0368bf8c869c71777bcf7c2d9b1717294b0eda", + "source": "libcufile", + "version": "1.15.0.42-1" + }, + "libcufile-dev-13-0": { + "filename": "pool/main/libc/libcufile/libcufile-dev-13-0_1.15.0.42-1_arm64.deb", + "sha256": "951f1f8198300a2cfefd9f94ab7c684edd8500c4474ec29dc3af7b37e33d2d30", + "source": "libcufile", + "version": "1.15.0.42-1" + }, + "libcurand-13-0": { + "filename": "pool/main/libc/libcurand/libcurand-13-0_10.4.0.35-1_arm64.deb", + "sha256": "e4f37d08dda851cefa5693adfdecec3c1a7879e47342755ce8d8c2a1fcea066b", + "source": "libcurand", + "version": "10.4.0.35-1" + }, + "libcurand-dev-13-0": { + "filename": "pool/main/libc/libcurand/libcurand-dev-13-0_10.4.0.35-1_arm64.deb", + "sha256": "5a1d55c3ffc7e516bb801dcd2614419146e2551adcbed670f2bda379dd7747f9", + "source": "libcurand", + "version": "10.4.0.35-1" + }, + "libcusolver-13-0": { + "filename": "pool/main/libc/libcusolver/libcusolver-13-0_12.0.3.29-1_arm64.deb", + "sha256": "4b641739ec5f47a54a7833a89aa15575a8a73260847d07ab751686e494c4f1bc", + "source": "libcusolver", + "version": "12.0.3.29-1" + }, + "libcusolver-dev-13-0": { + "filename": "pool/main/libc/libcusolver/libcusolver-dev-13-0_12.0.3.29-1_arm64.deb", + "sha256": "bcffd6bcd6919e08606e0a21cdd5d5805dab693d2988f77270af40c856b729af", + "source": "libcusolver", + "version": "12.0.3.29-1" + }, + "libcusparse-13-0": { + "filename": "pool/main/libc/libcusparse/libcusparse-13-0_12.6.2.49-1_arm64.deb", + "sha256": "a9c53a7adf395a2887f238d719eac8493437258249d9a1e5f759d407aeee32ab", + "source": "libcusparse", + "version": "12.6.2.49-1" + }, + "libcusparse-dev-13-0": { + "filename": "pool/main/libc/libcusparse/libcusparse-dev-13-0_12.6.2.49-1_arm64.deb", + "sha256": "2c40668993b893c15ce86c3035fd88e110d1eb42f9e14da2c40d390de158db72", + "source": "libcusparse", + "version": "12.6.2.49-1" + }, + "libnpp-13-0": { + "filename": "pool/main/libn/libnpp/libnpp-13-0_13.0.0.50-1_arm64.deb", + "sha256": "9fa1c60a853e410d145cb2e1ca8141bd4efaf26ecda8c5631f30f175195b7102", + "source": "libnpp", + "version": "13.0.0.50-1" + }, + "libnpp-dev-13-0": { + "filename": "pool/main/libn/libnpp/libnpp-dev-13-0_13.0.0.50-1_arm64.deb", + "sha256": "85b88ce06a101224ebe7be293f38df25e7daf507e962bbb098e1a68e212501f7", + "source": "libnpp", + "version": "13.0.0.50-1" + }, + "libnvfatbin-13-0": { + "filename": "pool/main/libn/libnvfatbin/libnvfatbin-13-0_13.0.39-1_arm64.deb", + "sha256": "c694bfda1561ed2b57dcfdc8e46b17c2c468b718009f06909ec766d6327524a4", + "source": "libnvfatbin", + "version": "13.0.39-1" + }, + "libnvfatbin-dev-13-0": { + "filename": "pool/main/libn/libnvfatbin/libnvfatbin-dev-13-0_13.0.39-1_arm64.deb", + "sha256": "8668ea1aef3c33d6b2c44f580c1eab21b3c18490af758877d2dad3ed2f6d36dd", + "source": "libnvfatbin", + "version": "13.0.39-1" + }, + "libnvidia-cfg1-580": { + "filename": "pool/main/n/nvidia-graphics-drivers-580/libnvidia-cfg1-580_580.65.06-0ubuntu1_arm64.deb", + "sha256": "263638f5fed02d6d0ec36f32259e1df2834f031a64df2daae797e027f4a9ea3a", + "source": "nvidia-graphics-drivers-580", + "version": "580.65.06-0ubuntu1" + }, + "libnvidia-common-580": { + "filename": "pool/main/n/nvidia-graphics-drivers-580/libnvidia-common-580_580.65.06-0ubuntu1_all.deb", + "sha256": "7fb396d2ec18719477c696804ae2701be274f440703284b0fc3c726cf27a7b37", + "source": "nvidia-graphics-drivers-580", + "version": "580.65.06-0ubuntu1" + }, + "libnvidia-compute-580": { + "filename": "pool/main/n/nvidia-graphics-drivers-580/libnvidia-compute-580_580.65.06-0ubuntu1_arm64.deb", + "sha256": "5952081c907b3e43b800cfa48d63b6a7dcebb1a45d9a9d076a316f98e071b38f", + "source": "nvidia-graphics-drivers-580", + "version": "580.65.06-0ubuntu1" + }, + "libnvidia-container-tools": { + "filename": "pool/main/libn/libnvidia-container/libnvidia-container-tools_1.18.0~rc.4-1_arm64.deb", + "sha256": "9b7dbdf6e1db2545f9abbc2f69c7da7ee5b26bf1656683d0f4dc64b31ec6175c", + "source": "libnvidia-container", + "version": "1.18.0~rc.4-1" + }, + "libnvidia-container1": { + "filename": "pool/main/libn/libnvidia-container/libnvidia-container1_1.18.0~rc.4-1_arm64.deb", + "sha256": "438be485912ecd19bba083920ca6f351a07fefa66df98c5c2ab3b4db548bd105", + "source": "libnvidia-container", + "version": "1.18.0~rc.4-1" + }, + "libnvidia-decode-580": { + "filename": "pool/main/n/nvidia-graphics-drivers-580/libnvidia-decode-580_580.65.06-0ubuntu1_arm64.deb", + "sha256": "133a352555a28ece5d54b51e9bd929857b76e3a9c275a59bccedb6feb5a8b07f", + "source": "nvidia-graphics-drivers-580", + "version": "580.65.06-0ubuntu1" + }, + "libnvidia-egl-gbm1": { + "filename": "pool/main/n/nvidia-egl-gbm/libnvidia-egl-gbm1_1.1.2.1-1ubuntu1_arm64.deb", + "sha256": "68e50607c35a9842bbccec9d89f9098a307a4773e9aed72533d9134ccbc78589", + "source": "nvidia-egl-gbm", + "version": "1.1.2.1-1ubuntu1" + }, + "libnvidia-egl-wayland-dev": { + "filename": "pool/main/e/egl-wayland/libnvidia-egl-wayland-dev_1.1.19-1ubuntu1_arm64.deb", + "sha256": "1b85a5230d619dc618ce455832c39fd75adb834bbae4a72c2fb4a00bf3e22d87", + "source": "egl-wayland", + "version": "1:1.1.19-1ubuntu1" + }, + "libnvidia-egl-wayland1": { + "filename": "pool/main/e/egl-wayland/libnvidia-egl-wayland1_1.1.19-1ubuntu1_arm64.deb", + "sha256": "743fcee318fa7ad219bbfa717ba209fbf05426b5b8c370423fa6b044ff33449c", + "source": "egl-wayland", + "version": "1:1.1.19-1ubuntu1" + }, + "libnvidia-egl-xcb1": { + "filename": "pool/main/e/egl-x11/libnvidia-egl-xcb1_1.0.2-1ubuntu1_arm64.deb", + "sha256": "11d780691cb1d2acb37418deb16de5e5760be0f3b2b9b82dfebdcc86c1bc94c6", + "source": "egl-x11", + "version": "1.0.2-1ubuntu1" + }, + "libnvidia-egl-xlib1": { + "filename": "pool/main/e/egl-x11/libnvidia-egl-xlib1_1.0.2-1ubuntu1_arm64.deb", + "sha256": "c2e474f2f55e990ee67e913c52b06550d6f87d2914d21839bdda0eaf21e1c561", + "source": "egl-x11", + "version": "1.0.2-1ubuntu1" + }, + "libnvidia-encode-580": { + "filename": "pool/main/n/nvidia-graphics-drivers-580/libnvidia-encode-580_580.65.06-0ubuntu1_arm64.deb", + "sha256": "6f062fa03109709be7bc45d0f89b6d1dc5dbe74f6c681ddaa2ed65378bd1045c", + "source": "nvidia-graphics-drivers-580", + "version": "580.65.06-0ubuntu1" + }, + "libnvidia-extra-580": { + "filename": "pool/main/n/nvidia-graphics-drivers-580/libnvidia-extra-580_580.65.06-0ubuntu1_arm64.deb", + "sha256": "e3500bd02d810eee1e5bc2b9500cfcc844e6f0c829c36bc667207ef82dcf7913", + "source": "nvidia-graphics-drivers-580", + "version": "580.65.06-0ubuntu1" + }, + "libnvidia-fbc1-580": { + "filename": "pool/main/n/nvidia-graphics-drivers-580/libnvidia-fbc1-580_580.65.06-0ubuntu1_arm64.deb", + "sha256": "c9dd5bfeb124615e1229b8cf700e3b5c37d92b4dda4fdd53d8d09fce40a00c6d", + "source": "nvidia-graphics-drivers-580", + "version": "580.65.06-0ubuntu1" + }, + "libnvidia-gl-580": { + "filename": "pool/main/n/nvidia-graphics-drivers-580/libnvidia-gl-580_580.65.06-0ubuntu1_arm64.deb", + "sha256": "aafecb92dad95ec8d8a4f61019e3fce452220be47af656911b8499f1d588270f", + "source": "nvidia-graphics-drivers-580", + "version": "580.65.06-0ubuntu1" + }, + "libnvidia-gpucomp-580": { + "filename": "pool/main/n/nvidia-graphics-drivers-580/libnvidia-gpucomp-580_580.65.06-0ubuntu1_arm64.deb", + "sha256": "c08200fc2f12233728c1c3453aa951b157bccaf5862c2a98fefa1f7b3840ca78", + "source": "nvidia-graphics-drivers-580", + "version": "580.65.06-0ubuntu1" + }, + "libnvidia-nscq": { + "filename": "pool/main/libn/libnvidia-nscq/libnvidia-nscq_580.65.06-1_arm64.deb", + "sha256": "7eb7a4d46ce1dd1aa1604b9b9499a7b283deb296fbb3d2cf36c5016c625f5c55", + "version": "580.65.06-1" + }, + "libnvinfer-bin": { + "filename": "pool/main/t/tensorrt/libnvinfer-bin_10.13.3.9-1+cuda13.0_arm64.deb", + "sha256": "87757a408983513ba8c9c7a22fbe04f10673bade62872b87553efa15217bd4e4", + "source": "tensorrt", + "version": "10.13.3.9-1+cuda13.0" + }, + "libnvinfer-dev": { + "filename": "pool/main/t/tensorrt/libnvinfer-dev_10.13.3.9-1+cuda13.0_arm64.deb", + "sha256": "40b2b769b6f5c77684d5feec2ca01e87cbb3d0e1ff8b41c679e264f7d98b65e8", + "source": "tensorrt", + "version": "10.13.3.9-1+cuda13.0" + }, + "libnvinfer-dispatch-dev": { + "filename": "pool/main/t/tensorrt/libnvinfer-dispatch-dev_10.13.3.9-1+cuda13.0_arm64.deb", + "sha256": "7d7a89a6873dbcb7640e39d0f1819f39d5854e6a81a56d3763efc98a43eff80b", + "source": "tensorrt", + "version": "10.13.3.9-1+cuda13.0" + }, + "libnvinfer-dispatch10": { + "filename": "pool/main/t/tensorrt/libnvinfer-dispatch10_10.13.3.9-1+cuda13.0_arm64.deb", + "sha256": "da615f77ffd29b14652dc62658089b29cc9cde4560af9991d54f12d45a64b0cd", + "source": "tensorrt", + "version": "10.13.3.9-1+cuda13.0" + }, + "libnvinfer-headers-dev": { + "filename": "pool/main/t/tensorrt/libnvinfer-headers-dev_10.13.3.9-1+cuda13.0_arm64.deb", + "sha256": "61baa587776b5a074fc4bc794836b32c3fb4d0573ce7610389fc65f58ac0336b", + "source": "tensorrt", + "version": "10.13.3.9-1+cuda13.0" + }, + "libnvinfer-headers-plugin-dev": { + "filename": "pool/main/t/tensorrt/libnvinfer-headers-plugin-dev_10.13.3.9-1+cuda13.0_arm64.deb", + "sha256": "8e66fb552c748f7c890cf69eb7596d4a42ab48f916dfbc2036987a79aab43cd5", + "source": "tensorrt", + "version": "10.13.3.9-1+cuda13.0" + }, + "libnvinfer-headers-python-plugin-dev": { + "filename": "pool/main/t/tensorrt/libnvinfer-headers-python-plugin-dev_10.13.3.9-1+cuda13.0_arm64.deb", + "sha256": "8432649d2a53a4857c6c4363507a234952da8d21135150673c6e9b1178bf42f1", + "source": "tensorrt", + "version": "10.13.3.9-1+cuda13.0" + }, + "libnvinfer-lean-dev": { + "filename": "pool/main/t/tensorrt/libnvinfer-lean-dev_10.13.3.9-1+cuda13.0_arm64.deb", + "sha256": "a84eea17806bef0de03c222a8a3952d6aec2e05e162ae5cc9cdeda5b28982997", + "source": "tensorrt", + "version": "10.13.3.9-1+cuda13.0" + }, + "libnvinfer-lean10": { + "filename": "pool/main/t/tensorrt/libnvinfer-lean10_10.13.3.9-1+cuda13.0_arm64.deb", + "sha256": "85a6ecce9b42d5dac0a9a8c1df2e03e90410b98c6cc99d16aa90ed8fef657ea1", + "source": "tensorrt", + "version": "10.13.3.9-1+cuda13.0" + }, + "libnvinfer-plugin-dev": { + "filename": "pool/main/t/tensorrt/libnvinfer-plugin-dev_10.13.3.9-1+cuda13.0_arm64.deb", + "sha256": "23a3e2f949ddbc266c5945b257f7be276171b6f19ec3d67d76857e890d36f42d", + "source": "tensorrt", + "version": "10.13.3.9-1+cuda13.0" + }, + "libnvinfer-plugin10": { + "filename": "pool/main/t/tensorrt/libnvinfer-plugin10_10.13.3.9-1+cuda13.0_arm64.deb", + "sha256": "0af6f955b17da27fc94284cdd39a67b6702452bc8bc8587f9f6a63be58ca1f71", + "source": "tensorrt", + "version": "10.13.3.9-1+cuda13.0" + }, + "libnvinfer-samples": { + "filename": "pool/main/t/tensorrt/libnvinfer-samples_10.13.3.9-1+cuda13.0_all.deb", + "sha256": "3a0acf115e34987c0f2e3534374696ac0c4ef05e6a02314a3eafc4397ec9675c", + "source": "tensorrt", + "version": "10.13.3.9-1+cuda13.0" + }, + "libnvinfer-vc-plugin-dev": { + "filename": "pool/main/t/tensorrt/libnvinfer-vc-plugin-dev_10.13.3.9-1+cuda13.0_arm64.deb", + "sha256": "c39aa8d25d8be49e9cd17bc96f2dc45efa2bc8c8606cec0f33cc2ddede402944", + "source": "tensorrt", + "version": "10.13.3.9-1+cuda13.0" + }, + "libnvinfer-vc-plugin10": { + "filename": "pool/main/t/tensorrt/libnvinfer-vc-plugin10_10.13.3.9-1+cuda13.0_arm64.deb", + "sha256": "732f161bbebe8b2d1567f2f3cb8e26de38ef469ab08bbfdad2edffa460696e19", + "source": "tensorrt", + "version": "10.13.3.9-1+cuda13.0" + }, + "libnvinfer10": { + "filename": "pool/main/t/tensorrt/libnvinfer10_10.13.3.9-1+cuda13.0_arm64.deb", + "sha256": "c153dd67175d12661437d5bc9b573344467bc716c03133bc77ed1befa820eac6", + "source": "tensorrt", + "version": "10.13.3.9-1+cuda13.0" + }, + "libnvjitlink-13-0": { + "filename": "pool/main/libn/libnvjitlink/libnvjitlink-13-0_13.0.39-1_arm64.deb", + "sha256": "18046afb2e56ae3392038bcca6263a8ac69465a40b5a9cda370a06c8be6848c5", + "source": "libnvjitlink", + "version": "13.0.39-1" + }, + "libnvjitlink-dev-13-0": { + "filename": "pool/main/libn/libnvjitlink/libnvjitlink-dev-13-0_13.0.39-1_arm64.deb", + "sha256": "b78393abda0f21f28ec766e10d7b6181fd6d49e5bd27fcecf813d14a14fafe51", + "source": "libnvjitlink", + "version": "13.0.39-1" + }, + "libnvjpeg-13-0": { + "filename": "pool/main/libn/libnvjpeg/libnvjpeg-13-0_13.0.0.40-1_arm64.deb", + "sha256": "9593cf07998c99c0ba427caa1ab9e81362c9b177b8c86b199b587d1c54be11a7", + "source": "libnvjpeg", + "version": "13.0.0.40-1" + }, + "libnvjpeg-dev-13-0": { + "filename": "pool/main/libn/libnvjpeg/libnvjpeg-dev-13-0_13.0.0.40-1_arm64.deb", + "sha256": "83cbae36bee26be15919091cde0c6141d16b2401c9b6df48f9c648c52ed20da8", + "source": "libnvjpeg", + "version": "13.0.0.40-1" + }, + "libnvonnxparsers-dev": { + "filename": "pool/main/t/tensorrt/libnvonnxparsers-dev_10.13.3.9-1+cuda13.0_arm64.deb", + "sha256": "c6345331c14119f0bd236b74c82dc967fdd6f9a55f489f626423b3d9268cdb55", + "source": "tensorrt", + "version": "10.13.3.9-1+cuda13.0" + }, + "libnvonnxparsers10": { + "filename": "pool/main/t/tensorrt/libnvonnxparsers10_10.13.3.9-1+cuda13.0_arm64.deb", + "sha256": "64c34bd51d057c048baa7c055ab676e20bb30100f3d63d3eb0ef3032d6686d4f", + "source": "tensorrt", + "version": "10.13.3.9-1+cuda13.0" + }, + "libnvptxcompiler-13-0": { + "filename": "pool/main/libn/libnvptxcompiler/libnvptxcompiler-13-0_13.0.48-1_arm64.deb", + "sha256": "8a31a84e7699229ba5d73803f4dac838fb4fa23fa3abbb3fd20d4285761d62b1", + "source": "libnvptxcompiler", + "version": "13.0.48-1" + }, + "libnvvm-13-0": { + "filename": "pool/main/libn/libnvvm/libnvvm-13-0_13.0.48-1_arm64.deb", + "sha256": "ee1ebce1ffe6a0f15bd86576f6d2acf10032484f9469eada6ff5e6c9050b6ec6", + "source": "libnvvm", + "version": "13.0.48-1" + }, + "libnvvpi4": { + "filename": "pool/main/libn/libnvvpi4/libnvvpi4_4.0.0~er5_arm64.deb", + "sha256": "0d5cd45f6eb8527ceb70f0b98fe4480014898da63493f6fcae177c7b6af22027", + "version": "4.0.0~er5" + }, + "libopencv": { + "filename": "pool/main/libo/libopencv/libopencv_4.8.0-1-g52c7569_arm64.deb", + "sha256": "dae2d23ec708aa6f8001f2ca9c918b005fe9df57afb7c2fa0040285bd164ce92", + "version": "4.8.0-1-g52c7569" + }, + "libopencv-dev": { + "filename": "pool/main/libo/libopencv-dev/libopencv-dev_4.8.0-1-g52c7569_arm64.deb", + "sha256": "a8bd9805f71d587e160dac819d63998b7ce5083f401b581223deea10080cc1b3", + "version": "4.8.0-1-g52c7569" + }, + "libopencv-python": { + "filename": "pool/main/libo/libopencv-python/libopencv-python_4.8.0-1-g52c7569_arm64.deb", + "sha256": "a59ef8e8e57e85cac2f40cc004b26ada231a2d304c04140ad1d65e00fd64f0b1", + "version": "4.8.0-1-g52c7569" + }, + "libopencv-samples": { + "filename": "pool/main/libo/libopencv-samples/libopencv-samples_4.8.0-1-g52c7569_arm64.deb", + "sha256": "12acbf67c63d8f0e4fcacbda088f99cc680d0a1d6a8aa0bb46e533d3e64085a8", + "version": "4.8.0-1-g52c7569" + }, + "libxnvctrl-dev": { + "filename": "pool/main/n/nvidia-settings/libxnvctrl-dev_580.65.06-0ubuntu1_arm64.deb", + "sha256": "dc8da77b10edde2ef8d8363777a332a1e60bb5edf527be3ce023d4674cd8823e", + "source": "nvidia-settings", + "version": "580.65.06-0ubuntu1" + }, + "libxnvctrl0": { + "filename": "pool/main/n/nvidia-settings/libxnvctrl0_580.65.06-0ubuntu1_arm64.deb", + "sha256": "2dcd04c8dc9e2344bc06e7167b4036bf794a0bca5e19b2db1e88104b671e81c8", + "source": "nvidia-settings", + "version": "580.65.06-0ubuntu1" + }, + "mft": { + "filename": "pool/main/m/mft/mft_4.32.0.6004-1_arm64.deb", + "sha256": "8c235e111a207a557c52ef337ddb0eb1a16cc01b515333f931fcdc09d55f5c6d", + "version": "4.32.0.6004-1" + }, + "mft-autocomplete": { + "filename": "pool/main/m/mft-autocomplete/mft-autocomplete_4.32.0.6004-1_arm64.deb", + "sha256": "7132c85525a9cf6c989f75ee8dd7bb143418803f90b5774c92c86a84b75e1d63", + "version": "4.32.0.6004-1" + }, + "mft-oem": { + "filename": "pool/main/m/mft-oem/mft-oem_4.32.0.6004-1_arm64.deb", + "sha256": "0fe43b01966ec0a94e4ea44fd5453f091c9c88c89d73cb120066a5bbdef0a412", + "version": "4.32.0.6004-1" + }, + "nsight-compute-2025.3.0": { + "filename": "pool/main/n/nsight-compute/nsight-compute-2025.3.0_2025.3.0.19-1_arm64.deb", + "sha256": "a0c01e2cf8ade071b5b12f42cdc6c04f326048f8c52e37239d8e1375edad8efe", + "source": "nsight-compute", + "version": "2025.3.0.19-1" + }, + "nsight-systems-2025.3.2": { + "filename": "pool/main/n/nsight-systems-2025.3.2/nsight-systems-2025.3.2_2025.3.2.367-253236224375v0_arm64.deb", + "sha256": "83153c329df60aaf9379ed0eaf675b775c62bfb2f66b1e09941aeb9d90ccf000", + "version": "2025.3.2.367-253236224375v0" + }, + "nsight-systems-2025.5.1": { + "filename": "pool/main/n/nsight-systems-2025.5.1/nsight-systems-2025.5.1_2025.5.1.121-255136380782v0_arm64.deb", + "sha256": "ddc6acec32074696b8e974749ad9fa59837d2d19bedb8c4eaae0a2f6461c90aa", + "version": "2025.5.1.121-255136380782v0" + }, + "nvidia-compute-utils-580": { + "filename": "pool/main/n/nvidia-graphics-drivers-580/nvidia-compute-utils-580_580.65.06-0ubuntu1_arm64.deb", + "sha256": "9204f543b96eb68064c933d4d34ad76de0885884f4f75be2d7dd72b62fa16c2c", + "source": "nvidia-graphics-drivers-580", + "version": "580.65.06-0ubuntu1" + }, + "nvidia-container": { + "filename": "pool/main/n/nvidia-container/nvidia-container_7.0-b128_arm64.deb", + "sha256": "1bb4ceee02ec3cdc5d105f9a807e97e003ece0ce1fc73fd0b9fe7c35605c238d", + "version": "7.0-b128" + }, + "nvidia-container-toolkit": { + "filename": "pool/main/n/nvidia-container-toolkit/nvidia-container-toolkit_1.18.0~rc.4-1_arm64.deb", + "sha256": "3e19e9c52b74dc0bb6686e7e7bc2f3ad1f0cb656a7d6c2f24345432032d4a066", + "version": "1.18.0~rc.4-1" + }, + "nvidia-container-toolkit-base": { + "filename": "pool/main/n/nvidia-container-toolkit/nvidia-container-toolkit-base_1.18.0~rc.4-1_arm64.deb", + "sha256": "2f873271a5cadb54eb2aa026bd9cb1c7ccb8c4e8966356df77225944586051ba", + "source": "nvidia-container-toolkit", + "version": "1.18.0~rc.4-1" + }, + "nvidia-cuda": { + "filename": "pool/main/n/nvidia-cuda/nvidia-cuda_7.0-b128_arm64.deb", + "sha256": "bebf9b3273636b166470803d5866348a267fdf8255403a3fcac186391c5eb023", + "version": "7.0-b128" + }, + "nvidia-cuda-dev": { + "filename": "pool/main/n/nvidia-cuda-dev/nvidia-cuda-dev_7.0-b128_arm64.deb", + "sha256": "ff14b95d959e3f1d61ca3a3aeea79446427f885f7f29be3987fcae658c3037bc", + "version": "7.0-b128" + }, + "nvidia-cudnn": { + "filename": "pool/main/n/nvidia-cudnn/nvidia-cudnn_7.0-b128_arm64.deb", + "sha256": "86ab4c35cf9f4511c1efd78d9cadb0e91e075ede72518bf2d1d634810c185583", + "version": "7.0-b128" + }, + "nvidia-cudnn-dev": { + "filename": "pool/main/n/nvidia-cudnn-dev/nvidia-cudnn-dev_7.0-b128_arm64.deb", + "sha256": "cf2efbad7f3040498f33b1ea5d798e20908f82dbf1ffa8dfc9c14c581f78ff7b", + "version": "7.0-b128" + }, + "nvidia-cupva": { + "filename": "pool/main/n/nvidia-cupva/nvidia-cupva_7.0-b128_arm64.deb", + "sha256": "183da2c838afb959e420648ffce36f5a56708425b998b1e81816e95839e20c35", + "version": "7.0-b128" + }, + "nvidia-dkms-580": { + "filename": "pool/main/n/nvidia-graphics-drivers-580/nvidia-dkms-580_580.65.06-0ubuntu1_arm64.deb", + "sha256": "472d9f60e1d0fdd808b8c322aa2d308e9ee3a2df8aec455f47135e42fc381db0", + "source": "nvidia-graphics-drivers-580", + "version": "580.65.06-0ubuntu1" + }, + "nvidia-dkms-580-open": { + "filename": "pool/main/n/nvidia-graphics-drivers-580/nvidia-dkms-580-open_580.65.06-0ubuntu1_arm64.deb", + "sha256": "ebcaa72537060a41e6294d36213e9c3d6bcb576a82fc9e480fa5f89cf81fbd70", + "source": "nvidia-graphics-drivers-580", + "version": "580.65.06-0ubuntu1" + }, + "nvidia-driver-580": { + "filename": "pool/main/n/nvidia-graphics-drivers-580/nvidia-driver-580_580.65.06-0ubuntu1_arm64.deb", + "sha256": "4410e1c1ae08986934edd6850bc83ce22dfe8e0a5adb658f4566b60e92a16d73", + "source": "nvidia-graphics-drivers-580", + "version": "580.65.06-0ubuntu1" + }, + "nvidia-driver-580-open": { + "filename": "pool/main/n/nvidia-graphics-drivers-580/nvidia-driver-580-open_580.65.06-0ubuntu1_arm64.deb", + "sha256": "dc45131810422a8ff046bf576f65542a6306412bd72833ea205605de579d8570", + "source": "nvidia-graphics-drivers-580", + "version": "580.65.06-0ubuntu1" + }, + "nvidia-driver-assistant": { + "filename": "pool/main/d/driver-assistant/nvidia-driver-assistant_0.22.65.06-1_all.deb", + "sha256": "d42b1608e2a039e7f51275b0ab0aa6c7c92ee2e9b1b83b28cec94b3f9bb69444", + "source": "driver-assistant", + "version": "0.22.65.06-1" + }, + "nvidia-fabricmanager": { + "filename": "pool/main/f/fabricmanager/nvidia-fabricmanager_580.65.06-1_arm64.deb", + "sha256": "0a094ee89cc61608e513389893e885213ad9dbbfbc0fa5ac82c3c954ca864b7f", + "source": "fabricmanager", + "version": "580.65.06-1" + }, + "nvidia-fabricmanager-dev": { + "filename": "pool/main/f/fabricmanager/nvidia-fabricmanager-dev_580.65.06-1_arm64.deb", + "sha256": "e28433fde175b61ef6d304bda19ccdae504d1596630a5db104599f60ca353738", + "source": "fabricmanager", + "version": "580.65.06-1" + }, + "nvidia-firmware-580": { + "filename": "pool/main/n/nvidia-graphics-drivers-580/nvidia-firmware-580_580.65.06-0ubuntu1_arm64.deb", + "sha256": "d17ded5f2788a043909654822c088c6355c89684c4d40aaf02bda2518f5afe5b", + "source": "nvidia-graphics-drivers-580", + "version": "580.65.06-0ubuntu1" + }, + "nvidia-fs": { + "filename": "pool/main/n/nvidia-fs/nvidia-fs_2.26.6-1_arm64.deb", + "sha256": "0bbe0197a6e30a9baaec11cf767ab82dca5fc91e6d80d5b08279473808dacf4a", + "version": "2.26.6-1" + }, + "nvidia-fs-dkms": { + "filename": "pool/main/n/nvidia-fs/nvidia-fs-dkms_2.26.6-1_arm64.deb", + "sha256": "dea5db992d6fa1909bc991d1d3325126efdb1eb8dc98dd3d7eb182fe45c74a02", + "source": "nvidia-fs", + "version": "2.26.6-1" + }, + "nvidia-headless-580": { + "filename": "pool/main/n/nvidia-graphics-drivers-580/nvidia-headless-580_580.65.06-0ubuntu1_arm64.deb", + "sha256": "6d40b19de87675416ee73cda6fcadddafd5779c723cb9736f5c6d5b2accd5a0d", + "source": "nvidia-graphics-drivers-580", + "version": "580.65.06-0ubuntu1" + }, + "nvidia-headless-580-open": { + "filename": "pool/main/n/nvidia-graphics-drivers-580/nvidia-headless-580-open_580.65.06-0ubuntu1_arm64.deb", + "sha256": "e902a1d830edec4602bfa35ee648d6604ae1352996bd32d000785a9eaf3a3341", + "source": "nvidia-graphics-drivers-580", + "version": "580.65.06-0ubuntu1" + }, + "nvidia-headless-no-dkms-580": { + "filename": "pool/main/n/nvidia-graphics-drivers-580/nvidia-headless-no-dkms-580_580.65.06-0ubuntu1_arm64.deb", + "sha256": "78c3cc1771cfc4ef70d34db539591f69a55f5473aca41e6ddd2799f33ba78dc5", + "source": "nvidia-graphics-drivers-580", + "version": "580.65.06-0ubuntu1" + }, + "nvidia-headless-no-dkms-580-open": { + "filename": "pool/main/n/nvidia-graphics-drivers-580/nvidia-headless-no-dkms-580-open_580.65.06-0ubuntu1_arm64.deb", + "sha256": "a622403958e9af0400e84c327424c6af5b9bb05449b9580af4149af476d7eead", + "source": "nvidia-graphics-drivers-580", + "version": "580.65.06-0ubuntu1" + }, + "nvidia-imex": { + "filename": "pool/main/i/imex/nvidia-imex_580.65.06-1_arm64.deb", + "sha256": "cc41b8d4e388514417b797b6fb46877caa8ca4eccfcd3dd42ea9a8aff131de62", + "source": "imex", + "version": "580.65.06-1" + }, + "nvidia-jetpack": { + "filename": "pool/main/n/nvidia-jetpack/nvidia-jetpack_7.0-b128_arm64.deb", + "sha256": "67ed85326719d34f12d297372bb452d4d57e58457d2f9cb0d61bf49e9bd44fef", + "version": "7.0-b128" + }, + "nvidia-jetpack-dev": { + "filename": "pool/main/n/nvidia-jetpack-dev/nvidia-jetpack-dev_7.0-b128_arm64.deb", + "sha256": "0ae13d3e16bec5f078eda9938cb82785ae679358466155ec32b1f3ba2e3aad75", + "version": "7.0-b128" + }, + "nvidia-jetpack-runtime": { + "filename": "pool/main/n/nvidia-jetpack-runtime/nvidia-jetpack-runtime_7.0-b128_arm64.deb", + "sha256": "222833e733ec68f2f7635205e29cf2dc7397ac54fe60eb0e91fa9510ba5a15e5", + "version": "7.0-b128" + }, + "nvidia-kernel-common-580": { + "filename": "pool/main/n/nvidia-graphics-drivers-580/nvidia-kernel-common-580_580.65.06-0ubuntu1_arm64.deb", + "sha256": "8b0c95fed7aa0b399b625f973e9d352993edac147a9aa81b2bdf32d9feea8bb4", + "source": "nvidia-graphics-drivers-580", + "version": "580.65.06-0ubuntu1" + }, + "nvidia-kernel-source-580": { + "filename": "pool/main/n/nvidia-graphics-drivers-580/nvidia-kernel-source-580_580.65.06-0ubuntu1_arm64.deb", + "sha256": "cd8a224408f78c207cbc2ab05c960565bb6e15137774e0bd72a527ce45ab98a7", + "source": "nvidia-graphics-drivers-580", + "version": "580.65.06-0ubuntu1" + }, + "nvidia-kernel-source-580-open": { + "filename": "pool/main/n/nvidia-graphics-drivers-580/nvidia-kernel-source-580-open_580.65.06-0ubuntu1_arm64.deb", + "sha256": "cc13d415450b5c281372770ae1b7c018fb281ff5836e1efb878ca143a34bcef9", + "source": "nvidia-graphics-drivers-580", + "version": "580.65.06-0ubuntu1" + }, + "nvidia-l4t-cudadebuggingsupport": { + "filename": "pool/main/n/nvidia-l4t-cudadebuggingsupport/nvidia-l4t-cudadebuggingsupport_13.0-36205356.0_arm64.deb", + "sha256": "ae49369a5406d8b0defea4a3e7f6169ccd3f8923b9d04969085e59dccfe6865e", + "version": "13.0-36205356.0" + }, + "nvidia-l4t-gstreamer": { + "filename": "pool/main/n/nvidia-l4t-gstreamer/nvidia-l4t-gstreamer_38.2.2-20250925153837_arm64.deb", + "sha256": "eee75f47c0dea0f731876b7810a7d9a1aa993ad29df82816a0d272690026b86a", + "version": "38.2.2-20250925153837" + }, + "nvidia-l4t-jetson-multimedia-api": { + "filename": "pool/main/n/nvidia-l4t-jetson-multimedia-api/nvidia-l4t-jetson-multimedia-api_38.2.2-20250925153837_arm64.deb", + "sha256": "0f1aec63f5805c585334bab874430de78fd7371f21bba74b2a4c4c600fe1fea7", + "version": "38.2.2-20250925153837" + }, + "nvidia-modprobe": { + "filename": "pool/main/n/nvidia-modprobe/nvidia-modprobe_580.65.06-0ubuntu1_arm64.deb", + "sha256": "a8df8acf844f6704244c2ed2e1243c341c70f9cfd4a367d16946c465ca38f5ec", + "version": "580.65.06-0ubuntu1" + }, + "nvidia-nsight-systems": { + "filename": "pool/main/n/nvidia-nsight-systems/nvidia-nsight-systems_7.0-b128_arm64.deb", + "sha256": "f2d61d637598dec776e14a9ce38189a69ec8378ae28a0227b6e475c60a0bc178", + "version": "7.0-b128" + }, + "nvidia-opencv": { + "filename": "pool/main/n/nvidia-opencv/nvidia-opencv_7.0-b128_arm64.deb", + "sha256": "14d35d9a9cd556b9f3598a0684a6744fa0e0a689d92d3ebd72ec1eb8c6af1778", + "version": "7.0-b128" + }, + "nvidia-opencv-dev": { + "filename": "pool/main/n/nvidia-opencv-dev/nvidia-opencv-dev_7.0-b128_arm64.deb", + "sha256": "99798bcef293be51cdbaab600ac3bebd31c95dde685f4558692ef0f0da169573", + "version": "7.0-b128" + }, + "nvidia-persistenced": { + "filename": "pool/main/n/nvidia-persistenced/nvidia-persistenced_580.65.06-0ubuntu1_arm64.deb", + "sha256": "8002561b30c0a03b2b120051113dbd6cfb86970919842b282d46aa0d00721c40", + "version": "580.65.06-0ubuntu1" + }, + "nvidia-settings": { + "filename": "pool/main/n/nvidia-settings/nvidia-settings_580.65.06-0ubuntu1_arm64.deb", + "sha256": "facb4bf2d5d0704a8cf5d63062c53f13ac88f869c81228a032c188651811279c", + "version": "580.65.06-0ubuntu1" + }, + "nvidia-tensorrt": { + "filename": "pool/main/n/nvidia-tensorrt/nvidia-tensorrt_7.0-b128_arm64.deb", + "sha256": "49175bb1adc603e5b7a5d4d18d3c6e0b1bea2f7ba5684cdb12421947e1c00212", + "version": "7.0-b128" + }, + "nvidia-tensorrt-dev": { + "filename": "pool/main/n/nvidia-tensorrt-dev/nvidia-tensorrt-dev_7.0-b128_arm64.deb", + "sha256": "30922b1d59f72fd68e70b37a7c47f13daf5aabf02f5bfc8db657e54f05e2f191", + "version": "7.0-b128" + }, + "nvidia-utils-580": { + "filename": "pool/main/n/nvidia-graphics-drivers-580/nvidia-utils-580_580.65.06-0ubuntu1_arm64.deb", + "sha256": "19fd077148280acae9f08cb10ecca9bdf980e72c39cefd93f2e53237ef0e2073", + "source": "nvidia-graphics-drivers-580", + "version": "580.65.06-0ubuntu1" + }, + "nvidia-vpi": { + "filename": "pool/main/n/nvidia-vpi/nvidia-vpi_7.0-b128_arm64.deb", + "sha256": "1bd4a4c995a4335b52a43021db8d04110f8a56e184601803efa29f4d0328c5c8", + "version": "7.0-b128" + }, + "nvidia-vpi-dev": { + "filename": "pool/main/n/nvidia-vpi-dev/nvidia-vpi-dev_7.0-b128_arm64.deb", + "sha256": "44d6be81db17a74b227903f667dbe4a53c9e31b3f5b5fa0dde864eb183e70279", + "version": "7.0-b128" + }, + "nvidia-xconfig": { + "filename": "pool/main/n/nvidia-xconfig/nvidia-xconfig_580.65.06-0ubuntu1_arm64.deb", + "sha256": "6cfbf784e0c63727a503579b087846a2bbdbd3b1751f43a6bd1181c426395fa2", + "version": "580.65.06-0ubuntu1" + }, + "nvlink5": { + "filename": "pool/main/n/nvlink5/nvlink5_580.65.06-1_arm64.deb", + "sha256": "ceb0deb145b7e263b2215b37ad01f7d0e3114f846e8f96ecb55e3cb870765abd", + "version": "580.65.06-1" + }, + "nvlink5-580": { + "filename": "pool/main/n/nvlink5-580/nvlink5-580_580.65.06-1_arm64.deb", + "sha256": "b0bb0860e4ad2ba179cb01e812635fdba31284c72fbc2b39e479cfc17c2200fb", + "version": "580.65.06-1" + }, + "nvlsm": { + "filename": "pool/main/n/nvlsm/nvlsm_2025.06.5-1_arm64.deb", + "sha256": "0ee54e34b6db0ca57f94f1fcf3a64fd7b8ccee4aa82a2a1dd021caa18cab242e", + "version": "2025.06.5-1" + }, + "opencv-licenses": { + "filename": "pool/main/o/opencv-licenses/opencv-licenses_4.8.0-1-g52c7569_arm64.deb", + "sha256": "1a65748fa0cd431949681abb941ece580686d47969b3be003cb81b89db6e4699", + "version": "4.8.0-1-g52c7569" + }, + "opencv-samples-data": { + "filename": "pool/main/o/opencv-samples-data/opencv-samples-data_4.8.0-1-g52c7569_arm64.deb", + "sha256": "5c713005a4391f7e8a91c8fef34aedda470de100e24064e39328d7711f70365e", + "version": "4.8.0-1-g52c7569" + }, + "pva-allow-2": { + "filename": "pool/main/p/pva-allow-2/pva-allow-2_2.0.5_all.deb", + "sha256": "d699f86e2bf7d11b0d2d855dad40421022191885ead7b9ca18a4a8a5cf196655", + "version": "2.0.5" + }, + "pva-sdk-2.7-l4t": { + "filename": "pool/main/p/pva-sdk-2.7-l4t/pva-sdk-2.7-l4t_2.7.1_arm64.deb", + "sha256": "3ecd91a5600b227a570a1490f5705d8665a8d0d8cac4ab1062b1e06da3349e21", + "version": "2.7.1" + }, + "python3-libnvinfer": { + "filename": "pool/main/t/tensorrt/python3-libnvinfer_10.13.3.9-1+cuda13.0_arm64.deb", + "sha256": "9da52f8b3ae64d836c6bb08e9755410170882cffd9290565ef6a90fff2ce7be0", + "source": "tensorrt", + "version": "10.13.3.9-1+cuda13.0" + }, + "python3-libnvinfer-dev": { + "filename": "pool/main/t/tensorrt/python3-libnvinfer-dev_10.13.3.9-1+cuda13.0_arm64.deb", + "sha256": "ef3b8bca0fc28cadbe9a0a947bc11e1666db39e1dcaf058c1b324ffb86783e98", + "source": "tensorrt", + "version": "10.13.3.9-1+cuda13.0" + }, + "python3-libnvinfer-dispatch": { + "filename": "pool/main/t/tensorrt/python3-libnvinfer-dispatch_10.13.3.9-1+cuda13.0_arm64.deb", + "sha256": "65e9408be32665e7ceac893348be508948b24c2e05082174ce33df1949409669", + "source": "tensorrt", + "version": "10.13.3.9-1+cuda13.0" + }, + "python3-libnvinfer-lean": { + "filename": "pool/main/t/tensorrt/python3-libnvinfer-lean_10.13.3.9-1+cuda13.0_arm64.deb", + "sha256": "074a8b9f7b9195febd31ec58aa7531dfcbffad2853bcaa56f7544931a9f5072b", + "source": "tensorrt", + "version": "10.13.3.9-1+cuda13.0" + }, + "python3.12-vpi4": { + "filename": "pool/main/p/python3.12-vpi4/python3.12-vpi4_4.0.0~er5_arm64.deb", + "sha256": "6036c68b70dce6a12c9ae15ee335fd88ebd909852b7446d4e56a654739e8d26e", + "version": "4.0.0~er5" + }, + "tensorrt": { + "filename": "pool/main/t/tensorrt/tensorrt_10.13.3.9-1+cuda13.0_arm64.deb", + "sha256": "0f60fcc0d997a221833d977074746d25109063a147cd2e73c49959245dc894db", + "version": "10.13.3.9-1+cuda13.0" + }, + "tensorrt-dev": { + "filename": "pool/main/t/tensorrt/tensorrt-dev_10.13.3.9-1+cuda13.0_arm64.deb", + "sha256": "21b86950fbba790e22726af8b28f42d18e9d4149af73cd8ddfe4aa988d70bdf2", + "source": "tensorrt", + "version": "10.13.3.9-1+cuda13.0" + }, + "tensorrt-libs": { + "filename": "pool/main/t/tensorrt/tensorrt-libs_10.13.3.9-1+cuda13.0_arm64.deb", + "sha256": "ad7a08b0a7c905caf7d6b9f22bfcab7628a0f9251292859a55bac974d3930931", + "source": "tensorrt", + "version": "10.13.3.9-1+cuda13.0" + }, + "vpi4-dev": { + "filename": "pool/main/v/vpi4-dev/vpi4-dev_4.0.0~er5_arm64.deb", + "sha256": "83707b1bff8b321fcadd9c1cac115b0a68a44d623dd1f088ef9b0c33d2a6548c", + "version": "4.0.0~er5" + }, + "vpi4-python-src": { + "filename": "pool/main/v/vpi4-python-src/vpi4-python-src_4.0.0~er5_arm64.deb", + "sha256": "cdde10d4e86ef4fa0024dc271e92ce2f6d6195d42e8e4973037c44b963aa3d8b", + "version": "4.0.0~er5" + }, + "vpi4-samples": { + "filename": "pool/main/v/vpi4-samples/vpi4-samples_4.0.0~er5_arm64.deb", + "sha256": "ae24d37cc5b9f09c98486128193bb34e687d43f7d217bea221bebc23a99ae0f8", + "version": "4.0.0~er5" + }, + "xserver-xorg-video-nvidia-580": { + "filename": "pool/main/n/nvidia-graphics-drivers-580/xserver-xorg-video-nvidia-580_580.65.06-0ubuntu1_arm64.deb", + "sha256": "3861fe4a504efdec2b2339411590ca8e35eed4d316de0b860a9e8c2156b4decc", + "source": "nvidia-graphics-drivers-580", + "version": "580.65.06-0ubuntu1" + } + }, + "som": { + "jetson-gpio-common": { + "filename": "pool/main/j/jetson-gpio/jetson-gpio-common_2.1.10-0ubuntu1_arm64.deb", + "sha256": "4119b5bca2d62419f32814a3e2c8406e25530f51f615683277106d7c6fe0ccae", + "source": "jetson-gpio", + "version": "2.1.10-0ubuntu1" + }, + "nvidia-igx-bootloader": { + "filename": "pool/main/n/nvidia-igx-bootloader/nvidia-igx-bootloader_38.2.2-20250925153837_arm64.deb", + "sha256": "066e0588ab32eddfa7e4e4fae8e827f81d443320487e46d31a45b9e51f7d800c", + "version": "38.2.2-20250925153837" + }, + "nvidia-igx-oobe": { + "filename": "pool/main/n/nvidia-igx-oobe/nvidia-igx-oobe_38.2.2-20250925153837_arm64.deb", + "sha256": "df86aeab0b9837adb3a7f492f73df0db217f93c831d9dc707d190f0696da5126", + "version": "38.2.2-20250925153837" + }, + "nvidia-igx-systemd-reboot-hooks": { + "filename": "pool/main/n/nvidia-igx-systemd-reboot-hooks/nvidia-igx-systemd-reboot-hooks_38.2.2-20250925153837_arm64.deb", + "sha256": "df6e91d4a5cce38e567bcfd059f205e88bce7f8acab7d855021c340960b21a64", + "version": "38.2.2-20250925153837" + }, + "nvidia-l4t-3d-core": { + "filename": "pool/main/n/nvidia-l4t-3d-core/nvidia-l4t-3d-core_38.2.2-20250925153837_arm64.deb", + "sha256": "f045a59be314da86667f52db04a399d5a35ef2b84e6bc1fbf8a593721deecdb9", + "version": "38.2.2-20250925153837" + }, + "nvidia-l4t-adaruntime": { + "filename": "pool/main/n/nvidia-l4t-adaruntime/nvidia-l4t-adaruntime_38.2.2-20250925153837_arm64.deb", + "sha256": "2fe5226d70a5503c0105ca1e40272372b6afa8a3c7c5e0514d4a5aacdfe14fda", + "version": "38.2.2-20250925153837" + }, + "nvidia-l4t-apt-source": { + "filename": "pool/main/n/nvidia-l4t-apt-source/nvidia-l4t-apt-source_38.2.2-20250925153837_arm64.deb", + "sha256": "73314ddc1a0289086315e3df4e6cbb3a1173af28007dc0c02eae22ad76881a2a", + "version": "38.2.2-20250925153837" + }, + "nvidia-l4t-bootloader": { + "filename": "pool/main/n/nvidia-l4t-bootloader/nvidia-l4t-bootloader_38.2.2-20250925153837_arm64.deb", + "sha256": "bfa26420bdcbcff279bdd9a5fceeb483e5bba515cd316f1e5250abbc42ca6551", + "version": "38.2.2-20250925153837" + }, + "nvidia-l4t-bootloader-utils": { + "filename": "pool/main/n/nvidia-l4t-bootloader-utils/nvidia-l4t-bootloader-utils_38.2.2-20250925153837_arm64.deb", + "sha256": "528ebf916d412891aab444869748cf87af96d53553c88690b3c13fb1ea02b26a", + "version": "38.2.2-20250925153837" + }, + "nvidia-l4t-bsp-nvgpu": { + "filename": "pool/main/n/nvidia-l4t-bsp-nvgpu/nvidia-l4t-bsp-nvgpu_38.2.2-20250925153837_arm64.deb", + "sha256": "9774290443c8b99e2126f249ecab6d402b6d4e8a2024eacd8f01ac15d0b56060", + "version": "38.2.2-20250925153837" + }, + "nvidia-l4t-bsp-openrm": { + "filename": "pool/main/n/nvidia-l4t-bsp-openrm/nvidia-l4t-bsp-openrm_38.2.2-20250925153837_arm64.deb", + "sha256": "bc8d0a69baa20770f77355fccfa56e8a05e192b8b0ae00769e0998cad5d0e8fb", + "version": "38.2.2-20250925153837" + }, + "nvidia-l4t-camera": { + "filename": "pool/main/n/nvidia-l4t-camera/nvidia-l4t-camera_38.2.2-20250925153837_arm64.deb", + "sha256": "151ce46814f4e84c98bdc503aee5af4951773c363ae4a30989ed3329c1af9912", + "version": "38.2.2-20250925153837" + }, + "nvidia-l4t-configs": { + "filename": "pool/main/n/nvidia-l4t-configs/nvidia-l4t-configs_38.2.2-20250925153837_arm64.deb", + "sha256": "90104b8f35c2dc1e82d2169a243f9662dc9744520f23e5c2fafd40c3430b03e5", + "version": "38.2.2-20250925153837" + }, + "nvidia-l4t-core": { + "filename": "pool/main/n/nvidia-l4t-core/nvidia-l4t-core_38.2.2-20250925153837_arm64.deb", + "sha256": "6b48bb8c41d5de2114fd7d7f4bfa997ac4404c76e3bbbe958ab324d4417c42b7", + "version": "38.2.2-20250925153837" + }, + "nvidia-l4t-cuda": { + "filename": "pool/main/n/nvidia-l4t-cuda/nvidia-l4t-cuda_38.2.2-20250925153837_arm64.deb", + "sha256": "30cd1f634ab75a781ce75ede7639db176ab5f6b67380874d207ef7f0cae50ced", + "version": "38.2.2-20250925153837" + }, + "nvidia-l4t-cuda-utils": { + "filename": "pool/main/n/nvidia-l4t-cuda-utils/nvidia-l4t-cuda-utils_38.2.2-20250925153837_arm64.deb", + "sha256": "3cf61b88b7c5cf1ae4688836205ae1d0b583fd1f9ed41cdd7ae1207b6859d120", + "version": "38.2.2-20250925153837" + }, + "nvidia-l4t-dgpu-tools": { + "filename": "pool/main/n/nvidia-l4t-dgpu-tools/nvidia-l4t-dgpu-tools_38.2.2-20250925153837_arm64.deb", + "sha256": "35c15e61dc88e655b9f542d42909d2b9fb0acc9a535d1f9a3616e1ee9ee79fbb", + "version": "38.2.2-20250925153837" + }, + "nvidia-l4t-display-kernel": { + "filename": "pool/main/n/nvidia-l4t-display-kernel/nvidia-l4t-display-kernel_6.8.12-tegra-38.2.2-20250925153837_arm64.deb", + "sha256": "c10bd0109a15fe7dc09885191b8c40e7fde695f7c72eaab08af04ef8083b0e2c", + "version": "6.8.12-tegra-38.2.2-20250925153837" + }, + "nvidia-l4t-extlinux": { + "filename": "pool/main/n/nvidia-l4t-extlinux/nvidia-l4t-extlinux_38.2.2-20250925153837_arm64.deb", + "sha256": "19779238f21b6d4ce120d3fed47ca69e63729ab926eccc4c0f8e92c0ad081603", + "version": "38.2.2-20250925153837" + }, + "nvidia-l4t-factory-service": { + "filename": "pool/main/n/nvidia-l4t-factory-service/nvidia-l4t-factory-service_38.2.2-20250925153837_arm64.deb", + "sha256": "2a94ae3dd5fa0dedb77a0cc516abd1ac2552d01cbdc4a1de25af953dea018160", + "version": "38.2.2-20250925153837" + }, + "nvidia-l4t-firmware": { + "filename": "pool/main/n/nvidia-l4t-firmware/nvidia-l4t-firmware_38.2.2-20250925153837_arm64.deb", + "sha256": "c2287eaeaf2768934db38faa92aab3088c403800c74516e15bd3983e806d378a", + "version": "38.2.2-20250925153837" + }, + "nvidia-l4t-firmware-nvgpu": { + "filename": "pool/main/n/nvidia-l4t-firmware-nvgpu/nvidia-l4t-firmware-nvgpu_38.2.2-20250925153837_arm64.deb", + "sha256": "8b00e26aa741e267ac2080dc706c71e51697c10d8b2f84f5d58ae1294abad4d9", + "version": "38.2.2-20250925153837" + }, + "nvidia-l4t-firmware-openrm": { + "filename": "pool/main/n/nvidia-l4t-firmware-openrm/nvidia-l4t-firmware-openrm_38.2.2-20250925153837_arm64.deb", + "sha256": "496b059e523805679c76597aa53b10e8fc79ce1936861adb60253ea859a80926", + "version": "38.2.2-20250925153837" + }, + "nvidia-l4t-firstboot": { + "filename": "pool/main/n/nvidia-l4t-firstboot/nvidia-l4t-firstboot_38.2.2-20250925153837_arm64.deb", + "sha256": "eca922e256d2351d5b54edd9575bc140533a1a65f328577af2988ae6fd63534d", + "version": "38.2.2-20250925153837" + }, + "nvidia-l4t-gbm": { + "filename": "pool/main/n/nvidia-l4t-gbm/nvidia-l4t-gbm_38.2.2-20250925153837_arm64.deb", + "sha256": "1b3847c47658d0759800f1747dbf8bc09b8ac0aaf2051f468c5693b41a1c56b1", + "version": "38.2.2-20250925153837" + }, + "nvidia-l4t-graphics-demos": { + "filename": "pool/main/n/nvidia-l4t-graphics-demos/nvidia-l4t-graphics-demos_38.2.2-20250925153837_arm64.deb", + "sha256": "fc950d056f07127cd800c9a191b9e45df437464277bdb2b132b23f25c8ccff70", + "version": "38.2.2-20250925153837" + }, + "nvidia-l4t-init": { + "filename": "pool/main/n/nvidia-l4t-init/nvidia-l4t-init_38.2.2-20250925153837_arm64.deb", + "sha256": "316e3e400d8c5c20be0b7d64f752b408e5a9507463a13f7f536587048c113473", + "version": "38.2.2-20250925153837" + }, + "nvidia-l4t-init-nvgpu": { + "filename": "pool/main/n/nvidia-l4t-init-nvgpu/nvidia-l4t-init-nvgpu_38.2.2-20250925153837_arm64.deb", + "sha256": "96320eda9c47afd547d1f79ff294e62c6d3e0a1a671ce6c315da9934769b289b", + "version": "38.2.2-20250925153837" + }, + "nvidia-l4t-init-openrm": { + "filename": "pool/main/n/nvidia-l4t-init-openrm/nvidia-l4t-init-openrm_38.2.2-20250925153837_arm64.deb", + "sha256": "ffc44f61a6ee52e3e543e695a9dc0e9976d27326e642dec411cdf89515299935", + "version": "38.2.2-20250925153837" + }, + "nvidia-l4t-initrd": { + "filename": "pool/main/n/nvidia-l4t-initrd/nvidia-l4t-initrd_38.2.2-20250925153837_arm64.deb", + "sha256": "05bda6121b0a8ee7bd2c50d15c0e27b5a609876ef7c7527c00b0c4117b6a3027", + "version": "38.2.2-20250925153837" + }, + "nvidia-l4t-jetson-io": { + "filename": "pool/main/n/nvidia-l4t-jetson-io/nvidia-l4t-jetson-io_38.2.2-20250925153837_arm64.deb", + "sha256": "aa0188edff48477c04881a2cdaa351209ba0464dc61b7030e1e14fb1b27e1424", + "version": "38.2.2-20250925153837" + }, + "nvidia-l4t-jetsonpower-gui-tools": { + "filename": "pool/main/n/nvidia-l4t-jetsonpower-gui-tools/nvidia-l4t-jetsonpower-gui-tools_38.2.2-20250925153837_arm64.deb", + "sha256": "2f45cdeedaa6f244d9ad44718f4b0d0fd8560abca9458d536a69d5188c0669f3", + "version": "38.2.2-20250925153837" + }, + "nvidia-l4t-kernel": { + "filename": "pool/main/n/nvidia-l4t-kernel/nvidia-l4t-kernel_6.8.12-tegra-38.2.2-20250925153837_arm64.deb", + "sha256": "149872ceae7ad73ff43774e42e2de9830142849a7b36c184f7cf4f3b682ffe1d", + "version": "6.8.12-tegra-38.2.2-20250925153837" + }, + "nvidia-l4t-kernel-dtbs": { + "filename": "pool/main/n/nvidia-l4t-kernel-dtbs/nvidia-l4t-kernel-dtbs_6.8.12-tegra-38.2.2-20250925153837_arm64.deb", + "sha256": "64838021fb553481e83305a16ab81d52925cb5d30ae965bf4b6c790e55ff539e", + "version": "6.8.12-tegra-38.2.2-20250925153837" + }, + "nvidia-l4t-kernel-headers": { + "filename": "pool/main/n/nvidia-l4t-kernel-headers/nvidia-l4t-kernel-headers_6.8.12-tegra-38.2.2-20250925153837_arm64.deb", + "sha256": "7f5c34ce8ddd09e4f61c4f705f00a277708b965827c2a25a7dc6df6ea6b0e9cd", + "version": "6.8.12-tegra-38.2.2-20250925153837" + }, + "nvidia-l4t-kernel-module-configs": { + "filename": "pool/main/n/nvidia-l4t-kernel-module-configs/nvidia-l4t-kernel-module-configs_6.8.12-tegra-38.2.2-20250925153837_arm64.deb", + "sha256": "8c81ab6d7e2c46b985dfda3a8a20b3dcc82b5c12f238e63d6ae0eb51695ec362", + "version": "6.8.12-tegra-38.2.2-20250925153837" + }, + "nvidia-l4t-kernel-nvgpu": { + "filename": "pool/main/n/nvidia-l4t-kernel-nvgpu/nvidia-l4t-kernel-nvgpu_6.8.12-tegra-38.2.2-20250925153837_arm64.deb", + "sha256": "c431c80f1edb71a1a127aace362d0aeafaa17104e6576b8f4018e70870d58629", + "version": "6.8.12-tegra-38.2.2-20250925153837" + }, + "nvidia-l4t-kernel-oot-headers": { + "filename": "pool/main/n/nvidia-l4t-kernel-oot-headers/nvidia-l4t-kernel-oot-headers_6.8.12-tegra-38.2.2-20250925153837_arm64.deb", + "sha256": "aa2384d97913272ec023582de4c351c73282fcbc799592e489523110ad861b96", + "version": "6.8.12-tegra-38.2.2-20250925153837" + }, + "nvidia-l4t-kernel-oot-modules": { + "filename": "pool/main/n/nvidia-l4t-kernel-oot-modules/nvidia-l4t-kernel-oot-modules_6.8.12-tegra-38.2.2-20250925153837_arm64.deb", + "sha256": "b0797538e5a3175a61cfa8360b1f462a68ff4d603cbcbb2aa7d6767375b21fd6", + "version": "6.8.12-tegra-38.2.2-20250925153837" + }, + "nvidia-l4t-kernel-openrm": { + "filename": "pool/main/n/nvidia-l4t-kernel-openrm/nvidia-l4t-kernel-openrm_6.8.12-tegra-38.2.2-20250925153837_arm64.deb", + "sha256": "90564b4f6d4f4f5f7de98b997011124002fa8fd51a9edb1611644f8c5b790cd8", + "version": "6.8.12-tegra-38.2.2-20250925153837" + }, + "nvidia-l4t-kernel-partitions": { + "filename": "pool/main/n/nvidia-l4t-kernel-partitions/nvidia-l4t-kernel-partitions_6.8.12-tegra-38.2.2-20250925153837_arm64.deb", + "sha256": "0183f5cdbf7759fd75221886a45ac30f51c348b785a328342c17e3bdf0deb693", + "version": "6.8.12-tegra-38.2.2-20250925153837" + }, + "nvidia-l4t-libvulkan": { + "filename": "pool/main/n/nvidia-l4t-libvulkan/nvidia-l4t-libvulkan_38.2.2-20250925153837_arm64.deb", + "sha256": "4e66cb2c6c498565c522ec6719b8d04c52693f5c7645eae58d1ad42dfe81dd1f", + "version": "38.2.2-20250925153837" + }, + "nvidia-l4t-multimedia": { + "filename": "pool/main/n/nvidia-l4t-multimedia/nvidia-l4t-multimedia_38.2.2-20250925153837_arm64.deb", + "sha256": "5eae48eb66eb18833011a2c26adaafbead0116e795a7d103258958ff552e0287", + "version": "38.2.2-20250925153837" + }, + "nvidia-l4t-multimedia-nvgpu": { + "filename": "pool/main/n/nvidia-l4t-multimedia-nvgpu/nvidia-l4t-multimedia-nvgpu_38.2.2-20250925153837_arm64.deb", + "sha256": "504e430e561a9abc33b3682dfb87750e6bfe06dff984ee3018a48bdc2cb6210b", + "version": "38.2.2-20250925153837" + }, + "nvidia-l4t-multimedia-openrm": { + "filename": "pool/main/n/nvidia-l4t-multimedia-openrm/nvidia-l4t-multimedia-openrm_38.2.2-20250925153837_arm64.deb", + "sha256": "b29d917acc6355d4c5c9ea7590e86df19a7305b6c5929e8dd72959aab50398d6", + "version": "38.2.2-20250925153837" + }, + "nvidia-l4t-multimedia-utils": { + "filename": "pool/main/n/nvidia-l4t-multimedia-utils/nvidia-l4t-multimedia-utils_38.2.2-20250925153837_arm64.deb", + "sha256": "4968389a42b2a9b099d6cc9708d230c80a479fcd9823cd505e9d562eb0fb04ba", + "version": "38.2.2-20250925153837" + }, + "nvidia-l4t-nvfancontrol": { + "filename": "pool/main/n/nvidia-l4t-nvfancontrol/nvidia-l4t-nvfancontrol_38.2.2-20250925153837_arm64.deb", + "sha256": "51bb29f15de7d63893701c9acf1a25684609c73ee13d03899e371115882e63bd", + "version": "38.2.2-20250925153837" + }, + "nvidia-l4t-nvml": { + "filename": "pool/main/n/nvidia-l4t-nvml/nvidia-l4t-nvml_38.2.2-20250925153837_arm64.deb", + "sha256": "37844227dd015c493bc5421eff41af784a8b6bca0f49727da4d9c8c2e6803ccf", + "version": "38.2.2-20250925153837" + }, + "nvidia-l4t-nvpmodel": { + "filename": "pool/main/n/nvidia-l4t-nvpmodel/nvidia-l4t-nvpmodel_38.2.2-20250925153837_arm64.deb", + "sha256": "f7725fea4ef278d71dda4451c91bf39c15fe7528407e1041da3d19f548b0fa56", + "version": "38.2.2-20250925153837" + }, + "nvidia-l4t-nvpmodel-gui-tools": { + "filename": "pool/main/n/nvidia-l4t-nvpmodel-gui-tools/nvidia-l4t-nvpmodel-gui-tools_38.2.2-20250925153837_arm64.deb", + "sha256": "25ba051272b177899b919953de7844a4af61b25515b30955897e5885f66e81b9", + "version": "38.2.2-20250925153837" + }, + "nvidia-l4t-nvsci": { + "filename": "pool/main/n/nvidia-l4t-nvsci/nvidia-l4t-nvsci_38.2.2-20250925153837_arm64.deb", + "sha256": "4e5abe555e6f42c6e37c55460f4466faade4214bf245bef59a832c9fadd95813", + "version": "38.2.2-20250925153837" + }, + "nvidia-l4t-oobe": { + "filename": "pool/main/n/nvidia-l4t-oobe/nvidia-l4t-oobe_38.2.2-20250925153837_arm64.deb", + "sha256": "8516e72ccb77465b1f95ba53e4d61a27fed55df0f745c96bbf2460a57e4a2fc7", + "version": "38.2.2-20250925153837" + }, + "nvidia-l4t-openwfd": { + "filename": "pool/main/n/nvidia-l4t-openwfd/nvidia-l4t-openwfd_38.2.2-20250925153837_arm64.deb", + "sha256": "1b166120b22a5e79583008293bb5a5bb78f05390aa78cbc4ddabc9f910105111", + "version": "38.2.2-20250925153837" + }, + "nvidia-l4t-optee": { + "filename": "pool/main/n/nvidia-l4t-optee/nvidia-l4t-optee_38.2.2-20250925153837_arm64.deb", + "sha256": "8e8d59e9af11549cc4d4b7f874ab96007e522d8ee30a23072019e882a4a27512", + "version": "38.2.2-20250925153837" + }, + "nvidia-l4t-pva": { + "filename": "pool/main/n/nvidia-l4t-pva/nvidia-l4t-pva_38.2.2-20250925153837_arm64.deb", + "sha256": "b6e0af6508ebe11262c36a668b8481832c2d73f09ece29b6dbdb9488fc37934d", + "version": "38.2.2-20250925153837" + }, + "nvidia-l4t-tools": { + "filename": "pool/main/n/nvidia-l4t-tools/nvidia-l4t-tools_38.2.2-20250925153837_arm64.deb", + "sha256": "cf5410a8d81e9de4fd280370c384a3b2c0e5f8dcfc6f43328ebb5986d93f359d", + "version": "38.2.2-20250925153837" + }, + "nvidia-l4t-usb-service": { + "filename": "pool/main/n/nvidia-l4t-usb-service/nvidia-l4t-usb-service_38.2.2-20250925153837_arm64.deb", + "sha256": "92c59988bd3ac7dfeece58e490abc69aa9bb5585e49aaea95793563cb831f0f7", + "version": "38.2.2-20250925153837" + }, + "nvidia-l4t-video-codec-openrm": { + "filename": "pool/main/n/nvidia-l4t-video-codec-openrm/nvidia-l4t-video-codec-openrm_38.2.2-20250925153837_arm64.deb", + "sha256": "131948da87c437783b1f6e69b9d44bc236bc8a2e4cb34bfb4950b4883844a474", + "version": "38.2.2-20250925153837" + }, + "nvidia-l4t-vulkan-sc-dev": { + "filename": "pool/main/n/nvidia-l4t-vulkan-sc-dev/nvidia-l4t-vulkan-sc-dev_38.2.2-20250925153837_arm64.deb", + "sha256": "d6492b026ac805d1308f596227b59e06fe82dd9779d333f98bc1710dbefe0d69", + "version": "38.2.2-20250925153837" + }, + "nvidia-l4t-vulkan-sc-nvgpu": { + "filename": "pool/main/n/nvidia-l4t-vulkan-sc-nvgpu/nvidia-l4t-vulkan-sc-nvgpu_38.2.2-20250925153837_arm64.deb", + "sha256": "5b41bb12a966b0230f57b086edbd9ad80193fa4cfe2c20ea77cdbf011be5030a", + "version": "38.2.2-20250925153837" + }, + "nvidia-l4t-vulkan-sc-openrm": { + "filename": "pool/main/n/nvidia-l4t-vulkan-sc-openrm/nvidia-l4t-vulkan-sc-openrm_38.2.2-20250925153837_arm64.deb", + "sha256": "6a7446ab7f954d2c86b338fc60dafdb73957239c935b69f7ac35e6f968cee27b", + "version": "38.2.2-20250925153837" + }, + "nvidia-l4t-vulkan-sc-samples": { + "filename": "pool/main/n/nvidia-l4t-vulkan-sc-samples/nvidia-l4t-vulkan-sc-samples_38.2.2-20250925153837_arm64.deb", + "sha256": "06c134b66b402801497c861e44f06af883ded03ce330695465fdcaa523860264", + "version": "38.2.2-20250925153837" + }, + "nvidia-l4t-vulkan-sc-sdk": { + "filename": "pool/main/n/nvidia-l4t-vulkan-sc-sdk/nvidia-l4t-vulkan-sc-sdk_38.2.2-20250925153837_arm64.deb", + "sha256": "8e07ac55509960e1ef4a5244c3ee6f45bd4759c63b844b1341faa44bbe64bcf0", + "version": "38.2.2-20250925153837" + }, + "nvidia-l4t-wayland": { + "filename": "pool/main/n/nvidia-l4t-wayland/nvidia-l4t-wayland_38.2.2-20250925153837_arm64.deb", + "sha256": "3cbbc9b8493a001b43471975f6eae8c24f0e4815ee6ddfd4efd0c28f8bc0e100", + "version": "38.2.2-20250925153837" + }, + "nvidia-l4t-weston": { + "filename": "pool/main/n/nvidia-l4t-weston/nvidia-l4t-weston_38.2.2-20250925153837_arm64.deb", + "sha256": "f657c86dbe4b0238aa4ee6f4d3352b404cbb621d978fafc1468b6c5f0974e99a", + "version": "38.2.2-20250925153837" + }, + "nvidia-l4t-wpasupplicant": { + "filename": "pool/main/n/nvidia-l4t-wpasupplicant/nvidia-l4t-wpasupplicant_38.2.2-20250925153837_arm64.deb", + "sha256": "c75b4b77782656c635325dca9275048e70a0d60d808665842902f76dcb7e8a20", + "version": "38.2.2-20250925153837" + }, + "nvidia-l4t-x11": { + "filename": "pool/main/n/nvidia-l4t-x11/nvidia-l4t-x11_38.2.2-20250925153837_arm64.deb", + "sha256": "b09d30588df7d5344fa349511276a3851183355b589d3512316e1ea525227a4a", + "version": "38.2.2-20250925153837" + }, + "nvidia-l4t-xwayland": { + "filename": "pool/main/n/nvidia-l4t-xwayland/nvidia-l4t-xwayland_38.2.2-20250925153837_arm64.deb", + "sha256": "950ff3c2196eb3d00d8c66d585398554ea5123b07e3c14f747bed423cc514c02", + "version": "38.2.2-20250925153837" + }, + "python3-jetson-gpio": { + "filename": "pool/main/j/jetson-gpio/python3-jetson-gpio_2.1.10-0ubuntu1_arm64.deb", + "sha256": "734751efca5f52607f11564f070be37d14930064cca151d97ce8c1b7beb16170", + "source": "jetson-gpio", + "version": "2.1.10-0ubuntu1" + } + } +} diff --git a/sourceinfo/r38.2.1-gitrepos.json b/sourceinfo/r38.2.1-gitrepos.json new file mode 100644 index 00000000..5590bbd9 --- /dev/null +++ b/sourceinfo/r38.2.1-gitrepos.json @@ -0,0 +1,576 @@ +{ + "dtc-src/1.4.5": { + "date": "2025-09-19T10:10:00-07:00", + "deepClone": false, + "fetchLFS": false, + "fetchSubmodules": false, + "fetchTags": false, + "hash": "sha256-5VvGrdT5BjwkSL25PsTe0ARKYyrLwczhfro0Rx5Z0vY=", + "leaveDotGit": false, + "path": "/nix/store/wq8n74a2750zzbxjk3jqwdk31a9rq7dl-1.4.5", + "rev": "b71c05658d76e99a5441a21f5380cc3d87fff67b", + "rootDir": "", + "sha256": "1xnjb4g4fd5sgvhwrhfb59ill16hvv23xfdx90j3q1prsjnwcnz5", + "url": "https://nv-tegra.nvidia.com/3rdparty/dtc-src/1.4.5.git" + }, + "hardware/nvidia/t23x/nv-public": { + "date": "2025-05-23T11:56:42-07:00", + "deepClone": false, + "fetchLFS": false, + "fetchSubmodules": false, + "fetchTags": false, + "hash": "sha256-eWLwH4WSAUWTzEV0m8nTpXyKpvmUkQEruG7vdhTBhrQ=", + "leaveDotGit": false, + "path": "/nix/store/h9pf4dvfr9nfmn2j1wj2x223x63k3m13-t23x-public-dts", + "rev": "f1c9521e5d3ad13bb3a573de09bcc71eec352e95", + "rootDir": "", + "sha256": "1d46q4a7dvvfp0mh34clz6k8lz55sg4rnx25rj9la0cjhlgz0qkr", + "url": "https://nv-tegra.nvidia.com/device/hardware/nvidia/t23x-public-dts.git" + }, + "hardware/nvidia/t264/nv-public": { + "date": "2025-08-08T03:57:53-07:00", + "deepClone": false, + "fetchLFS": false, + "fetchSubmodules": false, + "fetchTags": false, + "hash": "sha256-AU+quf0xxLKvAx50BlKAZ8Tj/kFQEt4Ft7OwOoBGzpE=", + "leaveDotGit": false, + "path": "/nix/store/qhmn3mzg0js0gbipqh32v69szfg6f8mw-t264-public-dts", + "rev": "33278109a5314ed27d0e69dbc6eccffecccd54fb", + "rootDir": "", + "sha256": "14ff8s03mc5knw2xw4jh87zf7i37h190cx0y0fpv5i1iznwslkq1", + "url": "https://nv-tegra.nvidia.com/device/hardware/nvidia/t264-public-dts.git" + }, + "hardware/nvidia/tegra/nv-public": { + "date": "2024-07-16T02:20:15-07:00", + "deepClone": false, + "fetchLFS": false, + "fetchSubmodules": false, + "fetchTags": false, + "hash": "sha256-s8ZEiEdC5xhTzvBaV9QEBoMkuz0Gg5SteWqbcW4irt0=", + "leaveDotGit": false, + "path": "/nix/store/i0pbhvdjk7x73blksy8ag8n6lzm82019-tegra-public-dts", + "rev": "2101ccc1b1ef8267e63286332aed34891943c7c7", + "rootDir": "", + "sha256": "1pdf49p736vag6nr90q67nxj90q60ka5fnphrr9iirs28y449imk", + "url": "https://nv-tegra.nvidia.com/device/hardware/nvidia/tegra-public-dts.git" + }, + "hwpm": { + "date": "2025-05-26T12:42:11-07:00", + "deepClone": false, + "fetchLFS": false, + "fetchSubmodules": false, + "fetchTags": false, + "hash": "sha256-4ZFsH8iF9duEJ6QpIpec1mHCUeJF4fFV5vyoK2Qab3M=", + "leaveDotGit": false, + "path": "/nix/store/58r3830z8icby63sp38f3gswpfs9zbf8-linux-hwpm", + "rev": "927a33af1caac3deb42b7406dcd31eee5296b761", + "rootDir": "", + "sha256": "0wvg39j2pa7wwraz3qa5w98w4qfnkjbj4ad44y2dpxc5r0gnr4g1", + "url": "https://nv-tegra.nvidia.com/linux-hwpm.git" + }, + "kernel-devicetree": { + "date": "2025-05-06T17:55:11-07:00", + "deepClone": false, + "fetchLFS": false, + "fetchSubmodules": false, + "fetchTags": false, + "hash": "sha256-hqmWT43GnkwcQ5pUam6KTo5thxH5XUBSATPfIf+LEs0=", + "leaveDotGit": false, + "path": "/nix/store/vwwp9naw6mwrx7hhg1l46245rha89siw-kernel-devicetree", + "rev": "da22d336b5aa156616babe039dc2132e433304a5", + "rootDir": "", + "sha256": "1k8jigzj3prk05940pgr263nv3jfi9p6lm4s8cf4r7n6im7rdac6", + "url": "https://nv-tegra.nvidia.com/linux/kernel-devicetree.git" + }, + "kernel/kernel-noble": { + "date": "2025-09-10T11:31:55-07:00", + "deepClone": false, + "fetchLFS": false, + "fetchSubmodules": false, + "fetchTags": false, + "hash": "sha256-1CQrzBbjlFrAfSK7pKvb8EH/AyA3zs1uzeReYTZrKAs=", + "leaveDotGit": false, + "path": "/nix/store/xawgpf7l99wnv28iqs7yqs35rdgqsss9-linux-noble", + "rev": "2a4430812eecde8f7bf7a72b882db29dff8c66bf", + "rootDir": "", + "sha256": "02r8dcv62pp4rmpcvkip401zyhghvfms9fr2gp05m5732v62n96l", + "url": "https://nv-tegra.nvidia.com/3rdparty/canonical/linux-noble.git" + }, + "nvdisplay": { + "date": "2025-09-19T10:10:04-07:00", + "deepClone": false, + "fetchLFS": false, + "fetchSubmodules": false, + "fetchTags": false, + "hash": "sha256-3gSqIFXtOuo9FwJAaRLMOMj0Ejf63r+xEBLQd3j/xGU=", + "leaveDotGit": false, + "path": "/nix/store/mfldvxvh7mp7c382klmidffgp9y6bb78-nv-kernel-display-driver", + "rev": "d6333983830005298d4e6b53c1a51dc2e69fc1ba", + "rootDir": "", + "sha256": "0rf4zxw7gl0j22qvzpps6w9g9j1qrh96jh022wyylfpdalhal16y", + "url": "https://nv-tegra.nvidia.com/tegra/kernel-src/nv-kernel-display-driver.git" + }, + "nvethernetrm": { + "date": "2025-07-14T16:57:35-07:00", + "deepClone": false, + "fetchLFS": false, + "fetchSubmodules": false, + "fetchTags": false, + "hash": "sha256-EG6IpIEfSy34d49xzV8C6hiXxxLrXzhKmN/3WvQF+OA=", + "leaveDotGit": false, + "path": "/nix/store/v2017yyjbbyqiphxpba3k5byx2ghyf4a-nvethernetrm", + "rev": "b704cd863afe8c0aa9c53f1d60c9be1931ca3672", + "rootDir": "", + "sha256": "1q7q0ps5mxyzk153hpzb2b3rf67a09gwswcgfzw2sjqzh6j8hvhh", + "url": "https://nv-tegra.nvidia.com/kernel/nvethernetrm.git" + }, + "nvgpu": { + "date": "2025-09-19T10:09:55-07:00", + "deepClone": false, + "fetchLFS": false, + "fetchSubmodules": false, + "fetchTags": false, + "hash": "sha256-e2hdPLlM5H00NiYzreM/JZ0r8/UtMUpjWIuS3llwPCw=", + "leaveDotGit": false, + "path": "/nix/store/fgjwkwdxah6a41jvj989lgvj9n7sdrp1-linux-nvgpu", + "rev": "3705257bb29b3ca0efde0391ef04fa03ea8f6afd", + "rootDir": "", + "sha256": "0b1wf1cxx4lbb1illc9dyprjp7957zisscr66qs7vr2cp4y5ss3v", + "url": "https://nv-tegra.nvidia.com/tegra/kernel-src/linux-nvgpu.git" + }, + "nvidia-oot": { + "date": "2025-09-05T08:26:18-07:00", + "deepClone": false, + "fetchLFS": false, + "fetchSubmodules": false, + "fetchTags": false, + "hash": "sha256-gysUPH6W1LjJGA3vxIQCvMLr97OBqLVkBYXOFfSPzq8=", + "leaveDotGit": false, + "path": "/nix/store/plsfbzpxs387rjlc0x80isndkdpaz3ix-linux-nv-oot", + "rev": "de95a4c5bbe08cb5a75ae77f769d3ba5a1087198", + "rootDir": "", + "sha256": "1byfizs1bkl50mjbba41ngvyphmw0a2c9vqd334vim4ngqy18aw3", + "url": "https://nv-tegra.nvidia.com/linux-nv-oot.git" + }, + "tegra/ada-src/adaruntime": { + "date": "2025-09-19T10:09:38-07:00", + "deepClone": false, + "fetchLFS": false, + "fetchSubmodules": false, + "fetchTags": false, + "hash": "sha256-gIzIbKe81qK1OZpl7Z/1WJLGK9rmlGqS78IsS3tsKBI=", + "leaveDotGit": false, + "path": "/nix/store/6zx4d08al55d814arhhl40n069n7kx07-adaruntime", + "rev": "6ee604e5ae8b45700257a6b155d3e0552af2a26c", + "rootDir": "", + "sha256": "04i8dixlnb62xy96m576v8mwd4jqyngysrcs76ss5mmwlxnci340", + "url": "https://nv-tegra.nvidia.com/tegra/ada-src/adaruntime.git" + }, + "tegra/argus-cam-libav/argus_cam_libavencoder": { + "date": "2025-09-19T10:09:40-07:00", + "deepClone": false, + "fetchLFS": false, + "fetchSubmodules": false, + "fetchTags": false, + "hash": "sha256-K3X1d56VKvlfPJQy44nVs/wXpCFVImBMJQqsysfP5Y8=", + "leaveDotGit": false, + "path": "/nix/store/ygpv3bbgj7wll97zn41fsl3f7vlhfpxf-argus_cam_libavencoder", + "rev": "4f53b57161dd007fa2a7d4fb81dc38c97a846151", + "rootDir": "", + "sha256": "13z5rz3wmb0a4m6608jm46j1gz5ksn4y6cll7igzjalmkrvzax9b", + "url": "https://nv-tegra.nvidia.com/tegra/argus-cam-libav/argus_cam_libavencoder.git" + }, + "tegra/cuda-src/nvsample_cudaprocess": { + "date": "2025-09-19T10:10:01-07:00", + "deepClone": false, + "fetchLFS": false, + "fetchSubmodules": false, + "fetchTags": false, + "hash": "sha256-DaC7/jG0ptJdeHpHIRF6iZSHsktGeGVr/rv3/Wu+39g=", + "leaveDotGit": false, + "path": "/nix/store/9xya7vy8j3hai5waid5l0z6pxx09ds9z-nvsample_cudaprocess", + "rev": "7193df6903e99029959b2d867a76c2e99dfa1270", + "rootDir": "", + "sha256": "1n6zprmzvxxvzrmnay269fr8g549g88j2ivsg1fx59ml67zbp80d", + "url": "https://nv-tegra.nvidia.com/tegra/cuda-src/nvsample_cudaprocess.git" + }, + "tegra/gfx-src/nv-xconfig": { + "date": "2025-09-19T10:09:40-07:00", + "deepClone": false, + "fetchLFS": false, + "fetchSubmodules": false, + "fetchTags": false, + "hash": "sha256-/rM0gMpQe1SIkegePlPx6yAGKIjNutsyGZNTpRtWMDc=", + "leaveDotGit": false, + "path": "/nix/store/kmrpziy07lv6vg2wd0f3shy8w717br6i-nv-xconfig", + "rev": "86b65e68249c87412738e9e1a1e5a53b72b9c5e2", + "rootDir": "", + "sha256": "0drhaqdsalwk34rdpfndi0l0c87by59kw7p8j6458yshra039czy", + "url": "https://nv-tegra.nvidia.com/tegra/gfx-src/nv-xconfig.git" + }, + "tegra/gst-src/gst-egl": { + "date": "2025-09-19T10:09:42-07:00", + "deepClone": false, + "fetchLFS": false, + "fetchSubmodules": false, + "fetchTags": false, + "hash": "sha256-3mpZ/RPcEi3YkTEafIP5qxtAFSzqy6wZj9XNog1DJZY=", + "leaveDotGit": false, + "path": "/nix/store/fs5pyz51q2lyzgca8j5ksvs4z61hpk16-gst-egl", + "rev": "3069e4b80c2ff05f32faa75b192aaee78e726ac8", + "rootDir": "", + "sha256": "15i58c6s5kfmiwcsrjza5hal06xbz61pq6iij7c2s4nw2gymjsny", + "url": "https://nv-tegra.nvidia.com/tegra/gst-src/gst-egl.git" + }, + "tegra/gst-src/gst-jpeg": { + "date": "2025-09-19T10:09:41-07:00", + "deepClone": false, + "fetchLFS": false, + "fetchSubmodules": false, + "fetchTags": false, + "hash": "sha256-HNf5o0aIY54m88ZfYcMNd6+w4ekJMfIREfGJ2y1xcQo=", + "leaveDotGit": false, + "path": "/nix/store/pb43j17s3kj8c2vg5ki7w5zd98n893yn-gst-jpeg", + "rev": "d8fad2045b5088d125a78a85d9926f7b7e9737f2", + "rootDir": "", + "sha256": "02kif4nxp2gi248z4c89x7hv1bvp1p1n2py6yck9wqw88sizkmqw", + "url": "https://nv-tegra.nvidia.com/tegra/gst-src/gst-jpeg.git" + }, + "tegra/gst-src/gst-nvarguscamera": { + "date": "2025-09-19T10:09:58-07:00", + "deepClone": false, + "fetchLFS": false, + "fetchSubmodules": false, + "fetchTags": false, + "hash": "sha256-L3i4f3dkNBI3CT12Th4SekWOjH8LNSKUQPtZMmfpr7o=", + "leaveDotGit": false, + "path": "/nix/store/mknbdlf47skamxkc5ilakhma0qrhnvb5-gst-nvarguscamera", + "rev": "d8adec09c0d0187e68ae650d7bc9135d4913b562", + "rootDir": "", + "sha256": "1fmgx5kk4ngv82a24d8bgy68wibs28g4wxix14vi4d34fxzvhy1g", + "url": "https://nv-tegra.nvidia.com/tegra/gst-src/gst-nvarguscamera.git" + }, + "tegra/gst-src/gst-nvcompositor": { + "date": "2025-09-19T10:10:06-07:00", + "deepClone": false, + "fetchLFS": false, + "fetchSubmodules": false, + "fetchTags": false, + "hash": "sha256-VilfR3Ok/BYvbjr0OYkfPiqx4myIC0bUC/udZaVR984=", + "leaveDotGit": false, + "path": "/nix/store/6kszf5zy53xcd1q9299jzh377jcc7c3p-gst-nvcompositor", + "rev": "9456ee592464fe737a5a401451d227a311c0667d", + "rootDir": "", + "sha256": "1kppa6jnb7gv1ga4c2w8dkib2aiy3y4kkx1sdqpidz54fd3myaan", + "url": "https://nv-tegra.nvidia.com/tegra/gst-src/gst-nvcompositor.git" + }, + "tegra/gst-src/gst-nvipcpipeline": { + "date": "2025-09-19T10:09:05-07:00", + "deepClone": false, + "fetchLFS": false, + "fetchSubmodules": false, + "fetchTags": false, + "hash": "sha256-uoUE/KQVh0sp0nTKTij/5Rl1AQlMyWmCM0jtufeHLRY=", + "leaveDotGit": false, + "path": "/nix/store/jbglqk13zc1i4wapzp324gcnrafb7l8k-gst-nvipcpipeline", + "rev": "4099d70dbe4db06b815f32bf24980980849dbb14", + "rootDir": "", + "sha256": "05idhzvvkva86f16kjac140pa6g5zwl4xjkls8llp1qmlky091ds", + "url": "https://nv-tegra.nvidia.com/tegra/gst-src/gst-nvipcpipeline.git" + }, + "tegra/gst-src/gst-nvtee": { + "date": "2025-09-19T10:09:06-07:00", + "deepClone": false, + "fetchLFS": false, + "fetchSubmodules": false, + "fetchTags": false, + "hash": "sha256-IAkr6Z3X28Sme9gYSijx8Gb95ZmWxJN7/1vP5tlKZng=", + "leaveDotGit": false, + "path": "/nix/store/hc91gp4rj1ymqdd4hqfhm0vklyw0195r-gst-nvtee", + "rev": "47de8825b4db6caaa18ad7257787451cfb16eda0", + "rootDir": "", + "sha256": "0y369bcydksvzxxr7i4nk7jzsrphy4l4l66qgfkc9nypkpljn290", + "url": "https://nv-tegra.nvidia.com/tegra/gst-src/gst-nvtee.git" + }, + "tegra/gst-src/gst-nvunixfd": { + "date": "2025-09-19T10:10:47-07:00", + "deepClone": false, + "fetchLFS": false, + "fetchSubmodules": false, + "fetchTags": false, + "hash": "sha256-p6/+f0tq1YfrzYw850NJBHtmmttEvUhkdNF/TSXoAns=", + "leaveDotGit": false, + "path": "/nix/store/z10cfydl5mr5w0kiirmsz9s0xkagyxk0-gst-nvunixfd", + "rev": "1b33fc2e5ceba4821b743d1e2744bb1ccc2197c0", + "rootDir": "", + "sha256": "0yq2x0jlszyifij4iga4vfd6cyq4951yfg4crpmqgmba9dzzxbx7", + "url": "https://nv-tegra.nvidia.com/tegra/gst-src/gst-nvunixfd.git" + }, + "tegra/gst-src/gst-nvv4l2camera": { + "date": "2025-09-19T10:10:06-07:00", + "deepClone": false, + "fetchLFS": false, + "fetchSubmodules": false, + "fetchTags": false, + "hash": "sha256-4eXn/+UTl7WlV3KsJP7g3cZn7xQA+EIjbultVjxilk8=", + "leaveDotGit": false, + "path": "/nix/store/laiw941gphnl62bsz79qdpgg71n3ddpk-gst-nvv4l2camera", + "rev": "aa4859da4c571ec31ffa8a7fb5e47424e1a8835b", + "rootDir": "", + "sha256": "0kwnc8y5cvg9dqil5y002kpnginxw3z29b3jayjvb5qkwpzygrg1", + "url": "https://nv-tegra.nvidia.com/tegra/gst-src/gst-nvv4l2camera.git" + }, + "tegra/gst-src/gst-nvvidconv": { + "date": "2025-09-19T10:10:42-07:00", + "deepClone": false, + "fetchLFS": false, + "fetchSubmodules": false, + "fetchTags": false, + "hash": "sha256-VkVkvXyOTfvLdN3wjUfl0sWfApl89lGj/VoGcdAAhaE=", + "leaveDotGit": false, + "path": "/nix/store/pi2mj15l824nny7c6fmh934f3va41cyq-gst-nvvidconv", + "rev": "434bd5f56c39901df17a8d0659be4b463cceeb9b", + "rootDir": "", + "sha256": "18c5038721jsznim3xkwk419zifjwm3qvw6xfk5znkcfgjyn8ian", + "url": "https://nv-tegra.nvidia.com/tegra/gst-src/gst-nvvidconv.git" + }, + "tegra/gst-src/gst-nvvideo4linux2": { + "date": "2025-09-19T10:09:24-07:00", + "deepClone": false, + "fetchLFS": false, + "fetchSubmodules": false, + "fetchTags": false, + "hash": "sha256-us1aS7t8fJ4z7l8Bajd2Kb90V1v0OOqHk8d4i8Zy4Mg=", + "leaveDotGit": false, + "path": "/nix/store/83k4ckynf7332b5688fnbxszwcpcxzsc-gst-nvvideo4linux2", + "rev": "373bf1a53af1147116727215931ab1aa489c9071", + "rootDir": "", + "sha256": "1j70fb38ny67jf3ylf7lbdbp9gr9fqvnl0azxqrrwz3wpd5mmkds", + "url": "https://nv-tegra.nvidia.com/tegra/gst-src/gst-nvvideo4linux2.git" + }, + "tegra/gst-src/libgstnvcustomhelper": { + "date": "2025-09-19T10:09:25-07:00", + "deepClone": false, + "fetchLFS": false, + "fetchSubmodules": false, + "fetchTags": false, + "hash": "sha256-A2pYMVKBLc5TElWbZy8vKYHvqrQXtOx683HBwaklunQ=", + "leaveDotGit": false, + "path": "/nix/store/2mrzaa7awp5yl92f10i4v3pjiq0fx95d-libgstnvcustomhelper", + "rev": "5b4e14b24329388fd2e1026707ef61c3837a6b7b", + "rootDir": "", + "sha256": "0x5s4nlw3hbiydxfrd0pnjmfz0995wpng6sm299wwbc1a8qmhsh3", + "url": "https://nv-tegra.nvidia.com/tegra/gst-src/libgstnvcustomhelper.git" + }, + "tegra/gst-src/libgstnvdrmvideosink": { + "date": "2025-09-19T10:09:25-07:00", + "deepClone": false, + "fetchLFS": false, + "fetchSubmodules": false, + "fetchTags": false, + "hash": "sha256-5UtAkC6VCEwJRYGlfXpJsOxO8FsxR3ZOR8AnkeBGG9M=", + "leaveDotGit": false, + "path": "/nix/store/m2xm9vdmjnrb0zkw3w4hsz8vawnk7rds-libgstnvdrmvideosink", + "rev": "4dae5492fbafbd47f4d7ad8300efa95230de6ce9", + "rootDir": "", + "sha256": "1lqv8vh929y08x77ciribgq4xv5h95x7v9c18l4lq24m5s840jz5", + "url": "https://nv-tegra.nvidia.com/tegra/gst-src/libgstnvdrmvideosink.git" + }, + "tegra/gst-src/libgstnvvideosinks": { + "date": "2025-09-19T10:10:48-07:00", + "deepClone": false, + "fetchLFS": false, + "fetchSubmodules": false, + "fetchTags": false, + "hash": "sha256-ggfvX2grvnAs/A790h1OS3ac4SFQbYVnKuQi7R9tKgU=", + "leaveDotGit": false, + "path": "/nix/store/cgdp49k8p88rprlsx0magqscv26ckxfp-libgstnvvideosinks", + "rev": "524a5450ee9904ff91858932662208ad490d2f10", + "rootDir": "", + "sha256": "019adlgys8p459kqavah47hrqxjb9qfx5z8fzhn71gibd1gyy1w2", + "url": "https://nv-tegra.nvidia.com/tegra/gst-src/libgstnvvideosinks.git" + }, + "tegra/gst-src/nvgstapps": { + "date": "2025-09-19T10:10:44-07:00", + "deepClone": false, + "fetchLFS": false, + "fetchSubmodules": false, + "fetchTags": false, + "hash": "sha256-SIfaarIaE9IkJtgSzu6K0mV7v2PjhEEHY3JP9Klga1g=", + "leaveDotGit": false, + "path": "/nix/store/g3clq6cdkqs2mr7zngk533qyq4m7j2m4-nvgstapps", + "rev": "bfee9b105e2e89382594748cbc6aa63c5fa05e7c", + "rootDir": "", + "sha256": "0n3bc2lz8kvjcc3l3173cfzpnrfjibpcw4nq4qjd44qsn9mdm1s8", + "url": "https://nv-tegra.nvidia.com/tegra/gst-src/nvgstapps.git" + }, + "tegra/gst-src/opencv_gst_samples": { + "date": "2025-09-19T10:09:59-07:00", + "deepClone": false, + "fetchLFS": false, + "fetchSubmodules": false, + "fetchTags": false, + "hash": "sha256-hMtG2wBfoCOkMBzXVkdG0xHdGQ56Cg9RSIt21h71pA0=", + "leaveDotGit": false, + "path": "/nix/store/jhm84wcs9k2cabgjmkwswk094szjbgsd-opencv_gst_samples", + "rev": "1cc0c590dd60a8ca844209050a825b6c924ca050", + "rootDir": "", + "sha256": "03d4ylgdcxlb918hy2ks1qcxs4fk8r3mdmqw62j2782z03dldjw4", + "url": "https://nv-tegra.nvidia.com/tegra/gst-src/opencv_gst_samples.git" + }, + "tegra/hafnium-src/hafnium": { + "date": "2025-09-19T10:10:46-07:00", + "deepClone": false, + "fetchLFS": false, + "fetchSubmodules": false, + "fetchTags": false, + "hash": "sha256-4GxV/gFSLnoGJpqIga9tG3aHS1cVvPPiMX9GvN4ZlUY=", + "leaveDotGit": false, + "path": "/nix/store/l9lxgx9ch06b31p4qh3c9nl44miy0fmh-hafnium", + "rev": "d5928923bc3cb64cebe3ec0ee4511f7e85caac42", + "rootDir": "", + "sha256": "0ilm37gbqikz67ig7g0max5qfxhvdnpq324s4q37lbjj07z5av70", + "url": "https://nv-tegra.nvidia.com/tegra/hafnium-src/hafnium.git" + }, + "tegra/nv-sci-src/nvsci_headers": { + "date": "2025-09-19T10:10:08-07:00", + "deepClone": false, + "fetchLFS": false, + "fetchSubmodules": false, + "fetchTags": false, + "hash": "sha256-IWccUGj79vVYpXgyxysntrOycO7W1oS+zZ41wVQdTS4=", + "leaveDotGit": false, + "path": "/nix/store/w1dgy3ps6ps2dkygdqphqn2si247jn9r-nvsci_headers", + "rev": "c4b0ffbec7f1b44834719fdf8220a7574ef2c86d", + "rootDir": "", + "sha256": "0bjd3mac2dcyrnz89mnnxrqb5cxn4wmwfckqlmcgbxpvd181qrr1", + "url": "https://nv-tegra.nvidia.com/tegra/nv-sci-src/nvsci_headers.git" + }, + "tegra/nv-sci-src/nvsci_samples": { + "date": "2025-09-19T10:10:49-07:00", + "deepClone": false, + "fetchLFS": false, + "fetchSubmodules": false, + "fetchTags": false, + "hash": "sha256-ZeA//mE7kwb4UA1H6BHuz3avNfYLYacCmUsU63sVd4w=", + "leaveDotGit": false, + "path": "/nix/store/6hncdzb0145msjg1cixbhx25p63d9jq2-nvsci_samples", + "rev": "a3f1b7ea3396b05883518ef262da7d5e77d803f9", + "rootDir": "", + "sha256": "133p2mxyn52bk41afq8byqssyxngxq8yhiqda3w0d4rvc7z3zq35", + "url": "https://nv-tegra.nvidia.com/tegra/nv-sci-src/nvsci_samples.git" + }, + "tegra/openwfd-src/openwfd_headers": { + "date": "2025-09-19T10:09:57-07:00", + "deepClone": false, + "fetchLFS": false, + "fetchSubmodules": false, + "fetchTags": false, + "hash": "sha256-arsKTev4OvzkPGdMdfe7nst0+DDs362lJJ9Nenz5+Uc=", + "leaveDotGit": false, + "path": "/nix/store/6avxknn2ywahvvnqvjwjsn7lpbw0pjkd-openwfd_headers", + "rev": "a075470ae4cfc5a4708e863c9c5119be81192a68", + "rootDir": "", + "sha256": "0izrz5y7lkcz4jjsvpzc63w79jwypgvpak377kjgqfpqxd6hmfva", + "url": "https://nv-tegra.nvidia.com/tegra/openwfd-src/openwfd_headers.git" + }, + "tegra/optee-src/atf": { + "date": "2025-09-19T10:09:22-07:00", + "deepClone": false, + "fetchLFS": false, + "fetchSubmodules": false, + "fetchTags": false, + "hash": "sha256-PeCitlK29FUVDxyUPMVBKRYMP/9MEOG5Nt1IwMXX2lQ=", + "leaveDotGit": false, + "path": "/nix/store/lfradg34nz4lzzx65nh6g6l6d2x3nmh5-atf", + "rev": "2b69e3103dc7913d9286259e086bbfc8f194bae1", + "rootDir": "", + "sha256": "0m6ssz2w0j6x6swy242czwzhq5i9872kr50w1wambx5naava5q1x", + "url": "https://nv-tegra.nvidia.com/tegra/optee-src/atf.git" + }, + "tegra/optee-src/atf_t264": { + "date": "2025-09-19T10:09:12-07:00", + "deepClone": false, + "fetchLFS": false, + "fetchSubmodules": false, + "fetchTags": false, + "hash": "sha256-6+3QLCLCowqAvU3H34y6vR467pzxYU6FyUFO1FF59fI=", + "leaveDotGit": false, + "path": "/nix/store/brga43g3bg2j2q6amxgh9d8n695nblaz-atf_t264", + "rev": "a5b0e0a94b01e222ddb9a18e95fbc5f46ad0ab29", + "rootDir": "", + "sha256": "1wpmg58x8kj1r62lwqgikkp3l7mxpa6dzisdpn00m8y248nd1vgb", + "url": "https://nv-tegra.nvidia.com/tegra/optee-src/atf_t264.git" + }, + "tegra/optee-src/nv-optee": { + "date": "2025-09-19T10:09:49-07:00", + "deepClone": false, + "fetchLFS": false, + "fetchSubmodules": false, + "fetchTags": false, + "hash": "sha256-/UiDUREP0oGMN3xZtuvWBz064DS8+wpzyyw5vc08IGg=", + "leaveDotGit": false, + "path": "/nix/store/12r8f0k6l580iy64kkmfmslnas5r331s-nv-optee", + "rev": "064a5169e80afcc89258f82be2a07a7d54e737fc", + "rootDir": "", + "sha256": "0s107k6vsf9crdrhmyxw6kh3lg87svmvcnbw6y683lhg258q6j7x", + "url": "https://nv-tegra.nvidia.com/tegra/optee-src/nv-optee.git" + }, + "tegra/v4l2-src/libv4l2_nvargus": { + "date": "2025-09-19T10:09:51-07:00", + "deepClone": false, + "fetchLFS": false, + "fetchSubmodules": false, + "fetchTags": false, + "hash": "sha256-gTrQgdI5lOynCKMgCvF6uue9gd7PG9xpqm7VCFlp7KY=", + "leaveDotGit": false, + "path": "/nix/store/xqd81pbkjhfihj0bjckzirqrrbmldzms-libv4l2_nvargus", + "rev": "d1e58f9cd6b84cb12fdb0229f1d3f42ebaf1c333", + "rootDir": "", + "sha256": "19pcd5chimbfm9lxq6ygvs0vvrxsgbqhl85312kyr51rsa0x0fl1", + "url": "https://nv-tegra.nvidia.com/tegra/v4l2-src/libv4l2_nvargus.git" + }, + "tegra/v4l2-src/v4l2_libs": { + "date": "2025-09-19T10:09:57-07:00", + "deepClone": false, + "fetchLFS": false, + "fetchSubmodules": false, + "fetchTags": false, + "hash": "sha256-2qJumtpOnTBRZjgp5yjM8AG6d+UMksSjmq2LKHvA9wI=", + "leaveDotGit": false, + "path": "/nix/store/17klzxnia6240d1cgn1f3s18a07c6z6z-v4l2_libs", + "rev": "74b0ee4b0a453bf6a603d7699e4c15b83217a42f", + "rootDir": "", + "sha256": "00ppq1xji2xdkaiw94hcwmvvl0ghrhlffa9qcr8k17afvad6x8ns", + "url": "https://nv-tegra.nvidia.com/tegra/v4l2-src/v4l2_libs.git" + }, + "tegra/webrtc-app-src/argus-camera-app": { + "date": "2025-09-19T10:10:34-07:00", + "deepClone": false, + "fetchLFS": false, + "fetchSubmodules": false, + "fetchTags": false, + "hash": "sha256-gydje+oiPqcnLV+zn4C7U3OLhDqpU1DgS3V3Puhs9Lc=", + "leaveDotGit": false, + "path": "/nix/store/afq69b32gl81rgvmn7vwhwnbqr6is9gh-argus-camera-app", + "rev": "0db98ee507c29c1f5cfb4f4c05edecb06a575ca2", + "rootDir": "", + "sha256": "1dzldkl3wxvm9gh50lx97a28nwskpf09zcsz5lksfgi2x9xn69w3", + "url": "https://nv-tegra.nvidia.com/tegra/webrtc-app-src/argus-camera-app.git" + }, + "unifiedgpudisp": { + "date": "2025-09-19T10:09:32-07:00", + "deepClone": false, + "fetchLFS": false, + "fetchSubmodules": false, + "fetchTags": false, + "hash": "sha256-8KB/ZW6xxhnwNbH2AYkJitX/mhWHDIK4YbrhiWulcd0=", + "leaveDotGit": false, + "path": "/nix/store/d5wvwasjpjz1hzcr17zfjijwk0v1409i-nv-unified-gpu-display-driver", + "rev": "943a608e59bc1133f01c8228ad5c03e2a3369dec", + "rootDir": "", + "sha256": "1pbilmmqkqdsc6w843472ndgzmca164h3xmi6pq1kimidrjpz87h", + "url": "https://nv-tegra.nvidia.com/tegra/kernel-src/nv-unified-gpu-display-driver.git" + } +}