Skip to content

树莓派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 / 蓝牙软件锁

首次进入系统:

bash
sudo rfkill unblock all

查看当前锁定状态:

bash
rfkill list

确保 Soft blocked: no。

完成上述步骤,设置地区,使用 raspi-config工具:

bash
sudo raspi-config

菜单操作:

选择 5 Localisation Options

选择 L4 WLAN Country

选择 CN China(根据实际地区选择)

选择 Finish 退出

此操作会在 /etc/wpa_supplicant/wpa_supplicant.conf中写入 country=CN,系统重启后自动生效。


四、修改主机名与映射配置

4.1 修改主机名

bash
sudo hostnamectl set-hostname jiejinx

4.2 更新 hosts 映射

bash
sudo nano /etc/hosts

确保包含以下行(注意大小写与主机名一致):

bash
127.0.0.1 localhost
::1 localhost
127.0.1.1 jiejinx

4.3 重启 avahi-daemon 使 mDNS 广播新主机名

bash
sudo systemctl restart avahi-daemon

五、本地化 设置时区

5.1 设置时区为上海

bash
sudo timedatectl set-timezone Asia/Shanghai

验证(联网后才可自动更新最新时间)

bash
date

六、配置WIFI + IPv6

6.1 解决 WiFi 漂移 / 断连问题

树莓派板载博通 WiFi 芯片(brcmfmac)在某些路由器环境下会出现周期性断连。通过内核模块参数禁用不稳定特性:

创建模块参数配置文件 :

bash
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(固件上层认证卸载)

重启系统使参数生效 :

bash
sudo reboot

验证参数是否加载 :

bash
dmesg | grep brcmfmac

无报错即为正常。

6.2 开/关机 自动关 WiFi 省电(防断联) —— disable-wifi-pm.service

bash
sudo nano /etc/systemd/system/disable-wifi-pm.service

写入以下内容:

text
[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,并加入自启后,启动服务

bash
sudo systemctl daemon-reload
sudo systemctl enable disable-wifi-pm
sudo systemctl start disable-wifi-pm

验证:

bash
iw dev wlan0 get power_save
# Power save: off

6.3 WIFI前置服务 配置 NetworkManager 服务

6.3.1 禁用会与 NM 冲突的服务:
bash
# 禁 systemd-networkd(防止它抢 wlan0)
sudo systemctl mask systemd-networkd

验证:

bash
systemctl is-enabled systemd-networkd
# masked
6.3.2 启用 NetworkManager:
bash
sudo systemctl enable NetworkManager
sudo systemctl start NetworkManager

验证:

bash
systemctl status NetworkManager
# active (running)
6.3.3 配置 WiFi 图形界面版(含 IPv6 SLAAC)
bash
sudo nmtui

Activate a connection

Scan → 选你的 SSID → 输入密码

Back→ Quit

6.3.4 配置 WiFi 命令行版(含 IPv6 SLAAC)
bash
nmcli dev wifi connect "WiFi-SSID" password "WiFi密码" ifname wlan0

参数说明:

connect "WiFi-SSID"→ 你的wifi 名,自行替换

password "WiFi密码" → 你的wifi 密码,自行替换

NM 会自动设 ipv6.method auto(SLAAC ✅)

仅保存wifi信息,暂不连接:(更换wifi路由器前,可提前配置,新路由器开机后直连)

bash
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密码"

确认已保存 :

bash
nmcli con show
# 应看到 WiFi-SSID 记录

验证双栈:

bash
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 未出现:

bash
cat /proc/sys/net/ipv6/conf/wlan0/accept_ra

# 应为 1 或 2(NM 设的)

nmcli con down wlan-jiejinx && nmcli con up wlan-jiejinx
6.3.5 确认不启用 wait-online 服务(防止开机连不上wifi时阻塞,加速开机)
bash
# 确认未 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 开机自启

bash
sudo systemctl enable ssh
sudo systemctl start ssh

7.2 从同一局域网内的 Windows 电脑测试连接

bash
ssh pi@192.168.1.7

或通过主机名(需 Windows 安装 Bonjour / iTunes):

bash
ssh pi@jiejinx.local

7.3 测试公网 IPv6 直连

在树莓派上查看公网 IPv6 地址:

bash
ip -6 addr show wlan0 | grep global

在同WIFI网段其他电脑中测试:

bash
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 (你的主机名)问你的树莓派,尽情搭建各种服务吧!