Jetson Xavier NX刷机安装JetPack 5.1.2,配置CUDA11.4,Tensorrt8.5.2、Opencv4.5.4

本文主要是介绍Jetson Xavier NX刷机安装JetPack 5.1.2,配置CUDA11.4,Tensorrt8.5.2、Opencv4.5.4,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 前言
  • 一、准备工作
  • 二、配置虚拟机Ubuntu系统(主机已配置可跳过)
  • 三、安装NVIDIA SDK管理器
  • 四、开始刷机
  • 五、设置SSD启动
  • 六、安装CUDA环境及其他组件
  • 七、重装OpenCV4.5.4
    • 1.卸载OpenCV库
    • 2.安装依赖库
    • 3.编译安装OpenCV及OpenCV_contrib
  • 八、安装Pytorch, torchvision,shapely,scipy以及ONNX
    • 1.安装Pytorch和torchvision
    • 2.安装shapely
    • 3.安装scipy
    • 4.安装ONNX及ONNX Runtime
  • 总结
  • 参考


前言

Jetson Xavier NX 下 刷机升级JetPack5.1.2,本文记录了刷机流程以及踩坑记录。


一、准备工作

必备:Jetson Xavier NX开发板(带128G内存)、官方标配 19V 电源适配器+线、Micro USB 数据线、跳线帽/跳线、Ubuntu host 主机(可装载虚拟机)、SDK Manager
可选:USB 键盘和鼠标、电脑显示器(HDMI 或 DP)(后续安装重启之后需连接开发板上使用)

二、配置虚拟机Ubuntu系统(主机已配置可跳过)

1.在主机上安装VMware虚拟机软件,建议安装15.5及以上版本,之后点击下一步,完成安装,最后可以选择试用软件。(这里我提供了使用到的VMware15.5版本安装包及Ubuntu-18.04.5-desktop-amd64.iso镜像文件)链接:Here 提取码:t2bn
2.单机创建新的虚拟机,导入Ubuntu-18.04.5-desktop-amd64.iso镜像文件安装并打开。(磁盘大小最好设置高一些,建议条件允许的话设置40G及以上,JetPack 5.1.2版本的 Jetson OS 主机组件有18G左右的空间需求)
在这里插入图片描述
在这里插入图片描述

三、安装NVIDIA SDK管理器

安装好的ubuntu 系统后,继续安装 sdkmanager 工具,在 ubuntu 系统的浏览器中访问官方网址下载最新版本SDK Manager ,下载地址:https://developer.nvidia.com/nvidia-sdk-manager ,注册NVIDIA 开发者账号后就可以下载。
在这里插入图片描述
在这里插入图片描述

下载完成后在Downloads文件夹下打开终端,执行以下命令安装sdkmanager

$ sudo apt install ./sdkmanager_2.0.0-11402_amd64.deb   //可以按tab键补齐

安装结束之后在命令行输入 sdkmanager,打开安装好的sdk manager

$ sdkmanager

会出现以下提示框,勾选不再提示信息并点击Yes
在这里插入图片描述
进入到NVIDIA SDK MANAGER登入界面,勾选Stay logged in 并点击LOGIN,之后弹出浏览器的NVIDIA账号登入提示,输入刚才注册的NVIDIA 开发者账号后登入成功
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
出现以下界面,NVIDIA SDK MANAGER安装完成
在这里插入图片描述

四、开始刷机

刷机之前,先使用跳线帽/跳线的两端分别连接Jetson Xavier NX开发板的第三个引脚FC_REC与第四个引脚GND(开发板进行短接后,通电会进入recovery模式),之后电源端口接入 19V 电源, Micro-usb 端口接入配套的 Micro USB 线连到上一步骤配置好ubuntu 系统的主机上。
连接 Jetson 设备后,虚拟机会弹出一个连接 USB 设备的窗口 ,选择连接到虚拟机,并点击选中下面的虚拟机名称,但不要勾选记住此选择,点击确定。
在这里插入图片描述
弹窗选择板子的型号:Jetson Xavier NX(可以在终端中使用lsusb命令确认有没有Nvidia的ID信息)
在这里插入图片描述
在 Step 01 Development Environment 窗口中,选择以下内容:
从 Product Category 面板中,选择 Jetson;
在 Hardware Configuration 中,选择主机和目标硬件(不用勾选 Host Machine);
在 Target Operating System 中,选择操作系统和 JetPack 版本,我的设备是 Jetson Xavier NX ,选择的是 Jetpack5.1.2 版本。
只选择这三项,选择完毕后,单机继续以进行下一步。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在 Step 02 Details and License 窗口中,可以展开主机组件和目标组件面板以查看将安装在系统上的组件,这里因为核心模组 eMMC 只有 16G,我们只选择 Jetson OS 主机组件。等将系统迁移到SSD上面后,再进行其他SDK组件的安装。
在这里插入图片描述
选择我接受,以接受许可协议的条款和条件;选择继续下一步,开始安装,注意,这个时候不可以拔掉跳线帽和USB接口!
在安装开始之前,SDK Manager 会提示输入 ubuntu 主机密码。
在这里插入图片描述
然后会显示软件下载和安装的进度。注意,这个时候不可以拔掉跳线帽和USB接口!
在这里插入图片描述
当下载完成要刷新目标设备时,SDK Manager 会弹出创建 Jetson 的用户名和密码的对话框。
在这里插入图片描述
最后等待系统下载且烧写完成,进度条结束后,Jetson Xavier NX会重启,这个时候可以拔掉跳线帽和USB接口。
在这里插入图片描述
连接上显示屏,开机后连上键鼠,输入之前预设的账号和密码启动ubuntu系统,在设置中分别连接wifi、添加中文输入法、设置快捷键等基本操作。
在这里插入图片描述
在这里插入图片描述

