1 .前期准备
Jetson Agx Orin 比Jetson Agx Orin Xavier的算力要高,性能要好通常用来做自动驾驶的AI推理,具体外观如下图
1.刷机软件sdkmanager:下载链接
NVIDIA账号需要注册,正常一步一步往下走就行。在ubuntu18以上的系统安装sdkmanager,注意虚拟机安装需要和硬件交互的权限。
下载完成后执行一下命令
sudo apt-get update
sudo apt install ./sdkmanager_1.9.1-10844_amd64.deb
2. 刷机
2.1 连接好设备并让Orin进入Recovery模式。
Orin进入Recovery模式分两种状况,一是当Orin处于未开机状态,二是当Orin处于开机状态。
未开机状态,需要先长按住②键(Force Recovery键),然后给Orin接上电源线通电,此时白色指示灯亮起,但进入Recovery模式后是黑屏的,所以此时连接Orin的显示屏不会有什么反应。
已开机状态,需要先长按住②键,然后按下③键(Reset键),先松开③键,再松开②键。
2.2 进入Recovery模式验证
lsusb
出现Nvidia Corp,即代表进入Recovery模式。
2.3 通过SDKmanager 刷机
ubuntu系统打开sdkmanager。若Orin尚未进入Recvoery模式,则处于未检测到设备。
若进入Recovery模式,选择Jetson AGX Orin并点击OK进入,如下图:
在Continue到下一步之前,建议取消Host Machine,因为不需要在个人电脑上安装,只把配置刷到目标设备Orin上。
选择手动安装模式和Pre-Config(自动创建用户和密码),点击Flash。
至此,Orin刷机完成。一般来说,刷机后Jetpack默认直接装上与jetson版本号适配的cuda、cudnn、TensorRT
3.系统操作
3.1 更换国内源
cp -r /etc/apt/sources.list /etc/apt/sources.listbak
vim /etc/apt/sources.list
# 默认注释了源码仓库,如有需要可自行取消注释
deb [arch=arm64] http://mirrors.ustc.edu.cn/ubuntu-ports/ focal main restricted universe multiverse
# deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ focal main main restricted universe multiverse
deb [arch=arm64] http://mirrors.ustc.edu.cn/ubuntu-ports/ focal-updates main restricted universe multiverse
# deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ focal-updates main restricted universe multiverse
deb [arch=arm64] http://mirrors.ustc.edu.cn/ubuntu-ports/ focal-backports main restricted universe multiverse
# deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ focal-backports main restricted universe multiverse
deb [arch=arm64] http://mirrors.ustc.edu.cn/ubuntu-ports/ focal-security main restricted universe multiverse
# deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ focal-security main restricted universe multiverse
sudo apt-get update
sudo apt-get upgrade
3.2 备份镜像
(1) 将Orin跟主机通过网线连接,在Orin端执行以下指令:
sudo echo "u" | sudo dd of=/proc/sysrq-trigger ## 把Orin改成只读
sudo dd if=/dev/mmcblk0p1 | ssh holden@192.168.1.102 dd of=/home/cronuser/Orin.raw ## 指定镜像存储到ubuntu PC主机的路径
大约等待半小时完成Orin镜像的克隆制作。
3.3 镜像导入
(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 ## 指定一开始克隆好的镜像路径
sudo ./flash.sh -r jetson-agx-orin-devkit mmcblk0p1
3.3 系统对时
sudo apt install ntp
sudo ntpdate -u cn.pool.ntp.org
3.4 pytorch及torchvision安装
根据jetpack版本选择pytorch版本,官方下载地址:PyTorch for Jetson
pip install Cython numpy -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install torch-1.12.0a0+2c916ef.nv22.3-cp38-cp38-linux_aarch64.whl
安装依赖
sudo apt-get -y update;
sudo apt-get -y install autoconf bc build-essential g++-8 gcc-8 clang-8 lld-8 gettext-base gfortran-8 iputils-ping libbz2-dev libc++-dev libcgal-dev libffi-dev libfreetype6-dev libhdf5-dev libjpeg-dev liblzma-dev libncurses5-dev libncursesw5-dev libpng-dev libreadline-dev libssl-dev libsqlite3-dev libxml2-dev libxslt-dev locales moreutils openssl python-openssl rsync scons python3-pip libopenblas-dev
sudo apt-get install libopenblas-base libopenmpi-dev libomp-dev
下载torchvision
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install libjpeg-dev zlib1g-dev libpython3-dev libavcodec-dev libavformat-dev libswscale-dev
git clone --branch v0.13.0 https://github.com/pytorch/vision torchvision
cd torchvision
export BUILD_VERSION=0.13.0
python3 setup.py install --user
4. 系统VNC
安装tigervnc-standalone-server
sudo apt-get -y install tigervnc-standalone-server
设置密码
vncpasswd
启动 VNC server 服务
vncserver :1
停止VNC server服务
vncserver -kill :1
配置 VNC server 服务
vim ~/.vnc/xstartup
#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
gnome-session &
远程访问启动
vncserver :1 -geometry 1920x1080 -localhost no
上述的vncserver :1 代表端口号是:5901,如果是:2 就是5902,以此类推。
至此,orin基础环境搭建就到这里