边缘计算【智能+安全检测】系列教程-- Jeton Agx Orin 基础环境搭建

1 .前期准备

Jetson Agx Orin 比Jetson Agx Orin Xavier的算力要高,性能要好通常用来做自动驾驶的AI推理,具体外观如下图
在这里插入图片描述

1.刷机软件sdkmanager:下载链接

NVIDIA账号需要注册,正常一步一步往下走就行。在ubuntu18以上的系统安装sdkmanager,注意虚拟机安装需要和硬件交互的权限。
在这里插入图片描述
下载完成后执行一下命令

sudo apt-get update
sudo apt install ./sdkmanager_1.9.1-10844_amd64.deb 

在这里插入图片描述

2. ​ 刷机

​ 2.1 连接好设备并让Orin进入Recovery模式。
Orin进入Recovery模式分两种状况,一是当Orin处于未开机状态,二是当Orin处于开机状态。
未开机状态,需要先长按住②键(Force Recovery键),然后给Orin接上电源线通电,此时白色指示灯亮起,但进入Recovery模式后是黑屏的,所以此时连接Orin的显示屏不会有什么反应。
已开机状态,需要先长按住②键,然后按下③键(Reset键),先松开③键,再松开②键。
在这里插入图片描述
2.2 进入Recovery模式验证

lsusb

在这里插入图片描述出现Nvidia Corp,即代表进入Recovery模式。
2.3 通过SDKmanager 刷机
ubuntu系统打开sdkmanager。若Orin尚未进入Recvoery模式,则处于未检测到设备。
在这里插入图片描述

若进入Recovery模式,选择Jetson AGX Orin并点击OK进入,如下图:

在这里插入图片描述
​ 在Continue到下一步之前,建议取消Host Machine,因为不需要在个人电脑上安装,只把配置刷到目标设备Orin上。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
选择手动安装模式和Pre-Config(自动创建用户和密码),点击Flash
在这里插入图片描述
​ 至此,Orin刷机完成。一般来说,刷机后Jetpack默认直接装上与jetson版本号适配的cuda、cudnn、TensorRT

3.系统操作

3.1 更换国内源

cp -r /etc/apt/sources.list /etc/apt/sources.listbak

vim /etc/apt/sources.list

# 默认注释了源码仓库,如有需要可自行取消注释
deb [arch=arm64] http://mirrors.ustc.edu.cn/ubuntu-ports/ focal main restricted universe multiverse
# deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ focal main main restricted universe multiverse
deb [arch=arm64] http://mirrors.ustc.edu.cn/ubuntu-ports/ focal-updates main restricted universe multiverse
# deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ focal-updates main restricted universe multiverse
deb [arch=arm64] http://mirrors.ustc.edu.cn/ubuntu-ports/ focal-backports main restricted universe multiverse
# deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ focal-backports main restricted universe multiverse
deb [arch=arm64] http://mirrors.ustc.edu.cn/ubuntu-ports/ focal-security main restricted universe multiverse
# deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ focal-security main restricted universe multiverse
sudo apt-get update
sudo apt-get upgrade

3.2 备份镜像
​ (1) 将Orin跟主机通过网线连接,在Orin端执行以下指令:

sudo echo "u" | sudo dd of=/proc/sysrq-trigger ## 把Orin改成只读
sudo dd if=/dev/mmcblk0p1 | ssh holden@192.168.1.102 dd of=/home/cronuser/Orin.raw     ##  指定镜像存储到ubuntu PC主机的路径

​ 大约等待半小时完成Orin镜像的克隆制作。
3.3 镜像导入
​ (1) 在之前烧录镜像时,通过SDK Manager流程操作时,会在目录下安装好一个JetPack_5.1_Linux_JETSON_AGX_ORIN_TARGETS目录,如下图。
​ (2) 进入该目录下的Linux_for_Tegra/bootloader,打开一个终端执行以下指令:

cd Linux_for_Tegra/bootloader
rm -rf system.img
ln -s ../../../Orin_image/Orin.raw system.img  ## 指定一开始克隆好的镜像路径
sudo ./flash.sh -r jetson-agx-orin-devkit mmcblk0p1

3.3 系统对时

sudo apt install ntp
sudo ntpdate -u cn.pool.ntp.org

3.4 pytorch及torchvision安装
根据jetpack版本选择pytorch版本,官方下载地址:PyTorch for Jetson
在这里插入图片描述

