jetson agx orin配置记录及踩坑记录

前言:

  • Jetson AGX Orin 是 NVIDIA 推出的旗舰级嵌入式 AI 计算平台。它主要面向 机器人、自动驾驶、智能边缘计算 等需要强大算力和低功耗的应用场景。 具体内容可以去相关网站了解。

  • 为什么要刷机?因为要安装更高版本的 jetpack。

安装完成之后的配置:

  • ubuntu:22.04

  • L4T:36.4.4

  • jetpack:6.2.1

  • CUDA:12.6

  • cuDNN:9.3.0

  • TensorRT:10.3.0

一、安装虚拟机

刷机需要做以下准备:

  • Orin、Orin电源线、Orin套件中自带的TypeC转USB接口线;

  • 一块显示屏(用于连接 Orin)

  • 一台带有 ubuntu 的台式或者笔记本(虚拟机也可以)

作者刚开始使用ubuntu系统的电脑刷机,但是一直卡在下图的地方出错,经高人指点,可能是作者那台 ubuntu系统的电脑有问题,让我换一个电脑试一下。作者也没那么多电脑呀,所以就在 windows 下装虚拟机,然后顺利刷机。

  • 错误:SDK Manager is verifying system readiness to install.

  • APT repository access for Debian package installation(host).

  • Apt repository check failure (1. sudo -s apt-get update &8 sudo -s apt-get check, 2.dpkg -audit).

  • command < sudo timeout 300 apt-get update && sudo timeout 300 apt-get check terminated with error, exitcode: 100.


  1. 刷机文件准备
  • VMware Workstation 17Pro(网上很多下载资源)

按照系统安装,一直点下一步,这个地方可以更改一下安装位置,选择一个空间大一点的位置(后续要给虚拟机分配空间)

选择个人用途

安装完成之后,开始安装虚拟机

这个值不是说安装完成之后就占你 200G,而是在使用中,慢慢增加,而且后期还可以改,所以可以稍微大一些。

按照你电脑的配置给一定的参数,设置的时候,会有一个建议,尽量控制在建议的最大和最小范围之内。

点击完成,虚拟机就在创建,会开机。

等待一段时间(大概 15 分钟),之后选择立即重启,恭喜你,你的虚拟机就按照完毕了。

然后,可以按照需求设置一下快照

  • 就相当于,在刚创建完系统这个节点,保留一个备份(什么东西都没有),当你以后万一做 了一些不可挽回的事情,想重装系统的时候,可以不用重装,直接恢复到当前状态。

二、刷机

1.安装 sdkmanager

  • 这个是我下载的(sdkmanager_2.3.0-12626_amd64):https://wwqg.lanzoub.com/ilnwZ35rm8ub

    复制代码
     密码:crwm
  • 安装指令:sudo dpkg -i sdkmanager_2.3.0-12626_amd64.deb

  • 注意我安装的时候显示安装失败,看一下报错信息((没截图),好像是需要安装三个包,按照"sudo apt install xxx"这个命令安装完之后,在安装 sdkmanager。

  • 启动,终端输入:sdkmanager

2.开始刷机

先把线接好

进入Recovery模式

  • 未开机:需要先长按住②键(Force Recovery键),然后给Orin接上电源线通电,此时白色指示灯亮起,但进入Recovery模式后是黑屏的,所以此时连接Orin的显示屏不会有什么反应。(建议)

  • 开机:需要先长按住②键,然后按下③键(Reset键),先松开③键,再松开②键。

检查,终端输入:lsusb

若输出的内容中包含 7023(不同设备对应的数字不同) 这样的字样,即进入Recovery模式

记得把 usb 插在 ubuntu 这个机器上。

安装过程

等到下载完并且安装一定时间后,会弹出如下界面告知即将开始刷系统到Orin上。

  • 确保设备在Recovery模式下。可以使用:lsusb

  • 检查 Orin和显示屏连接好,待会Orin就会自动开机启动,屏幕也正常显示开机界面,使用之前Pre-Config创建的用户登录即可。

然后,我跳过了刷 Jetson SDK Components。因为当时这个地方出了点问题。等你装完 jetpack,CUDA 这些好像都有了。

三、安装 jetpack

查看你可以安装的 jetpack 版本

sudo apt-cache show nvidia-jetpack

你安装的版本应该就是你刷机是对应 jetpack 的版本。

官方的安装教程

复制代码
sudo apt update 
sudo apt dist-upgrade 
sudo reboot 
sudo apt install nvidia-jetpack

安装完 jetpack,其实 cuda ,cudnn,trtexec 这些就已经安装好了,如果你输入"nvcc -V"查询不到,可以是没有在环境变量中添加。添加一下就好了。

sudo gedit ~/.bashrc

export PATH=/usr/local/cuda-12.6/bin:$PATH

source ~/.bashrc

四、安装 jtop

1) 准备 pip3

