多情应笑我早生华发
0. 一些概念
论坛
提问、项目分享。对于开发小白,Developers、Documentation、Getting Started、User Guide,到底先看哪个呢?
建议小白从 Getting Started 开始!
再看 User Guide
在开发过程中从Documentation 按需查看。
从使用案例中寻找开发灵感。
提问和 trouble shooting 请上 论坛 。
图文、视频教程请浏览 Tech 。
资源下载请移步 Download 。Jetson Orin Nano 开发板简介
几个有用的导航
可以找到你想要的,如资源、教程、社区、相关项目、案例、下载等等…- Developers 页面下的 Resource 栏
- Developers ~> Jetson developer kits 页面下的 Community 栏
- Developers 页面下的 Resource 栏
教程、视频教程
对于Jetson Orin Nano开发版,导航到教程的方式如下:
Developers
~> Browse by Solution Areas
~> Autonomous Machines
~> Jetson developer kits
~> Community
~> Tech、ForumJetPack SDK 是什么?
JetPack 为构建人工智能应用程序提供了完整的开发环境。
JetPack 包含以下组件(模块):- 一个 Ubuntu 系统
这个 Ubuntu 系统由以下模块构成。Ubuntu 版本、Jetson Linux系统版本因 JetPack 版本而异。
(1)Jetson Linux系统
(2)Linux 内核
(3)系统引导(bootloader)
(4)Ubuntu 文件系统 - 一些具有GPU加速的计算机视觉库;
- 一些用于 AI 计算的SDK,如 CUDA 、Tensorrt、cuDNN、VPI 等。
- 一些例程和文档;。
- 一个 Ubuntu 系统
NVIDIA SDK Manager 又是什么?
顾名思义就是一个管理 NVIDIA SDK 的工具。例如可用于为开发板安装 JetPack SDK 或操作系统。- 适用于不同系列的NVIDIA开发板;
- 可以为开发板安装不同的操作系统;
- 快速便捷地配置开发环境;
- A central location for all your software development needs.
- Coordination of SDKs, library and driver combinations, and any needed compatibilities or dependencies.
- Notifications for software updates keep your system up-to-date with the latest releases.
SD Card image
用于为开发板首次安装操作系统的镜像文件,本质上是JetPack 。pre-configured SD card image
用于为开发板首次安装操作系统的自定义镜像文件,可预安装一些包如ROS、OpenCV等。Jetson 旗下的 机载端人工智能平台有哪些?
如Jetson Orin Nano开发板等…Jetson 生态系统
与 Jetson 平台合作的厂商、兼容的传感器、硬件设备…ROS + Intel RealSense camera 实现室内 VSLAM
Jetson Isaac ROS Visual SLAM Tutorial
1. 系统安装(刷机、flash)
1.1 使用SD卡刷机
- 参考:Getting Started
- 过程简述:把SD Card Image 镜像制作到SD卡中,然后用SD卡去Boot开发板以实现系统的首次安装。
- 本质:通过SD卡为Jetson开发板安装 JetPack SDK,JetPack SDK 包含了一个适配NVIDIA开发板的Ubuntu系统。
- 这里的系统安装与下一节的【使用 SD Card Image 方式安装 JetPack】是相同的过程和结果。
1.2 使用固态硬盘刷机
- 参考:https://www.yahboom.com/study/Jetson-Orin-NANO
- 过程简述:把 SD Card Image 镜像制作到固态硬盘中,然后用固态硬盘去Boot开发板以实现系统的首次安装。
1.3 如何安装纯净的Ubuntu?
如何安装纯净的Ubuntu而不是Jetson Linux ??
待续…
2. JetPack SDK
2.1 一些概念
- JetPack 简介
- JetPack 文档
- JetPack SDK的作用是为构建人工智能应用程序提供了一个完整的开发环境。
- JetPack 包含以下组件(模块):
- 一个 Ubuntu 系统
这个 Ubuntu 系统由以下模块构成。Ubuntu 版本、Jetson Linux系统版本因 JetPack 版本而异。- Jetson Linux系统
- Linux 内核
- 系统引导(bootloader)
- Ubuntu 文件系统
- 一些具有GPU加速的计算机视觉库;
- 一些用于 AI 计算的SDK,如 CUDA 、Tensorrt、cuDNN、VPI 等。
- 一些例程和文档;
- 一个 Ubuntu 系统
- full JetPack 和 runtime JetPack 的区别:
full JetPack 包含示例和文档,有利于开发工作,适用于开发环境。runtime JetPack不包含示例和文档,比较简洁,适用于生产环境。 - Ubuntu系统、Linux内核、Jetson Linux系统 三者的关系:
Ubuntu、Red Hat、Fedora等是Linux的一个发行版本。
Linux是一个开源操作系统内核,而Ubuntu是基于Linux内核的操作系统之一。Linux实质实质Linux内核。
Ubuntu = Linux内核 + 界面系统。
Jetson Linux 系统是NVIDIA公司开发的适用于Jetson 开发板的Linux内核,本质上是一种根据硬件型号定制的Linux内核。Jetson Linux包括:Linux内核、UEFI引导加载程序、NVIDIA驱动程序、闪存实用程序、基于Ubuntu的示例文件系统,以及Jetson平台的更多内容。 - JetPack 发行日志(Release Notes)
- JetPack Archive
2.2 安装、升级
- 使用 apt 安装完整的JetPack
需要事先为开发板安装好 Jetson Linux 36.2 系统。
参考:Package Management Tool
如:sudo apt show nvidia-jetpack sudo apt update sudo apt install nvidia-jetpack
- 使用 apt 选择性安装 JetPack 中的某些packages
需要事先为开发板安装好Ubuntu系统。
参考:JetPack Debian Packages on Host
如:sudo apt-get install cuda-toolkit-12-2 cuda-cross-aarch64-12-2 nvsci libnvvpi3 vpi3-dev vpi3-cross-aarch64-l4t python3.9-vpi3 vpi3-samples vpi3-python-src nsight-systems-2023.4.3 nsight-graphics-for-embeddedlinux-2023.3.0.0
- JetPack Debian Packages 列表
参考:List of JetPack Debian Packages
- 使用 SD Card Image 方式安装 JetPack
不需要事先为开发板安装Ubuntu,因为JetPack包含了一个Ubuntu系统。
参考:Installing JetPack by SD Card Image - 使用 NVIDIA SDK Manager 方式安装 JetPack
参考:Installing JetPack by NVIDIA SDK Manager - 升级
不支持使用apt工具从 JetPack 5 升级到 JetPack 6。
请使用NVIDIA SDK Manager 或 卸载重装 的方式进行升级。
2.3 相关链接
- Jetson Software Documentation
- JetPack 6.0 Release Notes and Documentation
- Jetson Linux 36.2 Release Notes
- Jetson Linux Developer Guide
- Jetson AGX Orin Developer Kit User Guide
- Jetson Orin Nano Developer Kit User Guide
3. NVIDIA SDK Manager
参考:NVIDIA Software Development Kit (SDK) Manager
NVIDIA SDK Manager 顾名思义就是一个管理 NVIDIA SDK 的工具。例如可用于为开发板安装 JetPack SDK 或操作系统。特的用处包括:
- 适用于不同系列的NVIDIA开发板;
- 可以为开发板安装不同的操作系统;
- 快速便捷地配置开发环境;
- A central location for all your software development needs.
- Coordination of SDKs, library and driver combinations, and any needed compatibilities or dependencies.
- Notifications for software updates keep your system up-to-date with the latest releases.
待续…
4. SSH远程登录、文件传输
作用:windows借助PuTTY通过网络远程登录机载计算机进入shell页面、本地计算机的windows与远程计算机Linux相互传输文件。
常用的远程登录工具有PuTTY、SSH、Xshell等,哪个最好用?
推荐使用 MobaXterm ,优点:家庭版免费,可以通过USB或局域网进行SSH、拥有IP扫描功能。缺点:个人版是收费的。
次推荐使用 PuTTY,优点:开源,简洁。缺点:只能通过局域网进行ssh。
MobaXterm官网。
PuTTY官网。
4.1 使用MobaXterm进行SSH
- 用USB连接进行SSH
- 下载并安装MobaXterm。
- 用USB连接PC与Jetson Orin Nano 开发板。
- 打开MobaXterm
- Session ~> SSH ~> Remote host 的IP地址是固定的:192.168.55.1 ~> OK
- 使用局域网进行SSH
- 将PC和Jetson Orin Nano 开发板用网线或WiFi连接到同一个局域网下
- 查看Jetson Orin Nano的IP地址。根据不同情况有以下三种方法
- 打开 MobaXterm ~> Tools ~> Network scanner:SS栏显示绿色打勾图标的则表明该设备可以进行SSH:
- 登录路由器查看
- 如果Jetson Orin Nano连接了屏幕,使用ifconfig命令查看
- 打开MobaXterm
- Session ~> SSH ~> Remote hos:Jetson Orin Nano的IP地址 ~> OK
- 如果使用的是yahboom固态硬盘的出厂镜像系统,账号是jetson,密码是yahboom。
4.2 使用MobaXterm进行VNC远程桌面
VNC能干嘛?即Virtual Network Console,可以实现远程桌面控制。
参考:https://www.yahboom.com/build.html?id=6452&cid=590