用Github Actions云编译Nanopi R2S固件

3月31日更新:本人初次尝试编译,水平有限,这里推荐大家直接使用大勇的固件https://github.com/klever1988/nanopi-openwrt

前言:经过几天研究,发现了一种更方便的编译固件,编译速度相比谷歌云8核vps时间会长点,但是更加方便,自动化程度高出错几率小。

使用步骤如下:

1,首先你需要注册一个github的账号,只需要有一个邮箱就可以,也不需要科学上网环境,这里就不演示了,网上也有很多教程。

2,打开我的项目https://github.com/tiantianxiaoxiaoxyz/AutoBuild-Nanopi-R2S ,先点击右上角的star,再点击fork,这样这个项目就复制到你的账号下了,这时候稍等几秒刷新下就可以在你账号下看到这个项目。项目根目录下的这个.config文件就是我们在再本地虚拟机或者vps上make menuconfig后保存的.config文件,你可以在本地配置好后把你的.config文件通过Upload files这个按钮上传上去替换掉本文件也可以直接点进去修改你需要的插件,或者在编译过程中还可以通过SSH登录上去云make menuconfig。

 

《用Github Actions云编译Nanopi R2S固件》

3,要开始编译固件就点击上图中的3所示位置进去修改workflows文件夹下的NanoPi-R2s RK3328 OpenWrt Build.yml文件的内容。

《用Github Actions云编译Nanopi R2S固件》

4,点击右上角的修改按钮,删除图中3行的#,注意不要把后面的空格也删了

《用Github Actions云编译Nanopi R2S固件》

5,修改好后点击,随便起个名字,再点击下面的按钮提交,编译程序就开始运行了

《用Github Actions云编译Nanopi R2S固件》

6,点击actions按钮,这时可以看到有一个叫NanoPi-R2s RK3328 OpenWrt Build的项目正在运行,点击打开,再单击左侧的Build,就可以看到运行的进度了。

《用Github Actions云编译Nanopi R2S固件》

7,我们可以看到程序正在按yml文件里的顺序执行,这时候就可以关闭网页,去干点别的,大概两个多小时后,程序运行完成,点击右上角的Artifacts 下载编译好的固件。《用Github Actions云编译Nanopi R2S固件》

是不是很简单呢?下次要再编译固件就直接点击修改NanoPi-R2s RK3328 OpenWrt Build.yml文件,然后提交就开始运行了(第一次修改后3个#被去掉了因此不需要再删除了)。

下面讲一下如何通过SSH登录进行云make menuconfig

1,首先修改NanoPi-R2s RK3328 OpenWrt Build.yml文件,将SSH_ACTIONS: false 修改为SSH_ACTIONS: true(注意中间的空格不要删),然后提交运行。

《用Github Actions云编译Nanopi R2S固件》

2,等程序运行到 SSH connection to Actions这一步时会给出两个链接,一个是通过终端登录的命令,一个是可以在浏览器网页登录的链接。

《用Github Actions云编译Nanopi R2S固件》

3,这里以终端登录为例,进去就跟我们平常在虚拟机或者vps编译是一样的,输入下面的命令,就可以云配置插件了,配置结束后按Ctrl + D退出,actions又会继续执行下面的步骤了。

cd friendlywrt-rk3328/friendlywrt

make menuconfig

《用Github Actions云编译Nanopi R2S固件》

 

感谢p3terx大神的云编译教程:https://p3terx.com/archives/build-openwrt-with-github-actions.html

还有Jolly大佬编译R1S固件的教程:https://totoro.site/index.php/archives/70/

最后感谢悟空的日常还有群里群友们。

点赞
  1. better说道:

    我想在SSR plus中加入kcp tun。把my-config中的CONFIG_PACKAGE_luci-app-ssr-plus_INCLUDE_Kcptun加上后,编译报错,请问需要怎么添加这个组件呢

    1. vipassana说道:

      esir的说明里写了64位ARM芯片选kcp tun会报错。但是在actions里最近编译的固件选了这项也能编译出来,你可以去actions试一试。

  2. tata说道:

    :redface: 不行,提示
    .github#L1

    Process completed with exit code 2.

    没有具体的错误信息,不知哪里错

    1. vipassana说道:

      重新上传一个.config文件吧,前两天我上传的那个config文件不兼容,或者复制我最新的.config文件就可以编译。建议登SSH去自己设置需要的配置,我对编译这块也是小白。

      1. iwendai说道:

        我也是出现这个问题,楼主可以再修复一下吗?本人纯小白,初次尝试。

        1. vipassana说道:

          用大勇的固件吧,每日更新。https://github.com/klever1988/nanopi-openwrt/releases

发表评论

电子邮件地址不会被公开。 必填项已用*标注