V1.0.0 – by Holden
Date : 2023-03-09
借助功能强大的 AI 计算机,为节能高效的自主机器带来新一代产品。NVIDIA® Jetson Orin™ 模组算力高达每秒 275 万亿次浮点运算 (TOPS),性能是上一代产品的 8 倍,适用于多个并发 AI 推理管道,此外它还可以通过高速接口为多个传感器提供支持。这使得 Jetson Orin 成为机器人开发新时代的理想解决方案。
更多介绍可以查看官方网站: https://www.nvidia.cn/autonomous-machines/embedded-systems/jetson-orin/
开题说明,一切以官方的刷机教程为准,任何问题,只有官方可以给你最权威的解答!!!
准备一台带有Ubuntu系统的PC;Windows系统也可以使用,本文不做Windows方面流程介绍!!!
USB转TYPC的数据线
Jetson AGX Orin 开发套件以及电源线
首先需要在带有Ubuntu系统的PC搭建刷机环境
刷机软件sdkmanager下载: https://developer.nvidia.com/drive/sdk-manager
注意这里下载的是ubuntu版本。如果遇到网络问题,请用自己手机热点下载。
NVIDIA账号需要注册,正常一步一步往下走就行。
(1)下载好后,在下载目录处打开终端执行如下命令:(具体文件名tab补全就行)
sudo apt install ./sdkmanager_1.9.1-10844_amd64.deb
(2)执行如下命令,更新软件源中的软件列表,这一步要成功无误,不然后面刷机时可能会出现error
sudo apt-get update
完成刷机环境的搭建工作,接下来就可以进入刷机阶段了。
刷机过程大体可以分为2大步。
一是连接好设备并让Orin进入Recovery模式。
二是在个人ubuntu电脑上和Orin上根据安装好的SDK Manager程序完成相应操作。
1、将跳帽去除,该跳帽的作用是让Orin上电自启动,注意是右侧数第三排。
2、硬件设备之间的物理连接
首先将Orin电源线、DP显示屏线、TypeC转USB线都准备好,并且TypeC转USB线连接至电脑USB接口,如下图所示。
3、设置Orin进入Recovery模式
Orin进入Recovery模式分两种状况,一是当Orin处于未开机状态,二是当Orin处于开机状态。
当处于未开机状态时,需要先长按住②键(Force Recovery键),然后给Orin接上电源线通电,此时白色指示灯亮起,但进入Recovery模式后是黑屏的,所以此时连接Orin的显示屏不会有什么反应。
当处于已开机状态时,需要先长按住②键,然后按下③键(Reset键),先松开③键,再松开②键。
4、检查是否成功进入Recovery模式
可以通过个人ubuntu电脑确认Orin是否已经进入Recovery模式,在终端中输入如下:
lsusb
若出现Nvidia Corp的回馈,即代表进入Recovery模式。
1、运行sdkmanager
在ubuntu系统打开一个终端输入sdkmanager,进入如下页面,会加载进度条并且进行NVIDIA账户登录验证,登录后,若Orin尚未进入Recvoery模式,则下图红框处为未检测到设备。
此时Orin需要进入Recovery模式,进入后,显示如下,选择Jetson AGX Orin并点击OK进入
在Continue到下一步之前,建议先把Host Machine取消勾选,因为我们通常是想把配置刷到目标设备Orin上,并不需要在个人ubuntu电脑上安装,可以节省很多空间。
点击继续进入第二步,如下图选择好两个路径然后开始第三步,进入一段时间的下载和安装,这里建议用手机热点网络。
等到下载完并且安装一定时间后,会弹出如下界面告知即将开始刷系统到Orin上。
这里需要选择手动安装模式,并且选择Pre-Config(相当于在这里提前为系统创建了用户和设置了用户密码,待会系统安装完成后可以直接使用这个用户登录,就不用经历创建用户的引导过程了)。
接下来点击Flash后,就开始等待刷系统到Orin上了,这里一定要将Orin和显示屏连接好,待会Orin就会自动开机启动,屏幕也正常显示开机界面,使用之前Pre-Config创建的用户登录即可。
至此,Orin的ubuntu20.04系统就算是成功刷上了,接下来还要刷组件(CUDA、CUDNN、TensorRT等),现在相当于有两台可以操作的电脑了,先把个人ubuntu电脑放一边,使用你的外设鼠标键盘对Orin进行换源操作。
在Orin浏览器中打开下方链接,将Orin自带源换成arm架构下ubuntu20.04的清华源: https://mirrors.tuna.tsinghua.edu.cn/help/ubuntu-ports/
按指示,在终端中执行指令找到/etc/apt/sources.list,建议先将其中原有内容复制一份,然后将清华源复制到source.list,保存后退出,更新软件源如下
sudo cp /etc/apt/sources.list ~/
## 将清华源复制到/etc/apt/sources.list
sudo apt-get update
sudo apt-get upgrade
这一步换源需要一点时间,大概在30分钟内。
完成后回来ubuntu PC界面,找跟网线将PC和Orin连在同一个局域网下,注意wifi不能断,两台设备都需要连接wifi。
按照以下操作设置后,点击install然后耐心等待20分钟左右即完成全部组件(CUDA、CUDNN、TensorRT等)刷机。
安装的ROS版本是noetic,参考ROS 官方安装教程:http://wiki.ros.org/cn/noetic/Installation/Ubuntu
也可以参考本人编写的ROS noetic一键安装脚本,注意echo "nvidia"表示Orin的开机密码。
#!/bin/bash
echo -e "\033[32m =====> 安装 ROS noetic <===== \033[0m"
echo '加载源'
echo "nvidia" | sudo -S apt-get update
echo '设置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'
echo '设置密钥'
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
echo "nvidia" | sudo -S apt-get update
echo "nvidia" | sudo -S apt-get install -y ros-noetic-desktop-full
echo '设置ROS环境'
source /opt/ros/noetic/setup.bash
echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc
source ~/.bashrc
echo '测试'
printenv | grep ROS
echo -e "\033[32m =====> 完成 <===== \033[0m"
这个的作用是将做好的环境以及个人成果打包成为一个raw母体镜像。
(1) 将Orin跟主机通过网线连接,确认网络连接畅通,即主机和Orin能互ping,然后在Orin端连接键鼠、显示器,执行以下指令(在Orin里面手动敲入)
sudo echo "u" | sudo dd of=/proc/sysrq-trigger ## 把Orin改成只读
sudo dd if=/dev/mmcblk0p1 | ssh [email protected] dd of=/home/holden/Orin.raw ## 指定镜像存储到ubuntu PC主机的路径
能看到Orin终端无提示,但是ubuntu PC主机的镜像大小在增加,大约等待30分钟左右完成Orin镜像的克隆制作。
这个的作用是对于一个新的Orin机器,可以将克隆好的镜像直接烧录进去,无需重新通过sdkmanger配置环境。
(1) 在进行SDK Manager流程操作的时候,会在目录下安装好一个JetPack_5.1_Linux_JETSON_AGX_ORIN_TARGETS目录,如下图。
(2) 进入该目录下的Linux_for_Tegra/bootloader,打开一个终端执行以下指令:
cd Linux_for_Tegra/bootloader
rm -rf system.img
ln -s ../../../Orin_image/Orin.raw system.img ## 指定一开始克隆好的镜像路径
(3) 最后一步进入到Linux_for_Tegra目录,执行以下指令:
sudo ./flash.sh -r jetson-agx-orin-devkit mmcblk0p1
**1.**调控Jetson AGX Orin风扇PWM。
$ sudo sh -c 'echo 140 > /sys/devices/pwm-fan/target_pwm' ##140代表调节PWM(0-255)
**2.**安装jtop。
$ sudo apt-get update
$ sudo apt-get install python-pip
$ sudo apt-get install python3-pip
$ sudo pip3 install jetson-stats
$ sudo jtop # 启动jtop
**3.**安装Visual Studio Code。
进入网站:https://code.visualstudio.com/Download
选择Arm64下载
sudo dpkg -i *.deb
4.VNC自启动,自动修改分辨率为“1024x768”。
修改指令如下:
$ xrandr --fb 1024x768
5.设置每天凌晨1点重启,已加入到/etc/crontab中,默认是关闭。
$ sudo su
$ gedit /etc/crontab
00 01 * * * /sbin/reboot #自启动
$ sudo service cron restart