2025年了,你还不会配置Jetson Orin NX嘛?
2025年了,你还不会配置Jetson Orin NX嘛?
我的设备为:Jetson Orin NX 16G + JetPack6.1+达妙科技载板
帅气的Jetson Orin NX拿到手了,都2025年了你还不会配置嘛???让我一篇文章带你不糟蹋这一美丽的艺术品!

Cuda、CuDNN、TensorRT配置
首先我们拿出一块刚刚烧录完的崭新板子,具体烧录的教程可以参考我的这一篇博客:Jetson Orin NX烧录+设备树更改?看这一篇就够了! - SkyXZ - 博客园接着我们输入 nvcc -V会发现终端提示如下:bash: nvcc: command not found,有些教程会跟你说只要在bashrc中输入环境命令就好了,但是其实你就是没有安装任何的cuda,因为接下来你运行以下的命令会发现根本找不到nvcc!
jetson@ubuntu:/usr/local$ ls -l /usr/local/cuda-12.6/bin/nvcc
ls: cannot access '/usr/local/cuda-12.6/bin/nvcc': No such file or directory
为了进一步探究我们到底缺少了什么我们可以先安装Jetson-stats来查看我们当前设备的状态,我们输入以下命令
sudo apt install python3-pip
sudo -H pip3 install -U jetson-stats
sudo jtop
等待安装完成之后并输入jtop之后有以下内容即代表安装完成

接着我们继续输入以下命令便能看到我们当前设备的信息(因为不排除Nvidia的Manager烧录有Bug)
sudo jetson_release #查看当前的设备的信息

会发现我们的新烧录好的设备里面没有CUDA和TensorRT,那么这时候我们便需要进一步安装JetPack了,JetPack 是 Nvidia为 Jetson系列开发板开发的一款软件开发包里面包含了常见的所有工具,并且在安装 JetPack的时候,会自动的帮你匹配所需CUDA、cuDNN、TensorRT等,我们在终端中输入以下命令:
sudo apt update
sudo apt install nvidia-jetpack -y
等个几分钟便能全部安装好,如果下载速度缓慢是网络问题,这个问题自行解决。接着我们继续输入一开始的命令便能发现我们需要的cuda和tensorrt都安装完成了
sudo jetson_release #查看当前的设备的信息

然后我们打开bashrc,把以下内容添加进~/.bashrc即可完成cuda的配置
sudo gedit ~/.bashrc #进入bashrc并在最后添加即可
export CUBA_HOME=/usr/local/cuda
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
export PATH=/usr/local/cuda/bin:$PATH
source ~/.bashrc
source之后我们再输入nvcc -V会发现CUDA会有输出了

接着我们需要来处理CuDNN,虽然我们看到我们已经安装了cudNN但是我们还需要将对应的头文件、库文件放到cuda目录,cuDNN的头文件在:/usr/include,库文件位于:/usr/lib/aarch64-linux-gnu,运行以下命令即可:
cd /usr/include && sudo cp cudnn* /usr/local/cuda/include #复制头文件
cd /usr/lib/aarch64-linux-gnu && sudo cp libcudnn* /usr/local/cuda/lib64 #复制库文件
# 修改文件权限
sudo chmod 777 /usr/local/cuda/include/cudnn*
sudo chmod 777 /usr/local/cuda/lib64/libcudnn*
然后我们运行以下命令对cuDNN进行验证
sudo cp -r /usr/src/cudnn_samples_v9/ ~/.
cd ~/cudnn_samples_v9/mnistCUDNN
sudo chmod 777 ~/cudnn_samples_v9
sudo make clean && sudo make
./mnistCUDNN
如果出现如下内容即代表安装成功,配置没问题

OpenCV with CUDA
还记得我们上面查看板子信息的时候还有一个红色的No嘛,这个代表着我们板子上的OpenCV目前还不支持CUDA 加速,无法充分利用我们Orin NX强大的GPU,接着让我们开始配置这一项

