JetPack 7.2 ISO Image can fail with 'Unsupported board!' error on custom Thor carrier boards

The file: /ai/jetsoniso_setup.bash inside
iso-editable-thor/casper/ubuntu-server-minimal.ubuntu-server.installer.kernel.nvidia.squashfs

has a bug that may affect non-NVIDIA Thor (and Orin) custom carrier boards.

jetsoniso_setup.bash’s detect_board_type() matches against literal exact strings:

  case $board in
      "NVIDIA Jetson AGX Thor Developer Kit")   FAMILY="thor"; CHIPID="0x26" ;;
      "NVIDIA Jetson AGX Orin Developer Kit")   FAMILY="orin"; CHIPID="0x23"; ... ;;
      "NVIDIA Jetson Orin NX"*|"NVIDIA Jetson Orin Nano"*)   FAMILY="orin"; ... ;;
      *) echo "Unsupported board!"; exit 1 ;;
  esac

Notice the Orin NX / Nano arm already uses wildcards (“…”), so partner SOMs work there. The two AGX arms don’t — they require the exact NVIDIA devkit string. That means JetPack 7.2 ISO install will fail on a carrier board that isn’t the NVIDIA-branded AGX Thor or AGX Orin Developer Kit, even though
the SoC is identical and the installer payload (/ai/jetsoniso_thor-ai.yaml, /opt/nvidia/ptable.thor.
, etc.) is already fully built for that SKU.

The fix is to give the AGX names the same wildcard treatment that’s already in place for Orin NX/Nano.

       case $board in
  -        "NVIDIA Jetson AGX Thor Developer Kit")
  +        *"Thor"*)
               FAMILY="thor"
               CHIPID="0x26"
               ;;
  -        "NVIDIA Jetson AGX Orin Developer Kit")
  +        *"Orin"*)
               FAMILY="orin"
               CHIPID="0x23"
               CMDLINE_PARAMS="..."
               ;;
           "NVIDIA Jetson Orin NX"*|"NVIDIA Jetson Orin Nano"*)
               FAMILY="orin"
               ...

Follow-up: a second failure can occur in jetsoniso_setup.bash .on no-EEPROM custom carriers. @wichiu

After a prospective patch in detect_board_type() to recognize custom Thor boards, the installer can still fail further down with one of:

Failed to get platform spec
Failed to get platform compatibility spec

This comes from the EFI-var / EEPROM fallback in detect_board_type():

  if [ -f "${efivar_spec}" ]; then
      TNSPEC=$(dd if="$efivar_spec" ...)
  else
      TNSPEC=$(generate_platform_spec_string)   # → parse_eeprom_fields → reads i2c *-0050
  fi

On custom Thor carriers without TegraPlatformSpec/TegraPlatformCompatSpec EFI variables and without an NVIDIA-format EEPROM at i2c address 0x50, both paths fail, TNSPEC/COMPAT_SPEC stay empty, and the script exits.

Suggested fix: when both fallbacks fail, provide a default spec from FAMILY instead of exiting. The constants already exist in the script — e.g. for Thor:

  BOARD_ID_AGX_THOR + BOARD_NAME_AGX_THOR_DEVKIT + COMPAT_FAB_000

That would let custom carriers with no EEPROM complete the install with sensible AGX-Thor defaults, matching how resolve_compat_spec_params() already handles the unknown-board case in its *) arm.

Same root cause as the model-string issue: the installer assumes NVIDIA reference-board provisioning (EEPROM populated to NVIDIA’s format, or UEFI EFI vars set by NVIDIA’s CBoot). Custom carrier boards may have neither.

Hi,
The ISO image is for AGX Thor developer kit. Do you hit the issue while upgrading developer kit?

I don’t but other boards have. Problem in Thor Developer kit

I was just trying to find a possible fix.