NVIDIA Jetson之OTA远程升级Jetpack

0 背景

使用过 Jetson 系列产品的同学都知道,NVIDIA Jetpack 更新速度较快,每次升级之后都需要使用 NVIDIA SDK Manager 工具来进行刷机,重新安装开发环境,耗费很多精力。

不过,从 Jetpack 4.4.0 开始,这个苦恼就可以避免了,因为 NVIDIA 提供了方便的 OTA(Over-the-Air)线上升级的方法,不需要重新配置环境,无疑是一个很方便的方式,本文对升级方式进行一个介绍。

1 版本信息

首先查看下我们现在系统的版本信息

NVIDIA Jetson之OTA远程升级Jetpack_第1张图片

可以看到是 Jetpack4.4(注意:4.4以下的版本不支持 OTA 升级),L4T版本是 r32.4.3。截止目前(2021.3.11),jetpack 最新版本是 4.5.1,L4T 版本是 r32.5.1,可以在官网版本发布日志里查看到,因此本文的目标是从 4.4 升级到 4.5.1 

NVIDIA Jetson之OTA远程升级Jetpack_第2张图片

2 安装步骤

2.1 nvidia-jetpack

首先安装 nvidia-jetpack 工具

sudo apt update
sudo apt install nvidia-jetpack

如果设备空间有限,如 16GB Nano 上,可以使用下边的指令安装

sudo apt update
apt depends nvidia-jetpack | awk '{print $2}' | xargs -I {} sudo apt install -y {}

2.2 升级 L4T

这一步要注意,如果是升降一个小版本,如 r32.4.1 到 r32.4.2,则使用 2.2.1 章节的方法,如果升级大版本,如 r32.2.x 到 r32.4.2,则使用 2.2.2 章节的方法,根据你的系统实际情况进行选择

NVIDIA Jetson之OTA远程升级Jetpack_第3张图片

2.2.1 小版本升级

直接使用下边的方式进行更新即可

sudo apt update
apt list --upgradable
sudo apt upgrade

运行后重启设备,然后使用 jtop 等工具查询更新是否成功 

2.2.2 大版本升级

我们本文升级的是从 r32.4.3 到 r32.5.1,因此采用大版本升级方法。首先更新源

sudo vi /etc/apt/sources.list.d/nvidia-l4t-apt-source.list

打开后显示如下

deb https://repo.download.nvidia.com/jetson/common r32.4 main
deb https://repo.download.nvidia.com/jetson/t194 r32.4 main

我们将 r32.4 更改为 32.5,保存退出,运行更新

sudo apt update
sudo apt dist-upgrade

过程中会有一些询问,直接 Enter 选择默认选项即可

NVIDIA Jetson之OTA远程升级Jetpack_第4张图片

成功后输出如下

NVIDIA Jetson之OTA远程升级Jetpack_第5张图片

重启后打开查看,发现 L4T 升级成功了,但 Jetpack 显示 UNKNOWN,是因为 jetson-status 版本比较老,不支持最新的 jetpack 4.5,升级一下就可以了

NVIDIA Jetson之OTA远程升级Jetpack_第6张图片

升级方法

sudo -H pip install -U jetson-stats

然后重启设备,显示就正常了,可以看到升级成功!

NVIDIA Jetson之OTA远程升级Jetpack_第7张图片

但是还有个小问题,升级之后看到 L4T 是 32.5.0 版本,但最新的是 32.5.1 版本,这个时候我们使用 2.2.1 小版本升级章节中的方法升级即可,升级过程如下

NVIDIA Jetson之OTA远程升级Jetpack_第8张图片

升级后重启一下,查看状态,升级成功!

NVIDIA Jetson之OTA远程升级Jetpack_第9张图片

3 已知问题

3.1 python 软件版本

在《Jetson之刷机后配置大全》中,我们介绍了刷机后如何安装 tensorflow、keras、pytorch 等软件的方法,这些软件其实都跟 jetpack 版本相关,比如下边的 tensorflow,安装的是 jetpack4.2 版本的,升级之后,导入 torch 软件会报错,因此我们需要卸载掉,重新安装对应的二进制包,方法跟《Jetson之刷机后配置大全》中介绍的方法相同,这里不再赘述。

NVIDIA Jetson之OTA远程升级Jetpack_第10张图片

3.2 Illegal instruction (core dumped)问题

经过上边步骤重新升级后,导入 torch 仍然报错 Illegal instruction (core dumped)

NVIDIA Jetson之OTA远程升级Jetpack_第11张图片

官方回复说是因为 python 软件包的问题,参考这个链接中的解决方案,增加环境变量

vim ~/.bashrc

# 在最后新增
export OPENBLAS_CORETYPE=ARMV8

# 保存退出并 source 一下
source ~/.bashrc

然后再运行即可成功

NVIDIA Jetson之OTA远程升级Jetpack_第12张图片

 

你可能感兴趣的:(NVIDIA,Jetson,人工智能)