2、系统烧录与初始化:SDK Manager安装与使用、JetPack系统烧录、首次启动配置与网络设置
好,咱们进入第二章。这一章,说白了就是让 Jetson 真正「活过来」的关键一步。你拿到一块 Jetson 开发板,它只是一块冰冷的硬件。只有把系统烧进去,它才算是有了灵魂。
我个人习惯把这一步叫做「开光仪式」。搞好了,后面开发一路顺风;搞砸了,可能得折腾一整天。别问我怎么知道的——我曾经在给客户演示的前夜,把系统刷成了砖,凌晨三点还在找恢复模式。
嗯,咱们一步步来。
2.1 SDK Manager:你的装机神器
NVIDIA 官方提供了一个工具,叫 SDK Manager。它不只是刷系统,还能帮你装 CUDA、cuDNN、TensorRT 这些深度学习库。说白了,一条龙服务。
2.1.1 安装 SDK Manager
你需要在你的 Ubuntu 主机(注意,必须是 Ubuntu 18.04 或 20.04,我建议用 20.04)上安装它。为什么?因为 Jetson 的刷机工具依赖 Linux 的底层驱动。
步骤很简单:
- 去 NVIDIA 官网下载
sdkmanager_[版本].deb包 - 终端执行:
sudo dpkg -i sdkmanager_[版本].deb - 如果报依赖错误,执行:
sudo apt-get install -f
2.1.2 连接开发板与主机
这里有个关键点:Jetson 开发板需要进入 强制恢复模式(Force Recovery Mode)。不同型号进入方式略有不同,但原理一样:
- 用 Micro-USB 线(或 USB-C,看型号)连接 Jetson 和你的 Ubuntu 主机
- 按住开发板上的 RECOVERY 按钮(通常标有「REC」)
- 按住不放,再按一下 RESET 按钮,然后松开 RESET
- 等待 2 秒,松开 RECOVERY 按钮
怎么确认成功了?在主机终端输入:
lsusb
如果看到 NVIDIA Corp. 相关的设备,就对了。我见过有人插错 USB 口,折腾半天才发现——嗯,注意看接口旁边的图标。
2.2 JetPack 系统烧录:别怕,就是点几下鼠标
打开 SDK Manager,登录你的 NVIDIA 账号。你会看到这样的界面:
| 步骤 | 操作 | 说明 |
|---|---|---|
| 1 | 选择硬件平台 | 比如 Jetson Orin NX 或 Xavier NX |
| 2 | 选择 JetPack 版本 | 我建议选最新的 LTS 版本,稳定 |
| 3 | 勾选组件 | CUDA、cuDNN、TensorRT 必选 |
| 4 | 点击「Flash」 | 开始烧录,约 20-40 分钟 |
烧录完成后,SDK Manager 会提示你进行后续安装。你可以选择「Pre-install」——这样 CUDA 等库会直接刷进系统,省得后面再装。我个人习惯选这个,省事。
2.3 首次启动配置:让 Jetson 认识你
系统烧好了,拔掉 Micro-USB 线,接上 HDMI 显示器和键盘鼠标。上电开机。
第一次启动会进入 Ubuntu 的初始化向导。你需要:
- 设置用户名和密码(记住它,后面 SSH 要用)
- 选择语言和时区(选中文或英文都行,我建议英文,终端里少些乱码)
- 配置网络(先连有线,后面再配 Wi-Fi)
这里有个坑:Jetson 默认的桌面环境是 GNOME,对性能有一定消耗。如果你打算做嵌入式开发,我建议后面换成轻量级桌面,或者直接用命令行模式。不过第一次启动,先看看桌面也挺好。
2.4 网络设置:让 Jetson 连上世界
开发板没有网络,就像人没有手机——寸步难行。咱们需要配好网络,才能远程 SSH 进去。
2.4.1 有线网络(推荐)
插上网线,Ubuntu 一般会自动获取 IP。在终端输入:
ip addr show
找到类似 192.168.1.xxx 的地址,记下来。这就是你 SSH 的目标。
2.4.2 无线网络配置
如果你用 Wi-Fi,可以在桌面右上角点击网络图标,选择你的 Wi-Fi 并输入密码。但有时候 Wi-Fi 驱动没装好——嗯,我遇到过。这时需要手动装驱动:
sudo apt update
sudo apt install bcmwl-kernel-source
装完重启,Wi-Fi 就能用了。
2.4.3 设置静态 IP(推荐)
动态 IP 每次重启都可能变,SSH 连接很麻烦。我建议设成静态 IP。编辑网络配置文件:
sudo nano /etc/netplan/01-netcfg.yaml
内容参考:
network:
version: 2
ethernets:
eth0:
dhcp4: no
addresses:
- 192.168.1.100/24
gateway4: 192.168.1.1
nameservers:
addresses: [8.8.8.8, 8.8.4.4]
保存后执行:
sudo netplan apply
2.5 验证系统与网络
最后,咱们做个快速验证。在 Jetson 终端里输入:
uname -a
nvidia-smi
ping 8.8.8.8
如果能看到内核版本、GPU 信息,并且 ping 通外网,恭喜你——系统烧录与初始化大功告成!
嗯,到这里,你的 Jetson 已经准备好接受远程调用了。下一章,咱们就聊 SSH 连接和远程开发的实战技巧。
dd 命令把整个 eMMC 或 SD 卡镜像出来。万一后面搞坏了,直接恢复,省得重新刷机。我曾经在项目 deadline 前一天把系统搞崩,全靠备份救场。