五、设置SSD启动

先设置已安装的SSD,在菜单中搜索Disks并点击启动磁盘应用程序
在这里插入图片描述
之后将看到安装好的 128G 固态硬盘,单击右上角三条横项选项,选择格式化(Format Disk),选择预设的 GPT,再次确认要格式化(Format),接着输入系统密码,授权进行格式化。
在这里插入图片描述
单击+号进行分区,选择主分区的大小,本文建议主分区容量为 112GB,也可以根据自身需求做调整,单击 NEXT进行下一步。
在这里插入图片描述
给分区起个名称,类型要选择 Ext4,然后单击 Create,提示输入系统密码,设置完成。
在这里插入图片描述
在这里插入图片描述
现在,已成功创建分区,但它还没有挂载。接下来使用命令安装它,使系统启动从 SSD 启动。
首先,复制该项目,打开一个终端,输入以下命令

$ git clone https://github.com/jetsonhacks/rootOnNVMe.git

进入目录

$ cd rootOnNVMe

根源文件复制到您的 SSD

$ ./copy-rootfs-ssd.sh

运行./setup-service.sh 后重新启动系统以使服务生效。

$ ./setup-service.sh

查看内存,会发现变成了109G。
在这里插入图片描述

六、安装CUDA环境及其他组件

打开终端执行以下命令:

$ sudo apt update
$ sudo apt install nvidia- jetpack

通过上述官方安装命令,Jetson Xavier NX 中已经安装了 CUDA 版本,但是此时你如果运行 nvcc -V 查看版本是不会显示的,需要你把 CUDA 的路径写入环境变量中。

$ sudo vim ~/.bashrc #使用 Vim 编辑环境变量

在最后添加下面两行

$ export PATH=/usr/local/cuda/bin:$PATH
$ export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH

保存退出,执行以下语句生效,再运行 nvcc -V 就能看到 CUDA 版本

$ source ~/.bashrc

安装 pip3

$ sudo apt install python3-pip python3-dev
$ python3 -m pip install --upgrade pip #升级 pip

安装 Jetson-stats 管理工具可用来控制风扇、性能模式,查看系统相关信息,查看 CPU、GPU、温度等情况

$ sudo -H pip3 install jetson-stats

安装后需要重启,运行 jtop,输入命令运行查看系统信息

$ sudo jtop

在这里插入图片描述

至此环境搭建完成。但由于官方下载的OpenCV4.5.4不能使用Cuda加速,所以需要卸载原来的OpenCV并重装OpenCV4.5.4。(上图是已重装好的)

七、重装OpenCV4.5.4

1.卸载OpenCV库

首先卸载自带的OpenCV库,卸载命令如下:

$ sudo apt-get purge libopencv*
$ sudo apt autoremove
$ sudo apt-get update

2.安装依赖库

安装依赖,修改sources.list 文件,替换为国内清华源,为保险起见,可以先把原来的内容复制后备份文档

$ sudo vim /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

之后执行下面的命令,安装依赖,其中libjasper1是libjasper-dev的依赖包

$ sudo apt update
$ sudo apt-get install libjasper1 libjasper-dev
$ sudo apt install -y build-essential checkinstall cmake pkg-config yasm git gfortran
$ sudo apt install -y libjpeg8-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 libdc1394-22-dev

3.编译安装OpenCV及OpenCV_contrib

在官方仓库https://github.com/opencv分别下载所需的 opencv 与opencv_contrib 源码,注意两者版本要一致,这里我下载的版本是4.5.4
opencv 4.5.4 官方链接 :https://github.com/opencv/opencv/releases/tag/4.5.4
opencv_contrib 4.5.4官方链接 :https://github.com/opencv/opencv_contrib/releases/tag/4.5.4
下载后将opencv-4.5.4.tar.gz压缩包放在主目录下,在主目录中打开终端,使用以下命令进行解压

