KFERMercer / OpenWrt-CI

OpenWrt CI 在线集成自动编译环境
MIT License
1.41k stars 5.92k forks source link

请问如何编译出带factory.bin的固件 #41

Closed bonnyandsky closed 4 years ago

bonnyandsky commented 4 years ago

多文件系统支持:

      # cat >> .config <<EOF
      # CONFIG_PACKAGE_kmod-fs-nfs=y
      # CONFIG_PACKAGE_kmod-fs-nfs-common=y
      # CONFIG_PACKAGE_kmod-fs-nfs-v3=y
      # CONFIG_PACKAGE_kmod-fs-nfs-v4=y
      # CONFIG_PACKAGE_kmod-fs-ntfs=y
      # CONFIG_PACKAGE_kmod-fs-squashfs=y
      # EOF

这边我保持默认,但是编译出来的固件没有factory.bin的版本。请问是需要如何修改可以得到对应的固件。另外ipv6保持默认的话也是不开启状态么? image

KFERMercer commented 4 years ago

发下你的配置文件

bonnyandsky commented 4 years ago

发下你的配置文件 ` #

This is free software, lisence use MIT.

Copyright (C) 2019 P3TERX https://p3terx.com

Copyright (C) 2019 KFERMercer KFER.Mercer@gmail.com

https://github.com/KFERMercer/OpenWrt-CI

name: ledenew-ci

on: schedule:

jobs: build: runs-on: ubuntu-latest

steps:
  - name: Checkout
    uses: actions/checkout@master
    with:
      ref: master

  - name: Initialization environment
    env:
      DEBIAN_FRONTEND: noninteractive
    run: |
      docker rmi `docker images -q`
      echo "Deleting files, please wait ..."
      sudo rm -rf /usr/share/dotnet /etc/apt/sources.list.d/* /etc/mysql /etc/php
      sudo -E apt-get -y purge azure-cli ghc* zulu* hhvm llvm* firefox google* dotnet* powershell openjdk* mysql* php*
      sudo -E apt-get update
      sudo -E apt-get -y install build-essential asciidoc binutils bzip2 gawk gettext git libncurses5-dev libz-dev patch 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
      sudo -E apt-get -y autoremove --purge
      sudo -E apt-get clean
  - name: Update feeds
    run: |
      ./scripts/feeds update -a
      ./scripts/feeds install -a
  - name: Costom configure file
    run: |
      rm -f ./.config*
      touch ./.config
      #
      # ========================固件定制部分========================
      # 
      # 
      # 如果不对本区块做出任何编辑, 则生成默认配置固件. 
      # 
      # 以下为定制化固件选项和说明:
      #
      #
      # 有些插件/选项是默认开启的, 如果想要关闭, 请参照以下示例进行编写:
      # 
      #          =========================================
      #         |  # 取消编译VMware镜像:                   |
      #         |  cat >> .config <<EOF                   |
      #         |  # CONFIG_VMDK_IMAGES is not set        |
      #         |  EOF                                    |
      #          =========================================
      #
      # 
      # 以下是一些提前准备好的一些插件选项.
      # 直接取消注释相应代码块即可应用. 不要取消注释代码块上的汉字说明.
      # 如果不需要代码块里的某一项配置, 只需要删除相应行.
      #
      # 如果需要其他插件, 请按照示例自行添加.
      # 注意, 只需添加依赖链顶端的包. 如果你需要插件 A, 同时 A 依赖 B, 即只需要添加 A.
      # 
      # 无论你想要对固件进行怎样的定制, 都需要且只需要修改 EOF 回环内的内容.
      # 
      # 编译小娱固件:
      cat >> .config <<EOF
      CONFIG_TARGET_ramips=y
      CONFIG_TARGET_ramips_mt7621=y
      CONFIG_TARGET_ramips_mt7621_DEVICE_xiaoyu_xy-c5=y
      EOF
      # 固件压缩:
      # cat >> .config <<EOF
      # CONFIG_TARGET_IMAGES_GZIP=y
      # EOF
      # 编译UEFI固件:
      # cat >> .config <<EOF
      # CONFIG_EFI_IMAGES=y
      # EOF
      # IPv6支持:
      cat >> .config <<EOF
      CONFIG_PACKAGE_dnsmasq_full_dhcpv6=y
      CONFIG_PACKAGE_ipv6helper=y
      EOF
      # 多文件系统支持:
      cat >> .config <<EOF
      CONFIG_PACKAGE_kmod-fs-nfs=y
      CONFIG_PACKAGE_kmod-fs-nfs-common=y
      CONFIG_PACKAGE_kmod-fs-nfs-v3=y
      CONFIG_PACKAGE_kmod-fs-nfs-v4=y
      CONFIG_PACKAGE_kmod-fs-ntfs=y
      CONFIG_PACKAGE_kmod-fs-squashfs=y
      EOF
      # USB3.0支持:
      # cat >> .config <<EOF
      # CONFIG_PACKAGE_kmod-usb-ohci=y
      # CONFIG_PACKAGE_kmod-usb-ohci-pci=y
      # CONFIG_PACKAGE_kmod-usb2=y
      # CONFIG_PACKAGE_kmod-usb2-pci=y
      # CONFIG_PACKAGE_kmod-usb3=y
      # EOF
      # 常用LuCI插件选择:
      cat >> .config <<EOF
      CONFIG_PACKAGE_luci-app-ssr-plus_INCLUDE_Kcptun=y
      CONFIG_PACKAGE_luci-app-ssr-plus_INCLUDE_Shadowsocks=y
      CONFIG_PACKAGE_luci-app-ssr-plus_INCLUDE_ShadowsocksR_Server=y
      CONFIG_PACKAGE_luci-app-ssr-plus_INCLUDE_ShadowsocksR_Socks=y
      CONFIG_PACKAGE_luci-app-ssr-plus_INCLUDE_V2ray=y
      CONFIG_PACKAGE_luci-app-ssr-plus_INCLUDE_Trojan=y
      CONFIG_PACKAGE_luci-app-accesscontrol=y
      CONFIG_PACKAGE_luci-app-adbyby-plus=y
      CONFIG_PACKAGE_luci-app-arpbind=y
      CONFIG_PACKAGE_luci-app-autoreboot=y
      CONFIG_PACKAGE_luci-app-ddns=y
      CONFIG_PACKAGE_luci-app-filetransfer=y
      CONFIG_PACKAGE_luci-app-firewall=y
      CONFIG_PACKAGE_luci-app-flowoffload=y
      CONFIG_PACKAGE_luci-app-ipsec-vpnd=y
      CONFIG_PACKAGE_luci-app-nlbwmon=y
      CONFIG_PACKAGE_luci-app-pptp-server=y
      CONFIG_PACKAGE_luci-app-ramfree=y
      CONFIG_PACKAGE_luci-app-sqm=y
      CONFIG_PACKAGE_luci-app-ttyd=y
      CONFIG_PACKAGE_luci-app-upnp=y
      CONFIG_PACKAGE_luci-app-vlmcsd=y
      CONFIG_PACKAGE_luci-app-wol=y
      CONFIG_PACKAGE_luci-app-ntpc=y
      CONFIG_PACKAGE_luci-app-sqm=y
      CONFIG_PACKAGE_luci-app-statistics=y
      CONFIG_PACKAGE_luci-app-vlmcsd=y
      CONFIG_PACKAGE_luci-app-vnstat=y
      CONFIG_PACKAGE_luci-app-watchcat=y
      CONFIG_PACKAGE_luci-app-webadmin=y
      CONFIG_PACKAGE_luci-proto-bonding=y
      # CONFIG_PACKAGE_luci-app-zerotier is not set
      # CONFIG_PACKAGE_luci-app-vsftpd is not set
      # CONFIG_PACKAGE_luci-app-xlnetacc is not set
      EOF
      # LuCI主题:
      cat >> .config <<EOF
      CONFIG_PACKAGE_luci-theme-bootstrap=y
      EOF
      # 常用软件包:
      # cat >> .config <<EOF
      # CONFIG_PACKAGE_curl=y
      # CONFIG_PACKAGE_htop=y
      # CONFIG_PACKAGE_nano=y
      # CONFIG_PACKAGE_screen=y
      # CONFIG_PACKAGE_tree=y
      # CONFIG_PACKAGE_vim-fuller=y
      # CONFIG_PACKAGE_wget=y
      # EOF
      # 取消编译VMware镜像以及镜像填充 (不要删除被缩进的注释符号):
      # cat >> .config <<EOF
      # # CONFIG_TARGET_IMAGES_PAD is not set
      # # CONFIG_VMDK_IMAGES is not set
      # EOF
      # 
      # ========================固件定制部分结束========================
      # 
      sed -i 's/^[ \t]*//g' ./.config
      make defconfig
  - name: Make download
    run: |
      make download -j8
      find ./dl/ -size -1024c -exec rm -f {} \;
  - name: Compile firmware
    run: DEBIAN_FRONTEND=noninteractive make -j$(nproc) V=s

  - name: Prepare artifact
    run: find ./bin/targets/ -type d -name "packages" | xargs rm -rf {}

  - name: Upload artifact
    uses: actions/upload-artifact@master
    with:
      name: OpenWrt firmware
      path: ./bin/targets/`

