官方要求

categoryrequirement
Host machine
x86_64 systems
- Ubuntu Desktop 16.04, 18.04, 20.04, and 22.04
- CentOS 8.2
- Red Hat 8.2
- Ensure you are registered under a Red Hat account and attached to the correct subscription.
- Debian: 10.8
Memory8GB

See the Base SDKs host operating system compatibility matrix for details:

NVIDIA SDK
SDK Version
Supported Host Operating System
Ubuntu
CentOS
RHEL
Debian
16.04 18.04 20.04 22.04 8.2 8.2 10.8
JetPack
JetPack 4.x
JetPack 5.x
JetPack 6.x
Ethernet Switch
Switch 4.x
ARC-OTA
Aerial 22-4
Aerial 23-4
ARC-OTA 1.x
RAPIDS
RAPIDS 24.x
Holoscan
HoloPack 1.2
DRIVE OS
DRIVE OS 5.0.x
DRIVE 0S 6.0.x
DOCA
DOCA 1.5
DOCA 2.2

让AGX进入Recovery状态

  • 已开机状态: 长按2键, 再按3键, 松开3键, 松开2键
  • 为开机状态, 长按2键, 接上电源
# 检验是否进入Recovery模式
lsusb
## Bus 001 Device 006: ID 0955:7023 NVIDIA Corp. APX

🏇的, 不支持Debian, 非得整你那ubuntu20.04是吧? Docker, 启动!

前往NVIDIA官方下载deb包

NVIDIA官方下载链接

# 安装官方刷机包
sudo apt install ./sdkmanager_2.2.0-12028_amd64.deb  -y
# 更新系统库
sudo apt update

安装SDK镜像

# 启动sdkmanager
sdkmanager
# 登录账号
## 取消勾选Host Machine, Target Hardware选择对应版本, 成功会显示绿色对勾

注意!!! Docker刷机也需要宿主机符合官方刷机要求, 否则会出现各种问题!!!
🐎的, 非得要ubuntu20.04的内核是吧? KVM, 启动!

前往官方地址下载Docker镜像

NVIDIA官方下载连接

# 导入官方镜像
sudo docker load -i sdkmanager-2.2.0.12028-Ubuntu_20.04_docker.tar.gz

运行Docker烧录

# 运行容器
docker run -it \
--privileged \ # 给予容器root权限
-v /dev/bus/usb:/dev/bus/usb/ \ # 映射宿主机的USB到容器
-v /dev:/dev \ # 没看懂?
-v /media/$USER:/media/nvidia:slave \ # 没看懂
--name JetPack_AGX_Orin_Devkit \ # 容器命名
--network host \ # 容器使用主机网络
sdkmanager:2.2.0.12028-Ubuntu_20.04  \ # 调用镜像
--cli \ #界面形式调用镜像
--action install \ # 选择安装
--login-type devzone \ # 登录方式
--product Jetson \ # 选择Jetson产品
--target-os Linux \ # 烧录设备的系统
--version 6.1 \ # 安装最新版
--target JETSON_AGX_ORIN_TARGETS \ # 选择安装目标
--flash \ # 跳过烧录
--license accept \ # 接受许可
--stay-logged-in true \ # 下次登录无需验证
--collect-usage-data enable \
--exit-on-finish

# 打包容器
sudo docker commit JetPack_AGX_Orin_Devkit  jetpack_agx_orin_devkit:6.1_flash

sudo docker container rm  JetPack_AGX_Orin_Devkit

# 启动镜像
sudo docker run -it --rm --privileged -v /dev/bus/usb:/dev/bus/usb/ jetpack_agx_orin_devkit:6.1_flash

Client端命令

-h    # 显示帮助
--ver # 显示版本
--query interactive # 交互式? 
        non-interactive
--show-all-versions # 展示所有可用版本
--exit-on-finish # 安装完成后自动推出
--user user_email # 邮箱登录
--password string # 邮箱登录
--login-type devzone
             nonline
             offline # 跳过登录, 直接使用本地的文件
--stay-logged-in true
                 false # 后续是否免登录
--logout # 退出登录
--download-folder folder # 设置下载文件夹, 否则默认为${HOME}/Downloads/nvidia/sdkm_downloads
--archived-versions # 展示archived版本, 默认不展示
--cli # 运行CLImode
--action install # 选择启动模式
         uninstall
         downloadonly
--settings # 进行一些设置?

--product DRIVE  # 选择配置产品
          Jetson
          Holoscan
          DOCA
          Switch
          ARC-OTA
--version string # 设置版本, 例如Jetson安装的6.1版本
--target-os Linux # 设置目标 硬件系统? 只有Linux吧
--host # 需要在host安装时才用
--target target_id # 选择安装设备, 如JETSON_AGX_ORIN_TARGETS
--flash all # 设置烧录方案, 默认skip
        a
        b
        ab
        skip
--usb-port usb_port_id # 多设备烧录时用, 指定烧录设备
--serial-port serial_port_name # 多服务器时用
--addtional-sdk additional_sdk_title # 烧录多个镜像???
--select section_title | group_title # 选择安装项目
--deselect section_title | group_title # 选取消装项目
--licenses accept # 接受许可
--target-image-folder folder_path # 设置存放下载的镜像位置, 默认为${HOME}/nvidia/nvidia_sdk/
--export-response-file folder-path # 设置配置文件, 可以在配置文件中设置好所有参数, 让程序自动运行
--auto # 自动构建

踩坑

# 使用Docker安装常见错误 https://docs.nvidia.com/sdk-manager/release-notes/index.html
# 'dpkg': Exec format error
apt install qemu-user-static binfmt-support -y 
sudo update-binfmts --enable

# timeout in USB write
# 重新插拔jetson

未读文档

完整文档
最后修改:2025 年 04 月 04 日
赛博讨口子