Jetson Orin Nano JetPack Upgrade Issues with Custom UEFI
Issue Overview
Users are experiencing difficulties when attempting to upgrade JetPack from version 5.1.1 to 5.1.2 on the Nvidia Jetson Orin Nano Developer Kit, particularly when using a custom UEFI. The upgrade process fails, resulting in kernel errors and boot failures. This issue appears to be related to the use of modified UEFI firmware, which conflicts with the standard Debian-based over-the-air (OTA) upgrade process.
Possible Causes
-
Custom UEFI firmware: The use of modified UEFI firmware, even with minor changes like custom boot logos, can interfere with the standard upgrade process.
-
Network connectivity issues: The upgrade process requires a network connection during the UEFI capsule update, which may not have been present in some cases.
-
Incompatibility between custom modifications and official packages: The Debian-based OTA upgrade process is designed for unmodified developer kits and may not account for custom changes made to the system.
-
Incorrect upgrade procedure: Users may not be following the correct steps for upgrading JetPack on customized systems.
Troubleshooting Steps, Solutions & Fixes
-
Use official UEFI firmware:
- Revert to the official, unmodified UEFI firmware before attempting the upgrade.
- This approach has been reported to resolve the issue for some users.
-
Ensure network connectivity:
- Connect the Jetson Orin Nano to a network before initiating the upgrade process.
- This is particularly important during the UEFI capsule update stage.
-
Follow the official upgrade procedure:
- Use the following commands for a standard Debian-based OTA upgrade:
sudo vim /etc/apt/sources.list.d/nvidia-l4t-apt-source.list sudo apt update sudo apt dist-upgrade sudo apt install --fix-broken -o Dpkg::Options::="--force-overwrite"
- Use the following commands for a standard Debian-based OTA upgrade:
-
Address GPT space warning (if encountered):
- If you see a warning about unused space on /dev/nvme0n1, use the following command:
echo -e "Fix\n1\n\n" | sudo parted ---pretend-input-tty /dev/nvme0n1 print >/dev/null 2>&1
- Then, trigger the OTA again with:
sudo apt dist-upgrade
- If you see a warning about unused space on /dev/nvme0n1, use the following command:
-
Use image-based OTA for custom carrier boards:
- For systems with significant customizations or custom carrier boards, consider using image-based OTA 6 instead of the Debian-based OTA.
-
Maintain a custom Debian package server:
- For users who need to keep custom UEFI modifications:
- Set up and maintain your own Debian package server.
- Provide customized .deb files specifically for your modified board.
- Use this custom server for future upgrades instead of the official NVIDIA server.
- For users who need to keep custom UEFI modifications:
-
Diagnostic information:
- If issues persist, gather the following information for further troubleshooting:
- Full serial console log
- Output of the
lsblk
command - Detailed logs of the apt update and dist-upgrade processes
- If issues persist, gather the following information for further troubleshooting:
-
Consider clean installation:
- If all else fails, consider performing a clean installation of JetPack 5.1.2 instead of upgrading.
- Back up all important data before proceeding with a clean installation.
Remember that the Debian-based OTA upgrade process is designed for unmodified Jetson Orin Nano Developer Kits. Any customizations, including UEFI modifications, may require alternative upgrade methods or additional steps to ensure compatibility and system stability.