针对我们已有的 4 种 jetson 开发板:
1个 AGX Orin 64G、1个 Orin NX 16G、1个 Orin Nano 8G、2个 TX2 8G。
一、第一次开机
对于刚买回的板子,可以直接开机进入系统。
- 先接好显示器
- 上电,开机
- 跟随指示一步一步走
通常预装的系统比较老,jetpack版本比较低,需要重新刷系统。
二、刷系统
参考链接:
2.1 配置主机环境
1、安装基本软件
sudo apt update
sudo apt install qemu-user-static
2、从 https://developer.nvidia.com/embedded/jetson-linux-archive 下载适合的最新版本的驱动包和根文件系统包:
3、执行以下命令配置环境:
# ${L4T_RELEASE_PACKAGE} 指 Jetson_Linux_<version>_aarch64.tbz2
# ${SAMPLE_FS_PACKAGE} 指 Tegra_Linux_Sample-Root-Filesystem_<version>_aarch64.tbz2
tar xf ${L4T_RELEASE_PACKAGE}
sudo tar xpf ${SAMPLE_FS_PACKAGE} -C Linux_for_Tegra/rootfs/
cd Linux_for_Tegra/
sudo ./apply_binaries.sh
sudo ./tools/l4t_flash_prerequisites.sh #这一步TX2不需要
2.2 Jetson设备配置
1、板子接好显示器(刷完系统再接也可以,最好先接上,刷完系统会直接亮屏)
2、设备进入 Force Recovery Mode(恢复模式)
-
AGX Orin:按住第2个按键,再插入电源,亮白灯进入 Recovery 模式。
-
Orin NX 和 Orin Nano:先短接第2个和第3个引脚,再插入电源,进入 Recovery 模式。
-
TX2:先按住第3个按键,再插入电源,进入 Recovery 模式。
3、板子与主机连接:使用官方的 USB-A to USB-C 口的数据集,A口接主机,C口接板子。
判断是否连接好并且已经进入 Recovery 模式,主机上打开终端执行 lsusb
命令,查看输出:
Bus <bbb> Device <ddd>: ID 0955: <nnnn> Nvidia Corp.
# <bbb>和<ddd>是3位的数字,不用管,<nnnn>是板子型号:
# Jetson AGX Orin 64G :7023
# Jetson Orin NX 16G :7323
# Jetson Orin Nano 8G :7523
# Jetson TX2 8G :7c18
符合上面输出的表示已经进入 Recovery 模式,可以刷机。
2.3 刷系统
-
AGX Orin(刷到内部eMMC):
cd Linux_for_Tegra/ sudo ./flash.sh jetson-agx-orin-devkit internal
-
Orin NX 和 Orin Nano(刷到外部NVMe固态硬盘):
cd Linux_for_Tegra/ sudo ./tools/kernel_flash/l4t_initrd_flash.sh --external-device nvme0n1p1 \ -c tools/kernel_flash/flash_l4t_external.xml -p "-c bootloader/t186ref/cfg/flash_t234_qspi.xml" \ --showlogs --network usb0 jetson-orin-nano-devkit internal
-
TX2(刷到内部eMMC):
cd Linux_for_Tegra/ sudo ./flash.sh jetson-tx2-devkit.conf mmcblk0p1
耐心等待20分钟左右,系统刷写成功,终端显示如下。
然后继续耐心等待板子亮屏,即可进入系统,跟随引导操作即可。
三、基本软件安装
0、梯子
不管你使用什么梯子,记得安装 arm64(aarch64) 版的,挂上梯子之后再安装,nvidia的源翻墙比较快。
1、更新
sudo apt update
sudo apt dist-upgrade
sudo reboot
2、jetpack
jetpack 是 NVIDIA 管理 jetson 系统的软件包,包括了AI部署需要的开发环境:CUDA、CUDNN、TensorRT、OpenCV、DLA、Docker、DeepStream、Nsight等等。
sudo apt install nvidia-jetpack
3、jtop
jtop 是查看和管理 jetson 设备状态的工具,查看CPU、GPU、Memory等,控制风扇转速。注意jetson上面没有nvidia-smi
指令。
sudo apt install python3-pip
sudo -H pip3 install -U jetson-stats
安装完成之后,以下指令开启:
sudo jtop
四、其他软件安装
上面是最基本的需要安装的开发环境和软件,安装其他软件时,请注意 jetson 是 arm64(aarch64) 架构,和平常的 x86 不一样,直接按照原先的方式安装 或者 直接使用从主机上拷贝过来的软件会报错。
1、ROS
# 1. Setup your sources.list
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
# 2. Set up your keys
sudo apt install curl
curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -
# 3. Installation
sudo apt update
sudo apt install ros-noetic-desktop-full
echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc
# 4. Initialize rosdep
sudo apt install python3-rosdep python3-rosinstall python3-rosinstall-generator python3-wstool build-essential
sudo rosdep init
rosdep update
2、Miniconda
从 https://docs.anaconda.com/free/miniconda/ 下载,注意下载 aarch64 版本。
3、PyTorch、Torchvision
参考链接 https://forums.developer.nvidia.com/t/pytorch-for-jetson/72048
PyTorch(建议v1.14.0):
JetPack 6:
PyTorch v2.2.0
PyTorch v2.1.0
JetPack 5:
PyTorch v2.1.0
PyTorch v2.0.0
PyTorch v1.14.0
PyTorch v1.13.0
PyTorch v1.12.0
PyTorch v1.11.0
JetPack 4:
PyTorch v1.10.0
PyTorch v1.9.0
wget https://developer.download.nvidia.com/compute/redist/jp/v51/pytorch/torch-1.14.0a0+44dac51c.nv23.02-cp38-cp38-linux_aarch64.whl
sudo apt-get install python3-pip libopenblas-base libopenmpi-dev libomp-dev
pip3 install Cython numpy
pip3 install torch-1.14.0a0+44dac51c.nv23.02-cp38-cp38-linux_aarch64.whl
torchvision:需要源码安装
对应版本:
PyTorch v1.9 - torchvision v0.10.0
PyTorch v1.10 - torchvision v0.11.1
PyTorch v1.11 - torchvision v0.12.0
PyTorch v1.12 - torchvision v0.13.0
PyTorch v1.13 - torchvision v0.13.0
PyTorch v1.14 - torchvision v0.14.1
PyTorch v2.0 - torchvision v0.15.1
PyTorch v2.1 - torchvision v0.16.1
sudo apt-get install libjpeg-dev zlib1g-dev libpython3-dev libopenblas-dev libavcodec-dev libavformat-dev libswscale-dev
git clone --branch <version> https://github.com/pytorch/vision torchvision
cd torchvision
export BUILD_VERSION=0.x.x # where 0.x.x is the torchvision version
python3 setup.py install
验证安装是否成功:
import torch
print(torch.__version__)
print('CUDA available: ' + str(torch.cuda.is_available()))
print('cuDNN version: ' + str(torch.backends.cudnn.version()))
import torchvision
print(torchvision.__version__)