第四章:系统更新与常用工具安装
树莓派到手,第一件事不是急着编译 llama.cpp,而是先把它「收拾利索」。我见过不少新人上来就 git clone,结果编译到一半报错,折腾半天发现是系统太老、工具链不全。嗯,这块坑挺多的,咱们一步步来。
核心原则:在干净的 64 位系统上,先换源、再更新、最后装齐工具。顺序别搞反,否则你会多花很多时间。
4.1 系统更新
树莓派官方系统 Raspberry Pi OS 更新频率不算高,但隔几个月就会有大版本变化。我习惯拿到新系统后先做一次彻底更新,因为很多底层库缺了,后面装依赖会反复出错。
4.1.1 换源(国内用户必做)
如果你在国内,官方源慢得像蜗牛。你想想看,一个几十 MB 的包要下载半天。我建议直接换成清华或中科大的镜像。
sudo sed -i 's|deb.debian.org|mirrors.tuna.tsinghua.edu.cn|g' /etc/apt/sources.list
sudo sed -i 's|archive.raspberrypi.org|mirrors.tuna.tsinghua.edu.cn/raspberrypi|g' /etc/apt/sources.list.d/raspi.list
注意:树莓派 4B/5 默认使用 Debian 12 (bookworm),换源时记得检查 /etc/apt/sources.list 里的版本代号。我曾经遇到过换完源后报 "404 Not Found",就是因为用错了代号。
4.1.2 全系统更新
换完源,执行更新三部曲。我个人习惯把 update 和 upgrade 分开跑,这样可以看清每个包的变化。
sudo apt update
sudo apt upgrade -y
sudo apt dist-upgrade -y
sudo apt autoremove -y
这里有个小细节:dist-upgrade 会处理内核和固件的升级,解决包之间的依赖冲突。裸板推荐先跑一遍,免得后面编译内存不够时跳奇奇怪怪的 kernel 问题。
4.1.3 固件更新
树莓派的固件单独维护,有时需要手动刷一下。用 rpi-eeprom-update 可以查看当前固件版本并更新。
sudo rpi-eeprom-update
sudo rpi-eeprom-update -a # 如果提示有更新,执行这行安装
更新完固件建议重启,让配置生效。
4.2 常用工具安装
llama.cpp 编译需要完整的 C++ 工具链、CMake、Git、Python 等。下面列一个我每次装机都装的标准工具箱。
| 工具 | 用途 | 安装命令 |
|---|---|---|
| build-essential | GCC、g++、make 等编译基础 | sudo apt install build-essential |
| cmake | 构建系统,llama.cpp 编译必须 | sudo apt install cmake |
| git | 克隆 llama.cpp 源码 | sudo apt install git |
| python3-pip | Python 包管理,部分脚本依赖 | sudo apt install python3-pip |
| wget curl | 下载模型文件 | sudo apt install wget curl |
| screen / tmux | 后台运行长任务 | sudo apt install screen (推荐 tmux) |
| vim / nano | 文本编辑器 | sudo apt install vim (默认 nano 已装) |
你可以把上面这些写成一个脚本,以后新机器一键搞定。我自己的 dotfiles 里就保留了这么一段:
#!/bin/bash
sudo apt update && sudo apt upgrade -y
sudo apt install -y build-essential cmake git python3-pip wget curl tmux vim
小技巧:tmux 比 screen 好用很多。你可以分段滚动,复制粘贴也方便。如果树莓派内存紧张,tmux 的缓冲占用更小。
4.3 验证安装
装完别急着高兴,先验证一下关键工具是否到位。我遇到过 CMake 版本太旧导致编译失败的案例,所以一定要检查版本号。
gcc --version
cmake --version
git --version
python3 --version
要求:gcc >= 10.0,cmake >= 3.20,Python >= 3.9。如果你的版本偏低,可以用 sudo apt install -t bookworm-backports cmake 升级。
为什么会这样?树莓派官方源里的 cmake 可能还是 3.18,而 llama.cpp 新版本需要 CMake 3.20+ 才能正确启用 AVX2 加速。我在项目里踩过这个雷,编译到一半报 "Unknown CMake command"。
4.4 本章知识结构图
下面这张图概括了系统更新与工具配置的完整流程。你可以对照着检查自己哪步漏了。
4.5 避坑总结
我把这些年折腾树莓派时踩过的坑列出来,你直接绕开走就行。
- 别跳过换源:国内不换源,apt upgrade 可能要等 20 分钟以上。我曾经等了半小时突然断网,心态崩了。
- 不要用 root 直接装东西:llama.cpp 编译推荐用普通用户。如果系统环境被 root 污染,后面权限问题很烦。
- cmake 版本不够:直接用
apt install cmake有时得到的是 3.18。建议用pip install cmake或者从 Kitware 官方仓库安装新版。 - 内存不足时别开桌面版:树莓派 4B 只有 4GB 或 8GB,桌面版光系统就占 1GB。编译时建议切换到控制台模式(
sudo systemctl set-default multi-user.target),省出几百 MB 内存。
特别提醒:如果你用的是树莓派 5,注意它的 ARMv9 架构需要更新版的工具链。我试过在 Pi 5 上用 Debian 11 的旧 gcc 编译,直接报非法指令。务必升级到 Bookworm 并安装 gcc 12。
好了,现在你的树莓派已经干干净净,工具齐全。下一步就可以愉快地拉取 llama.cpp 源码了。