使用Github的Actions功能在线编译NanoPi-R1S固件(包含H5和H3)

其实去年开始就有过对Github的Actions的了解,那时候Actions好像只支持私有仓库,现在公有仓库也支持了,而现在Github个人也可以免费使用私有仓库,那其实也没什么区别。Actions顾名思义就是一系列流程操作,我们撰写流程操作文件,由Github提供的服务器代为执行,Github对此真的是超级大方的,据说每个私有仓库都配备了8g内存和100g硬盘空间,其实这操作上和自己买服务器操作没有很大区别,唯一不同的就是学习成本上,Actions的命令需要熟悉一下。

更新记录

2020/03/19

2019/12/19

  • 升级OpenWrt版本为19.07(R9.12.03为开发版版本号,12月3日发布)
  • 更新最新的L大插件包,加入trojan支持,SmartDns等
  • 预配置固件中包含众多插件

2019/12/14

  • 修复12月12日开始固件编译失败的问题,原因为上游代码变动导致拉取文件编译失败
  • 将固件体积由1G还原成原来的640M
  • 修改Actions编译文件,优化流程

2019/12/10

  • 1.修复config文件无法响应配置的问题
  • 2.加入H3版本固件的编译支持

注意:

  1. 由于编译会出现很多问题,我这里也会尽快的尝试修复,请持续关注博客更新动态,如果有什么问题可以评论联系我,我会尽可能给予解答。
  2. 由于在编译出问题后我会更新github代码,如果之前你fork过我的项目代码,你的代码就不会是最新的,可以自行百度查找下“fork的项目如何获取更新”,这里给一个我随便找的教程,可以参考下。
    点击——fork的项目如何获取更新教程

介绍

之前我们要编译OpenWrt固件,就需要自己准备好虚拟机,或者租好服务器,准备好梯子,编译一次耗时4,5个小时都有,很费力劳神。实际上像这种编译的操作完全可以放在Github上来执行,最近入手了NanoPi-R1s H5,自己也用传统方式编译了几个固件,但也想着能否尝试更方便的编译。随后,便尝试编写了NanoPi-R1s的Actions的YML执行文件,自己尝试了下,编译很成功,整个过程就是“简单,顺畅”,一共耗时大概2小时,一旦启动了Actions服务,你就可以关闭网页该干嘛干嘛,随时可以打开页面查看进度。下图是编译的结果页面:
QQ20191207164250.png
可以看到它会按照你给的步骤一步步自动执行,随后编译完成,会打包压缩,直接点击下载即可。

需要的东西

  • Github账号
  • 乐于尝试的心

对的,只需要这两点就够啦!

步骤

1.fork我的项目(给个star是最好了)

注册或者登录了Github后,在个人中心或者首页搜索框中搜索“NanoPi-R1S-Build-By-Actions”。
或者直达https://github.com/skytotwo/NanoPi-R1S-Build-By-Actions
1221.png
在搜索结果中找到用户名为“skytotwo”的结果项,进入,没错skytotwo才是我,其它都是fork我的。
1222.png
进入项目首页,点击右上角的“fork”就好啦,别忘了给我点下左边的“star”哈。
1445.png

2.配置Actions任务

现在你已经具备了一切需要的东西,我们用你fork下来的项目进行实际操作即可。

  • 首先点击OpenWrt-Build-Cli-H5.yml文件(如果你要编译H3固件,就点击OpenWrt-Build-Cli-H3.yml),复制文件内容,然后点击上方的Actions选项
    1224.png
  • 进入到Actions页面后点击右上角的“set up workflow yourself”按钮
    13.png
  • 将刚才复制的内容粘贴在编辑框里,文件标题随意取,然后点击右上角的“start commit”按钮,随后点击“commit new file”按钮
    14.png
  • 此时,会生成一个已刚才标题命名的yml文件,注意这时候Actions已经启动了,这时候点击进入Actions查看
    15.png
  • 点击查看任务
    16.png
  • 可以看到它正在按照我们定义的任务一步步执行着
    17.png
  • 这时候我们等待就好了,右边有时间统计,每一个环节耗时多久都能看到,我们关闭网页也没问题,这会儿可以玩会儿游戏,或者看个电影,出去玩耍一会儿,随时打开都能查看进度,大概2小时左右就编译好了。
  • 编译成功,可以看到编译界面的步骤都走完了,右上角的Artifact也挂载了固件,可以点击下载
    21.png
  • 下载后解压就是我们要的固件了,其中的config文件是编译配置文件,你也可以用来编译
    QQ20200321093835.png
  • 刷入固件演示
    QQ20191210152859.png