$ tar -xzvf opencv-4.5.4.tar.gz

再将opencv_contrib-4.5.4.tar.gz移动到 opencv-4.5.4目录下,进入到opencv-4.5.4目录中,再次使用解压命令进行解压

$ tar -xzvf opencv_contrib-4.5.4.tar.gz

解压完成后,在opencv-4.5.4目录下创建build 文件,执行 cmake

$ cd opencv-4.5.4
$ 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盘拷入)
解压后直接拷贝以下文件名的源码,放在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.6' \
-D cuDNN_INCLUDE_DIR='/usr/include/' \
-D CUDA_ARCH_PTX="" \
-D OPENCV_EXTRA_MODULES_PATH=../opencv_contrib-4.5.4/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 \
..   

其中-D cuDNN_VERSION版本要和开发板对应,-D OPENCV_EXTRA_MODULES_PATH建议填写opencv_contrib里modules的绝对路径,-D CMAKE_INSTALL_PREFIX为安装路径。
然后执行make进行编译安装,编译过程有点漫长请耐心等待。

$ sudo make -j10

之后执行以下命令安装

$ sudo make install

最后配置环境

$ sudo gedit /etc/ld.so.conf.d/opencv.conf

在打开的文本里面输入:

/usr/local/lib

保存退出,然后在终端输入以下命令即可安装成功

$ sudo ldconfig

通过jtop指令进行查看,即可看到已安装好支持CUDA加速的OpenCV4.5.4版本
在这里插入图片描述

八、安装Pytorch, torchvision,shapely,scipy以及ONNX

1.安装Pytorch和torchvision

官方网站上有不同Jetpack版本对应的pytorch和torchvison版本,根据需要选择进行安装就可,我安装的是pytorch v1.12.0与torchvision 0.13.0
pytorch v1.12.0 链接:https://forums.developer.nvidia.com/t/pytorch-for-jetson/72048
在这里插入图片描述在终端中执行以下命令安装Pytorch:

$ wget https://nvidia.box.com/shared/static/p57jwntv436lfrd78inwl7iml6p13fzh.whl -O torch-1.12.0a0+2c916ef.nv22.3-cp38-cp38-linux_aarch64.whl
$ sudo apt-get install python3-pip libopenblas-base libopenmpi-dev 
$ pip3 install Cython
$ pip3 install numpy torch-1.12.0a0+2c916ef.nv22.3-cp38-cp38-linux_aarch64.whl

然后前往官方仓库下载对应版本的torchversion
在这里插入图片描述
torchvision 0.13.0 链接:https://github.com/pytorch/vision/releases/tag/v0.13.0
使用官方命令在终端中执行,安装torchvision:

$ sudo apt-get install libjpeg-dev zlib1g-dev libpython3-dev libopenblas-dev libavcodec-dev libavformat-dev libswscale-dev
$ git clone --branch <version> https://github.com/pytorch/vision torchvision   # see below for version of torchvision to download
$ cd torchvision
$ export BUILD_VERSION=0.x.0  # where 0.x.0 is the torchvision version  
$ python3 setup.py install --user
$ cd ../  # attempting to load torchvision from build dir will result in import error

验证是否安装成功:

$ python3
...
>>> import torch
>>> torch.__version__
'1.12.0'
>>> import torchvision
>>> torchvision.__version__
'0.13.0'
>>> 

正常显示torch和torchvision版本,说明安装成功,输入 exit() 退出。

2.安装shapely

$ sudo apt-get install libgeos-dev
$ pip3 install shapely

3.安装scipy

$ sudo apt-get install libblas-dev checkinstall
$ sudo apt-get install liblapack-dev checkinstall
$ sudo apt-get install gfortran
$ pip3 install scipy

4.安装ONNX及ONNX Runtime

首先安装onnx

$ sudo apt-get install protobuf-compiler libprotoc-dev
$ pip3 install onnx

然后安装ONNX Runtime,对应版本可以参考Here
之后执行以下命令进行安装

$ wget https://nvidia.box.com/shared/static/jy7nqva7l88mq9i8bw3g3sklzf4kccn2.whl -O onnxruntime_gpu-1.10.0-cp36-cp36m-linux_aarch64.whl
$ pip3 install onnxruntime_gpu-1.10.0-cp36-cp36m-linux_aarch64.whl

编译安装完成之后,分别执行import onnx以及import onnxruntime,未出现报错说明安装成功。


总结

