1. 背景
新到手 NVIDIA Jetson Orin Nano 插上显示屏,显示如下:
这是UEFI Shell,UEFI Shell(统一可扩展固件接口外壳程序)是一种基于UEFI规范的交互式命令行工具,它运行在UEFI固件环境中,为用户提供了一个直接与系统固件交互的接口。UEFI Shell是UEFI生态系统中的一个重要组成部分,它类似于传统计算机中的DOS命令行或Linux Shell,但运行在系统启动的早期阶段,甚至在操作系统加载之前。
1.1 作用
系统启动阶段的交互:UEFI Shell 运行在系统启动的早期阶段,甚至在操作系统加载之前。它允许用户直接与固件进行交互,执行各种底层操作。
硬件诊断与调试:通过 UEFI Shell,用户可以检查硬件状态、运行诊断工具以及调试硬件问题。
系统配置与管理:可以用于配置系统启动选项、修改固件设置或加载驱动程序。
文件系统操作:支持对文件系统的读写操作,例如查看文件、复制文件等。
1.2 与传统 BIOS 的区别
功能更强大:UEFI Shell 提供了比传统 BIOS 更多的功能和更高的灵活性。
支持大容量存储:UEFI 支持大于 2TB 的硬盘,而传统 BIOS 通常不支持。
安全性增强:UEFI 支持安全启动(Secure Boot)功能,可以防止恶意软件在启动过程中加载。
2. 刷机
2.1 SD卡烧录
参考:Write Image to the microSD Card
刚开始使用 SD卡烧录系统,烧录成功,但是Nano 插上SD卡还和之前一样,不得以使用sdkmanger 刷机
2.2 sdkmanger 下载
sdkmanger 官网 :https://developer.nvidia.com/sdk-manager
安装:
$ cd ~/Downloads
$ sudo apt install ./sdkmanager_2.2.0-12028_amd64.deb
2.3 刷机
2.3.1 启动sdkmanger
终端输入
$ sdkmanager
输入NVIDIA账号密码
2.3.2 Ubuntu主机连接 Orin Nano
用杜邦线或者跳线帽把Nano 的FC REC与GND短接, 用一根支持数据传输功能的USB/Type-C线,将Ubuntu主机上与Orin Nano开发套件进行连接。一切就绪之后,再为开发套件接上电源,确认电源灯是亮着。
此时为恢复模式,Ubuntu主机输入
$ lsusb
...
Bus 001 Device 022: ID 0955:7523 NVIDIA Corp. APX
...
ID 为 0955:7523
同时 sdkmanger 检测到 Orin nano
选择下一个
此时 Orin Nano 连接的显示屏为黑屏
2.3.3 下载系统插件
可以先把所有的 TARGET COMPONENTS 下载下来在安装,这时点击下面的
Download now, Install later
2.3.3 先刷系统
先刷 Jetson Linux , 叉掉后面两项: Jetson Runtime Components 和 Jetson SDK Components, 因为后面两项刷的过程中需要 ip 地址
2.3.3.1 出现的问题
输入Ubuntu主机 密码,刷的过程中可能会出现Orin Nano 掉出 恢复模式
这时Ubuntu主机终端:
$ lsusb
Bus 002 Device 006: ID 0955:7035 NVIDIA Corp. Linux for Tegra
...
这时裸机上插入 64 G 的SD卡,重新刷机,这时上图中的 2. Storage Device : 改成:
SD
2.3.3.2 成功的现象
刷的过程中Orin Nano 连接的显示屏会亮起,显示:
同时Ubuntu主机端的sdkmanager 显示
2.3.4 再刷组件
这时叉掉 Jetson Linux
继续下一步
然后Orin Nano连接网络,用 ifconfig 获取 ip 地址, 填入下面进去
此时 ubuntu 主机端:
$ lsusb
Bus 002 Device 015: ID 0955:7020 NVIDIA Corp. L4T (Linux for Tegra) running on Tegra
...
刷组件成功后,Nano 端用 jtop 检测
或者:
$ nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2023 NVIDIA Corporation
Built on Tue_Aug_15_22:02:13_PDT_2023
Cuda compilation tools, release 12.2, V12.2.140
Build cuda_12.2.r12.2/compiler.33191640_0