actions自动发布固件

我的项目已经设置好了每日定时编译固件,并且发布release版本,编译使用的源码是lean的,插件也会随之更新,想要最新的固件可以来获取最新日期的固件,就直接下载即可
QQ20200321093432.png
注意:下载后需要解压刷入哦

配置文件详解

其实到这里已经够了,毕竟你已经能够编译固件了,但是如果能够更进一步的了解下如何制作Actions文件,那其实会更有意义,这里稍作解释。

详解

配置文件整体如下:

#
# This is free software, lisence use MIT.
# 
# Copyright (C) 2019 Jolly <https://totoro.site>
# 
# <https://github.com/skytotwo/NanoPi-R1S-Build-By-Actions>
#
# Write by Jolly 2019/12/7
# last update at 2019/12/19

name: NanoPi-R1s H5 OpenWrt 19.07 Build

on:
  push:
    branches: 
      - master
  # schedule:
  #   - cron: 0 20 * * *
  # release:
  #   types: [published]

jobs:

  build:

    runs-on: ubuntu-latest

    steps:

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

      - name: Initialization Environment
        env:
          DEBIAN_FRONTEND: noninteractive
        run: |
          wget -O - https://raw.githubusercontent.com/friendlyarm/build-env-on-ubuntu-bionic/master/install.sh | bash         
          
      - name: Install Repo
        run: |
          git clone https://github.com/friendlyarm/repo
          sudo cp repo/repo /usr/bin/
          
      - name: Download Source
        run: |
          mkdir friendlywrt-h5
          cd friendlywrt-h5
          repo init -u https://github.com/friendlyarm/friendlywrt_manifests -b master -m h5.xml --repo-url=https://github.com/friendlyarm/repo  --no-clone-bundle
      
      - name: Merge UpStearm OpenWrt
        run: |
          cd friendlywrt-h5
          cd .repo/manifests
          rm -f ./h5.xml
          wget https://raw.githubusercontent.com/skytotwo/NanoPi-R1S-Build-By-Actions/master/source_xml/h5_19.07.xml
          cp h5_19.07.xml h5.xml
          rm -rf ./h5_19.07.xml
          repo sync -c  --no-clone-bundle
      
      - name: Merge LEDE
        run: |
          cd friendlywrt-h5
          git clone https://github.com/coolsnowwolf/lede
          cd friendlywrt
          cp -r ../lede/package/lean package/
          sed -i 's/https:\/\/git.openwrt.org\/project\/luci.git^039ef1f4deba725d3591b159bbc9569885d68131/https:\/\/github.com\/coolsnowwolf\/luci/' feeds.conf.default
          sed -i 's/https:\/\/git.openwrt.org\/feed\/packages.git^00803ffc91e80b16e9c1603ff32106d42e255923/https:\/\/github.com\/coolsnowwolf\/packages/' feeds.conf.default          
      
      - name: Custom Applications
        run: |
          cd friendlywrt-h5/friendlywrt/package
          git clone https://github.com/Baozisoftware/luci-app-koolproxy
          
      - name: Update Target.mk
        run: |
          cd friendlywrt-h5/friendlywrt/include 
          sed -i 's/dnsmasq /dnsmasq-full default-settings luci/' target.mk    
          
      - name: Update Feeds
        run: |
          cd friendlywrt-h5/friendlywrt
          ./scripts/feeds update -a
          ./scripts/feeds install -a
          
      - name: Costom Configure File
        run: |
          cd friendlywrt-h5/friendlywrt
          rm -f ./.config*
          wget https://raw.githubusercontent.com/skytotwo/NanoPi-R1S-Build-By-Actions/master/r1s-h5-config
          cp r1s-h5-config .config
      
      - name: Download package
        if: always()
        run: |
          cd friendlywrt-h5/friendlywrt
          make download -j8
          find dl -size -1024c -exec ls -l {} \;
          find dl -size -1024c -exec rm -f {} \;
          
      - name: Build OpenWrt
        run: |
          cd friendlywrt-h5
          ./build.sh nanopi_r1s.mk
      
      - name: Zip Files
        run: |
          find friendlywrt-h5/out/ -name "FriendlyWrt_*img*" | xargs -i zip -r {}.zip {}
          
      - name: Assemble Artifact
        run: |
          rm -rf ./artifact/
          mkdir -p ./artifact/
          find friendlywrt-h5/out/ -name "FriendlyWrt_*img.zip*" | xargs -i mv -f {} ./artifact/
      - name: Upload Artifact
        uses: actions/upload-artifact@master
        with:
          name: FriendlyWrt_NanoPi-R1S H5 v19.07
          path: ./artifact/

