手把手教你Jetson AGX Xavier Developer Kit刷机(装系统)

Jetson AGX Xavier是一款由NVIDIA推出的一款强大的嵌入式AI开发平台,适合边缘计算和目标检测任务。

1、装系统(刷机)背景

首先有必要了解一下 Jetson AGX Xavier Developer Kit 的刷机原理,同时尽量把细节讲清楚,让你既能明白是怎么回事,又能知道具体的操作步骤。

刷机是什么?

简单来说,刷机就是给 Jetson AGX Xavier 装一个全新的“系统”,有点像给你的电脑重装 Windows。不过,Jetson AGX Xavier 不是普通电脑,它是一个专门为人工智能(AI)和机器人设计的嵌入式设备,所以刷机的方式和步骤跟装 Windows 不太一样,但目的都是让设备能正常运行。

为什么需要刷机?

刷机有几个常见的原因:

  • 新设备初始化:你刚买的 Jetson AGX Xavier 可能没装系统,或者装的是老版本,想换个新的。
  • 修问题:如果设备软件坏了,比如死机、跑不动程序,刷机能让它“满血复活”。
  • 升级软件:刷个新系统,能用上 NVIDIA 最新的工具和功能,比如 JetPack SDK,里面有驱动和编程库。

刷机的基本原理

刷机就是把一个操作系统(通常是 Ubuntu)和 Jetson 专用的软件装到设备的存储器里(比如内置的 eMMC 或者外接的 NVMe SSD)。整个过程需要一台电脑帮忙,通过 USB 线把系统“塞”进 Jetson 里。

刷机概述

  1. 准备一台电脑:得是 Ubuntu 系统,装上 NVIDIA 的 SDK Manager 工具(NVIDIA 出的刷机工具 SDK Manager 只支持 Ubuntu 系统,推荐用 Ubuntu 18.04 或者 Ubuntu 20.04 。Jetson 的软件和 Ubuntu 是“老搭档”,换别的系统(比如 Windows 或 Ubuntu 24.04)会出问题。另外 SDK Manager 会检测目标硬件,决定需要安装的 Jetson 专用的软件,这也限制了这台电脑的 Ubuntu 系统版本)。

warnning: 不能用 Ubuntu 24.04 刷机

  • 不匹配
    SDK Manager 是为 Ubuntu 18.04 设计的,Ubuntu 24.04 的系统太新,里面的东西(比如内核、库文件)和 JetPack 不兼容。
  • 软件问题
    JetPack 需要一些特定版本的软件包,Ubuntu 24.04 的版本不对,装不上。
  • 驱动不行
    Jetson 的驱动是为 Ubuntu 18.04 编译的,换到 24.04 上可能跑不起来。
  1. 让 Jetson 进入“刷机模式”:也就是恢复模式,方便电脑控制它。
  2. 用工具刷机:通过 SDK Manager 把系统和软件装进去。
  3. 设置一下:刷完后在 Jetson 上弄好语言、用户名这些基本东西。

SDK Manager 是什么?

它是个“管家”,负责下载系统(Ubuntu)和 Jetson 的专用软件,然后把它们装到 Jetson 里。

使用概述

  • 打开 SDK Manager,登录你的 NVIDIA 账户。
  • 选择设备(Jetson AGX Xavier)和 JetPack 版本(比如 4.6)。
  • 点击 Flash(刷机)按钮。
  • 它会自动找到你的 Jetson(前提是已经在恢复模式)。
  • 然后就开始干活:
    1. 下载系统文件和软件包(需要网,可能会花点时间)。
    2. 把这些文件通过 USB 写到 Jetson 的存储器里。
    3. 安装 Jetson 专用的东西,比如 GPU 驱动、AI 工具(CUDA、TensorRT)。
  • 刷完后,Jetson 会自己重启。

刷完后的设置

  • 接上外设
    把显示器、键盘、鼠标连到 Jetson 上。
  • 设置 Ubuntu
    • 开机后会跳出设置界面:
      • 同意许可协议。
      • 选语言(中文或英文)、时区、键盘布局。
      • 设置用户名和密码(可以用 nvidia,方便记)。
  • 连网
    • 插上网线,或者用 USB Wi-Fi 适配器。
    • 如果 Wi-Fi 不生效,可能得装个驱动,网上搜一下对应型号的教程。

