Github Actions 云编译 OpenWRT LEDE 固件

本地编译我使用了不同的操作系统,不同的版本,不同的网络环境,甚至不同国度的VPS - .-,还是会有这样或那样的问题,其实就是网络的问题,现在有了Github Actions,一切变得简单了,我之前也出过有关Github Actions的教程,可以一块学习下~

说明

  1. 基于 P3TERX 的脚本进行构建辅助
  2. 基于 大雕的LEDE 为源码,作为鬼群的lean粉强烈推荐
  3. 本人.config参考 基于x86

步骤

  1. 搭建编译环境,生成.config文件(推荐,虽然Actions可以使用SSH connection进行云生成,但并不好用)
  2. 搭建Actions环境,进行构建

搭建编译环境

参考 大雕LEDE 的步骤

注意:

  • 不要用 root 用户 git 和编译!!!
  • 国内用户编译前最好准备好梯子(其实有没有都行,只为了生成.config配置文件)
  • 默认登陆IP 192.168.1.1, 密码 password(在Actions中我会更改IP地址,但密码不变,在系统内可以修改)

编译命令如下:

  1. 首先装好 Ubuntu 64bit,推荐 Ubuntu 18 LTS x64,我下载的是 Ubuntu官网Ubuntu Server 18.04.5 LTS

  2. 系统安装略,我使用的是VMware vSphere ESXI 6.7 U3

  3. 进入Ubuntu系统,命令行输入 sudo apt-get update ,然后输入 sudo apt-get -y install build-essential asciidoc binutils bzip2 gawk gettext git libncurses5-dev libz-dev pUatch python3 python2.7 unzip zlib1g-dev lib32gcc1 libc6-dev-i386 subversion flex uglifyjs git-core gcc-multilib p7zip p7zip-full msmtp libssl-dev texinfo libglib2.0-dev xmlto qemu-utils upx libelf-dev autoconf automake libtool autopoint device-tree-compiler g++-multilib antlr3 gperf wget curl swig rsync

  4. 使用 git clone https://github.com/coolsnowwolf/lede 命令下载好源代码,然后 cd lede 进入目录

  5. 方式一:默认使用LEAN的packages

    ./scripts/feeds update -a
    ./scripts/feeds install -a
    make menuconfig
    
  6. 方式二:添加带有酸酸乳的packages
    编辑目录下的feeds.conf.default文件,取消helloworld的注释,即删除#

    ...
    src-git helloworld https://github.com/fw876/helloworld
    ...
    

    在执行

    ./scripts/feeds update -a
    ./scripts/feeds install -a
    make menuconfig
    
  7. 方式三:添加有帕斯沃、克拉斯、adguardhome 等的packages
    编辑目录下的feeds.conf.default文件,添加源

    src-git weifuture https://github.com/hongweifuture/openwrt-packages
    src-git pwdep https://github.com/hongweifuture/pwdep.git
    

    在执行

    ./scripts/feeds update -a
    ./scripts/feeds install -a
    make menuconfig
    
  8. 重点设置,‘*’ 代表编入固件,‘M’ 表示编译成模块或者IPK包, ‘空’不编译

    1. 系统架构,选择前三项,根据实际情况进行选择,如X86、ipq40xx、bcm27xx等等在这里插入图片描述

    2. 软件中心,选择LuCI -> Applications 添加插件应用,在线excel说明插件详情 或者 查看这里:编译OpenWRT LEDE 固件的一些说明

    3. 这里以开启IPV6举例,详情查看在线excel
      Base system --> dnsmasq-full --> build with dhcpv6 support
      		在这里插入图片描述
      Network --> Firewall --> ip6tables

      支持IPv6 在这里插入图片描述
      回车选上子选项ip6tables-extraip6tables-mod-natIPv6-NAT扩展
      在这里插入图片描述

  9. 保存后提取config,复制到搭建Actions 环境下面的.config文件中

    # 显示隐藏文件  .config
    ls -la
    
    # 查看
    tail -f .config
    
    # 下载
    ftp、scp等等
    

搭建Actions 环境

P3TERX 的教程已经非常详细了

进入 P3TERX/Actions-OpenWrt 项目页面,点击页面中的 Use this template (使用这个模版)按钮。
在这里插入图片描述

填写仓库名称,然后点击 Create repository from template(从模版创建储存库)按钮。
在这里插入图片描述

经过几秒钟的等待,页面会跳转到新建的仓库,内容和我的项目是相同的。

然后点击 Create new file(创建新文件)按钮。
在这里插入图片描述

文件名填写为.config,把生成的.config 文件的内容复制粘贴到下面的文本框中。
在这里插入图片描述

翻到页面最下方,点击Commit new file(提交新文件)按钮。
在这里插入图片描述

Actions 页面选择Build OpenWrt,然后点击Run Workflow按钮,即可开始编译。(如果需要 SSH 连接则把SSH connection to Actions的值改为true。其它详情参见 进阶使用 相关章节,不建议通过此方式,网络原因你懂的)
在这里插入图片描述

等待编译完成,预计2小时,根据不同的内容实际实际不同。不出意外你就可以在Actions页面看到已经打包好的固件目录压缩包。

进阶

配置ip,diy-part2.sh

# Modify default IP
sed -i 's/192.168.1.1/192.168.1.230/g' package/base-files/files/bin/config_generate

添加软件源,diy-part1.sh

# Add a feed source
# sed -i '$a src-git lienol https://github.com/Lienol/openwrt-package' feeds.conf.default
sed -i '$a src-git hwfuture https://github.com/hongweifuture/openwrt-packages' feeds.conf.default
sed -i '$a src-git pwdep https://github.com/hongweifuture/pwdep.git' feeds.conf.default

编译的一些注意

编译的一些注意

  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
GitHub Actions是一项强大的自动化工作流工具,可以与各种平台集成,包括阿里。通过GitHub Actions,我们可以在代码提交或其他事件触发时,自动部署我们的应用程序到阿里。 首先,我们需要在GitHub仓库中创建一个新的工作流文件(workflow file)。这个文件定义了部署到阿里的步骤和操作。我们可以使用YAML格式编写这个文件,并将其放置在仓库的.github/workflows目录下。 在工作流文件中,我们可以定义多个job(作业),每个job执行一个或多个步骤。我们可以指定触发条件,例如当代码推送到特定分支时触发部署。 为了部署到阿里,我们需要提供阿里的访问凭据和其他必要的配置信息。我们可以使用GitHub仓库的Secrets功能来安全地存储这些凭据。在工作流文件中,我们可以通过workflow的env属性获取这些凭据,并将其传递给部署步骤。 在部署步骤中,我们可以使用阿里提供的CLI命令或API来执行具体的部署操作。例如,我们可以通过CLI命令将我们的应用程序打包并上传到阿里的存储服务,然后通过API请求将应用程序部署到阿里服务器。 完成工作流的编写和配置后,我们可以将其保存并提交到GitHub仓库。在每次满足触发条件的事件发生时,GitHub Actions将自动运行我们的工作流,并执行部署到阿里的步骤。 通过GitHub Actions部署到阿里,我们可以实现自动化的持续集成和部署,大大简化了我们的工作流程,提高了开发和部署的效率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值