🔧 OpenWrt

OpenWrt 编译刷机完整教程(2026最新)

📅 2026-06-14 👁️ 3,120 阅读 ⏱️ 25分钟 ✍️ V2Key
🔧

OpenWrt 是目前最强大的开源路由器固件,支持丰富的软件包和高度的自定义。本文详细介绍从零搭建编译环境、拉取源码、配置固件到刷机的完整流程。

准备工作

硬件要求:
- 编译主机:Ubuntu 22.04/24.04(推荐)或 Debian
- CPU:4核以上(推荐8核)␣内存:8GB以上(推荐16GB)␣硬盘:至少50GB可用空间
- 网络:能访问GitHub和OpenWrt软件源(国内需要代理)

第一步:安装编译依赖

sudo apt update
sudo apt install -y build-essential clang flex bison g++ gawk \
  gcc-multilib g++-multilib gettext git libncurses5-dev libssl-dev \
  python3 python3-pip unzip zlib1g-dev file wget rsync cpio \
  libelf-dev autoconf automake libtool sharutils curl asciidoc

如果是 Ubuntu 24.04,还需要安装:

sudo apt install -y python3-distutils python3-setuptools

第二步:拉取 Lean's OpenWrt 源码(推荐)

Lean(coolsnowwolf)的OpenWrt源码是国内最流行的分支,集成了大量实用软件包(OpenClash、PassWall等)。

# 克隆源码
git clone https://github.com/coolsnowwolf/lede.git openwrt
cd openwrt

# 添加插件源(可选)
cd feeds
./scripts/feeds update -a
./scripts/feeds install -a
cd ..
💡 提示:国内用户建议使用 GitHub 镜像站或设置代理,否则下载速度极慢。

第三步:配置固件(make menuconfig)

make menuconfig

关键配置项:

推荐必选软件包:

# LuCI 应用
luci-app-openclash
luci-app-passwall
luci-app-adguardhome
luci-app-ddns
luci-app-upnp
luci-app-samba4
luci-app-aria2
luci-app-dockerman  # 如果路由器内存≥512MB

第四步:编译固件

# 下载 dl 包(预下载,避免编译时网络问题)
make download -j8

# 开始编译(-j 后数字为线程数,建议 CPU 核心数+1)
make V=s -j$(nproc)

# 如果编译失败,用单线程查看详细错误
make V=s -j1 2>&1 | tee build.log

编译时间:首次编译约30-90分钟(取决于机器配置)。编译完成后,固件在 bin/targets/ 目录下。

第五步:刷机

方法一:Web 刷机(推荐新手)
1. 路由器断电
2. 按住 Reset 键不放,通电,保持10秒
3. 电脑连路由器LAN口,设IP为 192.168.1.x
4. 浏览器访问 http://192.168.1.1
5. 上传编译好的固件,等待刷机完成
方法二:U-Boot 命令行刷机(进阶)
# 路由器通过串口连接,进入 U-Boot 命令行
# 设置 TFTP 服务器 IP 和固件路径后刷入
tftpboot 0x80000000 openwrt.bin
erase 0x9f050000 +0x7b0000
cp.b 0x80000000 0x9f050000 0x7b0000
bootm 0x9f050000

第六步:初始配置

刷机完成后:

  1. 访问 http://192.168.1.1 设置管理员密码
  2. 配置 WAN 口(PPPoE 拨号或 DHCP)
  3. 安装额外软件包:opkg update && opkg install luci-app-xxx
  4. 配置 OpenClash/PassWall 等代理工具

常见问题排查

编译失败:undefined reference to 'xxx'

通常是依赖缺失或源码版本不匹配。尝试 make clean && make defconfig 后重新编译。

刷机后无法启动

可能刷入了错误型号的固件。进入 U-Boot 救援模式重新刷机。

软件包安装失败

检查 /etc/opkg/distfeeds.conf 源地址是否正确,国内用户建议换成中科大或清华镜像。

⚠️ 警告:刷机有风险,操作不当可能导致路由器变砖。刷机前请备份原厂固件和 ART/EEPROM 分区!

进阶:自动化编译(GitHub Actions)

推荐使用 GitHub Actions 云端编译,无需本地高性能主机:

# 参考 Actions 模板
# https://github.com/coolsnowwolf/lede/issues
# Fork Lean's repo 后,在 Actions 页面触发编译

优势:免费、自动、可复现。编译完成后自动上传固件到 Releases。

💬 评论区