首先我们先卸载默认OpenCV
sudo apt purge libopencv* -y
sudo apt autoremove
sudo apt update
sudo apt upgrade
然后我们安装我们需要的一些依赖
- Generic tools
sudo apt install build-essential cmake pkg-config unzip yasm git checkinstall
- Image I/O libs
sudo apt install libjpeg-dev libpng-dev libtiff-dev
- Video/Audio Libs - FFMPEG, GSTREAMER, x264 and so on
sudo apt install libavcodec-dev libavformat-dev libswscale-dev libavresample-dev
sudo apt install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev
sudo apt install libxvidcore-dev x264 libx264-dev libfaac-dev libmp3lame-dev libtheora-dev
sudo apt install libfaac-dev libmp3lame-dev libvorbis-dev
- OpenCore - Adaptive Multi Rate Narrow Band(AMRNB) and Wide Band(AMRWB) speech codec
sudo apt install libopencore-amrnb-dev libopencore-amrwb-dev
- Cameras programming interface libs
sudo apt-get install libdc1394-22 libdc1394-22-dev libxine2-dev libv4l-dev v4l-utils
cd /usr/include/linux
sudo ln -s -f ../libv4l1-videodev.h videodev.h
cd ~
如果系统换源之后提示说E: Unable to locate package libdc1394-25-dev>,那么需要执行以下步骤来启用完整的软件源(包括 universe 和 multiverse 仓库),完成以下步骤之后即可进行下载了
sudo nano /etc/apt/sources.list
#将以下内容添加进去之后按 Ctrl + O,然后按 Enter 保存,接着按 Ctrl + X 退出
deb http://ports.ubuntu.com/ubuntu-ports focal main universe multiverse restricted
deb http://ports.ubuntu.com/ubuntu-ports focal-updates main universe multiverse restricted
deb http://ports.ubuntu.com/ubuntu-ports focal-security main universe multiverse restricted
sudo apt-get update
- GTK lib for the graphical user functionalites coming from OpenCV highghui module
sudo apt-get install libgtk-3-dev
- Python libraries for python3
sudo apt-get install python3-dev python3-pip
sudo -H pip3 install -U pip numpy
sudo apt install python3-testresources
- Parallelism library C++ for CPU
sudo apt-get install libtbb-dev
- Optimization libraries for OpenCV
sudo apt-get install libatlas-base-dev gfortran
- Optional libraries
sudo apt-get install libprotobuf-dev protobuf-compiler
sudo apt-get install libgoogle-glog-dev libgflags-dev
sudo apt-get install libgphoto2-dev libeigen3-dev libhdf5-dev doxygen
接着我们下载OpenCV并解压
cd ~/Downloads #Cuda12需要较新版本的OpenCV
wget -O opencv.zip https://github.com/opencv/opencv/archive/refs/tags/4.10.0.zip
wget -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/refs/tags/4.10.0.zip
unzip opencv.zip
unzip opencv_contrib.zip
接着进行Cmake一下
cd opencv-4.10.0/
mkdir build && cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local \
-D BUILD_opencv_python2=1 -D BUILD_opencv_python3=1 -D WITH_FFMPEG=1 \
-D CUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda-12.6 \ #修改为自己的cuda路径
-D WITH_TBB=ON -D ENABLE_FAST_MATH=1 -D CUDA_FAST_MATH=1 -D WITH_CUBLAS=1 \
-D WITH_CUDA=ON -D BUILD_opencv_cudacodec=OFF -D WITH_CUDNN=ON \
-D OPENCV_DNN_CUDA=ON \
-D CUDA_ARCH_BIN=8.7 \
-D WITH_V4L=ON -D WITH_QT=OFF -D WITH_OPENGL=ON -D WITH_GSTREAMER=ON \
-D OPENCV_GENERATE_PKGCONFIG=ON -D OPENCV_PC_FILE_NAME=opencv.pc \
-D OPENCV_ENABLE_NONFREE=ON \
#修改为自己的opencv_contrib下载路径
-D OPENCV_EXTRA_MODULES_PATH=/home/jetson/Downloads/opencv_contrib-4.10.0/modules \
-D INSTALL_PYTHON_EXAMPLES=OFF -D INSTALL_C_EXAMPLES=OFF -D BUILD_EXAMPLES=OFF ..
过程中可能会要下载一些文件,我把这些文件最新的仓库附在下面,便于大家直接下载,然后复制到Downloads/opencv-4.6.0/build/downloads/{对应的文件夹}文件夹没有的可以自己创建
https://github.com/WeChatCV/opencv_3rdparty.git #wechat_qrcode
当Cmake完成之后我们往上翻打印输出的Info有如下输出即代表Cmake成功

接着我们开始编译
nproc #查看设备核心数
make -j$(nproc) #-j4编译时间约为 1~3 小时
sudo make install #安装
编译完成不报错即代表编译完成

安装过程不报错即为安装完成

最后我们再次执行以下jtop验证以下是否安装完成,出现如下现象则代表成功

