admin 管理员组

文章数量: 887018

本地编译我使用了不同的操作系统,不同的版本,不同的网络环境,甚至不同国度的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/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/fw876/helloworld
    ...
    

    在执行

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

    src-git weifuture https://github/hongweifuture/openwrt-packages
    src-git pwdep https://github/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/Lienol/openwrt-package' feeds.conf.default
sed -i '$a src-git hwfuture https://github/hongweifuture/openwrt-packages' feeds.conf.default
sed -i '$a src-git pwdep https://github/hongweifuture/pwdep.git' feeds.conf.default

编译的一些注意

编译的一些注意

本文标签: 固件 Actions GitHub LEDE OPENWRT