sudo apt update

sudo apt install -y python3-pip python3-setuptools

2) 安装(用 pip3/或 python3 -m pip,且加 -U)

sudo -H python3 -m pip install -U jetson-stats

等同:sudo -H pip3 install -U jetson-stats

3) 建议重启一次(该包会安装守护进程/规则)

sudo reboot

输入 jtop 即可查看 GPU、CPU 等信息

  • CPU 核心频率与利用率:12 个核心,当前多数都在 729 MHz,利用率 2%~8%。

  • **内存 (Mem/Swp)**:用掉 2.1 GB / 61.4 GB,总内存 64 GB。

  • **EMC (内存控制器)**:频率 204 MHz。

  • GPU:306 MHz,利用率 0%。

  • **硬件引擎 (HW engines)**:DLA/ENC/VIC 等全部 OFF,说明没有用到深度学习加速器、视频编解码器等。

  • 温度:CPU ~47℃,GPU ~44℃,SoC 各子模块 43℃ 左右,温度正常。

  • 功耗:总功耗 ALL ~8.3 W。

还可以查看 一些包的版本

jetpack 为什么显示 MISSING?这并不是我们没装。

  • jtopjetson-stats)读取 /etc/nv_tegra_release 或 NVIDIA 提供的元数据来判断 JetPack 版本。

  • 在 JetPack ≥ 5 / L4T 新版本里,NVIDIA 改了文件结构,所以 jtop 没检测到,就显示 MISSING

五、安装浏览器

sudo apt update

sudo apt install chromium-browser

我在安装时,出现了一个问题无法打开chrome浏览器,这是因为刷机后snap版本是2.7.1,Jetson内核与snap2.7.1 不兼容,所以用snap2.7.1,安装chrome有问题。(firefox 也是一样的原因)

解决

回退到与 Jetson 兼容的旧版本 Snap

执行以下命令即可(安装Snap 2.68.5并锁定,使其不会被snap或apt更新)

复制代码
snap download snapd --revision=24724
sudo snap ack snapd_24724.assert
sudo snap install snapd_24724.snap
sudo sudo snap refresh --hold snapd

安装完成后,检查版本

snap --version

六、安装中文输入法

  1. 安装 ibus 拼音输入法

sudo apt update

sudo apt install -y ibus ibus-pinyin

  1. 启动 ibus 守护进程

ibus-daemon --xim --replace --daemonize

  1. 配置输入源

英文 (US)中文拼音 添加进输入法列表:

gsettings set org.gnome.desktop.input-sources sources "('xkb', 'us'), ('ibus', 'pinyin')"

七、安装 miniforge

miniforge 下载链接

sudo bash Miniforge3-xxx-.sh

注意:安装时,路径:/usr/local/miniforge3

设置非 root 显示 base

/ usr/local/mntiforge/bin/conda init bash

/ usr/local/mntiforge/bin/mamba init bash

source ~/.bashrc

下载对应的 torch、torchvision、torchaudio

pytorch 下载链接

pip install xxxx.whl

备用下载链接:

Making sure you're not a bot!

卸载 miniforge3

删除 miniforge 目录

rm -rf ~/miniforge3

删除 miniforge 的环境变量

八、安装 vscode

