树莓派4B自建网页服务器指南(2):树莓派4B离线烧录+自定义基础配置
导言:为什么选择离线烧录?
Raspberry Pi Imager 的在线烧录功能在国内网络环境下经常遇到两个问题:下载慢(官方服务器在海外,高峰期仅几十 KB/s)和不稳定(网络波动易导致烧录中断或配置写入不完整)。
离线烧录的优势:
- 速度快且稳定:镜像提前下载到本地,烧录过程不依赖网络
- 完全可控:所有配置在烧录完成后手动设置,不受网络干扰
- 一次下载,多次复用:适合需要反复调试的场景
本教程采用离线烧录方式,确保你在任何网络环境下都能顺利完成树莓派的基础配置。
前置准备
硬件:树莓派 4B (带无线网卡)
离线系统镜像:Raspberry Pi OS Lite(无桌面版,基于 Debian)(https://downloads.raspberrypi.com/raspios_lite_arm64/images/raspios_lite_arm64-2026-04-21/2026-04-21-raspios-trixie-arm64-lite.img.xz)
工具:SD 卡烧录器(Raspberry Pi Imager)(https://downloads.raspberrypi.com/imager/imager_2.0.10.exe)、SSH 客户端(Windows Terminal / PowerShell)
用 Raspberry Pi Imager 离线烧录
打开 Raspberry Pi Imager
设备(Raspberry Pi Device):选择 Raspberry Pi 4
操作系统(Operating System):滚动到底部 → Use custom → 选择离线镜像 raspios-trixie-arm64-lite.img.xz
储存设备(Storage):选择目标 TF 卡。本文实操使用 64GB 卡;官方宣称 Raspberry Pi OS 最低 8GB 即可,但 Lite 版 apt upgrade后空间偏紧,建议 16GB 起,若后续跑 Docker / 私有云服务 32GB 更舒适,64GB 为本文实操容量。
点击 下一步
确认写入,等待进度完成
开始进行自定义配置
一、首次启动与键盘布局配置
树莓派首次启动进入 raspi-config配置界面:
选择 5 Localisation Options
选择 L3 Keyboard
选择 Other → English (US) → English (US) → 一路回车确认
这一步是为了后续输入特殊字符(如 /、#)时不出现错位。
二、设置用户名和密码
在首次启动引导中:
用户名建议设置为 pi
密码自行设定(牢记)
若忘记密码,可通过 SD 卡挂载修改 userconf文件重置。
三、设置 地区,永久解除WiFi / 蓝牙软件锁
首次进入系统:
sudo rfkill unblock all查看当前锁定状态:
rfkill list确保 Soft blocked: no。
完成上述步骤,设置地区,使用 raspi-config工具:
sudo raspi-config菜单操作:
选择 5 Localisation Options
选择 L4 WLAN Country
选择 CN China(根据实际地区选择)
选择 Finish 退出
此操作会在 /etc/wpa_supplicant/wpa_supplicant.conf中写入 country=CN,系统重启后自动生效。
四、修改主机名与映射配置
4.1 修改主机名
sudo hostnamectl set-hostname jiejinx4.2 更新 hosts 映射
sudo nano /etc/hosts确保包含以下行(注意大小写与主机名一致):
127.0.0.1 localhost
::1 localhost
127.0.1.1 jiejinx4.3 重启 avahi-daemon 使 mDNS 广播新主机名
sudo systemctl restart avahi-daemon五、本地化 设置时区
5.1 设置时区为上海
sudo timedatectl set-timezone Asia/Shanghai验证(联网后才可自动更新最新时间)
date六、配置WIFI + IPv6
6.1 解决 WiFi 漂移 / 断连问题
树莓派板载博通 WiFi 芯片(brcmfmac)在某些路由器环境下会出现周期性断连。通过内核模块参数禁用不稳定特性:
创建模块参数配置文件 :
echo "options brcmfmac roamoff=1 feature_disable=0x82000" | sudo tee /etc/modprobe.d/brcmfmac.conf参数说明: roamoff=1:禁用 802.11r 快速漫游 feature_disable=0x82000:禁用 SAE(WPA3 握手卸载)和 FWSUP(固件上层认证卸载)
重启系统使参数生效 :
sudo reboot验证参数是否加载 :
dmesg | grep brcmfmac无报错即为正常。
6.2 开/关机 自动关 WiFi 省电(防断联) —— disable-wifi-pm.service
sudo nano /etc/systemd/system/disable-wifi-pm.service写入以下内容:
[Unit]
Description=Disable WiFi Power Save on wlan0
After=NetworkManager.service
Before=network-online.target
[Service]
Type=oneshot
ExecStart=/sbin/iw dev wlan0 set power_save off
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target重启 avahi-daemon,并加入自启后,启动服务
sudo systemctl daemon-reload
sudo systemctl enable disable-wifi-pm
sudo systemctl start disable-wifi-pm验证:
iw dev wlan0 get power_save
# Power save: off6.3 WIFI前置服务 配置 NetworkManager 服务
6.3.1 禁用会与 NM 冲突的服务:
# 禁 systemd-networkd(防止它抢 wlan0)
sudo systemctl mask systemd-networkd验证:
systemctl is-enabled systemd-networkd
# masked6.3.2 启用 NetworkManager:
sudo systemctl enable NetworkManager
sudo systemctl start NetworkManager验证:
systemctl status NetworkManager
# active (running)6.3.3 配置 WiFi 图形界面版(含 IPv6 SLAAC)
sudo nmtuiActivate a connection
Scan → 选你的 SSID → 输入密码
Back→ Quit
6.3.4 配置 WiFi 命令行版(含 IPv6 SLAAC)
nmcli dev wifi connect "WiFi-SSID" password "WiFi密码" ifname wlan0参数说明:
connect "WiFi-SSID"→ 你的wifi 名,自行替换
password "WiFi密码" → 你的wifi 密码,自行替换
NM 会自动设 ipv6.method auto(SLAAC ✅)
仅保存wifi信息,暂不连接:(更换wifi路由器前,可提前配置,新路由器开机后直连)
sudo nmcli connection add type wifi ifname wlan0 con-name "WiFi-SSID" ssid "WiFi-SSID" wifi-sec.key-mgmt wpa-psk wifi-sec.psk "WiFi密码"确认已保存 :
nmcli con show
# 应看到 WiFi-SSID 记录验证双栈:
ip -4 addr show wlan0 | grep inet
#inet 192.168.x.x/24 scope global wlan0
ip -6 addr show wlan0 | grep 'scope global'
#inet6 2409:xxxx:xxxx:xxxx/64 scope global如 IPv6 未出现:
cat /proc/sys/net/ipv6/conf/wlan0/accept_ra
# 应为 1 或 2(NM 设的)
nmcli con down wlan-jiejinx && nmcli con up wlan-jiejinx6.3.5 确认不启用 wait-online 服务(防止开机连不上wifi时阻塞,加速开机)
# 确认未 enable
systemctl is-enabled NetworkManager-wait-online
# 应为 disabled 或 masked(默认 Lite 不启)
# 若误启了:
sudo systemctl disable NetworkManager-wait-online
sudo systemctl mask NetworkManager-wait-online七、开启 SSH 服务并测试外网访问
7.1 开启并设置 SSH 开机自启
sudo systemctl enable ssh
sudo systemctl start ssh7.2 从同一局域网内的 Windows 电脑测试连接
ssh pi@192.168.1.7或通过主机名(需 Windows 安装 Bonjour / iTunes):
ssh pi@jiejinx.local7.3 测试公网 IPv6 直连
在树莓派上查看公网 IPv6 地址:
ip -6 addr show wlan0 | grep global在同WIFI网段其他电脑中测试:
ssh pi@[2409:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx]注意:IPv6 地址需用方括号包裹。 手机流量等不通网段访问,需光猫关闭ipv6防护,且需自定义高位端口,详情见专栏第6篇。
总结
至此,你的树莓派已完成以下核心配置:
| 功能 | 状态 |
|---|---|
| 首次启动键盘布局配置(English US) | ✅ |
| 自定义用户名与密码 | ✅ |
| 解除 WiFi / 蓝牙软件锁(rfkill) | ✅ |
| 设置 WLAN 国家码(CN) | ✅ |
| 修改主机名(jiejinx) | ✅ |
| 更新 hosts 映射 | ✅ |
| mDNS 主机名广播(avahi-daemon) | ✅ |
| 设置时区为上海(Asia/Shanghai) | ✅ |
| 博通 WiFi 芯片防飘参数(roamoff=1 / feature_disable=0x82000) | ✅ |
| 开机自动关闭 WiFi 省电(disable-wifi-pm.service) | ✅ |
| 禁用 systemd-networkd(防止与 NM 冲突) | ✅ |
| 启用 NetworkManager 管理网络 | ✅ |
| 配置 WiFi 连接(含 IPv6 SLAAC 自动获取) | ✅ |
| 开机自动连接 WiFi | ✅ |
| 公网 IPv6 地址(SLAAC) | ✅ |
| 内网 IPv4 地址(DHCP) | ✅ |
| 禁用 NetworkManager-wait-online(加速开机) | ✅ |
| 开启 SSH 服务并设置开机自启 | ✅ |
| 局域网(同WiFi网段) SSH 连接(IP / 主机名) | ✅ |
现在,你可以通过 ssh pi@jiejinx.local (你的主机名)问你的树莓派,尽情搭建各种服务吧!