一、使用的硬件:nx板子、原装充电器、有线鼠标(USB)、有线键盘(USB)、有线摄像头(USB)、7寸触摸显示屏、20寸大显示屏(显示屏有一个就可以,大屏幕更加方便)、SD卡(128G,用64g也可以)、读卡器、笔记本电脑(Win-11)、WIFI网络环境
二、软件:SDFormatter(v4)、Win32DiskImager(2.0)、VNC-Viewer(6.22)、Winscp
三、文件:nx镜像文件、pycharm(linux版本,可在笔记本上下载好安装包)
有需要整套软件和镜像文件可以留言,看到会回复发送分享!
四、常用指令、
// 执行目录转换
cd 文件夹名
// 返回上一级
cd ..
// 返回到root目录
cd /
// 返回到 /home/用户名
cd ~
// 当前目录
pwd
// 查看当前目录的所有文件(list)
ls
// catalog
cat
// 拷贝(copy)
cp
// 进入python环境(python默认是python2)
python //python2
python3.8 //python3.8
// 退出
// 快捷键:Ctrl+D,Ctrl+Z,Ctrl+C
// 查看当前已连接的设备(Jetson Xavier NX 设备会显示有 [nvidia corp])
lsusb
// 查看所有盘的存储情况(查看是否扩盘成功)
df -h
// 关机(sudo代表super user的权限)
sudo poweroff
// 重启
sudo reboot
// 安装软件(.deb文件)
sudo dpkg -i 文件名.deb
// 卸载软件(--purge是删除所有相关的东西)
sudo apt-get --surge remove sunloginclient
// 查看安装的所有软件
dpkg --list
// 查看jetson-stats的命令
jtop
// root
sudo su root
//打开管理员权限的文件管理器
nautilus
五、实际开机操作步骤
1、下载NX镜像(速度取决于网速,我这里下载比较慢)
链接:Jetson 下载中心 | NVIDIA Developer
按照画框处输入、选择
2、下载pycharm(linux,这一步也可以等板子开机后在板子内下载,我这里下载因为开机后会配置文件传输功能,用这个测试)
链接:Download PyCharm: Python IDE for Professional Developers by JetBrains
3、下载SDFormatter(v4)、Win32DiskImager(2.0)、VNC-Viewer(6.22)、Winscp
SDFormatter、Win32DiskImager在网上随便搜一下下载都可以。Winscp、VNC-Viewer可以用电脑管家下载
SD Memory Card Formatter for Windows Download | SD Association (sdcard.org)
SDFormatter官方下载|SDFormatter格式化软件 V4.0 最新免费版 下载_当下软件园_软件下载 (downxia.com)
Win32 Disk Imager下载_Win32 Disk Imager官方绿色版下载_3DM软件 (3dmgame.com)
如果的话也可以在SDFormatter、Win32DiskImager官网下载。但其实效果都一样。
另外也可以使用官网的格式化软件和烧录软件:
格式化软件:
SD Memory Card Formatter for Windows Download | SD Association (sdcard.org)
烧录软件:
balenaEtcher - Flash OS images to SD cards & USB drives
4.格式化SDK
打开SDFormatter
注意信息是否匹配,
确认SD卡后格式化
确认
确认
关闭SDFormatter
5、解压zip镜像得到img文件,用win32diskImager烧录
选择解压后的镜像文件,选择SD卡设备、写入
确认,
等待...................这个时候可以不管它了,继续完成下面步骤
6、通过USB口插入键盘、鼠标、摄像头,板子上面四个USB口里面随便都可以。
调整一下板子和各个硬件的位置,避免线路缠绕,
7、通过6号口HDMI线连接显示屏,显示屏通电。如果是小显示屏可以把屏幕的USB电源接口接到板子的USB口,用板子供电。
8、现在距离烧入完成还有一段时间,看一下一个相关知识:烧录的SD卡后面如果要恢复为正常存储卡怎么办:我们可以发现写入完毕以后电脑找不到SD卡,也无法读取SD卡显示(实际是可以的只是不能正常显示出来),这是正常现象。
如何恢复呢,如果我们以后开发板不需要将SD卡,我们把它取下来,用读卡器接入电脑,但是我们是找不到SD卡的也无法打开它。
我们需要在右击电脑(Win11)选择管理,然后找到磁盘管理
找到那个有许多分区的磁盘(比如磁盘2分区1......一直到磁盘2分区18),大概10~20左右,有可能更多,
然后将这些分区右击删除卷,不能删其他磁盘的分区啊(比如磁盘1内分区)!,只可以将有删有大量分区的,直到该磁盘剩下最后一个不可以删除的
然后在找到下面这个,右击建立新卷,一定跟着系统的步骤一步步确认,不要修改,全部默认就好。完成之后SD卡就变成正常的存储卡了!....................
我们就可以在C盘、D盘、、旁边看到SD卡了
9、烧录完成后,拔出SD卡,插入到板子上
10、板子通电
使用8号口供电,!!!!!注意一定要使用配套原装充电设备进行供电!!!!!
11、开机成功!!!!!!!!!!!!!!!
13、中文,但是看到过说选中文开发过程可能会出现问题,所有可以接受英文最好
13、键盘设置不管,默认继续
14、连接网络
15、地区随便,默认继续
16、用户名密码设置
17、空间默认最大继续
18、基本配置完成、自动加载
19、选择登入用户,输入自己设置的密码
20、进入桌面
这里是一些快捷键,可以了解一下
但是这里不知道为什么又变成英文了,不过问题不大,忽略继续
21、然后可以安装一些软件了,比如这个pycharm,我这里不安装跳过继续
22、最后就是见证成功,光芒四射的桌面,到此开机完成!点点赞、收藏一下吧!!!!
真的是胎儿式保姆教程了
六、浏览器设置
默认的谷歌浏览器的谷歌引擎国内不用梯子大致是不可以用的,我们换一下引擎、百度必应都可以
打开浏览器设置为其他国内引擎
七、中文输入法、中文系统环境
1.下载谷歌输入法:sudo apt-get install fcitx-googlepinyin -y
下载完成:
2. 打开设置/setting,可以在屏幕右上角或者点搜索栏,搜索语言支持/language
3.提示安装不完整,继续安装(点击安装后需要输入密码确认,安装要一会时间)
4.安装完成之后将Keyboard input method system
设置为fcitx
将中文拖到最上面,按住直接往上拖就行
应用到整个系统
然后重启就完成了
重启可以通过点击屏幕右上角点击->关机->重启
或者ctrl+alt+T 快捷键打开终端,输入reboot重启开发板
重启后就变成中文环境了,比如整个用户登入页面
点击整个键盘图标选择中文输入法,哪一个都可以,或者使用快捷键“ctrl+空格键”
就可以输入中文了
八、换源
1输入指令:
sudo mv /etc/apt/sources.list /etc/apt/sources.list.bak
sudo vim /etc/apt/sources.list
将之前的删掉或者注释掉(用#注释)
按下'a'插入,编写完成后按一下esc键,输入‘:wq!’保存退出
然后终端输入更新指令:sudo apt-get update
#加入清华源,或者其他的比如阿里云,中科大,豆瓣等等都可以
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-updates main restricted universe multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-security main restricted universe multiverse
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-security main restricted universe multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-backports main restricted universe multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic main universe restricted
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic main universe restricted
九、设置cuda,添加环境变量,nvcc -V检测
1.首先使用指令‘nvcc -V’ 检测
没有则配置则会显示找不到命令:
终端输入:sudo gedit ~/.bashrc
在打开的文本框最下面添加空白,然后加入路径:
export CUDA_HOME=/usr/local/cuda-10.2
export LD_LIBRARY_PATH=/usr/local/cuda-10.2/lib64:$LD_LIBRARY_PATH
export PATH=/usr/local/cuda-10.2/bin:$PATH
最后使用指令‘nvcc -V’ 检测,成功。
十、下载pip
1. 一般是没有自带pip的,比如这个例子
2.然后我们用指令下载pip:sudo apt-get install python3-pip
3.还需要下载很多依赖库,这个大家去其他博客找一下,尽量多下一些,不然以后可能遇到很多奇奇怪怪的问题
比如这位博主:(1条消息) jetson xavier nx 系统及相关环境配置(cuda,torchvision,torch,tensorflow,opencv)_我有大病的博客-CSDN博客
十一、安装Jtop控制风扇,设置风扇
1. 安装安装硬件温度检测工具sensors
sudo apt install lm-sensors
输入: sensors
2.安装:
sudo pip3 install jetson-stats
安装完成之后输入:sudo jtop 启动,点击5号,如果和我的不一样就把窗口拉大,窗口太小显示不出来,不完整
风扇转动起来
其他博主也有通过指令或者脚本控制的,也可以参考他们的方法
十二、设置远程桌面(参考与简书上面一位博主(童年雅趣)的方法)
Jetson搭建配置VNC Server(Xavier/Nano/NX...) - 简书 (jianshu.com)
1. 安装Vino,一般都自带安装好了,也可以用指令试一下
sudo apt install vino
我这里使用的板子自带,已经安装好了
然后,这个博主是指令方法,也可以打开软件“桌面共享”(在搜索栏里面搜share设置)
启动vino-server后,用ctrl+Z退出,然后继续下面
分辨率1920x1080可以根据自己电脑屏幕实际修改
3.电脑下载VNC Viewer、WinSCP
将电脑和开发板连接同一热点
打开手机个人热点,找到已连接设备,点进去,看到连接热点设备的IP地址,把开发板的IP地址记下来
电脑打开VNC Viewer
第一次连接会有这个警告,选择不在提示,继续
打开winscp,传输文件
主机名就是IP地址,用户名密码就开发板设置的用户名密码,端口不用改
连接成功后,可创建工作区到桌面快捷方式,下次直接点击快捷方式连接
十三、pycharm安装配置
1. 安装pycharm之前我们需要配置一下Java
这里给出两位博客java-11和java-8
java-11:
(1条消息) Jetson AGX Xavier安装Pycharm_围白的尾巴的博客-CSDN博客
java-8:
(1条消息) Jetson Xavier NX上安装Pycharm_Suyuoa的博客-CSDN博客
不管是Java11还是Java8都是可以的
但是注意:不可以安装两个!!
虽然安装时候不会出问题,但是在后面打开pycharm会报错,原因用java11去运行Java8的环境或者反之,总之我们选一个安装就行,这里我选的java11
sudo apt-get install openjdk-11-jdk
java --version #查看是否安装成功
sudo vim ~/.bashrc #配置环境变量,在打开的文本内最下面添加下面四条
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-arm64
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
点击保存后,再关闭
source ~/.bashrc #刷新
如果下载两个出现问题了也不要慌,通过下面三条指令卸载所有版本JDK重新选一个配置就好了
dpkg --list | grep -i jdk
apt-get purge jdk*
apt-get purge icedtea-* jdk-*
另外如果你和我一样不小心把环境变量写错了导致大部分命令失效
可以在终端输入下面里面暂时恢复,重启终端还是没用需要再次输入
export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
如何解决:
先输入终端暂时恢复,通过指令
sudo gedit ~/.bashrc
打开文本,将下面这句
export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
加入最下面
然后刷新
source ~/.bashrc
就可以继续重新配置了
2.下载pycharm-Linux版本
下载链接:
Download PyCharm: Python IDE for Professional Developers by JetBrains
我这里是提前在电脑上面下载好了,用winscp传到板子上面的主目录下
将下载的包解压,个人觉得手动解压比命令行快(因为每个人路径可能不一样),然后把文件夹改成pycharm(去掉版本号后缀)
打开pychrm文件夹进入bin目录,找到pycharm.sh文件,
打开终端,将pycharm.sh拖到终端里面会自动出现命令,去掉首位的两个引号( ' ' ),
回车运行就好了
3. 进去之后配置中文环境(不需要可以跳过)
下载插件之后需要重启,之后就是中文版本了
4.建立项目,如果没用项目就新建,有的话就打开,这里是新建一个
选择完成之后,确定,就可以打开了
5.添加快捷方式
6.添加库:文件-->设置
7.pycharm内终端命令下载库pytorch(CPU版本,GPU版本在下面)
首先更新pip
python -m pip install --upgrade pip -i https://pypi.tuna.tsinghua.edu.cn/simple
进入官网:PyTorch
往下翻,选择版本1.12.1,Linux,pip,python,cuda10.2(之前我们用nvcc -V指令查看过),将生成的链接复制到终端下载。
等它下载完成就可以了,会自动配置依赖库文件,但是可能中途下载失败,所以需要注意一下下载情况,如果失败了就重来
7.2.pycharm内终端命令下载库pytorch(GPU版本)
需要转到pytorch for jetson的官网(一个jetson专门的网址),里面有对应的torch版本下载,如果直接在torch官网可能找不到合适版本,即使有对应的版本下载使用可能出问题。
Jetpack默认已安装cuda、cudnn,故只需再安装torch即可,留意jetson是arm架构,需要下载对应的安装文件加以安装。
总:注意python版本,cuda版本,arm架构
PyTorch for Jetson - Jetson & Embedded Systems / Jetson Nano - NVIDIA Developer Forums
下载得到whl轮子后,不管是在终端还是pycharm里面安装都是可以的
终端:pip3 install torch-1.4.0-cp36-cp36m-linux_aarch64.whl
pycharm:pip install torch-1.4.0-cp36-cp36m-linux_aarch64.whl
安装好torch之后,为了功能完全,还要下载torchvision
可以直接到对应网址下载后安装:GitHub - pytorch/vision: Datasets, Transforms and Models specific to Computer Vision
也可以用指令克隆下来(克隆下来可能会失败,我自己克隆下来后安装时候失败了原因不清楚,然后我到github直接下载下来重新安装就成功了)
/// 终端
git clone https://github.com/pytorch/vision torchvision
cd torchvision
#如果有多个python3的版本,最好指定清楚一些,直接python的话可能安装到python2了
sudo python3 setup.py install
#如python3.6
sudo python3 setup.py install
///
/// pycharm
git clone https://github.com/pytorch/vision torchvision
cd torchvision
python setup.py install
///
8. 使用镜像下载
window版本下面的可以再设置里面添加镜像源,就不用每次输入了,但是Linux版本有点问题,没这个功能,需要每次输入,而且Python Packages也存在问题,这个功能没用生效,否则就可以通过它更加方便下载。
清华:https://pypi.tuna.tsinghua.edu.cn/simple
阿里云:http://mirrors.aliyun.com/pypi/simple/
中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/
华中理工大学:http://pypi.hustunique.com/
山东理工大学:http://pypi.sdutlinux.org/
豆瓣:http://pypi.douban.com/simple/
在pycharm终端里面使用pip的时候加参数“-i"+镜像源
比如:pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pillow
9.下载opencv(非cuda编译)
pip install opencv-python --user -i https://pypi.tuna.tsinghua.edu.cn/simple
使用这个指令下载opencv一般会自动下载一些依赖库,但是以防万一,再补一条
pip install opencv-contrib-python --user -i https://pypi.tuna.tsinghua.edu.cn/simple
9.下载opencv(cuda编译版本,比较麻烦,需要时间较长,如非必要可不配置)
9.1 首先卸载自带的opencv(自带的opencv没有cuda编译,可以使用jtop查看情况)
sudo apt-get remove libopencv*
sudo apt-get purge libopencv* python-opencv
sudo apt-get update
sudo apt-get install -y build-essential pkg-config
查看opencv安装库:pkg-config opencv --libs
查看opencv安装版本:pkg-config opencv --modversion
9.2 下载依赖库(这个依赖库我安装的时候在网上找了很多博主的,全部下载了一遍,有一些似乎库下载失败了,然后复制问题到百度解决了,具体是什么不太记得了,还是比较好解决的)
下面几个博主我在第一次配置时都看过,写的挺好,如果按照我的方法配置不好可以看一下他们的
Jetson Xavier NX安装cuda opencv4.4.0 - 简书 (jianshu.com)
(4条消息) Jetson nano/NX安装Opencv Cuda版_one_DS的博客-CSDN博客_nano安装opencv
Jetson Xavier NX OpenCV 安装 - 知乎 (zhihu.com)
(4条消息) Jetson带CUDA编译的opencv4.5安装教程与踩坑指南,cmake配置很重要!_吾系桉宁的博客-CSDN博客
sudo apt-get install -y cmake libavcodec-dev libavformat-dev libavutil-dev \
libglew-dev libgtk2.0-dev libgtk-3-dev libjpeg-dev libpng-dev libpostproc-dev \
libswscale-dev libtbb-dev libtiff5-dev libv4l-dev libxvidcore-dev \
libx264-dev qt5-default zlib1g-dev libgl1 libglvnd-dev pkg-config \
libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev mesa-utils
sudo apt-get install python2.7-dev python3-dev python-numpy python3-numpy
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
sudo apt install -y build-essential checkinstall cmake pkg-config yasm git gfortran
sudo apt update
sudo apt install -y libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev
sudo apt install -y libjpeg8-dev libjasper-dev libpng12-dev libtiff5-dev libavcodec-dev libavformat-dev libswscale-dev libdc1394-22-dev libxine2-dev libv4l-dev
sudo apt install -y libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libgtk2.0-dev libtbb-dev libatlas-base-dev libfaac-dev libmp3lame-dev libtheora-dev libvorbis-dev libxvidcore-dev libopencore-amrnb-dev libopencore-amrwb-dev x264 v4l-utils
sudo apt install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
sudo apt-get install build-essential \
libavcodec-dev \
libavformat-dev \
libavutil-dev \
libeigen3-dev \
libglew-dev \
libgtk2.0-dev \
libgtk-3-dev \
libjpeg-dev \
libpostproc-dev \
libswscale-dev \
libtbb-dev \
libtiff5-dev \
libv4l-dev \
libxvidcore-dev \
libx264-dev \
qt5-default \
zlib1g-dev \
libavresample-dev \
gstreamer1.0-plugins-bad \
pkg-config
9.3 下载opencv和opencv_contrib包,到opencv官网或者Github资源下载都可以,但是版本一定要对应,目前已经到4.6版本但是不建议下载4.6,我第一次配置opencv4.6虽然成功了,但是后续使用的时候出现了一点问题,和其他的库有点不兼容,建议4.5.3版本的
Releases - OpenCV
Releases · opencv/opencv_contrib · GitHub
9.4 下载好两个压缩包之后,解压,修改一下文件名字,去掉版本号,将opencv-contrib文件夹放到opencv文件夹。
9.5 进入opencv文件夹目录下面创建build文件夹
cd xx/xx/xx/xx/xx/opencv
mkdir build
cd build
9.6 进行cmake配置
如果有多个python2版本或者python3版本要指定好。
我在第一次安装的时候只是选择不安装在python2,
没指定具体哪个python3版本,结果就安装到python3.9上去了,而且python3.6用不了。导致最后重装了,废了好大时间
然后关于指令的意思(0和1就是对应的关和开)
-D CMAKE_BUILD_TYPE=Release \ // Release 编译版本
-D CMAKE_INSTALL_PREFIX=/usr/local \ // 安装路径
-D OPENCV_ENABLE_NONFREE=1 \
-D BUILD_opencv_python2=0 \ //设置0就是不在python2环境配置
-D BUILD_opencv_python3=1 \
-D WITH_FFMPEG=1 \
-D CUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda \ //这个路径需要自己确认,如果修改过
可能是/usr/local/cuda-10.2这样的
-D CUDA_ARCH_BIN=7.2 \ //算力,在英伟达官网查看GPU实际算力,或者买开发板的时候的资料手册里面
-D CUDA_ARCH_PTX=7.2 \
-D WITH_CUDA=1 \ //使用cuda
-D ENABLE_FAST_MATH=1 \
-D CUDA_FAST_MATH=1 \
-D WITH_CUBLAS=1 \
-D OPENCV_GENERATE_PKGCONFIG=1 \
-D OPENCV_EXTRA_MODULES_PATH=xx/xx/opencv_contrib/modules //就是下载的opencv_contrib下module的路径
下面两个是复制的两位其他的博主(不记得我具体用的哪一个了,应该是都可以的,只要按照自己的环境稍微修改一下就可以)
cmake \
-D CMAKE_BUILD_TYPE=Release \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D OPENCV_ENABLE_NONFREE=1 \
-D BUILD_opencv_python2=0 \
-D BUILD_opencv_python3=1 \
-D WITH_FFMPEG=1 \
-D CUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda \
-D CUDA_ARCH_BIN=7.2 \
-D CUDA_ARCH_PTX=7.2 \
-D WITH_CUDA=1 \
-D ENABLE_FAST_MATH=1 \
-D CUDA_FAST_MATH=1 \
-D WITH_CUBLAS=1 \
-D OPENCV_GENERATE_PKGCONFIG=1 \
-D OPENCV_EXTRA_MODULES_PATH=xx/xx/opencv_contrib/modules \
..
cmake
-D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D WITH_CUDA=ON \
-D CUDA_ARCH_BIN=6.2 \
-D CUDA_ARCH_PTX="" \
-D ENABLE_FAST_MATH=ON \
-D CUDA_FAST_MATH=ON \
-D WITH_CUBLAS=ON \
-D WITH_LIBV4L=ON \
-D WITH_GSTREAMER=ON \
-D WITH_GSTREAMER_0_10=OFF \
-D WITH_QT=ON \
-D WITH_OPENGL=ON \
-D CUDA_NVCC_FLAGS="--expt-relaxed-constexpr" \
-D CUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda-10.2 \
-D WITH_TBB=ON \
-D OPENCV_EXTRA_MODULES_PATH=~/xxx/xxx/opencv/opencv_contrib/modules \
../
9.5 编译,需要3-5个小时,
make -j4 j4代表用四核跑,我当时用的j6,六核,但是需要先调整位六核mode
9.6 安装,
sudo make install
如果显示安装成功,那么基本上就是配置成功了
用jtop查看一下opencv的编译cuda状态是不是已经变成True了
然后进入python3.6(根据自己的版本),如果是安装python2就输入python2
import cv2
cv2.__version__
有版本号输出就配置成功了
10.有些版本的python是没有Tkinter库,要自己配
sudo apt-get update
sudo apt-get install python3-tk
sudo apt-get install -f