官网下载

Download Visual Studio Code - Free AI Code Editor for Mac, Linux, Windows

sudo dpkg -i xxxx.deb

九、安装 node.js

安装 curl

sudo apt install -y curl

添加 NodeSource 仓库 (这里用 Node.js 18 LTS,适合生产)

curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -

安装 Node.js

sudo apt install -y nodejs

验证

node -v

npm -v

十、安装 nginx

sudo apt install -y nginx

启动并开机自启

sudo systemctl start nginx

sudo systemctl enable nginx

验证 (访问 http://<Jetson_IP> )

systemctl status nginx

十一、注意硬盘挂在问题

由于新加的硬盘没有挂载,自带的存储空间不足,所以需要将硬盘挂载,并且将 home 与 docker 目录迁移过去。

先将硬盘进行挂载,在进行迁移

1.挂载

给硬盘分区 , 建立一个分区:

sudo fdisk /dev/nvme0n1

交互命令:

  • g → 创建 GPT 分区表(适合大硬盘)

  • n → 新建分区(一路回车默认用全盘)

  • 回车 (接受默认分区号 1

  • 回车(默认起始扇区)

  • 回车(默认终止扇区,也就是用满整块盘)

  • w → 保存退出

退出后,应该能看到 /dev/nvme0n1p1

假设新分区是 /dev/nvme0n1p1,格式化为 ext4:

sudo mkfs.ext4 /dev/nvme0n1p1

创建挂载点并挂载

sudo mkdir -p /mnt/data

sudo mount /dev/nvme0n1p1 /mnt/data

检查:

df -h

开机自动挂载 , 查看分区 UUID:

sudo blkid /dev/nvme0n1p1

编辑 /etc/fstab,加入一行:

UUID=xxxx-xxxx /mnt/data ext4 defaults 0 2

(把 xxxx-xxxx 替换成实际 UUID)

sudo mount -a

这样重启后也会自动挂载。

2.迁移( 完整迁移 /home 和 Docker 数据到 2T 硬盘的命令清单 )

确认 2T 硬盘挂载点:

df -h | grep /mnt/data

把现有 /home 内容复制到 SSD:

sudo rsync -avx /home/ /mnt/data/home/

备份原 /home

sudo mv /home /home.bak

挂载新 /home

sudo mkdir /home

sudo mount --bind /mnt/data/home /home

写入 /etc/fstab(开机自动挂载):

sudo nano /etc/fstab

在最后加一行 :

/mnt/data/home /home none bind 0 0

迁移 Docker

停止 Docker:

sudo systemctl stop docker

创建新目录:

sudo mkdir -p /mnt/data/docker

复制旧数据:

sudo rsync -aH /var/lib/docker/ /mnt/data/docker/

修改 Docker 配置:

sudo mkdir -p /etc/docker

sudo nano /etc/docker/daemon.json

写入:

{

"data-root": "/mnt/data/docker"

}

启动 Docker:

sudo systemctl start docker

验证

docker info | grep "Docker Root Dir"

应该显示:

Docker Root Dir: /mnt/data/docker

验证与清理

确认 /home 正常:

echo $HOME

ls /home

确认 Docker 正常运行:

docker run hello-world

如果一切正常,可以删除备份 :

sudo rm -rf /home.bak

sudo rm -rf /var/lib/docker

参考资料

GitHub - piyoki/jetson-packages-family: The ultimate software installation guide for Nvidia Jetson Nano/Xavier Dev Kit · GitHub

【NVIDIA Jetson Orin系列 - 安装NVIDIA SDK Manager】

【NVIDIA Jetson Orin系列 - 安装Jetpack】

Jetson AGX Orin刷机教程,奶奶看完都说会了!-CSDN博客

Jetson AGX Orin刷机教程,奶奶看完都说会了!-CSDN博客

【AGX ORIN】系列(1)---AGX ORIN使用SDK Manager刷机 - 简书

Nvidia Jetson AGX Orin开发板配置与使用

https://zhuanlan.zhihu.com/p/1936952595513049503