Zexin Li

Please keep honest, open, patient, happy and visionary.

NVIDIA Jetson开发套件刷机教程

NVIDIA Jetson的是arm64架构具有GPU的开发组件。相应地,很多系统库/深度学习库不能够容易地被找到。为了一劳永逸解决此类依赖问题,NVIDIA官方提供了刷机(flash)工具包(Jetpack)。本文主要介绍Jetpack刷机的技术细节。

此外JetsonHacks提供了官方刷机教学视频,如果看本文还是不清楚一些细节,可以看视频一步步跟着学: Jetpack 4.2安装 Jetpack 3.0安装

老版本的刷机教程也可以参考Jetson TX2 完整刷机教程

准备工作

  1. 一台带有Intel或AMDx86架构的Ubuntu操作系统的电脑作为host主机 (Jetpack 4.x推荐系统为Ubuntu 18.04)。

  2. 物理空间:需要至少40G以上的物理空间。Jetpack和Jetpack下载的安装包需要的空间十分庞大。

  3. 下载Jetpack安装包:申请Nvidia developer账号,在NVIDIA官方网站根据开发板的型号登录后下载。建议下载当前最新版本Jetpack 4.6。

  4. 只需要确保host主机能够上网(开发板没有网络也能刷机)

  5. 准备一根Micro-USB的数据线(一般手机充电线即可)(备注: AGX Xavier/AGX Orin只需要TypeC-USB数据线),一根HDMI线,一个屏幕。

安装Jetpack

  1. 断开开发板电源,断开开发板网线,数据线连接开发板和host主机。双击运行Jetpack安装包,然后命令行输入

    1
    sdkmanager # 此处不能使用root

    Nvidia developer账号登录后,进入step 1: 勾选host和target,选择需要刷机的设备类型(如果数据线连接正常,也会自动检测出设备)。

  2. 进入step 2: 创建2个新文件夹,用于存放下载库文件和target镜像文件。

  3. 点击继续进入step 3: 进入下载阶段,完成后自动进入install OS阶段。

  4. Jetpack会自动提示,是否自动刷机(auto flash)/手动刷机(manual flash)。建议选择手动刷机(manual flash),然后开启强制恢复模式,以TX2为例:

    (a) 保证开发板初始处于断电状态,确保Micro USB线正常连接

    (b) 接通开发板电源,按下power开机,然后迅速按住recovery键不松开,按一下reset键,过2秒松开recovery键

    (c) 此时应该有2个绿灯亮起

  5. 验证是否处于强制恢复状态,在host命令行输入

    1
    lsusb # 如果有Nvidia Corp设备检测到说明正确进入了强制恢复状态,否则重复第4步
  6. 给开发板连上HDMI线+屏幕,等待开发板的ubuntu系统初始化(配置账号密码)。

  7. Jetpack会提示要求选择连接方式+输入账号密码。此时选择使用USB连接,不要修改默认的ip地址,输入开发板的ubuntu系统的账号密码。

  8. 冗长的等待,等待所有库全部安装完成,进入step 4: 点击exit退出sdkmanger。

进一步配置

给开发板连接网线并查看ip。

1
ifconfig | grep eth0 -a1

随后可以ssh进行连接和进一步配置。

可能的问题

  1. 网络下载太慢
    更换能过墙+带宽足够的环境。

  2. Jetpack报奇怪的错(例如dependencies error)
    更换纯净的ubuntu 18.04 host,多数是系统问题。不要想着fix这些error,有这时间不如重装/换靠谱的host。

  3. 有2个CPU核心不工作(性能问题)
    将/boot/extlinux/exltinux.conf 文件里的isolcpus=1-2修改为isolcpus=,参考解决方案