其它说明

  • 启动是怎么弄的?
    Jetson 用了个叫 U-Boot 的东西来启动系统。刷机时,SDK Manager 会更新 U-Boot 和系统内核,保证能正常开机。
  • 东西装在哪儿?
    Jetson 有内置存储(eMMC),也可以外接 NVMe SSD。刷机时会把系统装到你选的存储上。
  • 系统怎么分的?
    刷机会把存储分成几块,比如放启动文件的、放系统的,系统一般用 ext4 格式(一种常见的文件系统)。
  • 有啥特别的软件?
    JetPack SDK 里带了 Jetson 专用的驱动(比如 GPU、摄像头)和工具(CUDA、TensorRT),这些是给 AI 和深度学习用的。

2、关于Jetson AGX Xavier 刷机时涉的系统问题

当你刷机 Jetson AGX Xavier 时,涉及两个不同的系统:Ubuntu 主机系统 和 安装到 Jetson AGX Xavier 里面的系统。这两个系统在刷机过程中扮演不同的角色,并且它们的版本要求也有所不同。下面它们的区别以及版本限制具体指的是哪个系统。

Ubuntu 主机系统和 Jetson AGX Xavier 上的系统的区别

Ubuntu 主机系统

  • 作用:这是你用来运行 NVIDIA SDK Manager 的计算机上的操作系统。SDK Manager 是一个图形化工具,负责下载 JetPack SDK(包括操作系统、驱动和开发工具),并将其安装到 Jetson AGX Xavier 上。
  • 版本要求:SDK Manager 对主机系统的 Ubuntu 版本有明确限制。官方支持的版本通常是 Ubuntu 16.04 和 Ubuntu 18.04,部分 JetPack 版本也支持 Ubuntu 20.04。但目前不支持更高版本,比如 Ubuntu 22.04 或 24.04。
  • 特点:主机系统只是一个“工具平台”,它的主要任务是提供一个兼容的环境,让 SDK Manager 能够正常运行并完成刷机过程。刷机完成后,主机系统的版本不会影响 Jetson 设备的运行。

安装到 Jetson AGX Xavier 里面的系统

  • 作用:这是刷机后运行在 Jetson AGX Xavier 设备上的操作系统,通常是 Ubuntu 18.04 或 Ubuntu 20.04,具体版本由你使用的 JetPack SDK 决定。它是 Jetson 设备的“核心系统”,提供运行程序和开发环境的支撑。
  • 版本来源:这个系统的版本由 JetPack SDK 决定。例如:
    • JetPack 4.x 安装的是 Ubuntu 18.04。
    • JetPack 5.x 安装的是 Ubuntu 20.04。
  • 特点:它是直接运行在 Jetson 硬件上的系统,与主机系统无关。Jetson AGX Xavier 的硬件支持决定了它只能运行特定版本的 Ubuntu(目前不支持 Ubuntu 22.04 或更高版本,因为这些版本对应 JetPack 6.x,而 JetPack 6.x 仅支持 Jetson Orin 系列)。

主要区别

  • 功能不同:主机系统是刷机的“操作平台”,Jetson 系统是刷机后的“目标系统”。
  • 版本来源不同:主机系统的版本是你自己安装的 Ubuntu,而 Jetson 系统的版本是由 JetPack SDK 提供的。
  • 独立性:两者的版本互不影响,主机系统可以是 Ubuntu 18.04,而 Jetson 系统可以是 Ubuntu 20.04,反之亦然。

前文所述Ubuntu版本限制指的是哪个系统?

前面提到的 Ubuntu 版本的限制 是指 Ubuntu 主机系统 的版本限制,而不是安装到 Jetson AGX Xavier 里面的系统:

  • 主机系统的版本限制:

    • SDK Manager 要求主机系统运行在特定的 Ubuntu 版本上(通常是 16.04、18.04 或 20.04),因为它依赖这些版本中的软件包和库文件。如果主机系统使用不受支持的版本(如 Ubuntu 24.04),SDK Manager 可能会无法运行或安装失败。
    • 例如,官方文档通常推荐使用 Ubuntu 18.04 作为主机系统,因为这是最广泛测试和支持的版本。
  • Jetson 系统的版本:

    • 安装到 Jetson AGX Xavier 里面的系统版本由你选择的 JetPack SDK 版本 决定,而不是由主机系统的 Ubuntu 版本决定。例如,如果你使用 JetPack 5.1.5,Jetson 上会安装 Ubuntu 20.04,无论你的主机系统是 Ubuntu 18.04 还是 20.04。
    • 这个版本不受主机系统版本的限制,而是由 JetPack SDK 和 Jetson AGX Xavier 硬件兼容性决定的。

