Jetson Orin安装部署和使用(1)

2024-06-04 12:52
文章标签 部署 安装 使用 jetson orin

本文主要是介绍Jetson Orin安装部署和使用(1),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Jetson Orin使用

一、 安装NVIDIA-jetpack和基础开发环境

1、修改deb source

sudo bash -c 'echo "deb https://repo.download.nvidia.com/jetson/common r34.1 main" >> /etc/apt/sources.list.d/nvidia-l4t-apt-source.list'sudo bash -c 'echo "deb https://repo.download.nvidia.com/jetson/t234 r34.1 main" >> /etc/apt/sources.list.d/nvidia-l4t-apt-source.list'
cat   /etc/apt/sources.list.d/nvidia-l4t-apt-source.list

2、更换镜像源

备份源:

sudo mv /etc/apt/sources.list /etc/apt/sources.list.bak 
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 multiversedeb 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
# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal-backports main restricted universe multiverse# 以下安全更新软件源包含了官方源与镜像站配置,如有需要可自行修改注释切换
deb http://ports.ubuntu.com/ubuntu-ports/ focal-security main restricted universe multiverse
# deb-src http://ports.ubuntu.com/ubuntu-ports/ focal-security main restricted universe multiverse# 预发布软件源,不建议启用
# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal-proposed main restricted universe multiverse
# # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal-proposed main restricted universe multiverse

3、安装jetpack

sudo apt update
sudo apt dist-upgrade # 20分钟左右 更新319个 新增了5个
sudo reboot

在这⾥必须执⾏⼀次重启的动作,否则会出现⼀些不稳定的现象。重启之后只要执⾏以下指令即可

sudo apt install nvidia-jetpack  

出现问题:the following packages have unmet dependencies nvidia-jetpack-runtime(5.0.1-b118)?

sudo apt-get install nvidia-jetpack-runtime=5.0.1-b118  nvidia-jetpack-dev=5.0.1-b118

4、验证jetpack安装

sudo apt show nvidia-jetpack
# jetpack 中已经安装了docker和nvidia-docker,存在triton / deepStream使用需求时可直接通过docker启动

5、预安装必要的软件

sudo apt-get -y install cmake libopenblas-base libopenmpi-dev autoconf bc build-essential g++-8 gcc-8 clang-8 lld-8 gettext-base gfortran-8 iputils-ping libbz2-dev libc++-dev libcgal-dev libffi-dev libfreetype6-dev libhdf5-dev libjpeg-dev liblzma-dev libncurses5-dev libncursesw5-dev libpng-dev libreadline-dev libssl-dev libsqlite3-dev libxml2-dev libxslt-dev locales moreutils openssl python-openssl rsync scons pythons-pip libopenblas-dev libjpeg-dev zlib1g-dev libpython3-dev libavcodec-dev libavformat-dev libswscale-dev

二、GPU监测工具安装

sudo -H pip install jetson-stats
sudo jtop

jtop窗口查看:jetson-stats 4.2.1(rnext.it)

1、安装jtop系统监控工具

sudo apt install python3-pip
sudo -H pip3 install -U pip
sudo -H pip install jetson-stats==4.0.0rc1

2、启动监控工具

jtop   # 上面操作后需要reboot有效

三、整理cudatookit、cudnn、trtexec工具

安装步骤:

Perform the following steps to install CUDA and verify the installation.

  1. Install the repository meta-data, install GPG key, update the apt-get cache, and install CUDA:

    $ sudo dpkg --install cuda-repo-<distro>-<version>.<architecture>.deb
    $ sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/<distro>/<architecture>/7fa2af80.pub
    $ sudo apt-get update
    $ sudo apt-get install cuda
    

    cuda-repo-ubuntu2004-11-4.aarch64.deb

  2. Reboot the system to load the NVIDIA drivers.

  3. Set up the development environment by modifying the PATH and LD_LIBRARY_PATH variables:

    $ export PATH=/usr/local/cuda-11.4/bin${PATH:+:${PATH}}
    $ export LD_LIBRARY_PATH=/usr/local/cuda-11.4/lib64\${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
    
  4. Install a writable copy of the samples then build and run the nbody sample:

    $ cuda-install-samples-11.4.sh ~
    $ cd ~/NVIDIA_CUDA-11.4_Samples/5_Simulations/nbody
    $ make
    $ ./nbody
    

    Note: Run samples by navigating to the executable’s location, otherwise it will fail to locate dependent resources.

在 Jetson AGX Orin 设备上,你可以通过以下方式来查询 <distro><version><architecture> 这三个参数:

  1. (发行版名称):

    • 打开终端。

    • 运行 lsb_release -a 命令来查看你的 Linux 发行版信息。对于基于 Ubuntu 的系统,输出会包含 “Ubuntu” 以及版本号(例如 “Ubuntu 18.04”)。注意这里的 <distro> 应该是 ubuntu<版本号> 的格式,不包括点号。

      本设备得到:ubuntu2004

  2. (CUDA 版本号):

    • CUDA 的版本号通常是你想要安装的版本,而不是通过查询系统来获得的。但是,如果你已经安装了 CUDA 并且想要查询已安装的版本,可以查看 /usr/local/cuda 目录下的版本号或者通过 nvcc --version 命令来查看。

      本设备准备安装:11-4

  3. (系统架构):

    • Jetson AGX Orin 设备是基于 ARM 架构的,具体来说是 arm64(也被称为 aarch64)。你可以通过 uname -m 命令来确认这一点,该命令会返回你的系统架构。

    本设备得到:aarch64

示例:

  • 查询发行版名称:

    bashlsb_release -a
    

    输出可能类似于:

    No LSB modules are available.  
    Distributor ID: Ubuntu  
    Description:    Ubuntu 20.04.4 LTS  
    Release:        20.04  
    Codename:       focal
    

    在这种情况下,<distro> 应该是 ubuntu2004(假设你希望与 CUDA 11.x 系列的 .deb 包兼容)。

  • 查询系统架构:

    bashuname -m
    

    输出应该是 aarch64

  • 假设你已经下载了 CUDA 的 .deb 安装包,并且知道你想要安装的 CUDA 版本号(例如 11.4),那么你就可以使用这些信息来安装 CUDA。例如:

    bashsudo dpkg --install cuda-repo-ubuntu1804-11-4-local_<具体版本号>_arm64.deb
    

    注意替换 <具体版本号> 为实际的 .deb 文件名中的版本号部分。

最后,不要忘记在安装 CUDA 之后运行 sudo apt updatesudo apt install cuda(或相应的安装命令)来完成 CUDA 的安装。同时,请确保你遵循了 NVIDIA 提供的针对 Jetson 设备的官方安装指南。

1、CUDA

在使用 dpkg 安装 NVIDIA CUDA 的 .deb 安装包时,<distro><version><architecture> 需要根据你的实际系统和包的内容来替换。以下是如何选择这些配置项的指南:


  1. 这通常指的是你的 Linux 发行版的名称。例如,如果你使用的是 Ubuntu 18.04,那么 <distro> 就是 ubuntu1804。对于其他发行版,如 Debian、CentOS 等,你需要找到与你的发行版相对应的字符串。


  2. 这指的是 CUDA 的版本号。例如,如果你正在安装 CUDA 11.4,那么 <version> 就是 11-4。注意这里通常不包括点号(.)。


  3. 这指的是你的系统架构。对于大多数现代的 Jetson 设备,包括 Jetson Orin,这通常是 arm64(也被称为 aarch64)。

  4. 安装步骤
    基于上面的信息,如果你的 CUDA .deb 安装包名为 cuda-repo-ubuntu1804-11-4-local_11.4.0-470.42.01-1_arm64.deb(注意这是一个假设的名字),那么安装命令应该是:

    bashsudo dpkg --install cuda-repo-ubuntu1804-11-4-local_11.4.0-470.42.01-1_arm64.deb
    

    本设备安装命令:

    bashsudo dpkg --install cuda-repo-ubuntu2004-11-4-local_11.4.0-470.42.01-1_arm64.deb
    

    https://developer.nvidia.com/cuda-toolkit-archive

    https://developer.nvidia.com/cuda-11-4-4-download-archive?target_os=Linux&target_arch=arm64-sbsa&Compilation=Native&Distribution=Ubuntu&target_version=20.04&target_type=deb_network

    wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/sbsa/cuda-ubuntu2004.pin
    sudo mv cuda-ubuntu2004.pin /etc/apt/preferences.d/cuda-repository-pin-600
    sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/sbsa/7fa2af80.pub
    sudo add-apt-repository "deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/sbsa/ /"
    sudo apt-get update
    sudo apt-get -y install cuda
    

    接下来,你需要添加 NVIDIA 的公钥到你的 APT 密钥环中。但是,请注意,对于 Jetson 设备,你可能不需要直接从 NVIDIA 的网站下载公钥,因为 .deb 安装包可能已经包含了所需的签名。但是,如果确实需要,你可以使用以下命令(注意替换 <distro><architecture>):

    bashsudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/<distro>/<architecture>/7fa2af80.pub
    

    但是,请再次注意,对于 Jetson 设备,你可能不需要这一步,因为 NVIDIA 可能已经通过其他方式提供了所需的签名。

  5. 更新软件源并安装 CUDA
    在安装了 .deb 文件之后,你可能需要更新你的软件源列表并安装 CUDA。这通常可以通过以下命令完成:

    sudo apt update  
    sudo apt install cuda
    

    但是请注意,具体的安装命令可能会因 CUDA 的版本和你的系统配置而有所不同。

  6. 检查 CUDA 安装
    安装完成后,你可以通过运行 nvcc --version 来检查 CUDA 是否已成功安装。

1.2 安装失败,清理

在Jetson AGX Orin设备的系统中,如果CUDA安装失败,你可以按照以下步骤来清理环境并重新安装:

1. 卸载已安装的CUDA(如果存在)

如果之前已经安装过CUDA,首先需要将其卸载。这通常可以通过系统的包管理工具来完成。在基于Debian的Linux发行版(如Ubuntu)上,你可以使用以下命令来卸载CUDA:

bashsudo apt-get remove --purge cuda*

这条命令会卸载所有与CUDA相关的软件包。

2. 清理残留的CUDA文件

除了通过包管理工具卸载CUDA软件包之外,还可能需要手动删除一些残留的文件和目录。这些文件和目录可能包括CUDA的安装目录、配置文件、环境变量设置等。在标准的Linux系统中,CUDA通常安装在/usr/local/cuda目录下。你可以使用以下命令来删除这个目录(如果它存在):

bashsudo rm -rf /usr/local/cuda*

同时,检查并删除任何与CUDA相关的环境变量设置,这些设置可能位于你的shell配置文件(如~/.bashrc~/.bash_profile~/.zshrc等)中。

3. 清理系统缓存和依赖关系

使用包管理工具来清理系统的缓存和依赖关系,以确保没有残留的CUDA文件或配置影响新的安装。在基于Debian的Linux发行版上,可以使用以下命令:

sudo apt-get autoclean  
sudo apt-get autoremove

4. 重新启动系统

在清理完CUDA相关的文件和配置后,建议重新启动系统以确保所有的更改都已生效。

5. 重新安装CUDA

在清理完环境后,你可以按照NVIDIA官方提供的安装指南来重新安装CUDA。确保选择与你的Jetson AGX Orin设备兼容的CUDA版本,并按照指南中的步骤进行操作。在安装过程中,注意选择正确的安装选项和配置,以避免之前遇到的问题。

注意事项

  • 在进行任何系统级的更改之前,建议备份你的重要数据以防止意外丢失。
  • 如果你不确定如何执行某些步骤或担心可能会破坏系统,请寻求专业人士的帮助或参考官方文档。
  • 确保你的系统满足CUDA安装的最低要求,并检查是否有任何已知的硬件或软件兼容性问题。

通过遵循上述步骤,你应该能够成功清理CUDA的安装环境并重新安装它。

1.3 方式

方式一:

vi ~/.bashrcexport PATH=/usr/local/cuda-11/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-11/lib64:$LD_LIBRARY_PATH export CUDA_ROOT=/usr/local/cuda-11#使资源⽣效
source ~/.bashrc
nvcc -V

方式二:软链接

sudo ln -s /usr/local/cuda-11 /usr/local/cudasudo vim /etc/profile# 在文件末尾添加加入
export PATH=/usr/local/cuda-11/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-11/lib64:$LD_LIBRARY_PATH 
export CUDA_HOME=/usr/local/cuda-11# 验证cudatookit
source /etc/profilenvcc -V在修改了 /etc/profile 文件后,您通常需要重新加载这个文件(或重新启动终端会话)以使更改生效。您可以使用以上命令来重新加载/etc/profile 文件

2、CUDNN

方式一:

dpkg -l libcudnn8  

方式二:

sudo cp /usr/include/cudnn.h  /usr/local/cuda-11/include
sudo cp /usr/lib/aarch64-linux-gnu/libcudnn* /usr/local/cuda-11/lib64/
sudo chmod 777 /usr/local/cuda-11/include/cudnn.h  /usr/local/cuda-11/lib64/libcudnn*# 验证和更新链接库
cd /usr/local/cuda-11/lib64
ll libcudnn*  #有东西
sudo ldconfig# 测试cudnn
sudo cp -r /usr/src/cudnn_samples_v8/ /tmp/
cd /tmp/cudnn_samples_v8/conv_sample
sudo make clean
sudo make
./conv_sample

3、trtexec TensorRT

方式1:

dpkg -l tensorrt

方式2:

ln -s /usr/src/tensorrt/bin/trtexec  /usr/bin/trtexec

验证tensorrt安装正确与否

sudo chmod -R 777 /usr/src/tensorrt
cd /usr/src/tensorrt/samples/sampleINT8/
sudo make 
cd ../../bin/
./sampleINT8

4、OpenCV

方式1:

dpkg -l libopencv

四、安装pythorch开发环境

方式1:

  1. 官网下载安装包

  2. 安装java

sudo apt-get install openjdk-11-jdk 
java--version
  1. 配置环境变量
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
  1. 安装
cd ~/Downloads/pycharm-community-2020.3.2/bin 
chmod +x  ~/Downloads/pycharm-community-2020.3.2/bin/pycharm.sh
sh ./pycharm.sh

这篇关于Jetson Orin安装部署和使用(1)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Linux使用fdisk进行磁盘的相关操作

《Linux使用fdisk进行磁盘的相关操作》fdisk命令是Linux中用于管理磁盘分区的强大文本实用程序,这篇文章主要为大家详细介绍了如何使用fdisk进行磁盘的相关操作,需要的可以了解下... 目录简介基本语法示例用法列出所有分区查看指定磁盘的区分管理指定的磁盘进入交互式模式创建一个新的分区删除一个存

C#使用HttpClient进行Post请求出现超时问题的解决及优化

《C#使用HttpClient进行Post请求出现超时问题的解决及优化》最近我的控制台程序发现有时候总是出现请求超时等问题,通常好几分钟最多只有3-4个请求,在使用apipost发现并发10个5分钟也... 目录优化结论单例HttpClient连接池耗尽和并发并发异步最终优化后优化结论我直接上优化结论吧,

SpringBoot使用Apache Tika检测敏感信息

《SpringBoot使用ApacheTika检测敏感信息》ApacheTika是一个功能强大的内容分析工具,它能够从多种文件格式中提取文本、元数据以及其他结构化信息,下面我们来看看如何使用Ap... 目录Tika 主要特性1. 多格式支持2. 自动文件类型检测3. 文本和元数据提取4. 支持 OCR(光学

JAVA系统中Spring Boot应用程序的配置文件application.yml使用详解

《JAVA系统中SpringBoot应用程序的配置文件application.yml使用详解》:本文主要介绍JAVA系统中SpringBoot应用程序的配置文件application.yml的... 目录文件路径文件内容解释1. Server 配置2. Spring 配置3. Logging 配置4. Ma

Linux使用dd命令来复制和转换数据的操作方法

《Linux使用dd命令来复制和转换数据的操作方法》Linux中的dd命令是一个功能强大的数据复制和转换实用程序,它以较低级别运行,通常用于创建可启动的USB驱动器、克隆磁盘和生成随机数据等任务,本文... 目录简介功能和能力语法常用选项示例用法基础用法创建可启动www.chinasem.cn的 USB 驱动

C#使用yield关键字实现提升迭代性能与效率

《C#使用yield关键字实现提升迭代性能与效率》yield关键字在C#中简化了数据迭代的方式,实现了按需生成数据,自动维护迭代状态,本文主要来聊聊如何使用yield关键字实现提升迭代性能与效率,感兴... 目录前言传统迭代和yield迭代方式对比yield延迟加载按需获取数据yield break显式示迭

使用SQL语言查询多个Excel表格的操作方法

《使用SQL语言查询多个Excel表格的操作方法》本文介绍了如何使用SQL语言查询多个Excel表格,通过将所有Excel表格放入一个.xlsx文件中,并使用pandas和pandasql库进行读取和... 目录如何用SQL语言查询多个Excel表格如何使用sql查询excel内容1. 简介2. 实现思路3

java脚本使用不同版本jdk的说明介绍

《java脚本使用不同版本jdk的说明介绍》本文介绍了在Java中执行JavaScript脚本的几种方式,包括使用ScriptEngine、Nashorn和GraalVM,ScriptEngine适用... 目录Java脚本使用不同版本jdk的说明1.使用ScriptEngine执行javascript2.

c# checked和unchecked关键字的使用

《c#checked和unchecked关键字的使用》C#中的checked关键字用于启用整数运算的溢出检查,可以捕获并抛出System.OverflowException异常,而unchecked... 目录在 C# 中,checked 关键字用于启用整数运算的溢出检查。默认情况下,C# 的整数运算不会自

在MyBatis的XML映射文件中<trim>元素所有场景下的完整使用示例代码

《在MyBatis的XML映射文件中<trim>元素所有场景下的完整使用示例代码》在MyBatis的XML映射文件中,trim元素用于动态添加SQL语句的一部分,处理前缀、后缀及多余的逗号或连接符,示... 在MyBATis的XML映射文件中,<trim>元素用于动态地添加SQL语句的一部分,例如SET或W