pip install Cython numpy -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install torch-1.12.0a0+2c916ef.nv22.3-cp38-cp38-linux_aarch64.whl

安装依赖

sudo apt-get -y update; 
sudo apt-get -y install 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 python3-pip libopenblas-dev
sudo apt-get install  libopenblas-base libopenmpi-dev libomp-dev

下载torchvision

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install libjpeg-dev zlib1g-dev libpython3-dev libavcodec-dev libavformat-dev libswscale-dev git clone --branch v0.13.0 https://github.com/pytorch/vision torchvision
cd torchvision
export BUILD_VERSION=0.13.0 
python3 setup.py install --user

在这里插入图片描述

4. 系统VNC

安装tigervnc-standalone-server

sudo apt-get -y install tigervnc-standalone-server

设置密码

vncpasswd

在这里插入图片描述
启动 VNC server 服务

vncserver :1

停止VNC server服务

vncserver -kill :1

配置 VNC server 服务

vim ~/.vnc/xstartup
#!/bin/shunset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
gnome-session &

远程访问启动

vncserver :1 -geometry 1920x1080 -localhost no

上述的vncserver :1 代表端口号是:5901,如果是:2 就是5902,以此类推。
在这里插入图片描述
在这里插入图片描述
至此,orin基础环境搭建就到这里

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/768412.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Verilog刷题笔记45

题目:Given the finite state machine circuit as shown, assume that the D flip-flops are initially reset to zero before the machine begins. Build this circuit. 解题: module top_module (input clk,input x,output z ); wire [2:0]size;dtou…

第一篇:概述、 目录、适用范围及术语 --- IAB/MRC《增强现实(AR)广告(效果)测量指南1.0 》

第一篇:概述、目录、适用范围及术语 - IAB与MRC及《增强现实广告效果测量指南1.0》 --- 我为什么要翻译美国IAB科技公司系列标准 ​​​​​​​​​​​​​​ 翻译计划 第一篇概述—IAB与MRC及《增强现实广告效果测量指南》之目录、适用范围及术语第二篇广告效…

WSL+Ununtu+Docker踩坑指南

Ubuntu安装docker后启动不了,解决问题如下: 1.在wsl中安装Ubuntu,在Ubuntu中安装docker,此时用的Ubuntu的版本为Ubuntu-22.04发行版,安装docker教程如下。 https://docs.docker.com/engine/install/ubuntu/2. 完成安…

第十五届蓝桥杯模拟赛 第三期 (C++)

第二次做蓝桥模拟赛的博客记录,可能有很多不足的地方,如果大佬有更好的思路或者本文中出现错误,欢迎分享思路或者提出意见 题目A 请问 2023 有多少个约数?即有多少个正整数,使得 2023 是这个正整数的整数倍。 答案&…

Linux telnet命令教程:远程控制工具(附实例详解和注意事项)

Linux telnet命令介绍 telnet(Teletype Network)是一种网络协议,用于在远程主机和本地计算机之间建立文本式连接。它最初于1969年开发,是Internet的早期协议之一。telnet命令使用TCP/IP网络通过端口23建立连接,提供了…

MySQL B树 和B+数据的区别

MySQL B树 和B数据的区别 树分类:二叉树完全二叉树满二叉树堆红黑树 B树B树 首先我们搞清楚数据结构中的 树这个概念 树 分类: 二叉树 限定每个节点的子节点最多只有2个子节点,且有左右之分。完全二叉树 满二叉树 堆 红黑树 B树 B树 …

上位机图像处理和嵌入式模块部署(qmacvisual之ROI设定)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 ROI,全称是region of interest,也就是感兴趣区域。这里面一般分成两种情况,一种是所有的算法都依赖于这个ROI&a…

谷粒商城——缓存的读写一致性

1. 对于实时性要求很强的数据,如果修改完数据库,需要保证缓存中的数据也更新为相应的最新值。此时需要在更新数据库之前加上写锁,在更新/删除完缓存后才释放写锁。 伪代码如下: lock.writeLock().lock(); updateDB(); updateCac…

Jenkins中使用Generic Webhook Trigger插件实现持续集成

项目环境 宝塔Linux面板DockerJenkinsgitee 目的 实现每次push推送dev分支到gitee上,Jenkins自动构建项目;push其它分支时,不运行。 实现方法 1.在Jenkins上安装Generic Webhook Trigger插件 在“系统设置–插件管理–可选插件”界面搜…