举个例子

  • 如果你的主机系统是 Ubuntu 20.04,你使用 JetPack 5.1.5 刷机,那么:
    • 主机系统保持 Ubuntu 18.04,用于运行 SDK Manager。
    • Jetson AGX Xavier 上会被安装 Ubuntu 20.04。
  • 这里主机系统的版本(18.04)满足 SDK Manager 的要求,而 Jetson 系统的版本(20.04)由 JetPack 5.1.5 决定,两者是独立的。

为什么会有这些区别和限制?

  • 主机系统限制的原因:

    • SDK Manager 需要依赖主机系统上的特定工具和库(如 Python、apt、gcc 等)的版本。如果主机系统使用 Ubuntu 22.04 或 24.04,这些工具和库的版本可能太新,与 SDK Manager 不兼容。
  • Jetson 系统版本的原因:

    • Jetson AGX Xavier 的硬件需要特定的驱动程序和内核支持,这些是由 JetPack SDK 针对 Ubuntu 18.04 或 20.04 定制的。更高版本(如 Ubuntu 22.04)是为新一代硬件(如 Jetson Orin)设计的,不适用于 AGX Xavier。

3、手把手操作流程

如果你目前完全不熟悉如何硬件连接也不知道如何开始,请先参考Jetson AGX Xavier开发套件使用方法中第2步:开发前准备工作

1、 (不要这样做)主机系统为Ubuntu24.04安装会失败。

下面的示例中我们给Jetson AGX Xavier刷机(装系统)所用的主机系统(另一台机器)是widows系统vmware软件中的ubuntu虚拟机(也可以直接使用物理机),第一次使用的ubuntu版本是Ubuntu24.04-x86_64。我们配置了一个基于vmware的Ubuntu24.04系统的虚拟机(换源并更新)。
在该虚拟机内部,访问 NVIDIA 开发者网站,进行注册或登陆(后面的下载也要求可以虚拟机内部要联网)。下载并安装SDK Manager,下载地址:https://developer.nvidia.com/nvidia-sdk-manager,下载.deb后缀的安装包。

# 在Ubuntu系统上安装SDKManager
# 以下示例<version = 1.81>、<build = 10392>
sudo apt install ./sdkmanager_1.8.1-10392_amd64.deb
# 启动运行SDKManager:
sdkmanager

打开SDK Manager后,显示如下图,虽然数据线已连接上(已经使用数据线连接Jetson AGX Xavier),但是Jetson AGX Xavier即目标硬件(Target Hardware)还无法检测到。
在这里插入图片描述
需要将目标硬件(Jetson AGX Xavier)转入恢复状态方可被检测到。转入恢复状态的操作:按住中间键(Force Recovery)两秒后不松手,再按电源键两秒后一起松手。弹出自动显示如下(如果没有自动弹出,也可以从Vmware的“虚拟机”->“可移动设备”下找到“NVIDIA APX”并点击"连接"后才弹出):
在这里插入图片描述
可以使用lsusb命令确认已经连接成功(显示NVIDIA Corp. APX):
在这里插入图片描述
浏览:
在这里插入图片描述
并设置为实际的硬件:
在这里插入图片描述
点积OK后,发现没有可供选择的SDK版本(SDK VERSION)。
在这里插入图片描述
这是Ubuntu版本过高的问题(建议安装Ubuntu18.04或者Ubuntu20.04),重新安装主机虚拟机,下面我们使用虚拟机,Ubuntu版本为20.04。

2、使用Ubuntu20.04主机系统刷机(下载和安装)

这次下载了一个Ubuntu20.04-x86_64的系统(64-bit PC (AMD64) desktop image),配置了一个基于vmware的Ubuntu20.04系统的虚拟机(换源并更新)。

换源并更新:
先换源,需要根据设备上的Ubuntu系统版本进行更换,清华,阿里,中科大的镜像源都可以。
以使用阿里云镜像源为例:

  1. 备份sources.list文件
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
  1. 打开sources.list文件
sudo gedit /etc/apt/sources.list
  1. 删除原内容,添加以下内容
# 阿里云
deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse

# deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
# deb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
# deb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
# deb-src http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse

## Pre-released source, not recommended.
# deb http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
# deb-src http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
  1. 保存sources.list文件后需要更新apt-get
sudo apt-get update

其他镜像源链接:

  • https://mirrors.tuna.tsinghua.edu.cn/help/ubuntu/
  • https://developer.aliyun.com/mirror/
  • http://t.csdn.cn/CMvQs

在该虚拟机内部,访问 NVIDIA 开发者网站,进行注册或登陆(后面的下载也要求可以虚拟机内部要联网)。下载并安装SDK Manager,下载地址:https://developer.nvidia.com/nvidia-sdk-manager,下载.deb后缀的安装包。

# 在Ubuntu系统上安装SDKManager
# 以下示例<version = 1.81>、<build = 10392>
sudo apt install ./sdkmanager_1.8.1-10392_amd64.deb
# 启动运行SDKManager:
sdkmanager

重复前面第一节的步骤。首先确保设备都已经正确连接,然后将目标硬件(Jetson AGX Xavier)转入恢复状态方可被检测到。转入恢复状态的操作:按住中间键(Force Recovery)两秒后不松手,再按电源键两秒后一起松手。显示如下:
在这里插入图片描述
新安装的Ubuntu20.04需要从虚拟机->可移动设备下找到NVIDIA APX并点击连接:
在这里插入图片描述
连接后,弹出对话框,选择“Jetson AGX Xavier”设备:
在这里插入图片描述
此时,目标硬件(Target Hardware)下拉框中可以检测到我们的设备,选中它。
在这里插入图片描述
选中针对Jetson AGX Xavier最高可用的SDK版本:JetPack 5.1.5
在这里插入图片描述
除JetPack5.1.5外,建议增选DeepStream并安装。

DeepStream SDK简介:
DeepStream SDK 是 NVIDIA 推出的一套工具和库,主要用于加速视频处理和人工智能推理任务。它基于 NVIDIA 的 GPU 技术,针对视频流分析和处理进行了优化,特别适合在嵌入式设备(如 Jetson 系列)或数据中心的 GPU 上运行。

CONTINUE进入STEP2:
在这里插入图片描述
所有默认,并增选Developer Tools
在这里插入图片描述
开发工具(Developer Tools)也勾选上
在这里插入图片描述
然后CONTINUE到STEP3:
在这里插入图片描述
继续点击CONTINUE并Create,
在这里插入图片描述
点击CONTINUE,提示输入主机(本机)密码:
在这里插入图片描述
输入后,点击CONTINUE,弹出以下提示:
在这里插入图片描述
接着提示:
在这里插入图片描述
这是此前更新包未结束导致的冲突,重启后重复此前的过程,点击CONTINUE这次进入下载过程:
在这里插入图片描述
打开DETAILS旁边的TERMINAL页面卡,还可以看到安装的详细信息:
在这里插入图片描述
等待安装完毕。安装过程中,有些错误:
在这里插入图片描述
但是下载装过程不会停止,继续等待结束。
完全下载完成后,安装仍在继续:
在这里插入图片描述
上面的报错是host components 指的是在虚拟机上安装一些,报错不影响开发板的安装,下面的target components才是往开发板里面安装的sdk。
大约在6%安装进度的时候,提示信息配置,做如下设置:
在这里插入图片描述
点击Flash继续:
在这里插入图片描述
安装到35%左右时,提示:
在这里插入图片描述
以下是图片中 SDK Manager 安装 Jetson AGX Xavier 模块的 SDK 组件的操作步骤的中文翻译:

操作步骤:
为了在您的 Jetson AGX Xavier 模块上安装 SDK 组件:

  1. 如果您选择手动刷写系统,请完成 Ubuntu “系统配置向导”在 Jetson AGX Xavier 模块上的设置。
  2. 等待操作系统登录界面出现。
  3. 果主机使用了代理,请在 Jetson AGX Xavier 模块上配置 apt 代理。
  4. Jetson AGX Xavier 模块的用户名和密码。
  • 连接方式:USB
  • IP 地址:IPv4,192.168.55.1
  • 用户名:******
  • 密码:********
  1. 目标代理设置:不设置代理
    • 注意:apt 命令的代理应在目标路径 /etc/apt/apt.conf.d/proxy.conf 中定义。

点击“安装”继续。

