第四章:系统更新与常用工具安装

树莓派到手,第一件事不是急着编译 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 本章知识结构图

下面这张图概括了系统更新与工具配置的完整流程。你可以对照着检查自己哪步漏了。

系统更新与工具安装流程图 1. 换源(国内建议) 2. apt update & upgrade 3. 固件更新(可选) 4. build-essential + cmake 5. git / python / tmux 6. wget curl 7. 验证 gcc/cmake/python 版本 ✅ 准备就绪

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 源码了。