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

相关文章

SQL server数据库如何下载和安装

《SQLserver数据库如何下载和安装》本文指导如何下载安装SQLServer2022评估版及SSMS工具,涵盖安装配置、连接字符串设置、C#连接数据库方法和安全注意事项,如混合验证、参数化查... 目录第一步:打开官网下载对应文件第二步:程序安装配置第三部:安装工具SQL Server Manageme

使用Python删除Excel中的行列和单元格示例详解

《使用Python删除Excel中的行列和单元格示例详解》在处理Excel数据时,删除不需要的行、列或单元格是一项常见且必要的操作,本文将使用Python脚本实现对Excel表格的高效自动化处理,感兴... 目录开发环境准备使用 python 删除 Excphpel 表格中的行删除特定行删除空白行删除含指定

golang程序打包成脚本部署到Linux系统方式

《golang程序打包成脚本部署到Linux系统方式》Golang程序通过本地编译(设置GOOS为linux生成无后缀二进制文件),上传至Linux服务器后赋权执行,使用nohup命令实现后台运行,完... 目录本地编译golang程序上传Golang二进制文件到linux服务器总结本地编译Golang程序

深入理解Go语言中二维切片的使用

《深入理解Go语言中二维切片的使用》本文深入讲解了Go语言中二维切片的概念与应用,用于表示矩阵、表格等二维数据结构,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习吧... 目录引言二维切片的基本概念定义创建二维切片二维切片的操作访问元素修改元素遍历二维切片二维切片的动态调整追加行动态

prometheus如何使用pushgateway监控网路丢包

《prometheus如何使用pushgateway监控网路丢包》:本文主要介绍prometheus如何使用pushgateway监控网路丢包问题,具有很好的参考价值,希望对大家有所帮助,如有错误... 目录监控网路丢包脚本数据图表总结监控网路丢包脚本[root@gtcq-gt-monitor-prome

Python通用唯一标识符模块uuid使用案例详解

《Python通用唯一标识符模块uuid使用案例详解》Pythonuuid模块用于生成128位全局唯一标识符,支持UUID1-5版本,适用于分布式系统、数据库主键等场景,需注意隐私、碰撞概率及存储优... 目录简介核心功能1. UUID版本2. UUID属性3. 命名空间使用场景1. 生成唯一标识符2. 数

SpringBoot中如何使用Assert进行断言校验

《SpringBoot中如何使用Assert进行断言校验》Java提供了内置的assert机制,而Spring框架也提供了更强大的Assert工具类来帮助开发者进行参数校验和状态检查,下... 目录前言一、Java 原生assert简介1.1 使用方式1.2 示例代码1.3 优缺点分析二、Spring Fr

Android kotlin中 Channel 和 Flow 的区别和选择使用场景分析

《Androidkotlin中Channel和Flow的区别和选择使用场景分析》Kotlin协程中,Flow是冷数据流,按需触发,适合响应式数据处理;Channel是热数据流,持续发送,支持... 目录一、基本概念界定FlowChannel二、核心特性对比数据生产触发条件生产与消费的关系背压处理机制生命周期

java使用protobuf-maven-plugin的插件编译proto文件详解

《java使用protobuf-maven-plugin的插件编译proto文件详解》:本文主要介绍java使用protobuf-maven-plugin的插件编译proto文件,具有很好的参考价... 目录protobuf文件作为数据传输和存储的协议主要介绍在Java使用maven编译proto文件的插件

如何在Ubuntu 24.04上部署Zabbix 7.0对服务器进行监控

《如何在Ubuntu24.04上部署Zabbix7.0对服务器进行监控》在Ubuntu24.04上部署Zabbix7.0监控阿里云ECS服务器,需配置MariaDB数据库、开放10050/1005... 目录软硬件信息部署步骤步骤 1:安装并配置mariadb步骤 2:安装Zabbix 7.0 Server