我们的JDK Manager 使用的是 USB 连接,因此上图中目标机的 IP 地址默认为 192.168.55.1。

背景知识:
Jetson AGX Xavier 模块在不同的连接模式下会使用不同的 IP 地址:

  • USB 连接模式:当通过 USB 连接到主机时,Jetson 模块会创建一个虚拟网络接口,默认 IP 地址为 192.168.55.1(主机通常会被分配为 192.168.55.100)。
  • 以太网/Wi-Fi 连接模式:如果模块通过以太网或 Wi-Fi 连接到网络,IP 地址将由路由器分配(通常是动态 IP,例如 192.168.1.x 或其他网段)。

可以验证
在这里插入图片描述
ping通了
在这里插入图片描述
也可以在这一步跳过操作系统的刷写(Skip),然后直接进入sdk包的安装(不建议)

等待目标机屏幕出现登录界面后按照上图提示操作(上图中的信息都不需要修改,Target Proxy Settings选择Do not set proxy),接下来操作目标机器:

  • 安装完后开发板会自己启动ubuntu的系统,按照上面提示设置用户名密码等参数
    显示配置中:
    在这里插入图片描述
    后到登录界面:
    在这里插入图片描述
    登陆后目标机Ubuntu系统后,发现其中有名为rndis0usb0的连接,它们可能尚未连接,没有关系,这需要主机系统来主动连接。
    在这里插入图片描述
    输入ip addr命令可以看到:
    在这里插入图片描述
    特别注意,它们IP等已被设置好,不要更改目标机中的它们的设置(不要更改任何网络设置)
    现在主机连接目标机应当从Vmware的“虚拟机”->“可移动设备”下找到“NVIDIA Linux for Tegra”并点击"连接":
    在这里插入图片描述
    此时目标机中的网络rndis0和usb0成功连接了(显示可能有延迟)。连接成功后,务必首先换源并改源,否则安装会有错误,例如直接install,导致安装错误:
    在这里插入图片描述
    尽管可以继续安装流程,但是等待安装完成:
    在这里插入图片描述
    安装过程中出现了一些错误:
    在这里插入图片描述
    更详细地:
    在这里插入图片描述
    上述安装 Jetson AGX Xavier 模块的 SDK 组件时遇到多个问题,主要包括系统就绪性验证失败和下载超时。系统就绪性问题源于 APT 软件源配置错误,Jetson 模块(ARM 架构,Ubuntu 20.04)需使用 ubuntu-ports 路径(如 ports.ubuntu.com/ubuntu-ports/),但配置中使用了 Ubuntu 路径(如 mirrors.ustc.edu.cn/ubuntu/),导致 apt-get update 失败。解决方法是登录目标机,修改 /etc/apt/sources.list,将里面的 ubuntu 路径全都替换为 ubuntu-ports(关键命令:%s/ubuntu/ubuntu-ports/g),然后运行 sudo apt-get update

软件源路径的选择与设备架构的关系:

  • x86/x86_64 架构:
    如果您在普通的 PC 或服务器(x86 或 x86_64 架构)上使用 Ubuntu,软件源路径通常是 http://archive.Ubuntu.com/ubuntu/ 或其镜像(如 http://mirrors.ustc.edu.cn/ubuntu/)。
    例如:deb http://mirrors.ustc.edu.cn/ubuntu/ focal main restricted universe multiverse
    这里是 Ubuntu,而不是 Ubuntu-ports,因为这是为 x86/x86_64 架构设计的软件源。
  • ARM 架构:
    Jetson AGX Xavier 使用 ARM 架构(arm64),因此需要使用 Ubuntu-ports 路径,例如:
    deb http://mirrors.ustc.edu.cn/ubuntu-ports/ focal main restricted universe multiverse
    如果错误地使用了 Ubuntu 路径(例如 mirrors.ustc.edu.cn/ubuntu/),APT 找不到适用于 arm64 架构的软件包,就会报 404 Not Found

如果我们在连接成功后,进行了换源(换国内)并改源(改路径ubuntu->ubuntu-ports),直接install,等待安装完成,则各 SDK 组件的安装将陆续完成。
在这里插入图片描述
经过漫长等待(可能屏幕偶尔提示与目标机断连,不必在意),所有组件完美安装完成,自动进入STEP4。
在这里插入图片描述
点击FINISH,即可自动退出,全部安装过程完成。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值