这里对大致的点进行解释:

  • name:最开始的name是整个任务的名称
  • jobs-build-name:这里的name是每一个流程的名称,也就是我们看到的执行过程中一排每一步的名称

下面对具体流程讲解:

  • Checkout:是切换项目分支,默认主分支
  • Initialization Environment:初始化编译环境,安装编译包,库
  • Install Env Tools:安装编译工具
  • Install Repo:安装repo工具
  • Download Source:下载友善官方固件源码
  • Merge UpStearm OpenWrt:因为OpenWrt官方在18.06后就不再支持NanoPi R1,所以我们需要追踪到18.06前的代码
  • Merge LEDE:下载L大的固件,复制插件包文件,修改feeds.conf.default
  • Update Target.mk:将dnsmasq修改成dnsmasq-full
  • Update Feeds:更新feed
  • Costom Configure File:将一开始提供的r1s-h5-config文件拷贝成为编译文件.config
  • Download package:下载所有包文件
  • Build OpenWrt:编译固件,这里最耗时
  • Zip Files:将编译好的固件压缩
  • Assemble Artifact:将压缩好的固件移动到artifact文件夹中
  • Upload Artifact:将artifact上传挂载,以便提供外部下载

后记

整个流程就是这样的,希望你能一步跑通,如有错误,请评论告诉我吧。

Last modification:March 21st, 2020 at 09:44 am
如果觉得我的文章对你有用,请随意赞赏

