OrinAGX64G开发套件刷机教程

 

转载自此博客,已获得作者许可。

本文纯粹是对好文章的一次转载备份,已事先联系作者并获得许可。

刷机前的准备

Orin刷机刷的是什么:NVIDIA官方的JetPack5.0.2,简单的说,就是让Orin安装上Ubuntu20.04系统+各类自带的组件(如CUDA、TensorRT、OpenCV等)

首先,刷机需要准备如下硬件和软件:

(关于刷机的主机这里引流一下,笔者尝试过M系列芯片Mac刷Orin,省流版:不行)

  • 硬件:
    • Orin、Orin电源线、Orin套件中自带的TypeC转USB接口线;
    • 一台带有ubuntu系统的x86电脑主机,可以是双系统也可以是虚拟机。(原博作者所用设备为Vmware的ubuntu18.04虚拟机,这个版本和想要刷到Orin上的没什么直接关系)。我使用的是ubuntu20.04的主机。
    • 一块显示屏(最好是原生DP接口的,Orin默认支持原生DP接口显示屏;也可以用DP转VGA的,亲测能直接使用;但是DP转HDMI接口目前需要另外配置才能实现,亲测不能直接用;所以建议直接采用前两种);
    • 用于操作Orin的鼠标和键盘;(这里多说一句, Orin AGX64G开发套件是有蓝牙模块的,所以可以直接连接蓝牙鼠标和键盘,不需要线连接。不过不支持蓝牙5.0)
  • 软件:
    • 在ubuntu电脑上要先安装好NVIDIA SDK Manager,并且在NVIDIA官网注册一个账号,后续在使用SDK Manager时需要用该账户登录
    • ​​​​​​更新主机软件源: sudo apt update

刷机步骤

刷机过程大体可以分为2大步,一是连接好设备并让Orin进入Recovery模式,二是在个人ubuntu电脑上和Orin上根据安装好的SDK Manager程序完成相应操作。

硬件设备之间的物理连接

首先将Orin电源线、DP显示屏线、TypeC转USB线都准备好,并且TypeC转USB线连接至电脑USB接口,如使用虚拟机进行操作,弹窗会有提示说将该USB设备接在宿主机还是接在虚拟机下,选择接入虚拟机下。

image-1

image-2

下面介绍重要的一步:如何让Orin进入Recovery模式

Orin进入Recovery模式分两种状况,一是当Orin处于未开机状态,二是当Orin处于开机状态;

当处于未开机状态时,需要先长按住②键(Force Recovery键),然后给Orin接上电源线通电,此时白色指示灯亮起,但进入Recovery模式后是黑屏的,所以此时连接Orin的显示屏不会有什么反应。

当处于已开机状态时,需要先长按住②键,然后按下③键(Reset键),先松开③键,再松开②键。

image-3

可以通过个人ubuntu电脑确认Orin是否已经进入Recovery模式,在终端中输入:

lsusb

若出现下图中红色框框对应的代号,即代表已进入Recovery模式。

image-4

图片内容源自于官方

根据SDK Manager指示操作

在终端中执行如下命令打开SDK Manager:

sdkmanager

STEP 1

此时个人ubuntu电脑出现如下界面,会加载进度条并且进行NVIDIA账户登录验证,登录后,若Orin尚未进入Recvoery模式,则下图红框处为未检测到设备

image-5

此时Orin需要进入Recovery模式,进入后,显示如下

image-6

选择Jetson AGX Orin设备即可,此时原来红框处为已检测到Orin了。

image-7

在Continue到下一步之前,建议先把Host Machine取消勾选,因为我们通常是想把配置刷到目标设备Orin上,并不需要在个人ubuntu电脑上安装,可以节省很多空间。

STEP 2

在取消勾选Host Machine进入step2后,仅出现Target Components,这边按默认勾选即可。 注意:确保个人ubuntu电脑有足够的磁盘空间进行下载和安装。下方红框中提示为需要下载的内容大小以及下载到何处,路径可自定义指定;若无下载路径的文件夹,在点击continue后会提示你是否创建,创建完继续点击continue即可。

image-8

接下来进入一段时间的下载和安装

image-9

等到下载完并且安装一定时间后,会弹出如下界面告知即将开始刷系统到Orin上

image-10

注意:这里需要选择手动安装模式,并且选择Pre-Config(相当于在这里提前为系统创建了用户和设置了用户密码,待会系统安装完成后可以直接使用这个用户登录,就不用经历创建用户的引导过程了),选择完后,最最最最要紧的一步就是要确保检测到进入了Recovery模式的Orin,此时建议再次通过②键+Reset键进入Recovery模式!如果正常的话,个人电脑界面会弹出几条USB连接的消息,表示Orin重新被识别了。如果没有执行这一步,有可能在点击Flash后就报错了。

另外storage device选项:笔者加装了一个SSD,所以这里选择的是NVME,如果没有加装SSD,选择eMMC(default)即可。

image-11

接下来点击Flash后,就开始等待刷系统到Orin上了,这里一定要将Orin和显示屏连接好,待会Orin就会自动开机启动,屏幕也正常显示开机界面,使用之前Pre-Config创建的用户登录即可。

image-12

至此,Orin的ubuntu22.04系统就算是成功刷上了,接下来还要刷组件(CUDA、TensorRT等),现在相当于有两台可以操作的电脑了,先把个人ubuntu电脑放一边,使用你的外设鼠标键盘对Orin进行换源操作。

具体系统版本取决于sdkmanager中选择的版本,这里是ubuntu22.04

STEP 3

在Orin浏览器中打开下方链接,将Orin自带源换成arm架构下ubuntu22.04的清华源(因为Orin为arm架构)。ubuntu-ports | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror

图片中的20.04的位置按照orin系统的版本自行选择(笔者选择的是22.04)

image-13

按指示,在终端中执行指令找到/etc/apt/sources.list,并将其中原有内容全部删除,然后将清华源复制到其中,保存后退出,执行如下命令更新软件源:

sudo apt-get update
 
# 原博建议执行下面的命令更新软件,但笔者猜测这一步会导致依赖库的版本产生变化,导致后续笔者没刷上去,重新来了一次。选择不更新软件,就成功了。
# sudo apt-get upgrade

这里执行需要一段时间,执行完毕后,换源完成。

STEP 4

接下来回到刷组件步骤,看回个人ubuntu电脑,界面如下:

image-14

注意:这里需要将Orin和个人ubuntu电脑连在同一局域网下(连同一个wifi就好了),然后在Orin上通过终端执行ifconfig命令查看当前IP地址,然后复制到个人ubuntu电脑上IPV4处。建议在install之前,在个人ubuntu电脑上看看能不能ping通Orin(笔者试着从Orin端ping虚拟机,ping不通,但对后续安装没影响,只要个人ubuntu电脑端能够ping通Orin即可),ping通为如下界面:

image-15

能够ping通后,执行install,接下来就等待它慢慢把组件也刷到Orin上去即可,有可能会出现BSP和Multimedia安装失败的情况,但是无伤大雅,只要CUDA、TensorRT等核心组件刷成功了就行(手动狗头~)

刷完之后可以在Orin终端利用nvcc -V等指令查看CUDA时候成功安装,其它组件的查询方法自行百度即可。

总结

至此,刷机过程已全部完成,希望本文能给各位有刷机需求的友友们起到一点参考作用。

( •̀ ω •́ )y

感谢原博作者的辛苦付出。