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等等Github Actions 云编译 OpenWRT LEDE 固件_第1张图片

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

    3. 这里以开启IPV6举例,详情查看在线excel
      Base system --> dnsmasq-full --> build with dhcpv6 support
      Github Actions 云编译 OpenWRT LEDE 固件_第2张图片
      Network --> Firewall --> ip6tables

      支持IPv6 Github Actions 云编译 OpenWRT LEDE 固件_第3张图片
      回车选上子选项ip6tables-extraip6tables-mod-natIPv6-NAT扩展
      Github Actions 云编译 OpenWRT LEDE 固件_第4张图片

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

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

搭建Actions 环境

P3TERX 的教程已经非常详细了

进入 P3TERX/Actions-OpenWrt 项目页面,点击页面中的 Use this template (使用这个模版)按钮。
Github Actions 云编译 OpenWRT LEDE 固件_第5张图片

填写仓库名称,然后点击 Create repository from template(从模版创建储存库)按钮。
Github Actions 云编译 OpenWRT LEDE 固件_第6张图片

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

然后点击 Create new file(创建新文件)按钮。
Github Actions 云编译 OpenWRT LEDE 固件_第7张图片

文件名填写为.config,把生成的.config 文件的内容复制粘贴到下面的文本框中。
Github Actions 云编译 OpenWRT LEDE 固件_第8张图片

翻到页面最下方,点击Commit new file(提交新文件)按钮。
Github Actions 云编译 OpenWRT LEDE 固件_第9张图片

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

等待编译完成,预计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

编译的一些注意

编译的一些注意

你可能感兴趣的:(Openwrt,linux,openwrt,lede,编译,软路由)