第390场 LeetCode 周赛题解

A 每个字符最多出现两次的最长子字符串 滑动窗口&#xff1a;枚举窗口的左边界&#xff0c;尽可能右移窗口的右边界。 (当然也可以暴力枚举) class Solution { public:int maximumLengthSubstring(string s) {vector<int> cnt(26);int res 0;for (int l 0, r -1, n s…

构建以太网交换网络——(生成树实验)

实验介绍 关于本实验 以太网交换网络中为了进行链路备份&#xff0c;提高网络可靠性&#xff0c;通常会使用冗余链路。但是使用冗余链路会在交换网络上产生环路&#xff0c;引发广播风暴以及MAC地址表不稳定等故障现象&#xff0c;从而导致用户通信质量较差&#xff0c;甚至…

【LeetCode-45.跳跃游戏】

题目详情&#xff1a; 给定一个长度为 n 的 0 索引整数数组 nums。初始位置为 nums[0]。 每个元素 nums[i] 表示从索引 i 向前跳转的最大长度。换句话说&#xff0c;如果你在 nums[i] 处&#xff0c;你可以跳转到任意 nums[i j] 处: 0 < j < nums[i] i j < n 返…

C语言 数组指针 指针数组

指针数组 什么是指针数组&#xff0c;他是一个数组&#xff0c;数组的元素是指针。但是指针也有多种数据类型&#xff0c;有数组指针、函数指针、整形指针、字符串指针。 现在我就使用函数指针来写代码&#xff0c;也就是函数指针数组的应用代码&#xff1a; #include <s…

Debezium日常分享系列之:设置MySQL数据库以支持数据实时采集

Debezium日常分享系列之&#xff1a;设置MySQL数据库以支持数据实时采集 一、创建用户二、启用二进制日志三、启用 GTID四、配置会话超时五、启用查询日志事件六、验证二进制日志行值选项七、Debezium技术总结 在安装和运行 Debezium 连接器之前&#xff0c;需要执行一些 MySQL…

Vscode按键占用问题解决

Vscode按键占用 在使用vscode的过程中&#xff0c;官方按键 Ctrl . 按键可以提示修复代码中的问题&#xff0c;但是发现按了没有反应。 解决问题 首先确认vscode中是否设置了这个按键&#xff0c;默认设置了的系统输入法中是否有按键冲突了&#xff0c;打开输入法设置检查 …

es同义词配置规则

同义词配置有两种: 1,a>b: 通俗的来讲,就是尽管用户输入的是a,但是es在查询的是会转成b去搜索,">"左边的词全部会被右边的词替换。 2,a,b:通俗的来讲,就是不管用户输入的是a还是b,es在查询的是用a,或者b搜索.比如 保温杯,杯子,用户输入的是"保温杯"…

学习java第二十二天

IOC 容器具有依赖注入功能的容器&#xff0c;它可以创建对象&#xff0c;IOC 容器负责实例化、定位、配置应用程序中的对象及建立这些对象间的依赖。通常new一个实例&#xff0c;控制权由程序员控制&#xff0c;而"控制反转"是指new实例工作不由程序员来做而是交给Sp…

DNS服务器的分布式架构和集中式架构的区别

DNS服务器是域名系统的核心组件之一&#xff0c;用于解析域名和IP地址之间的映射关系。DNS服务器的架构形式有分布式和集中式两种模式。下面德迅云安全给您介绍DNS服务器的分布式架构和集中式架构的区别。 DNS服务器的分布式架构和集中式架构有什么区别&#xff1f; 1.分布式架…

[iOS]GCD(一)

[iOS]GCD(一) 文章目录 [iOS]GCD(一)GCD的概要GCD的APIDispatch Queuedispatch_queue_createMain Dispatch_set_target_queuedispatch_afterDispatch Groupdispatch_barrier_asyncdispatch_applydispatch_applydispatch_suspend/dispatch_resumeDispatch Semaphoredispatch_onc…

MQ高级篇---消息可靠性

MQ的一些常见问题 后面内容基于springboot 2.3.9.RELEASE 消息可靠性 生产者确认机制 在publisher微服务中application.yml中添加 spring:rabbitmq:publisher-confirm-type: correlatedpublisher-returns: truetemplate:mandatory: true每个RabbitTemplate只能配置一个Return…