3、系统与环境准备:安装Raspberry Pi OS、配置SSH、VNC、更新系统、设置交换分区
Raspberry Pi 5 作为 AI 推理的边缘节点,其系统与环境的稳定性直接决定了后续模型部署、摄像头调用和推理性能的上限。本章将围绕 Raspberry Pi OS 的安装、远程访问配置(SSH 与 VNC)、系统更新策略以及交换分区(Swap)的调优展开。这些操作不仅是基础环境搭建,更是为后续在资源受限的 ARM 平台上运行深度学习框架(如 TensorFlow Lite、ONNX Runtime)所做的关键预处理。我们将从系统选型原理出发,逐步深入到具体的命令行操作与性能调优案例。
上图展示了本章节的核心逻辑:系统安装是硬件与操作系统交互的起点,远程访问决定了开发效率,而性能调优(尤其是交换分区)则直接关系到 AI 推理任务在内存受限环境下的成败。下面我们将逐一拆解每个环节的具体操作与决策依据。
3.1 核心原理:为什么选择 64 位 Bookworm 与正确的存储介质
Raspberry Pi 5 搭载的 BCM2712 处理器支持 64 位指令集(ARMv8-A)。对于 AI 推理而言,64 位系统并非可选项,而是必选项。绝大多数现代推理引擎(如 TensorFlow Lite、PyTorch Mobile、ONNX Runtime)的预编译 ARM 包仅提供 aarch64 版本,且 64 位系统能够充分利用超过 4GB 的 RAM(Pi 5 最高支持 16GB)。我们推荐使用 Raspberry Pi OS (Bookworm) 64-bit 版本,而非 32 位版本,以避免后续依赖库缺失或性能损失。
存储介质的选择同样关键。Pi 5 支持从 microSD 卡或 NVMe SSD(通过 PCIe 接口)启动。对于 AI 推理场景,NVMe SSD 是强烈推荐的选择,因为模型文件、数据集和交换分区的读写速度将直接影响推理的 I/O 瓶颈。如果使用 microSD 卡,务必选择 A2 或 U3 速度等级,否则在加载大模型(如 500MB 以上的 YOLO 模型)时会出现明显的卡顿。
| 存储介质 | 顺序读取 | 随机 4K 读取 | AI 推理适用性 | 备注 |
|---|---|---|---|---|
| 普通 microSD (C10) | ~20 MB/s | ~2 MB/s | 低(仅适合轻量脚本) | 易因频繁读写损坏 |
| A2/U3 microSD | ~90 MB/s | ~8 MB/s | 中(适合小型模型) | 需注意散热 |
| NVMe SSD (PCIe 3.0) | ~400 MB/s | ~40 MB/s | 高(推荐) | 需额外购买 HAT 扩展板 |
3.2 操作流程:从烧录到首次启动的完整步骤
我们使用 Raspberry Pi Imager 工具进行系统烧录。该工具不仅支持镜像写入,还支持在烧录前预配置 SSH、WiFi 和用户信息,这对于无头(Headless)部署至关重要。
- 下载与安装 Imager:在 PC 上安装 Raspberry Pi Imager(支持 Windows/macOS/Linux)。
- 选择镜像:点击 "Choose OS" → "Raspberry Pi OS (other)" → "Raspberry Pi OS (64-bit)"。注意不要选择 Lite 版本,除非你完全不需要桌面环境。对于后续 VNC 图形化调试,我们建议保留桌面。
- 选择存储:插入 SD 卡或通过 USB 连接 NVMe 转接板,选择对应的设备。
- 预配置设置:点击 Imager 右下角的齿轮图标,开启 SSH(允许密码登录或密钥登录),设置用户名和密码,并配置 WiFi(SSID 和密码)。这一步可以避免首次启动后需要连接显示器进行配置的麻烦。
- 写入镜像:点击 "Write",等待烧录完成。烧录完成后,系统会自动挂载 boot 分区,我们可以检查
userconf.txt或ssh文件是否生成。
首次启动后,通过路由器后台或 arp-scan 工具找到 Pi 的 IP 地址。使用 SSH 客户端(如 Windows Terminal 或 MobaXterm)连接:
ssh pi@<your_pi_ip_address>
# 输入预设的密码,进入系统
sudo rpi-eeprom-update 更新引导加载程序,然后才能将 NVMe 设置为优先启动项。具体操作:sudo raspi-config → Advanced Options → Boot Order → NVMe/USB Boot。
3.3 配置 SSH 与 VNC:构建高效的远程开发环境
SSH 是命令行操作的基础,而 VNC 则提供了图形化桌面访问能力。对于 AI 推理开发,我们经常需要查看摄像头画面或调试 GUI 程序,VNC 不可或缺。
SSH 强化配置: 默认的 SSH 配置允许密码登录,但这在局域网内尚可,若暴露在公网则存在风险。建议修改 /etc/ssh/sshd_config 文件,禁用 root 登录,并考虑使用密钥对认证。
sudo nano /etc/ssh/sshd_config
# 修改以下内容
PermitRootLogin no
PasswordAuthentication yes # 如果使用密钥,可改为 no
# 保存后重启服务
sudo systemctl restart ssh
VNC 配置: Raspberry Pi OS 默认包含 RealVNC Server。通过 raspi-config 启用:
sudo raspi-config
# 选择 Interface Options → VNC → Enable
启用后,在 PC 端安装 VNC Viewer,输入 Pi 的 IP 地址即可连接。为了获得更流畅的体验,建议在 VNC Server 设置中将画质调整为 "High" 或 "Medium",并降低分辨率至 1920x1080 以下。
3.4 系统更新与交换分区调优:为 AI 推理预留资源
系统更新是安全与性能的基础。执行以下命令将系统内核和软件包更新至最新稳定版:
sudo apt update
sudo apt full-upgrade -y
sudo rpi-eeprom-update -a # 更新树莓派 EEPROM 固件
sudo reboot
更新完成后,重点进行 交换分区(Swap) 的调优。Raspberry Pi OS 默认配置了 100MB 的 swapfile,这对于运行大型 AI 模型(如 MobileNet 或 YOLOv5s)是远远不够的。当物理内存不足时,内核会频繁触发 OOM(Out Of Memory) Killer,导致进程被强制终止。
我们建议将 swap 调整为 2GB 或 4GB,具体取决于你的内存大小和模型需求。调整方法如下:
# 查看当前 swap 状态
sudo swapon --show
# 关闭现有 swap
sudo dphys-swapfile swapoff
# 修改配置文件
sudo nano /etc/dphys-swapfile
# 将 CONF_SWAPSIZE 从 100 改为 2048 (单位 MB)
CONF_SWAPSIZE=2048
# 重新启动 swap 服务
sudo systemctl restart dphys-swapfile
# 验证
sudo swapon --show
除了传统的 swapfile,我们还可以考虑使用 zram。zram 在内存中创建压缩的块设备,速度远快于磁盘 swap,但会占用 CPU 进行压缩计算。对于 Pi 5 的四核 A76 处理器,zram 是一个不错的选择。安装与配置 zram 工具:
sudo apt install zram-tools
sudo nano /etc/default/zramswap
# 设置 ALGO=lz4 和 PERCENT=50 (表示使用 50% 的 RAM 作为 zram)
3.5 常见误区与总结复盘
在系统准备阶段,初学者常犯以下错误:
- 误区一:使用 32 位系统。 这会导致无法安装最新的 aarch64 推理库,且无法利用超过 4GB 的内存。
- 误区二:忽略散热。 Pi 5 在高负载推理时发热严重,如果没有主动散热(风扇或散热片),CPU 会降频至 1.0GHz 以下,导致推理速度骤降。建议在
/boot/firmware/config.txt中检查dtparam=sd_poll_once等参数,并安装raspi-top监控温度。 - 误区三:swap 设置过大。 如果使用普通 SD 卡,过大的 swap 会导致频繁的读写,加速存储介质老化。建议在 NVMe 上使用 swap,或使用 zram。
- 误区四:忘记固定 IP 地址。 如果 DHCP 分配的 IP 变化,会导致 SSH/VNC 连接失败。建议在路由器中绑定 MAC 地址,或在
/etc/dhcpcd.conf中配置静态 IP。
总结复盘: 一个稳健的 AI 推理环境应具备以下特征:64 位操作系统、高速存储(NVMe 优先)、安全的远程访问通道(SSH 密钥 + VNC 内网穿透)、以及合理的交换分区策略(zram + swapfile 组合)。完成本章配置后,你的 Pi 5 已经具备了运行轻量级深度学习模型的基础条件。下一步,我们将安装摄像头驱动与图像采集库,为模型提供实时视频流输入。