英伟达推出的Jetson系列板卡凭借其强大的性能表现和高效的能耗管理,广泛应用于智能机器人、边缘计算等场景。随着深度学习技术逐步由学术探究转向工程应用,越来越多的课题组开始接手有关实体智能、算法嵌入相关的项目,这就辛苦了众多“打工人”,不可避免开始接触Jetson系列板卡。然而,对于初次面对Jetson板卡的小白,可能连第一步刷机也会遇到各种妖魔鬼怪,折腾好几天系统没刷进去、遇到一堆红色Error报错等都属于正常现象,上网上搜个教程吧,估计还会遇到很多莫名其妙的大坑。写这篇文章的目的就是分享Jetson系列板卡刷机经验,文中尽量指出刷机过程中常见的大坑,帮助新人尽快入门Jetson。

噢,对了,本文的题目叫做“优雅刷机”,那么什么叫做优雅?反正额外准备一台屏幕再接一套鼠标键盘,一张桌子上两组设备来回切,这肯定不是一种优雅的刷机方式。

本文介绍的刷机教程不需要额外准备屏幕、键盘、鼠标(估计很多用过很久Jetson的伙伴也不知道可以这么刷机)接到你的Jetson板卡上,官方称为“无头模式”。这对于许多人来说应该是个福音,毕竟来回换屏幕实在是一件让人很不爽的事情。

一、适用范围说明

Jetson系列板卡通常会提供EMMC版本或SD卡版本,本教程适用于EMMC版本的刷机。啊?怎么分辨是EMMC的还是SD卡的?你就看核心板背面有没有SD卡卡槽,有就是SD卡版本的,没有就是EMMC版本的。

SD卡版本刷机步骤较为简单,本文不作介绍,非EMMC人员请移步。

本文将以Jetson Xaiver NX为例介绍刷机过程,对于其他Jetson系列板卡步骤相似,在相应步骤做下调整即可(目前测试可适用于Jetson Orin NX/Jetson Xaiver NX/Jetson Nano,其他型号可尝试)。

二、硬件准备

  • 你的个人计算机(你自己的电脑的屏幕鼠标键盘可不能省啊);
  • Jetson载板与Jetson核心板(一般商家已经帮你把核心板装在载板上了),对于EMMC容量较小的核心板(<32GB)应在Jetson载板上加装M.2 SSD固态硬盘;

  • Jetson的供电电源、micro-usb数据线(注意不是充电线,orin nx换为type-c数据线);
  • 跳线帽一个(或双母头杜邦线一根);

  • 就不必给Jetson接屏幕鼠标键盘了。

三、软件准备

  • 想办法在自己的电脑上安装SecureCRT软件,注意非破解版是收费的,鉴于版权问题,详细安装方法略。

  • 在自己的电脑上安装VMWare虚拟机(注意不要使用VirtualBox虚拟机,存在通信异常问题),注意非破解版是收费的,鉴于版权问题,详细安装方法略。(或者尝试微信搜索一下“火耳软件管家”?实在不行,可以不用虚拟机,直接在本机安装Ubuntu)

  • 在VMWare虚拟机内安装Ubuntu操作系统。注意,如果你需要刷机Jetson Nano,请安装Ubuntu18.04;如果你需要刷机NX,可安装Ubuntu18.04或Ubuntu20.04。安装方法网上较多,略(不会装Ubuntu的话估计也接触不到Jetson吧……)。Ubuntu系统镜像可见华为云镜像站。建议给虚拟机预留100G的硬盘空间。

  • 下载NVIDIA SDKManager安装包备用(都用Jetson了应该是CS相关的人员吧,那应该懂梯子吧,合理推断读这篇文章的人这步操作没问题),下载到Ubuntu系统中。

四、正文

先从整体上介绍一下流程,总体可分为五大步骤:准备SDK-Manager、烧录Jetson系统镜像、无头模式配置OEM信息,转移启动引导至SSD、安装JetPack组件。

鉴于篇幅太长,每一步骤拆分为一篇文章进行介绍。五篇文章由前后依赖关系,请按顺序阅读,谢谢。