2. 安装 Raspberry Pi OS 与基础配置

好,咱先把树莓派的系统装上。这一步其实不复杂,但细节容易翻车。我自己装过不下二十台树莓派,从3B+到5代都碰过,踩过的坑足够写个小册子了。今天我就把最稳的流程捋一遍,你跟着做就行。

2.1 系统选择:别贪新,求稳

树莓派官方系统叫 Raspberry Pi OS(以前叫 Raspbian)。我个人习惯用 Lite 版——没桌面环境,省资源,跑大模型正合适。你想想要是开了图形界面,那点内存还得留给 GUI,llama.cpp 哪还吃得到?

版本 适用场景 我的建议
Raspberry Pi OS Lite (64-bit) 纯命令行部署,跑llama.cpp 首选,无桌面,省内存省CPU
Raspberry Pi OS with Desktop 需要图形界面调试或新手学习 不推荐用于部署,但可以临时用
Ubuntu Server for Raspberry Pi 需要apt包较新,或熟悉Ubuntu 也可以,但官方OS对ollama支持更直接
我的习惯:下载 2024-11-19-raspios-bookworm-arm64-lite.img.xz 这个版本,Bookworm 内核较新,对 llama.cpp 的 CPU 优化更好。

2.2 烧录系统:三种方法,看情况选

方法一:用 Raspberry Pi Imager(最推荐)

官方出的工具,傻瓜式操作。选完镜像、选SD卡,点一下就行。它甚至能帮你预配 SSH、WiFi 和用户名密码。省得你插显示器键盘了。

# 如果你在 Linux 下想用命令行烧录,也可以这样:
sudo apt install rpi-imager
rpi-imager

方法二:dd 命令(老司机专用)

我早期全靠 dd,但容易写错设备名,不小心把硬盘格了……嗯,你注意点。

# 先用 lsblk 确认 SD 卡设备,比如 /dev/sdb
sudo dd if=2024-11-19-raspios-bookworm-arm64-lite.img of=/dev/sdb bs=4M status=progress conv=fsync
sync

方法三:balenaEtcher(跨平台)

如果你在 Windows 或 macOS 上干活,用这个最稳妥。下载安装,选镜像选盘,点烧录。没什么技术含量,但稳。

我曾经犯过的错:烧录后没拔SD卡就热插拔树莓派,结果卡文件系统损坏,重装了两遍。切记,写完后用 sudo sync 确保数据落盘,安全弹出。

2.3 首次启动与基础配置

把烧好的SD卡插进树莓派,接上网线(或 WiFi)、电源。如果你用 RPi Imager 预配了 SSH 和 WiFi,那直接就能通过局域网 SSH 进去。没有的话,插显示器键盘手动设。我个人习惯在烧录时就把 SSH 和 WiFi 配好,省心。

# 默认用户名:pi,密码:raspberry
ssh pi@raspberrypi.local
# 如果找不到主机名,去路由器后台看IP
ssh pi@192.168.1.100

进去第一件事:更新系统。别急着装别的东西,源换一下,跑个全套升级。我见过有人 skip 这步,结果装包时依赖冲突,折腾半天。

sudo apt update
sudo apt full-upgrade -y
sudo apt autoremove -y

然后配置几个关键参数:

  1. 开启 SSH: 默认就开着,但如果关过,sudo systemctl enable --now ssh
  2. 配置时区: sudo timedatectl set-timezone Asia/Shanghai
  3. 扩展文件系统: 现在新系统自动扩展,但旧版需要 sudo raspi-config --expand-rootfs
  4. 设置 GPU 内存: 跑大模型用 CPU 推理,GPU 可以省掉。 sudo raspi-config → Performance Options → GPU Memory → 设为 16MB。
关键参数表:
参数推荐值说明
GPU 内存16 MB无桌面环境,省给系统
交换分区2048 MB 以上后面跑大模型可能会用到
CPU 频率默认或超频散热好可以尝试 over_voltage=4, arm_freq=2000

2.4 交换分区调大——这是关键一步

树莓派内存最多就 8GB(目前5代),跑 llama.cpp 很吃紧。我个人习惯直接开 swap 到 4GB。别担心SD卡寿命,正常用两年坏不了,再说坏了大不了换卡。

# 查看当前 swap
free -h

# 关闭默认 swap
sudo dphys-swapfile swapoff

# 修改 /etc/dphys-swapfile,设置 CONF_SWAPSIZE=4096
sudo nano /etc/dphys-swapfile

# 重启服务
sudo dphys-swapfile setup
sudo dphys-swapfile swapon

# 验证
free -h

如果你用 SSD 启动(比如通过 USB 接 NVMe 转接板),可以把 swap 放在 SSD 上,速度比 SD 卡快一个数量级。怎么配置?稍复杂,但核心就是改 /etc/fstab 挂载 SSD 并指定 swap 文件路径。这里不展开了,后面章节会细讲存储优化。

注意: 别把 swap 设太大。4GB 够用。设 8GB 反而会因为SD卡写入速度慢,导致系统卡死。我亲测过,血的教训。

2.5 系统状态检查——验证环境

安装完基本配置后,跑几个命令确认一切正常。这也是我每次部署前必做的「体检」。

# 查看系统信息
uname -a
# 例:Linux raspberrypi 6.6.51+rpi-rpi-v8 #1 SMP PREEMPT ...

# 查看CPU架构(必须 arm64)
lscpu | grep Architecture
# 输出:aarch64

# 查看内存和swap
free -h

# 查看磁盘空间
df -h

# 温度检查(别超过80°C)
vcgencmd measure_temp

这几项都过了,环境就算打好了。特别是确认是 aarch64 架构,因为 llama.cpp 对 64 位 ARM 有优化。如果你是 32 位系统,性能会差一大截。

2.6 本章知识体系

下面这张图我把整个流程串起来,方便你对照着操作。别跳过,看一眼心里有数。

Raspberry Pi OS 安装与基础配置流程 Raspberry Pi OS 安装与配置流程 选择系统版本 烧录系统到SD卡 首次启动与SSH 系统更新与升级 关键基础配置 时区 | SSH | GPU内存 | 扩展文件系统 调大swap ✅ 系统状态检查(最终验证)

这套流程走完,你的树莓派就已经准备好迎接 llama.cpp 了。后面的事就简单了——编译、下载模型、跑起来。不过在那之前,还有个小细节:如果你打算长时间跑推理,建议把散热做好,哪怕贴个散热片都比裸奔强。我有一块树莓派4B就因为没散热,跑大模型时过热降频,推理速度掉了一半,心疼。

最后啰嗦一句:每步做完最好重启一次,确保改动生效。别嫌烦,稳扎稳打比后面翻车重装省时间得多。