长文预警 本篇为完整过程记录 有特定需求可以跳转对应位置查看
先介绍手上拿到的orin nx模块:Jetson Orin NX 16GB
100TOPS的算力听起来顶呱呱
摸过一些jetson系列套件的我拿到手自信开搞……然后就自闭了
他好像跟以前的不是一个路子啊(以前摸过的有nano nx tx1 tx2) 遂上网搜索 好哎 没一个递纸的
OK 没事 必要的时候我会出手
Step1 确认orin nx基本情况
首先第一个问题是 它没有emmc……没有emmc……emmc(万恶之源——没有emmc)
查了一下 官方表示Supports external NVMe 那就找个能接nvme ssd的nx底板来用下吧 正好手里还有个之前用在nx上的闲置ssd
使用Linux系统PC操作应该不用讲吧
Step2 尝试刷jetpack
——————————2023.03 这是第一次尝试 不想看废话可以往下看2023.05的最新操作 本帖纯属记录用———————————
自信美女打开SDKmanager又傻眼了 这里面device选项没有orin nx啊只有agx orin
(缓缓打出一串问号?)
好吧 英伟达官网走一波
首先是老朋友jetpack archive页面——https://developer.nvidia.com/embedded/jetpack-archive
这里应该注意到的是jetpack版本5.0及以上的才有提到支持orin相关的产品(5.0以下不用看了 因为我看过了)
此处我选择jetpack5.1进行试验
按理来说我应该像往常一样在这里使用SDKmanager 但是前面也提到了实在是没有orin nx的选项 那么说到底 就没有办法使用SDKmanager来刷jetpack从而使用orin nx
文档中提到的SDKmanager支持的设备也确实不包括orin nx
——————————————————————我是分割线————————————————————
23.04.27 今天被客户问到orin nx jetpack烧录的问题 看了一下jetpack开始支持orin nx和orin nano了
后面有空会做一下尝试
———————————————我是分割线—————Jetpack烧录方法看这里————————————
23.05.23 是的 时隔一个月我又回来了 我终于知道为什么我用不了sdkmanager刷机了 先让我痛哭5秒钟呜呜呜呜呜
说回正题 在发现官方jetpack开始支持orin nx之后,我觉得我又可以了,但我第一步接入PC识别orin nx设备就失败了,如图,无法在sdkmanager中识别到设备(这里有可能跟底板有关系 但是不好确认 我前前后后还是使用过挺多款底板的)
于是在官方论坛发了帖子提问,有需要的朋友也可以看看有没有帮助:
在nvidia forum提问的帖子
其实在sdkmanager里第一步识别失败还不是最难受的,此时我使用lsusb是可以在PC端看到这个设备的,那按理来说我在sdkmanager里先手动选择设备,后面在连接着的情况下把相关文件刷进orin就可以了,但现实一定是残酷的,在orin刷到一半开机的时候,usb-typec口就会直接断开连接导致除了skip之后退出别无选择,也就是我根本没办法成功刷进去
*此处跳过我的多次尝试步骤,意识到自己废话太多了
一个月后的今天补充这一段是因为,我终于知道他识别不到不是我的问题,是orin本身的问题
那么怎么解决无法通过usb与网线识别的问题呢,我的解决方法如下:
首先最好还是PC要能识别到orin nx的设备,orin nx设备记得先短接REC和GND进入rec模式然后再连接PC、上电,前面设备的选择还有配置都可以通过手动(第一次弹窗时选择manual setup、输入要设置的用户名与密码、选择存储介质-我用的是nvme)的方式通过,然后进行以下步骤
1.sdkmanager刷机进行到一半时orin nx会开机,然后PC端会出现第二次弹窗,事先接好显示屏与键鼠
2.orin nx成功进入桌面后,连接wifi或网线,使其与PC处于同一局域网(此时usb连接可断开 无所谓)
3.orin nx端使用ip a指令查看分配到的ip地址,输入到第二次弹窗对应ip地址处,然后install
正常情况下就可以成功刷进jetpack了
Step3 尝试刷Linux驱动包
————————2023.03第一次尝试,如果只需要配置linux系统,想自己下载其他组件可以看这里——————————
按这么说的话 我好像就只能尝试这个法子了 先说明刷linux驱动包是不包括CUDA这些的 可能需要另行操作 同时对应的系统是Ubuntu20.04
jetpack5.1对应Linux驱动版本为35.2.1——https://developer.nvidia.com/embedded/jetson-linux-r3521
这里也提到这个版本是支持我现在使用的这款Jetson Orin NX 16GB的 那就看看guide里写的操作方式吧——https://docs.nvidia.com/jetson/archives/r35.2.1/DeveloperGuide/index.html
文档一上来就是quick start 那当然是先看这个部分了 同时这里也提到就是说明配置Linux系统的地方 接下来只要按这页文档内的内容进行操作即可
大致步骤如下:
1.下载对应的tbz2包——https://developer.nvidia.com/embedded/jetson-linux-r3521
注意是下载在PC端
2.对下载的驱动进行解压配置 按指令操作即可
3.将orin nx通过micro usb接口接入PC(这里是什么接口取决于使用的底板 我使用的是Xavier NX的底板) 然后接上键鼠显示屏网线 不上电
PS:此处orin nx记得在底板上接上nvme接口的ssd 尝试过不接上 刷机时索引不到/nvme0n1后失败
4.以recover模式接入PC 此处方法众多 同样也取决于使用的底板 我使用的底板是通过短接REC和GND进入recover模式 此处短接后上电
5.确认是否以recover模式接入PC
PC端lsusb查看 对应编号为7323即成功
6.将驱动刷到Jetson上
根据指令操作即可
7.完成操作 开始在Orin nx上使用Linux
Step4 尝试镜像的备份恢复
————————————————2023.06.21 嘻嘻 我大冤种又来了————————————————
dbq我的写作风格是有点太活泼了毕竟搞到现在我精神已经有点不正常了
在我历尽艰难险阻配置完系统搞完自己的东西准备备份的时候,难题又来了,这里先吐槽英伟达,次次去论坛问都得不到正面回复,我去问别人生产底板的厂子都懂的比他们多。
这里就不附英伟达官方的解答帖子了,因为我反正是没看懂,只找到一点突破线索
首先说明:orin没有官方的备份烧录方法提供!以下为自行摸索内容
上链接:DeveloperGuide
官方手册的这个部分有提到如何克隆系统,我们先来看看
OK,这个方法行不通,别问,问就是我试过了,这是给带emmc的板子的方法,咱一开始就说了它没有emmc
继续往下看,下面这个行得通
我们找到刷机环境对应路径下的这个txt文件,里面有提到相关backup和restore的步骤
注意:在进行备份恢复前,还需要修改一下相关sh文件
如图,我们需要修改对应路径下这两个文件,将文件中的mmcblk0全部替换为nvme0n1
具体备份操作步骤如下:
1.短接底板REC与GND,进入rec模式,连接PC后上电
2.进入原刷机环境,在/Linux_for_Tegra路径下打开终端,我们需要执行以下语句来进行backup
sudo ./tools/backup_restore/l4t_backup_restore.sh -b <board-name>
此处boardname是需要在/Linux_for_Tegra路径下能找到对应conf文件的,我这里底板和核心板的搭配型号是p3768和p3767,路径下对应存在p3768-0000+p3767-0000.conf文件
因此最后我执行的语句为:
sudo ./tools/backup_restore/l4t_backup_restore.sh -b p3768-0000+p3767-0000
3.等待备份,备份过程中会显示进程,备份成功终端会有相应输出,完成后/Linux_for_Tegra/tools/backup_restore路径下会新增一个images文件夹
备份就完成啦,然后讲烧录,按理来说备份烧录都是一个套路,但,配环境从来没有按理来说
具体恢复操作步骤如下:
1.如果是要恢复到全新设备,需要对新设备进行刷机……(没错 我就是栽在这一步了 我备份当然是为了恢复到新设备啊结果不能直接恢复 我哭)
刷机步骤麻烦各位往前翻翻,是这样了,全新设备我尝试了是无法直接恢复自己备份的镜像的
2.当然了前面不管刷到什么程度其实关系都不大,只要可以开机进入熟悉的ubuntu界面了都可以,基本上能开机就可以skip后面的弹窗接着断电开始恢复自己的镜像了,然后就是老操作:
短接底板REC与GND,进入rec模式,连接PC后上电
3.进入原刷机环境,在/Linux_for_Tegra路径下打开终端,我们需要执行以下语句来进行restore
sudo ./tools/backup_restore/l4t_backup_restore.sh -r <board-name>
boardname没换底板和核心板类型的话,当然还是一样,最后我执行的语句为:
sudo ./tools/backup_restore/l4t_backup_restore.sh -r p3768-0000+p3767-0000
4.等待恢复,恢复过程中会显示进程,恢复成功终端会有相应输出,提示需要重启jetson设备,然后就正常给orin上电接显示屏,成功的话就会进入之前备份的环境啦
写在最后:讲道理不太理解英伟达为什么推出了orin却又什么相关资料都没有完善,但从我这段时间搜索来看使用的人也不算少,大家咋都不分享配置经验呢,搞开源的东西果然还是需要大家共同建设啊