重点参考
Jetson Xavier Nx烧录刷机安装Ubuntu20.04系统及后续配置 - 知乎 (zhihu.com)
Jetson xavier nx的扩容及安装cuda经验_桦树无泪的博客-CSDN博客英伟达官方源Jetson Xavier NX安装Ubuntu20.04,配置CUDA,cuDNN,Pytorch等环境教程(基于NVIDIA官方教程,理论适用其它Jetson设备)_xavier安装cuda_南城落叶的博客-CSDN博客Jetson xavier nx的扩容及安装cuda经验_桦树无泪的博客-CSDN博客
参考其他
英伟达Jetson NX套件刷机,配置Ubuntu20。_nvidia nx 刷机_我想学会弹和弦的博客-CSDN博客
英伟达Jetson NX,AI配置。安装SDK Components_英伟达sdk_我想学会弹和弦的博客-CSDN博客
Jetson Xavier NX刷机流程 - 知乎 (zhihu.com)
1.刷机前的准备
软硬件:虚拟机VMware Workstation 。一根杜邦线、原装安卓数据线、键盘、鼠标、显示器等。
2.安装Ubuntu虚拟机
1.2安装虚拟机_炼丹卢的博客-CSDN博客https://blog.csdn.net/qq_64079631/article/details/127935249
在虚拟机安装ubuntu20.04,最小安装。,虚拟机磁盘至少要60G,不然可能会失败。
等下可能会提示你虚拟机的磁盘空间不够,这时候有两种方法,1. 扩展虚拟机的磁盘,2.不扩展,先下载系统,组件先不下载,烧录完系统后,再下载组件烧录。
3.安装SDK Manager
打开Ubuntu,在NVIDIA SDK Manager | NVIDIA Developer下载.deb
。 U盘有,不用下
下载完成 Ctrl+T
打开Terminal,执行命令 sudo apt install ./sdkmanager...amd64.deb
安装SDK Manager。
4.烧录系统
开发板准备:
用杜邦线短接GND和FC REC (右二右三),使NX进入恢复模式,再使用自带的安卓数据线连接NX和电脑,然后给NX连上鼠标、键盘、显示器,最后插上电源。
短接NX开发板 连接MicroUSB到电脑 上电
选择将开发板连接到虚拟机
打开终端 输入lsusb 出现如图即为连接成功,如果连不上,检测你的线是否是数据线而不是充电线,或者检查你的虚拟机设置
启动SDK Manager
在Terminal中执行 sdkmanager
,首次使用要使用NVIDIA的账号登录
登录成功,进入下载烧录界面。
STEP01:
选择硬件平台Xavier NX,Linux选择5.0.2【rev.2】;点击continue
STEP02:
选择下载项,如图中1、2标识,分别为系统和组件;取消下载Jetson Runtime Components
同意,点击continue;
把U盘的Downloads文件夹复制到主目录,不用下载,直接去开始烧录
提示下载路径不存在,点击创建;
提示空间不足,继续
STEP03:
开始下载和编译,网络好的情况下,约1小时;(中途如果中断,需返回上一步重新continue)
出现弹框。 按照下面选择:
点击Finsh,等待烧录完成。
大概刷得了
STEP04:
下载结束后,点击finish。
断开nx短接的杜邦线
启动NX
NX 连接 HDMI与显示屏 连上网(wifi or 网线)。鼠标 键盘,上电
Ubuntu20.04 开始启动 此时就可以配置用户名 密码等信息
成功进入Ubuntu
Ubuntu系统中下载中文语言包
右键 Settings , Region&Language , Manage install Language , Install , Install/Remove Language , 只勾选 Chinese (simplified) , Apply
重启系统
执行 命令进行
更新。
sudo apt-get update
sudo apt-get upgrade
设置SSD启动项
在ubuntu打开应用菜单,找到Disks磁盘,启动磁盘应用程序,可以看到128GB Disk,选择,
点击挂载固态硬盘
点击右上角三个点选择 Format Disk(格式化磁盘)
,进行格式化。
默认不选,点击Format
,选择EXT4格式。
格式化完成之后全部变成了Free Space。
点击 + , Free Space Following
选择16GB。
起个名字给卷,create
。
重新挂载硬盘
把系统文件从emmc复制到SSD
克隆GitHub项目,依次执行命令:
git config --global url."https://ghproxy.com/".insteadOf https://
git clone https://github.com/jetsonhacks/rootOnNVMe.git
cd rootOnNVMe
./copy-rootfs-ssd.sh
设置从SSD启动
./setup-service.sh
重启NX
终端执行 df -h
,
看到SSD设备使用率大于零。
编辑sd卡,启动时不挂载
查看NX 的 ip 地址
指令: ifconfig,记住ip地址,后面会用到
sudo apt-get -f install
接下来烧录组件
烧录SDK时不用插杜邦线,运行SDK Manager,在SETP02中只选择第二项Jetson SDK Components
,其余不变,继续安装,等到安装完毕。
IP 地址默认是 192.168.55.1,选择USB选项(如果后续刷机失败可以尝试更改 IP 为局域网地址),键入设置的用户名和密码。
或者
如果出现以下错误,说明nx的apt源出现问题,更换软件源为官方apt源
保证SDK Manager是最新版本的,组件是最新版的。
如果还是烧录不了组件,不烧录,直接在nx用脚本安装旧的版本SDK组件(可能会出现问题),参考文章:
Jetson Xavier NX系统烧录(使用NVIDIA SDK Manager)-CSDN博客
Jetson系列Ubuntu--CUDA、cudnn快速安装(Jetson Xavier NX上实践可行)_sudo apt-get install cuda-CSDN博客
Ubuntu系统换清华镜像源
可按照虚拟机中Ubuntu的换源方式,也可以按下面方式。
备份源:sudo cp /etc/apt/sources.list /etc/apt/sources.list.bat
编辑新源文件:sudo gedit /etc/apt/sources.list
在文件中添加下面内容
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal-updates main restricted universe multiverse
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal-updates main restricted universe multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal-security main restricted universe multiverse
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal-security main restricted universe multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal-backports main restricted universe multiverse
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal-backports main restricted universe multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal main universe restricted
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal main universe restricted
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ xenial main multiverse restricted universe
如何清华源遇到问题,也可以选择换官方的apt源
deb http://ports.ubuntu.com/ubuntu-ports/ focal main restricted universe multiverse
deb http://ports.ubuntu.com/ubuntu-ports/ focal-updates main restricted universe multiverse
deb http://ports.ubuntu.com/ubuntu-ports/ focal-security main restricted universe multiverse
保存关闭
执行 命令进行
更新。
sudo apt-get update
sudo apt-get upgrade
检验
NX Ubuntu20.04下 下载jtop查看SDK是否安装成功
命令行输入:
sudo apt-get update
sudo apt install python3-pip -y
sudo pip3 install jetson-stats -i https://pypi.douban.com/simple/
重启Ubuntu20.04
sudo jtop
按7
配置CUDA、cuDNN
依次执行以下命令:
sudo ln -sf /usr/local/cuda-11.4/targets/aarch64-linux/lib/libcudnn_cnn_infer.so.8.4.1 /usr/local/cuda-11.4/targets/aarch64-linux/lib/libcudnn_cnn_infer.so.8
sudo ln -sf /usr/local/cuda-11.4/targets/aarch64-linux/lib/libcudnn_cnn_train.so.8.4.1 /usr/local/cuda-11.4/targets/aarch64-linux/lib/libcudnn_cnn_train.so.8
sudo ln -sf /usr/local/cuda-11.4/targets/aarch64-linux/lib/libcudnn_ops_infer.so.8.4.1 /usr/local/cuda-11.4/targets/aarch64-linux/lib/libcudnn_ops_infer.so.8
sudo ln -sf /usr/local/cuda-11.4/targets/aarch64-linux/lib/libcudnn_ops_train.so.8.4.1 /usr/local/cuda-11.4/targets/aarch64-linux/lib/libcudnn_ops_train.so.8
sudo ln -sf /usr/local/cuda-11.4/targets/aarch64-linux/lib/libcudnn_adv_infer.so.8.4.1 /usr/local/cuda-11.4/targets/aarch64-linux/lib/libcudnn_adv_infer.so.8
sudo ln -sf /usr/local/cuda-11.4/targets/aarch64-linux/lib/libcudnn_adv_train.so.8.4.1 /usr/local/cuda-11.4/targets/aarch64-linux/lib/libcudnn_adv_train.so.8
sudo ln -sf /usr/local/cuda-11.4/targets/aarch64-linux/lib/libcudnn.so.8.4.1 /usr/local/cuda-11.4/targets/aarch64-linux/lib/libcudnn.so.8
如果出现以下问题,执行命令。
/sbin/ldconfig.real: /usr/local/cuda/targets/aarch64-linux/lib/libcudnn_cnn_infe r.so.8 is not a symbolic link
/sbin/ldconfig.real: /usr/local/cuda/targets/aarch64-linux/lib/libcudnn_cnn_trai n.so.8 is not a symbolic link
/sbin/ldconfig.real: /usr/local/cuda/targets/aarch64-linux/lib/libcudnn_ops_infe r.so.8 is not a symbolic link
/sbin/ldconfig.real: /usr/local/cuda/targets/aarch64-linux/lib/libcudnn_ops_trai n.so.8 is not a symbolic link
/sbin/ldconfig.real: /usr/local/cuda/targets/aarch64-linux/lib/libcudnn_adv_infe r.so.8 is not a symbolic link
/sbin/ldconfig.real: /usr/local/cuda/targets/aarch64-linux/lib/libcudnn_adv_trai n.so.8 is not a symbolic link
/sbin/ldconfig.real: /usr/local/cuda/targets/aarch64-linux/lib/libcudnn.so.8 is not a symbolic link
默认已经安装了CUDA10.2,但是没有配置,需要你把CUDA的路径写入环境变量中。
打开.bashrc 文件,执行命令:
sudo gedit ~/.bashrc
在文件的最后添加如下:(实际路径根据你nx的路径写入 目录:/usr/local/cuda )
export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
export CUDA_HOME=/usr/local/cuda
然后更新,执行:
source ~/.bashrc
检查CUDA环境是否配置完成
nvcc -V
开启大性能的电源模式
sudo su
cd /sys/devices/system/cpu/cpu0/cpufreq/
cat scaling_available_governors
切换到最大性能模式
echo performance | sudo tee scaling_governor
检查电源模式
cat scaling_governor
如果输出为 "performance",则表示已成功将电源模式切换到最大性能模式。请注意,最大性能模式可能会增加功耗和温度,请确保设备适当散热。
到这,系统就刷完了
如何解决有时开机无反应后进新系统、双系统的问题
配置代码运行环境
Jetpack5.1.1不支持最新版本的VScode,1.50版本的有效,如需要直接点击链接下载即可
1.安装qt
sudo apt-get install qt5-default qtcreator -y
sudo apt-get install qt5-assistant
sudo apt-get install qttools5-dev qttools5-dev-tools
重启nx: sudo reboot
查看qt的版本: qmake -v
启动qt
qtcreator
Linux(麒麟系统)下,QT项目出现许多红色错误,但项目编译、运行正常_AXIK19920824的博客-CSDN博客
qt构建目录:build-pro_name_Qt_5_12_8_GCC_64bit-Debug
2.安装opencv4.5
烧录组件的时候opencv也复制过去了,可以直接用
在qt上运行c++的opencv代码,需要在.pro文件添加下面的即可
INCLUDEPATH += /usr/include/opencv4
LIBS += -lopencv_core -lopencv_highgui -lopencv_imgproc -lopencv_imgcodecs
不建议直接使用自带的opencv,删除自带的重新安装cuda加速的opencv
Jetson OpenCV 安装,支持cuda加速,已解决多个常见问题_Not L的博客-CSDN博客
3.安装大华驱动
下载的是 arm架构的aarch64版本
1.8安装大华相机SDK及测试_大华工业相机软件_炼丹卢的博客-CSDN博客
在qt上运行大华相机的驱动代码,需要在.pro文件添加下面的(注意文件路径和文件名)
INCLUDEPATH +=./include \
LIBS += -L/opt/HuarayTech/MVviewer/lib/ -lMVSDK
LIBS += -L/opt/HuarayTech/MVviewer/lib/ -lImageConvert
LIBS += -L/opt/HuarayTech/MVviewer/lib/ -lRecordVideo
LIBS += -L/opt/HuarayTech/MVviewer/lib/GenICam/bin/ -lGCBase_gcc485_v3_0
LIBS += -L/opt/HuarayTech/MVviewer/lib/GenICam/bin/ -lGenApi_gcc485_v3_0
LIBS += -L/opt/HuarayTech/MVviewer/lib/GenICam/bin/ -lLog_gcc485_v3_0
LIBS += -L/opt/HuarayTech/MVviewer/lib/GenICam/bin/ -llog4cpp_gcc485_v3_0
LIBS += -L/opt/HuarayTech/MVviewer/lib/GenICam/bin/ -lNodeMapData_gcc485_v3_0
LIBS += -L/opt/HuarayTech/MVviewer/lib/GenICam/bin/ -lXmlParser_gcc485_v3_0
LIBS += -L/opt/HuarayTech/MVviewer/lib/GenICam/bin/ -lMathParser_gcc485_v3_0
4.编译安装eigen库
Jetson Xavier NX 安装Eigen-3.3.7和Ceres-1.14.0_one_DS的博客-CSDN博客
在qt使用eigen库需要在.pro文件中添加
INCLUDEPATH += /home/feihu/eigen-3.3.7
5.配置pytorch环境
深度学习环境配好之后最好不要随便upgrade
......