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 上干活,用这个最稳妥。下载安装,选镜像选盘,点烧录。没什么技术含量,但稳。
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
然后配置几个关键参数:
- 开启 SSH: 默认就开着,但如果关过,
sudo systemctl enable --now ssh - 配置时区:
sudo timedatectl set-timezone Asia/Shanghai - 扩展文件系统: 现在新系统自动扩展,但旧版需要
sudo raspi-config --expand-rootfs - 设置 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 文件路径。这里不展开了,后面章节会细讲存储优化。
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 本章知识体系
下面这张图我把整个流程串起来,方便你对照着操作。别跳过,看一眼心里有数。
这套流程走完,你的树莓派就已经准备好迎接 llama.cpp 了。后面的事就简单了——编译、下载模型、跑起来。不过在那之前,还有个小细节:如果你打算长时间跑推理,建议把散热做好,哪怕贴个散热片都比裸奔强。我有一块树莓派4B就因为没散热,跑大模型时过热降频,推理速度掉了一半,心疼。
最后啰嗦一句:每步做完最好重启一次,确保改动生效。别嫌烦,稳扎稳打比后面翻车重装省时间得多。