赞
踩
本文章仅适用于使用 SDK Manager 对 NVIDIA Jetson 系列的emmc产品进行刷机。
将NX的FC REC引脚和GND引脚短接(二三引脚还是三四引脚都得)让NX进入烧写模式
短接可以使用跳线帽或者杜邦线
然后通过NX的microusb接口连接主机的USB接口,jetson端的步骤就已经完成了
开始刷机前需要将你的主机安装上该SDK Manager
sudo apt install ./sdkmanager_2.0.0-11402_amd64.deb //具体什么版本改成对应的
使用命令启动SDK
sdkmanager
我们等待一会将会看见页面如下所示
直接选择LOGIN登录,该登录需要你的NVIDIA 账号(没有的话自己申请一个),选择登录方式为Developer账户(跳转到NVIDIA网页登录确认)
当你登录成功后就看见这个界面,按这个图片的选择来打√,第一个不用管,第二个是选择你的jetson板子类型,我们是jetson xavier nx就选jetson xacier nx,下面那个红色是表示未检查到板子,这时候需要检查usb线有没有和nx连接到,多拔插几次或者换根数据线,直到下面是绿色为止
第三个JetPack是重中之重,这决定了你的ubuntu、CUDA等版本,根据自己的需求来选择具体的JetPack版本。该对应关系可在英伟达官网查到JetPack Archive | NVIDIA Developer,如多数教程选择的Ubuntu18.04就对应jetpack4.5.1版本
注意!这里我们先只安装Jetpack系统,等将系统迁移到SSD上面后,再进行其他SDK组件的安装(jetson Xavier NX系统自带内存16g不足以安装其他SDK组件)
勾选左下角接收协议后才能点击continue进入下一步下载安装!系统剩余空间如果大于17GB即可继续下载安装jepack系统。如果提醒disk内存不够或还需要xxMB,无需担心(文件下载到主机的路径无需更改,为保证后续组件安装,建议在开始使用SDKmanager前,主机留足40G以上的内存)
接下来就是漫长的等待下载安装界面
当下载完成要刷新目标设备时,SDK Manager 会打开一个对话框。提示会提供有关设备以使其准备就绪以进行闪烁的说明:其中,将启动方式更改为手动,输入并创建 Jetson 的用户名和密码。(后续安装SDK组件过程中选择自动)
等待系统烧写完成,时间稍久,Jetson NX会重启,
我们拔掉杜邦线或者跳线帽,如果接上显示屏就会看到ubuntu登录界面,无外接显示屏看进度条和听风扇转速就知道了。(此过程中可能会提醒烧写超时无需紧张继续即可,如果报错可以关掉SDKmanager重新烧录,一般电脑和NX的USB连线全程保持不断开就没问题)开机后连上键鼠,启动ubuntu系统后连接wifi、添加中文输入法、设置快捷键等基本操作。
此时nx的系统烧录就已经完成,但使用 Jetson-stats 来查看信息的时候,会发现cuda、opencv、等应用都没有被安装,这需要我们后续再接在SDK Manager再烧录一次,但在此之前我们需要迁移系统
由于官方自带内存仅为16G,厂家一般提供SSD内存条用以扩容。插上内存条SSD后,在NX启动的Ubuntu系统中,打开disks软件,点击右上角菜单,将固态硬盘格式化。无需更改选项,直接格式化。然后点击左下角+号继续分区。
点击加号开始分区,增加16GB的空间作为SWAP交换空间(也可用gparted实现)重命名后创建。
效果如图所示:
首先,从git上复制最新rootOnNVMe项目到home目录下(通过U盘拷贝也可以)。
- git clone https://github.com/jetsonhacks/rootOnNVMe.git
- cd rootOnNVMe
到有该脚本的路径下,执行下面的脚本,将根源文件复制到SSD
./copy-rootfs-ssd.sh
启动从SSD启动的脚本
./setup-service.sh
等待系统迁移成功,然后重启开机后就会发现内存变为了110G
接下来开始安装CUDA等其他组件(记得千万要拔掉杜邦线或者跳线帽,USB别拔!),主机继续打开sdk manager。确定jetpack版本号,点击continue进入下一步。
必须保证jetpack版本与刷机的版本一致,否则安装会失败,如果忘记了可通过以下命令查看本机jetpack版本。
sudo apt-cache show nvidia-jetpack`
在第二个界面取消系统部分的文件下载,选择下载其他SDK
后续步骤和前面的差不多,只要老老实实等待安装完成即可,期间可能会弹出一个要检测nx能不能下载进去的,到时候选择不管检测结果直接安装即可,安装完成后cuda、cudnn等即可安装完成。
启动jtop查看安装信息
sudo jtop
由上图可知默认的 OpenCV 版本是不带 CUDA 加速的,无法充分利用 NX 的 GPU 性能,所以需要卸载重装支持CUDA加速的版本,卸载命令如下:
- sudo apt purge libOpenCV*
- sudo apt autoremove
- sudo apt update
在安装依赖之前建议换源,打开source.list文件,编辑前可以先把原来的内容复制后备份文档。
sudo gedit /etc/apt/sources.list
更换成清华源,也可以更换成阿里源/中科大等常用源,注意jepack5.02对于的是ubuntu20.04版本所以是focal而不是bionic(对应ubuntu18.04)。其中为了安装旧的libpng12需要加入xenial (ubuntu16.04)的源,如果你的ubuntu是18.04的需要换成对应的bionic的源,下面这个是20.04的
- 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
然后安装依赖。
- sudo apt install -y build-essential checkinstall cmake pkg-config yasm git gfortran
- sudo apt update
- sudo apt install -y libjpeg8-dev libjasper-dev libpng-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 python2-dev python3-dev python-numpy python3-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
可能会出现问题的是libjasper-dev依赖,通过以下命令解决。
sudo apt install libjasper1 libjasper-dev
前往官方仓库https://github.com/opencv下载合适版本的OpenCV和opencv_contrib源码,笔者在装机时选择的是4.5.3版本,而安装的jepack系统自带OpenCV版本是4.5.4,不建议使用与jepack自带OpenCV差距过大的版本。
下载解压后可以将两者放在主目录下,将opencv_contrib-4.5.3移动到 OpenCV-4.5.3目录下,打开OpenCV-4.5.3目录新建build文件夹用以编译。
- cd opencv-4.5.3
- mkdir build
- cd build
在cmake编译之前,手动下载cmake过程中缺失的依赖https://files.cnblogs.com/files/arxive/boostdesc_bgm.i%2Cvgg_generated_48.i%E7%AD%89.rar(建议Windows下载解压成zip格式通过u盘拷入,ubuntu系统默认不支持rar格式)
解压后直接拷贝以下文件名的源码,放在opencv_contrib/modules/xfeatures2d/src/ 路径下即可。
- boostdesc_bgm.i
- boostdesc_bgm_bi.i
- boostdesc_bgm_hd.i
- boostdesc_lbgm.i
- boostdesc_binboost_064.i
- boostdesc_binboost_128.i
- boostdesc_binboost_256.i
- vgg_generated_120.i
- vgg_generated_64.i
- vgg_generated_80.i
- vgg_generated_48.i
然后打开build文件夹,执行的 cmake命令如下:
- cmake \
- -D WITH_CUDA=ON \
- -D CUDA_ARCH_BIN="7.2" \
- -D WITH_cuDNN=ON \
- -D OPENCV_DNN_CUDA=ON \
- -D cuDNN_VERSION='8.4' \
- -D cuDNN_INCLUDE_DIR='/usr/include/' \
- -D CUDA_ARCH_PTX="" \
- -D OPENCV_EXTRA_MODULES_PATH=../opencv_contrib-4.5.3/modules \
- -D WITH_GSTREAMER=ON \
- -D WITH_LIBV4L=ON \
- -D BUILD_opencv_python3=ON \
- -D BUILD_TESTS=OFF \
- -D BUILD_PERF_TESTS=OFF \
- -D BUILD_EXAMPLES=OFF \
- -D CMAKE_BUILD_TYPE=RELEASE \
- -D CMAKE_INSTALL_PREFIX=/usr/local \
- ..
其中
CUDA_ARCH_BIN、cuDNN_VERSION的目录版本要和本机对应,OPENCV_EXTRA_MODULES_PATH建议填写opencv_contrib里modules的绝对路径,CMAKE_INSTALL_PREFIX为安装路径。
然后进行编译安装,全开NX的12线程仍然需要编译接近2小时,编译安装完大概需要4小时
- sudo make -j12
- sudo make install -j12
安装成功后可以通过jtop指令查看,如图所示已安装好支持CUDA加速的OpenCV4.5.3版本
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。