教程类文章具有时效性,看清楚发布日期,超过一定日子文章内容可能失效,仅仅作为参考。

2021年8月20日更新

请前往阅读新文章,旧文章不做修改。https://elstec.cn/archives/20210821

我想说的

碍于国内的网络环境,本地编译出错概率极高,我本地编译出错好几次,于是便转向了 Github 云编译(这应该也算一种曲线救国hhhh)。由于 Github 本身就处在国外,编译出错的几率大大降低。不过 Github Actions 有免费额度,超出需要额外收费。

https://github.com/features/actions

需要准备的

  1. 脑子
  2. 耐心
  3. GitHub账号

过程

不过利用 Github Actions 进行云编译有多种方法,我就举两例。区别就是,一种需要更改 openwrt-ci.yml 文件达到自定义编译,另一种则是需要在编译开始过程中通过SSH连接 Github Actions 的服务器手动选择配置LuCI,就跟本地编译差不多。

目录

方法一:不需要SSH

方法二:需要SSH

下载编译好的包

过程

两种方法均在有GitHub账号前提下进行操作,如果没有,请自行注册一个。

<span id="jump1"><h3>方法一</h3></span>

首先打开大雕的仓库。

https://github.com/coolsnowwolf/lede

然后点击右上角的 Fork 。看到 Forking 等待Fork结束。

Fork结束。

随即打开 正确的编写示例。这个链接可以在该项目找到 KFERMercer

打开 正确的编写示例之后 全选,复制。然后打开刚刚 Fork 的大雕的项目,有一个 Actions ,点击,出现如下情况,无视警告,点 I understand my workflows, go ahead and run them 进行激活 Actions

然后找到该项目的这个文件。

lede/.github/workflows/openwrt-ci.yml

然后点 Edit this file

把刚刚复制的内容粘贴进来,更改代码第15行,第30行。把 CI-demo 改成 默认分支master (没有骚操作就改这个)

完成之后点击右上角的 Start commitCommit changes ,触发编译。

然后重新回到 Actions 界面,就会看到一个编译进程。

编译时间较长,一般2-3小时不等,但是编译成功率比较高。

<h3><span id="jump2">方法二</span></h3>

打开,并 Fork 这个项目。

https://github.com/jcjyxjs/Actions-OpenWrt

首先,你需要编辑固件的 IP地址 建议你改一下,不改的话也没事。打开并编辑下面这个文件。

Actions-OpenWrt/diy.sh

在第10行中,有一个 192.168.1.200 就是编译好的固件地址。你可以按需更改。

#!/bin/bash
#=================================================
# Description: DIY script
# Lisence: MIT
# Author: P3TERX
# Blog: https://p3terx.com
#=================================================
# Modify default IP
#sed -i 's/192.168.1.1/192.168.50.5/g' package/base-files/files/bin/config_generate
sed -i 's/192.168.1.1/192.168.1.200/g' package/base-files/files/bin/config_generate

改完IP地址之后。点击下方的 Commit changes

然后打开你项目的 Actions 。无视警告,点 I understand my workflows, go ahead and run them 进行激活 Actions

完成之后,点击右上角的 Star 触发编译。

然后请不要关闭页面,等待编译到 SSH connection to Actions 之后,会给你一个SSH地址,和一个浏览器的https地址的一个网页端 (建议用网页)

浏览器配置SSH,打开链接之后会黑屏,按 Ctrl+C 解除封印,然后terminal输入。

cd openwrt && make menuconfig

手动选择需要编译哪些软件,就跟本地编译一样。

操作方法:

  1. 选择:Y
  2. 取消选择:Space
  3. 最下方的5个选项:键盘上下左右,选择用回车

软路由的话,第一个 x86 ,第二个 x64 其他什么都不用改,最重要的还是 LuCIApplications 选择你要保留哪些插件功能。

这里有一个对照表,对照LuCI中的名称对应哪些软件。

https://www.right.com.cn/forum/thread-344825-1-1.html

全部更改完成之后,在最下方选择 < Save > 进行保存。

不要更改名字,直接下一步下一步。最后 < Exit > 退出。退回到这个界面之后,按 Ctrl+D 退出终端。

------------------------------------
 ____ __________ _____ ____  __  __
|  _ \___ /_   _| ____|  _ \ \ \/ /
| |_) ||_ \ | | |  _| | |_) | \  /
|  __/___) || | | |___|  _ <  /  \
|_|  |____/ |_| |_____|_| \_\/_/\_\

Brought to you by P3TERX
GitHub: https://github.com/P3TERX
Blog: https://p3terx.com (chinese)
------------------------------------

# runner @ fv-az117 in ~/work/Actions-OpenWrt/Actions-OpenWrt [10:07:06]
$ cd openwrt && make menuconfig
fatal: Invalid revision range 97a4ffcc125611dd5f307d54570373832a73e62d..HEAD
fatal: Invalid revision range 97a4ffcc125611dd5f307d54570373832a73e62d..65cdb1918bf8ab2e880acf952c46b92d139df97d
fatal: Invalid revision range 97a4ffcc125611dd5f307d54570373832a73e62d..HEAD
fatal: Invalid revision range 97a4ffcc125611dd5f307d54570373832a73e62d..65cdb1918bf8ab2e880acf952c46b92d139df97d


*** End of the configuration.
*** Execute 'make' to start the build or try 'make help'.

# runner @ fv-az117 in ~/work/Actions-OpenWrt/Actions-OpenWrt/openwrt [10:11:00]
$ 

然后 Actions 会继续进行下一步,直到编译完成。

编译时间较长,一般2-3小时不等,但是编译成功率比较高。

其他

<h3><span id="jump3">下载编译好的包</span></h3>

Actions 编译的这个任务中有下载地址。

最后修改:2022 年 02 月 20 日 04 : 42 PM
如果觉得我的文章对你有用,请随意赞赏