编译的文件内容如上,另外问下,ipv6这边我没做修改,默认是支持的对吧,但是我问了电信和我说已经开通ipv6了。但是我拨号后只拿到ipv4的地址,是我编译有问题还是设置有问题? 以下是编译产生的config.seed内容 `CONFIG_TARGET_ramips=y CONFIG_TARGET_ramips_mt7621=y CONFIG_TARGET_ramips_mt7621_DEVICE_xiaoyu_xy-c5=y CONFIG_LIBSODIUM_MINIMAL=y CONFIG_PACKAGE_6in4=y CONFIG_PACKAGE_boost=y CONFIG_PACKAGE_boost-date_time=y CONFIG_PACKAGE_boost-program_options=y CONFIG_PACKAGE_boost-system=y CONFIG_PACKAGE_ca-certificates=y CONFIG_PACKAGE_collectd=y CONFIG_PACKAGE_collectd-mod-cpu=y CONFIG_PACKAGE_collectd-mod-interface=y CONFIG_PACKAGE_collectd-mod-iwinfo=y CONFIG_PACKAGE_collectd-mod-load=y CONFIG_PACKAGE_collectd-mod-memory=y CONFIG_PACKAGE_collectd-mod-network=y CONFIG_PACKAGE_collectd-mod-rrdtool=y CONFIG_PACKAGE_dnsmasq_full_dhcpv6=y CONFIG_PACKAGE_ip6tables=y CONFIG_PACKAGE_ipt2socks=y CONFIG_PACKAGE_iptables-mod-ipsec=y CONFIG_PACKAGE_ipv6helper=y CONFIG_PACKAGE_kcptun-client=y CONFIG_PACKAGE_kmod-bonding=y CONFIG_PACKAGE_kmod-crypto-acompress=y CONFIG_PACKAGE_kmod-crypto-cbc=y CONFIG_PACKAGE_kmod-crypto-deflate=y CONFIG_PACKAGE_kmod-crypto-des=y CONFIG_PACKAGE_kmod-crypto-echainiv=y CONFIG_PACKAGE_kmod-crypto-hmac=y CONFIG_PACKAGE_kmod-crypto-iv=y CONFIG_PACKAGE_kmod-crypto-md5=y CONFIG_PACKAGE_kmod-crypto-rng=y CONFIG_PACKAGE_kmod-crypto-sha256=y CONFIG_PACKAGE_kmod-crypto-wq=y CONFIG_PACKAGE_kmod-dnsresolver=y CONFIG_PACKAGE_kmod-fs-nfs=y CONFIG_PACKAGE_kmod-fs-nfs-common=y CONFIG_PACKAGE_kmod-fs-nfs-v3=y CONFIG_PACKAGE_kmod-fs-nfs-v4=y CONFIG_PACKAGE_kmod-fs-ntfs=y CONFIG_PACKAGE_kmod-fs-squashfs=y CONFIG_PACKAGE_kmod-ipsec=y CONFIG_PACKAGE_kmod-ipsec4=y CONFIG_PACKAGE_kmod-ipsec6=y CONFIG_PACKAGE_kmod-ipt-ipsec=y CONFIG_PACKAGE_kmod-ipt-nat6=y CONFIG_PACKAGE_kmod-iptunnel4=y CONFIG_PACKAGE_kmod-iptunnel6=y CONFIG_PACKAGE_kmod-lib-zlib-deflate=y CONFIG_PACKAGE_kmod-lib-zlib-inflate=y CONFIG_PACKAGE_kmod-nf-nat6=y CONFIG_PACKAGE_kmod-sit=y CONFIG_PACKAGE_libcap=y CONFIG_PACKAGE_libev=y CONFIG_PACKAGE_libgd=y CONFIG_PACKAGE_libgmp=y CONFIG_PACKAGE_libjpeg=y CONFIG_PACKAGE_libltdl=y CONFIG_PACKAGE_libmbedtls=y CONFIG_PACKAGE_libpng=y CONFIG_PACKAGE_librrd1=y CONFIG_PACKAGE_libsodium=y CONFIG_PACKAGE_libstdcpp=y CONFIG_PACKAGE_libuv=y CONFIG_PACKAGE_libwebsockets-full=y CONFIG_PACKAGE_luci-app-ipsec-vpnd=y CONFIG_PACKAGE_luci-app-ntpc=y CONFIG_PACKAGE_luci-app-ssr-plus_INCLUDE_Kcptun=y CONFIG_PACKAGE_luci-app-ssr-plus_INCLUDE_Shadowsocks=y CONFIG_PACKAGE_luci-app-ssr-plus_INCLUDE_ShadowsocksR_Server=y CONFIG_PACKAGE_luci-app-ssr-plus_INCLUDE_ShadowsocksR_Socks=y CONFIG_PACKAGE_luci-app-ssr-plus_INCLUDE_Trojan=y CONFIG_PACKAGE_luci-app-ssr-plus_INCLUDE_V2ray=y CONFIG_PACKAGE_luci-app-statistics=y CONFIG_PACKAGE_luci-app-ttyd=y CONFIG_PACKAGE_luci-app-vnstat=y

CONFIG_PACKAGE_luci-app-vsftpd is not set

CONFIG_PACKAGE_luci-app-watchcat=y CONFIG_PACKAGE_luci-app-webadmin=y CONFIG_PACKAGE_luci-i18n-ipsec-vpnd-zh-cn=y CONFIG_PACKAGE_luci-i18n-ntpc-zh-cn=y CONFIG_PACKAGE_luci-i18n-statistics-zh-cn=y CONFIG_PACKAGE_luci-i18n-ttyd-zh-cn=y CONFIG_PACKAGE_luci-i18n-vnstat-zh-cn=y CONFIG_PACKAGE_luci-i18n-watchcat-zh-cn=y CONFIG_PACKAGE_luci-i18n-webadmin-zh-cn=y CONFIG_PACKAGE_luci-proto-bonding=y CONFIG_PACKAGE_luci-proto-ipv6=y CONFIG_PACKAGE_ntpclient=y CONFIG_PACKAGE_odhcp6c=y CONFIG_PACKAGE_odhcp6c_ext_cer_id=0 CONFIG_PACKAGE_odhcpd-ipv6only=y CONFIG_PACKAGE_odhcpd_ipv6only_ext_cer_id=0 CONFIG_PACKAGE_proto-bonding=y CONFIG_PACKAGE_rrdtool1=y CONFIG_PACKAGE_shadowsocks-libev-config=y CONFIG_PACKAGE_shadowsocks-libev-ss-redir=y CONFIG_PACKAGE_shadowsocksr-libev-server=y CONFIG_PACKAGE_shadowsocksr-libev-ssr-local=y CONFIG_PACKAGE_strongswan=y CONFIG_PACKAGE_strongswan-charon=y CONFIG_PACKAGE_strongswan-ipsec=y CONFIG_PACKAGE_strongswan-minimal=y CONFIG_PACKAGE_strongswan-mod-aes=y CONFIG_PACKAGE_strongswan-mod-gmp=y CONFIG_PACKAGE_strongswan-mod-hmac=y CONFIG_PACKAGE_strongswan-mod-kernel-netlink=y CONFIG_PACKAGE_strongswan-mod-nonce=y CONFIG_PACKAGE_strongswan-mod-pubkey=y CONFIG_PACKAGE_strongswan-mod-random=y CONFIG_PACKAGE_strongswan-mod-sha1=y CONFIG_PACKAGE_strongswan-mod-socket-default=y CONFIG_PACKAGE_strongswan-mod-stroke=y CONFIG_PACKAGE_strongswan-mod-updown=y CONFIG_PACKAGE_strongswan-mod-x509=y CONFIG_PACKAGE_strongswan-mod-xauth-generic=y CONFIG_PACKAGE_strongswan-mod-xcbc=y CONFIG_PACKAGE_trojan=y CONFIG_PACKAGE_ttyd=y CONFIG_PACKAGE_v2ray=y CONFIG_PACKAGE_vnstat=y CONFIG_PACKAGE_vnstati=y

CONFIG_PACKAGE_vsftpd-alt is not set

CONFIG_PACKAGE_watchcat=y CONFIG_STRONGSWAN_ROUTING_TABLE="220" CONFIG_STRONGSWAN_ROUTING_TABLE_PRIO="220" CONFIG_boost-compile-visibility-hidden=y CONFIG_boost-runtime-shared=y CONFIG_boost-static-and-shared-libs=y CONFIG_boost-variant-release=y` 以下是相关设置 image image image image