本项目基于 P3TERX 的 Actions-OpenWrt 项目:
https://github.com/P3TERX/Actions-OpenWrt
本项目还参考了以下项目的部分代码:
https://github.com/project-openwrt/The-Compiled-OpenWrt-Firmwares
https://github.com/ljk4160/GDOCK
特此感谢~
此项目基于 Github Action 平台,可实现以下功能:
- 自动搭建 OpenWrt 编译环境
- 自动拉取 OpenWrt 代码及一些优秀的第三方软件包项目
- 自动构建适用于树莓派各版本的 OpenWrt 固件
- 固件构建完毕后自动发布相应 Action 任务首页以供下载
-
在 Github 中 Fork Action-OpenWrt-Rpi 仓库至你的账户下。
-
复制 template/config 文件夹中所编译 "设备-版本" 的 config 文件至
项目根目录
。复制 template/workflows 文件夹中所编译 "设备-版本" 的 yml 文件至
.github/workflows
目录。同时,项目已预置适用于树莓派 2~4 的 Lean 大版 OpenWrt 配置文件,可开箱即用。
以下步骤任选其一即可:
(以 config 文件为例,yml 文件同理)
(1) 使用 git 命令:
git clone 你 Fork 后的项目 到本地,将所需 config 文件从 template 目录中复制到项目根目录,然后 git add & git commit & git push。
(如果你不熟悉 git 命令,不建议采用此方法)
(2) 在 Github 桌面版网页中在线操作:
在 Github 仓库中的 template 文件夹找到你想要编译的 config 文件,全选文件内容并复制,接着回到项目根目录,新建一个文件,粘贴刚刚复制的内容,同时此文件的文件名需确保与 template 文件夹中的相应文件名 完全一致 。完成以上步骤后提交即可。
完成以上两步后,Github Action 即可自动开始编译。
本项目采用两种触发方式:
-
检测到项目根目录下指定文件名.config 文件发生变动(下文说明)
-
新的 Release 被发布
此外,Github Action 支持多种触发方式,比如定时触发、Star 触发等,详细操作方法请前往 P3terx 大佬的博客 中查看~
-
本项目提供的配置文件与博客中 "自编译 OpenWrt 固件" 功能基本相同。
-
配置文件涵盖树莓派 1~4 四个设备,每个设备又分为官方版 OpenWrt 与 Lean 大版 OpenWrt 两个配置文件,其中适用于树莓派 2 的配置文件通用于树莓派 2~4,除此之外的其他配置文件互不通用。
-
建议直接编辑配置文件增删固件功能,编辑配置文件时只需要增删最顶层的软件包即可,软件包依赖项可不必在配置文件中体现。
-
在不更改 Github Action 描述文件 ( /github/workflows/yml 文件) 的情况下,项目根目录下 config 文件名须与 template 文件夹下的文件名完全一致。若文件名有出入则不会触发自动编译。
-
因 Github Action 限制,编译后生成的固件及相关文件需要登录 Github 帐号方可查看及下载。
-
因 Github Action 限制,提供下载的文件均为压缩后的 zip 文件,故文件实际下载大小与页面所示大小不符,文件解压后应与页面标识大小相符。
-
强烈建议只编译所需固件以节约公共计算资源。