至此我们的安装全部结束啦!!!
2025年了,你还不会配置Jetson Orin NX嘛?的更多相关文章
- 在Linux(Ubuntu/openSUSE/CentOS)下配置ASP.NET(Apache + Mono)
[题外话] 闲的无聊竟然想尝试测试自己做的项目在不同操作系统上的性能表现,所以决定试试在Linux上部署Apache和Mono的环境.由于平时很少接触Linux,所以从网上找了几篇文章(附在相关链接中 ...
- [转] vim自定义配置 和 在ubnetu中安装vim
Ubuntu 12.04安装vim和配置 问题: ubuntu默认没有安装vim,出现: jyg@ubuntu:~$ vim test.cThe program 'vim' can be foun ...
- Hibernate 基础配置及常用功能(三)
本章重点讲述Hibernate对象的三种状态以及如何配置二级缓存 有关Hibernate的三种状态如何相互转换网上都能查到,官方文档描述的也比较详细.这里主要是针对几个重点方法做代码演示. 一.状态转 ...
- Spring MVC错误页面配置
当前SpringMVC非常流行,在大多数情况,我们都需要自定义一些错误页面(例如:401, 402, 403, 500...),以便更友好的提示.对于spring mvc,这些当然是支持自定义的,sp ...
- 使用 Fluent API 配置/映射属性和类型(摘自微软Data Access and Storage)
使用 Fluent API 配置/映射属性和类型 使用实体框架 Code First 时,默认行为是使用一组 EF 中内嵌的约定将 POCO 类映射到表.但是,有时您无法或不想遵守这些约定,需要将实体 ...
- 为docker配置固定ip
docker默认使用bridge模式,通过网桥连接到宿主机,而容器内部的ip则从网桥所在的ip段取未用的ip.这样做一个不方便的地方在于容器内部的ip不是固定的,想要连接容器时只能通过映射到宿主机的端 ...
- ASP.NET 5 入门 (2) – 自定义配置
ASP.NET 5 入门 (2) – 自定义配置 ASP.NET 5 理解和入门 建立和开发ASP.NET 5 项目 初步理解ASP.NET5的配置 正如我的第一篇文章ASP.NET 5 (vNext ...
- 百度在线编辑器UEditor(v1.3.6) .net环境下详细配置教程
UEditor是百度开发团队奉献的一款很不错的在线编辑器.在百度自己很多产品上都有应用,本文主要是该编辑器的配置教程. 1.下载UEditor,当前最新版本是1.3.6.这里下载的.net版本,选择U ...
- vim IDE平台-打造属于自己的配置
vim IDE平台-打造属于自己的配置 一.前言 目前工作环境基本以Linux为主,自然用到VIM也很多,很早就对如何提高VIM的使用效率有所研究,限于时间关系,也没做个系统记录和资料积累,时间久了又 ...
- spring第一课,beans配置(上)
1.通过property配置bean <!-- 配置一个 bean --> <bean id="helloWorld" class="com.atgui ...
随机推荐
- 云原生周刊:Terraform 1.8 发布 | 2024.5.6
开源项目推荐 xlskubectl 用于控制 Kubernetes 集群的电子表格.xlskubectl 将 Google Spreadsheet 与 Kubernetes 集成.你可以通过用于跟踪费 ...
- 基础控件(Button,Edittext,ImageView,ProgressBar,ToolBar,AlertDialog,PopupWindow)
Button 触发事件 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns: ...
- Selenium测试form表单之checkbox和radio
一.定义form表单 用到的元素:checkbox和radiobutton 下图定义了一个选择爱好和选择性别的form表单,区域1用到的表单元素是checkbox(复选框),区域2用到的表单元素是ra ...
- DOS下的网络管理命令
DOS下的网络管理命令 一. 实验目的 掌握DOS下的网络管理命令 二. 实验内容和要求 在DOS环境下用不同的网络管理命令,实现不同的网络管理功能 三. 实验方法.步骤及结果测试 1. 原理分析及 ...
- Linux 日志管理基础
目录 基本介绍 日志的存放 存放目录与存放内容 举例说明 日志管理服务: rsyslogd 功能与配置 检查自启动 配置文件 /etc/rsyslog.conf 修改配置文件 基本介绍 日志文件是重要 ...
- 血泪史: k8s Initial timeout of 40s passed.
背景: k8s不管是 kubeadm init 和join都会报错 kubelet-start] Writing kubelet configuration to file "/var/li ...
- 2025年前端面试准备css篇
1.css 盒子模型 css包含了内容(content) ,内边距(padding),边框(border),外边距(margin) 等因素. css 标准盒子模型宽包括:margin+border+p ...
- Java Cache系列之Cache概述和Simple Cache
前记:最近公司在做的项目完全基于Cache(Gemfire)构建了一个类数据库的系统,自己做的一个小项目里用过Guava的Cache,以前做过的项目中使用过EHCache,既然和Cache那么有缘,那 ...
- ibatis源码分析
背景:调试模式下,单步运行一个查询订单协议操作,记录了ibatis框架的执行动作,侧面剖析其原理. 一.简介: 1. dal 层的dao接口实现类通常会继承SqlMapClientDaoSupport ...
- 元数建模工具之chiner
chiner,发音:[kaɪˈnər],使用React+Electron+Java技术体系构建的一款元数建模平台. 下载地址:https://gitee.com/robergroup/chiner/r ...