个人自用
本项目旨在通过自动化流程,编译OpenWrt 固件。利用 GitHub Actions,可以在每次推送代码或按计划自动构建最新固件,无需本地环境,节省时间和资源。
- 自动化构建: 基于 Git 提交或定时任务自动触发 OpenWrt 固件构建。
- 配置灵活: 通过版本控制管理
.config配置文件和feeds.conf,轻松复现和共享构建环境。 - 多设备支持: 可配置为同时或分别构建适用于不同硬件平台的固件。
- 构建缓存: 利用 CI 的缓存机制加速后续构建过程。
- 构建日志: 完整的在线构建日志,便于排查问题。
- 利用本仓库作为模板: 点击仓库页面右上角的 "Use this template" 按钮,创建您自己的副本。
- 修改 OpenWrt 源码和版本:
- 编辑
.github/workflows/AutoBuild.yml文件中的SOURCE和BRANCH变量,指向您想要构建的 OpenWrt 源码仓库和分支。
- 编辑
- 配置固件选项:
- 将您编译好的
.config文件替换仓库根目录下的Config/General.txt文件。您可以使用make menuconfig在本地生成,或者从现有固件提取。
- 将您编译好的
- 手动触发: 在您的 GitHub 仓库页面,转到
Actions选项卡,选择Build OpenWrt工作流,然后点击Run workflow按钮。 - 定时触发: 可以配置工作流以按计划(例如,每天凌晨)自动运行。
- 构建成功后,固件会自动上传到仓库的 Actions 页面。
- 您可以在对应的构建运行日志中找到详细的构建信息和产物列表。
.github/workflows/AutoBuild.yml: 主构建触发工作流文件。.github/workflows/OpenWrt-CI.yml: 核心的可重用 OpenWrt 构建工作流。.github/workflows/AutoClean.yml: 触发此构建的清理工作流(需存在)。configs/根目录下的.config文件README.md: 本说明文件。
| 参数名 (Key) | 描述 | 示例值 |
|---|---|---|
WRT_CONFIG |
要构建的设备配置名称 (对应 matrix CONFIG) | X86_64 |
WRT_THEME |
默认 LuCI 主题 | argon |
WRT_NAME |
默认主机名 | Openwrt |
WRT_IP |
默认 LAN IP 地址 | 192.168.31.1 |
WRT_REPO |
OpenWrt 源码仓库地址 (由 matrix SOURCE 构建) | https://github.com/openwrt/openwrt.git |
WRT_BRANCH |
OpenWrt 源码分支 (对应 matrix BRANCH) | openwrt-24.10 |
WRT_SOURCE |
OpenWrt 源码仓库路径 (对应 matrix SOURCE) | openwrt/openwrt |
WRT_PW |
默认 root 密码提示信息 | 无 |
WRT_SSID |
默认 WiFi SSID | Openwrt |
WRT_WORD |
默认 WiFi 密码 | 12345678 |
- 本项目仅供学习和研究使用。
- 固件构建过程可能因网络、配置或源码问题而失败。
- 请在刷写固件前务必备份原始固件,并了解相关风险。
- 作者不对因使用此固件而导致的任何设备损坏负责。