本篇博客介绍了关于自己在Jetson Xavier NX 上刷机安装了JetPack 5.1.2,配置了CUDA 11.4,Tensorrt8.5.2,支持CUDA加速的OpenCV4.5.4等环境的流程。其中大部分流程参考了官方源和官方教程以及一些其他博主的教程,这个流程仍然可以适用其他版本环境,希望这个教程可以帮到大家,感谢各位看到最后。

参考

SDK Manager
OpenCV
Jetson Download Center
PyTorch
PyTorch for Jetson
ONNX_Runtime
英伟达官方源Jetson Xavier NX安装Ubuntu20.04,配置CUDA,cuDNN,Pytorch等环境教程(基于NVIDIA官方教程,理论适用其它Jetson设备)

这篇关于Jetson Xavier NX刷机安装JetPack 5.1.2,配置CUDA11.4,Tensorrt8.5.2、Opencv4.5.4的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/622276

相关文章

MySQL数据库双机热备的配置方法详解

《MySQL数据库双机热备的配置方法详解》在企业级应用中,数据库的高可用性和数据的安全性是至关重要的,MySQL作为最流行的开源关系型数据库管理系统之一,提供了多种方式来实现高可用性,其中双机热备(M... 目录1. 环境准备1.1 安装mysql1.2 配置MySQL1.2.1 主服务器配置1.2.2 从

Linux云服务器手动配置DNS的方法步骤

《Linux云服务器手动配置DNS的方法步骤》在Linux云服务器上手动配置DNS(域名系统)是确保服务器能够正常解析域名的重要步骤,以下是详细的配置方法,包括系统文件的修改和常见问题的解决方案,需要... 目录1. 为什么需要手动配置 DNS?2. 手动配置 DNS 的方法方法 1:修改 /etc/res

mysql8.0.43使用InnoDB Cluster配置主从复制

《mysql8.0.43使用InnoDBCluster配置主从复制》本文主要介绍了mysql8.0.43使用InnoDBCluster配置主从复制,文中通过示例代码介绍的非常详细,对大家的学习或者... 目录1、配置Hosts解析(所有服务器都要执行)2、安装mysql shell(所有服务器都要执行)3、

java程序远程debug原理与配置全过程

《java程序远程debug原理与配置全过程》文章介绍了Java远程调试的JPDA体系,包含JVMTI监控JVM、JDWP传输调试命令、JDI提供调试接口,通过-Xdebug、-Xrunjdwp参数配... 目录背景组成模块间联系IBM对三个模块的详细介绍编程使用总结背景日常工作中,每个程序员都会遇到bu

python依赖管理工具UV的安装和使用教程

《python依赖管理工具UV的安装和使用教程》UV是一个用Rust编写的Python包安装和依赖管理工具,比传统工具(如pip)有着更快、更高效的体验,:本文主要介绍python依赖管理工具UV... 目录前言一、命令安装uv二、手动编译安装2.1在archlinux安装uv的依赖工具2.2从github

JDK8(Java Development kit)的安装与配置全过程

《JDK8(JavaDevelopmentkit)的安装与配置全过程》文章简要介绍了Java的核心特点(如跨平台、JVM机制)及JDK/JRE的区别,重点讲解了如何通过配置环境变量(PATH和JA... 目录Java特点JDKJREJDK的下载,安装配置环境变量总结Java特点说起 Java,大家肯定都

linux配置podman阿里云容器镜像加速器详解

《linux配置podman阿里云容器镜像加速器详解》本文指导如何配置Podman使用阿里云容器镜像加速器:登录阿里云获取专属加速地址,修改Podman配置文件并移除https://前缀,最后拉取镜像... 目录1.下载podman2.获取阿里云个人容器镜像加速器地址3.更改podman配置文件4.使用po

Vue3 如何通过json配置生成查询表单

《Vue3如何通过json配置生成查询表单》本文给大家介绍Vue3如何通过json配置生成查询表单,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录功能实现背景项目代码案例功能实现背景通过vue3实现后台管理项目一定含有表格功能,通常离不开表单

mybatis映射器配置小结

《mybatis映射器配置小结》本文详解MyBatis映射器配置,重点讲解字段映射的三种解决方案(别名、自动驼峰映射、resultMap),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定... 目录select中字段的映射问题使用SQL语句中的别名功能使用mapUnderscoreToCame

Linux下MySQL数据库定时备份脚本与Crontab配置教学

《Linux下MySQL数据库定时备份脚本与Crontab配置教学》在生产环境中,数据库是核心资产之一,定期备份数据库可以有效防止意外数据丢失,本文将分享一份MySQL定时备份脚本,并讲解如何通过cr... 目录备份脚本详解脚本功能说明授权与可执行权限使用 Crontab 定时执行编辑 Crontab添加定