84 comments

  1. 858052889

    如何自定义插件?

  2. 兎子

    大佬可否在固件里加入Clash这个插件呢,这段时间这个插件好像挺火的OωO

  3. freesky.lj
    该评论仅登录用户及评论双方可见
  4. ssttt

    无法编译了
    检查.github中第1行的失败

    @ github-actions
    github-actions
    /构建

    .github#L1
    Process completed with exit code 2.

    1. Jolly
      @ssttt

      已修复,从新拉取代码

  5. test1223

    提示:这个固件有个严重的缺陷需要修复,MWAN的负载均衡要关闭掉,否则会不定时的断线和上线。
    见如下的日志。如果很多人用这个固件,就是针对114.114.114.114 dns服务器的DDoS攻击啊,ping的太频繁了。
    修复的方案见帖子:https://koolshare.cn/thread-161089-1-1.html

    Fri Feb 28 21:05:32 2020 user.info mwan3track[23005]: Check (ping) success for target "114.114.115.115" on interface wan (eth0)
    Fri Feb 28 21:05:37 2020 user.info mwan3track[23005]: Check (ping) success for target "114.114.114.114" on interface wan (eth0)
    Fri Feb 28 21:05:37 2020 user.info mwan3track[23005]: Check (ping) success for target "114.114.115.115" on interface wan (eth0)
    Fri Feb 28 21:05:37 2020 user.notice mwan3track[23005]: Interface wan (eth0) is online
    Fri Feb 28 21:05:38 2020 user.notice mwan3[24799]: Execute ifup event on interface wan (eth0)
    Fri Feb 28 21:05:38 2020 user.notice mwan3[24799]: Starting tracker on interface wan (eth0)
    Fri Feb 28 21:05:39 2020 user.info mwan3[24799]: connection tracking not flushed on interface wan (eth0) ifup
    Fri Feb 28 21:05:39 2020 user.notice firewall: Reloading firewall due to ifup of wan (eth0)
    Fri Feb 28 21:05:40 2020 user.notice ddns-scripts[25228]: myddns_ipv4: PID '25228' started at 2020-02-28 21:05
    Fri Feb 28 21:05:41 2020 user.info mwan3track[24967]: Check (ping) failed for target "114.114.114.114" on interface wan (eth0)
    Fri Feb 28 21:05:42 2020 user.warn ddns-scripts[25228]: myddns_ipv4: Service section disabled! - TERMINATE
    Fri Feb 28 21:05:42 2020 user.warn ddns-scripts[25228]: myddns_ipv4: PID '25228' exit WITH ERROR '1' at 2020-02-28 21:05
    Fri Feb 28 21:05:48 2020 user.info mwan3track[24967]: Check (ping) failed for target "114.114.114.114" on interface wan (eth0)

    Fri Feb 28 21:09:16 2020 user.info mwan3track[24967]: Lost 1 ping(s) on interface wan (eth0)
    Fri Feb 28 21:09:58 2020 user.info mwan3track[24967]: Check (ping) failed for target "114.114.114.114" on interface wan (eth0)
    Fri Feb 28 21:10:05 2020 user.info mwan3track[24967]: Check (ping) failed for target "114.114.114.114" on interface wan (eth0)
    Fri Feb 28 21:10:12 2020 user.info mwan3track[24967]: Check (ping) failed for target "114.114.114.114" on interface wan (eth0)
    Fri Feb 28 21:10:12 2020 user.notice mwan3track[24967]: Interface wan (eth0) is offline
    Fri Feb 28 21:10:13 2020 user.notice mwan3[26707]: Execute ifdown event on interface wan (eth0)
    Fri Feb 28 21:10:13 2020 user.info mwan3[26707]: connection tracking not flushed on interface wan (eth0) ifdown
    Fri Feb 28 21:10:13 2020 user.info mwan3track[24967]: Detect ifdown event on interface wan (eth0)
    Fri Feb 28 21:10:19 2020 user.info mwan3track[24967]: Check (ping) success for target "114.114.114.114" on interface wan (eth0)
    Fri Feb 28 21:10:19 2020 user.info mwan3track[24967]: Check (ping) success for target "114.114.115.115" on interface wan (eth0)
    Fri Feb 28 21:10:19 2020 user.info mwan3track[24967]: Lost 3 ping(s) on interface wan (eth0)

    1. Jolly
      @test1223

      已修复,从新拉取代码

  6. www

    H3编译失败了
    error: Exited sync due to fetch errors
    Fetching project u-boot
    Fetching project friendlywrt_configs
    Fetching project sd-fuse_h3
    ##[error]Process completed with exit code 1.

  7. skywind

    编译失败
    Process completed with exit code 2.

    Reading package lists...
    Building dependency tree...
    Reading state information...
    The following packages were automatically installed and are no longer required:
    bc dns-root-data dnsmasq-base ebtables grub-pc-bin landscape-common
    liblxc-common liblxc1 libuv1 linux-headers-4.15.0-74 lxcfs lxd lxd-client
    python3-attr python3-automat python3-click python3-colorama
    python3-constantly python3-hyperlink python3-incremental python3-pam
    python3-pyasn1 python3-pyasn1-modules python3-service-identity
    python3-twisted python3-twisted-bin python3-zope.interface uidmap xdelta3
    Use 'sudo apt autoremove' to remove them.
    The following additional packages will be installed:
    swig3.0
    Suggested packages:
    swig-doc swig-examples swig3.0-examples swig3.0-doc
    The following NEW packages will be installed:
    swig swig3.0
    debconf: unable to initialize frontend: Dialog
    debconf: (Dialog frontend will not work on a dumb terminal, an emacs shell buffer, or without a controlling terminal.)
    debconf: falling back to frontend: Readline

    1. Jolly
      @skywind

      已修复,从新拉取代码

    2. skywind
      @skywind

      H3也编译失败
      From https://github.com/friendlyarm/friendlywrt_configs
      * [new branch] master-v18.06.1 -> v18061/master-v18.06.1
      fatal: could not read Username for 'https://github.com': No such device or address
      fatal: could not read Username for 'https://github.com': No such device or address
      error: Cannot fetch sd-fuse_h3 from https://github.com/skytotwo/sd-fuse_h3

      error: Exited sync due to fetch errors
      Fetching project u-boot
      Fetching project friendlywrt_configs
      Fetching project sd-fuse_h3
      ##[error]Process completed with exit code 1.

      Run cd friendlywrt-h3/friendlywrt
      /home/runner/work/_temp/f22fed42-ff76-477e-bb85-25aa4387e8a5.sh: line 1: cd: friendlywrt-h3/friendlywrt: No such file or directory
      ##[error]Process completed with exit code 1.

  8. 牛莽

    卡在这里了
    MKIMAGE arch/arm64/boot/dts/allwinner/overlays/sun50i-h5-fixup.scr
    /bin/sh: 1: mkimage: not found
    make[3]: *** [arch/arm64/boot/dts/allwinner/overlays/sun50i-h5-fixup.scr] Error 127
    scripts/Makefile.lib:337: recipe for target 'arch/arm64/boot/dts/allwinner/overlays/sun50i-h5-fixup.scr' failed
    make[2]: *** [arch/arm64/boot/dts/allwinner/overlays] Error 2
    make[1]: *** [arch/arm64/boot/dts/allwinner] Error 2
    make: *** [dtbs] Error 2
    make: *** Waiting for unfinished jobs....
    scripts/Makefile.build:585: recipe for target 'arch/arm64/boot/dts/allwinner/overlays' failed
    scripts/Makefile.build:585: recipe for target 'arch/arm64/boot/dts/allwinner' failed
    arch/arm64/Makefile:138: recipe for target 'dtbs' failed

    1. 老猪哥哥
      @牛莽

      OpenWrt-Build-Cli-H5.yml文件
      39行前增加:sudo apt-get update
      我发现不执行更新,install.sh里的install u-boot-tools竟然提示404

    2. stest
      @牛莽

      我的也是遇到这样的错误。博主这个脚本估计有问题

      1. ju4tin
        @stest

        应该是上游源码改了,楼主脚本以前我可以编译,现在就报这个错

  9. 白木

    ShadowSocksR Plus+的“访问国外域名DNS服务器”选项里没有本地服务器选项。所有smartDns基本无法提供国外dns解析。

  10. zhou

    能不能介绍一下用actions编译ZeroPi的L大固件呢?

    1. Jolly
      @zhou

      ZeroPi不太了解

      1. zhou
        @Jolly

        ZeroPi跟NanoPi-R1S的H3配置一样,少了个Lan口。
        能不能编译R1S的H3版本然后用在ZeroPi上呢?

  11. webssd

    我折腾了3天,无论是本地电脑还是vps都编译不成功,才发现你有这么棒的教程ヾ(≧∇≦*)ゝ

    1. Jolly
      @webssd

      哈哈编译成功就好,真棒

  12. norikohxb

    贴主你好,我按照您的方式2个方法都编译成功了,所有的功能都可以用就除了adbyby,adbyby竟然无法更新adblock hosts list,你能看看你自己最新编译的friendlywrt+lean的package的固件里面的adbyby能否更新域名list吗?

    1. Jo11y
      @norikohxb

      需要自己安装wget:opkg install wget ca-certificates
      然后手动更新一下:sh /usr/share/adbyby/adupdate.sh

      1. Jolly
  13. norikohxb

    请教大神们按照最新的这个friendlywrt+lean的 package,编译出来的adbyby可以用吗? 我这边编译好的adbyby,无法更新adblock host list,请问大家有没有遇到相同的问题?

  14. MRX

    OpenWrt-Build-Cli-H5.yml和Workflows里的NanoPi-R1s H5 OpenWrt 19.07 Build.yml有什么区别,二者的关系是什么?我每次复制OpenWrt-Build-Cli-H5.yml去Set up a workflow都会一次出现两三个编译

    1. Jolly
      @MRX

      没什么区别的,为了让你复制,,多出来的worklfow停止就好的,actions是会这样,没有办法,保持只有一个workflos文件存在就好

  15. MRX

    OpenClash编译不进去(编译成功但是服务里没有OpenClash)外加的两套主题倒是有编译进去,是不是上游发生了变化导致?

  16. 我心飞扬

    如果大神有更新固件的话可不可以时常共享一下啊??自己编译固件的话能力不够啊???

    1. Jo11y
      @我心飞扬

      https://github.com/skytotwo/NanoPi-R1S-Build-By-Actions/actions
      这个是大大的固件页面,如果看到有更新,自己下载就好了

    2. Jolly
      @我心飞扬

      嗯好,其实大部分人也只是用到一个富强功能

  17. NOP

    我也是 SSR Plus+ 的 GFW模式 有问题,只能访问国内,国外不通,换成 绕过大陆ip 可以访问国外,但是访问百度,ipip.net 又是全局的。

    1. NOP
      @NOP

      补充一下 刚开始用的时候是可以的,后来用了一段时间绕过大陆IP,再切换回 GFW模式 就不能用了。也不记得设置过其他地方。

      1. Jolly
        @NOP

        嗯你试一下这个固件,18.06时,我博客上个更新版本编译的固件,看下有没有这个问题,https://github.com/skytotwo/NanoPi-R1S-Build-By-Actions/suites/358437623/artifacts/692812

  18. 三文33

    感谢大佬的教程,成功编译。有个小问题就是SSR plus+里面GFW列表模式用不了,只能用绕过大陆ip模式,不知道该怎么排查问题。

    1. Jolly
      @三文33

      就是在配置的,状态那里

    2. Jolly
      @三文33

      有更新gfw list嘛

      1. 三文33
        @Jolly

        有更新gfwlist,最新是5000多条记录。可以启用这个模式,但是启用后谷歌油管等等list上的上不了,墙内网址正常上。如果启用大陆ip模式就可以顺利扶墙。是不是dns的问题,需要额外配置?

        1. Jolly
          @三文33

          你试一下这个固件,18.06版本编译的,看下有没有这个问题,https://github.com/skytotwo/NanoPi-R1S-Build-By-Actions/suites/358437623/artifacts/692812

        2. Jolly
          @三文33

          这个我用过的是正常的,dns不用再设置呀

          1. 三文33
            @Jolly

            问题解决了,ipv6关了就好了。我跟踪了一下路由,发现老跑ipv6,就上不去。r1s我用的是单臂旁路由接法,主路由里面ipv6关掉就好了。

  19. 小白

    改了一下配置文件,wireguard沒問題了。但是想請教下各位達人,修改接口wan6的時候,協議選擇裡沒有DHCPV6客戶端,配置文件要改那些才能加上去?我是小白,再次感恩

    1. Jolly
      @小白

      这个可能需要去查一下具体v6的开启配置的

  20. diger

    太棒了,非常感谢。

    1. Jolly
  21. wygyyx1

    我设置错了,正在编译,谢谢楼主

    1. Jolly
      @wygyyx1

      加油

  22. wygyyx1

    楼主, 我小白一个,fork后,将# 去掉,改为
    schedule:
    - cron: 0 20 * * *
    release:
    types: [published]
    编译成功了,但是安装后登陆不上去网页,不知道怎么回事,

    1. Jolly
      @wygyyx1

      这个没必要取消注释,是个定时任务来着,原样编译就好

  23. 小白

    感恩,原封不動走了一遍,出來缺少wireguard的完整支持,接口協議默認也沒有ipv6客戶端顯示,這兩個還是比較有用的,我是小白

  24. Arno

    真的太酷了 尤其对于像我这种 不熟悉固件编译的人来说 很实用也很受启发 感谢ヾ(≧∇≦*)ゝ

    1. Jolly
      @Arno

      actions功能对熟悉和不熟悉编译的人来说都是超级便利的功能~

    2. Jolly
      @Arno

      谢谢赞赏!

  25. soogzh

    感谢 又不用去编译了 慢慢去学感觉脑瓜疼

    1. Jolly
      @soogzh

      是呀,其实基本上只是需要一个富强上网功能而已

  26. Janfond

    感谢无私的分享~~~谢谢~~~OωO

    1. Jolly
  27. Chandrasekhar

    fork P3TERX/debugger-action,修改YML文件在"Download package"之前加上
    - name: SSH connection to Actions
    uses: GitHub ID/debugger-action@master
    可以在开始编译前ssh到actions,用make menuconfig设置.config文件

    1. Jolly
      @Chandrasekhar

      嗯确实你也可以这样

  28. chandrasekhar

    感谢,省去弄VPS的时间了

    1. Jolly
  29. kenny
    该评论仅登录用户及评论双方可见
    1. Jolly
      @kenny

      博客有写解决方法

  30. jolly的粉丝

    H3编译不成功呀,QAQ。大神看看咋回事。或者大神直接在你的action里面编译一次,我直接去下载一下→_→

    1. Jolly
      @jolly的粉丝

      H3的应该是config文件不是最新的,我配置下编译看看

  31. jolly的粉丝

    不行了,我一定要以身相许,来表彰你的贡献!

  32. Beck

    成功编译好刷好,但是把sd卡插进H5后,连网线无法识别网络,也没有friendly的wifi出现,请问遇到过这种情况么?

    1. Jolly
      @Beck

      已修复,可以重新拉取最新代码编译

    2. Jolly
      @Beck

      现在的编译是有问题的,因为上游的代码有改动,我这里稍后放出新版编译文件

  33. zesion

    大神,我用了你最新的代码编译,但是编译的固件大小是1G,这应该是配置哪里有问题吧!!

    1. Jolly
      @zesion

      这个问题也有人反应了,配置没有变过,觉得是上游代码的因素,我这里编译排查下原因

  34. 娃娃菜

    你好,今天晚上我开始用烧录软件打开的安装包时出现错误,原因写的是在此zip中找不到匹配的文件

    1. Jolly
      @娃娃菜

      可以试着解压下,看下里面是什么

  35. 李兴国

    非常感谢博主的文章!

    1. Jolly
      @李兴国

      嘿嘿,没事儿,少不了你自己的尝试,编译成功就好

  36. 娃娃菜

    你好重新安装以后可以编译出来了

    1. Jolly
      @娃娃菜

      真棒

  37. 娃娃菜

    h3运行一次和之前相同
    * [new branch] master -> origin/master
    git checkout --progress --force 50668ed511e06b39e16f05026d6f9513252c2f61
    Note: switching to '50668ed511e06b39e16f05026d6f9513252c2f61'.

    You are in 'detached HEAD' state. You can look around, make experimental
    changes and commit them, and you can discard any commits you make in this
    state without impacting any branches by switching back to a branch.

    If you want to create a new branch to retain commits you create, you may
    do so (now or later) by using -c with the switch command. Example:

    git switch -c

    Or undo this operation with:

    git switch -

    Turn off this advice by setting config variable advice.detachedHead to false

    HEAD is now at 50668ed Create main.yml
    Removed matchers: 'checkout-git'

    1. Jolly
      @娃娃菜

      你两个设备都有的嘛哈哈,下的是最新的代码么

  38. 娃娃菜

    你好这个怎么删除重新操作呢

  39. 娃娃菜

    我开的运行了14个小时,可是还没编译好

    1. Jolly
      @娃娃菜

      可以联系 @spidermw 截图看看哪里有问题

    2. Jolly
      @娃娃菜

      卡在哪里呢

      1. 娃娃菜
        @Jolly

        好的谢谢你

Leave a Comment