跳至主要内容

(migrated)使用Github为多种设备编译Openwrt固件

Openwrt

参考:

      使用 GitHub Actions 云编译 OpenWrt

      Lean的Openwrt源码仓库

      OpenWrt DIY — 多设备固件云编译

起因:

     最开始是用vps的虚拟机做编译, 虽然编译成功过, 但还是有些问题.

    1) 操作比较麻烦, 每次都需要做配置

    2) 不清楚怎么更新代码, 现在有好些库都没办法更新, 新功能也无法使用.

    3) 编译时间长, 最后还经常出错, 虽然vps虚拟机还是在米国.

        到最后编译总是不成功, 库倒是编译通过了, 只有用编译好的库往现有的设备上安装, 要找关联库什么的, 一堆的麻烦事.

    搞vps上的openwrt编译搞烦了, 不想再继续下去, 但更新总得做.

    后来看到相关教程, 可以用github Action功能来实现编译, 不用做vps虚拟机, 不需要复杂的配置, 于是开始研究.

一. 开始瞎搞

    看了很长时间的教程, 也没搞懂该怎么做, 算了, 跟着感觉走吧.

1. Github上openwrt相关的代码库很多, 需要先选一个库来fork.

      我在github上搜索"openwrt k2p", 从Star和Fork最多的库里查找支持设备比较多的库, 由于排第二的"OpenWrt DIY — 多设备固件云编译"支持的设备种类最多, 就选了这个库, 后面熟悉了还得看下代码.

2. 操作

      1) 登录

          打开github网站并登录.

      2) Fork

           打开"OpenWrt DIY — 多设备固件云编译", 点击右上角"Fork"按钮, 就可以在已登录的用户目录下Fork出一个资源库.

      3) Branch

          打开fork的资源库, 可以看到fork出的目录及文件, 目录及文件是主资源库是一样的.

          如果想要修改, 需要在左上角的"main"处点击, 并建立一个分支(Find or Create a branch...), 再选到新建的分支进行修改(Fork出来的main看样子是不能修改的)

          (设置新分支为default: 点击右上角的setting菜单, 选择左侧的"branches",  在右侧即可选择"Default branch")

      4) 修改

           可以修改新分支的文件, 其中:

           .github/workflows目录: 不同设备的Action配置文件

           config目录: 不同设备的配置文件

           scripts目录: 编译用的shell - 原库主在这里修改了设备缺省IP地址.

      5) Source Update Check

          点击Actions, 从左侧的Workflows里选择"Source Update Check", 先要"Enable workflow", 再点击右侧的"Run workflow" - 应该是检查并更新代码.
         (未成功, 错误信息: "Run peter-evans/repository-dispatch@v1
Error: Parameter token or opts.auth is required")

      6) Actions

          点击Actions, 从左侧的Workflows里选择设备相关的Build项目,  点击右侧的"Run workflow", 过一会, 就能看到相应的项目正在正在执行, 点进去能看到执行的详细信息.

          编译时间大概需要不到3个小时.

3. 出现的问题及处理

       1) 没有生成openwrt-ramips-mt7621-d-team_newifi-d2-squashfs-sysupgrade.bin文件

      原编译Newifi_D2所用diy-part2.sh无法生成正常的openwrt-ramips-mt7621-d-team_newifi-d2-squashfs-sysupgrade.bin, 而只能生成openwrt-ramips-mt7621-d-team_newifi-d2-initramfs-kernel.bin.

      Google后发现, 应该是包太大了, 需要去掉一些插件

      参考: "过渡包“initramfs-kernel.bin问题 #6243

      以前手动编译时也会有类似情况, 选的插件较多情况下会出现类似的问题.

      考虑到Newifi-D2的可用空间限制, 编辑了一个专用于D2的"diy-4-Newifi_D2.sh", 在原版本(复制自"diy-part3.sh")基础上, 去掉了"passwall"+"OpenClash"+"Docker".

      同时, D2的配置文件".github/workflows/Newifi_D2.yml"也需要做修改, 改用这个新的sh文件.

     再次使用Action编译, 编译通过, 并生成"openwrt-ramips-mt7621-d-team_newifi-d2-squashfs-sysupgrade.bin"文件.

     2) 可能只需要删除一个大插件就行, 因此再次修改"diy-4-Newifi_D2.sh", 在原版本(复制自"diy-part3.sh")基础上, 仅去掉锐捷认证(mentohust)+openclash, 并再次编译.

     失败 - 无法生成"openwrt-ramips-mt7621-d-team_newifi-d2-squashfs-sysupgrade.bin"文件

     再次修改"diy-4-Newifi_D2.sh", 在原版本(复制自"diy-part3.sh")基础上, 去掉passwall+锐捷认证(mentohust)+openclash, 并再次编译, 编译成功.

评论

此博客中的热门博文

(migrated)联通(数码视讯)Q7电视盒子刷机成功, 但这Q7盒子是真的垃圾!

 一、破解方式       联通(数码视讯)Q7(以下简称Q7)有很多种破解方式:          a. 不拆机破解: 主要通过漏洞是装上可以装App的市场或其他工具          b. TTL破解: 连接TTL线,通过进入底层系统打开adb调试, 再通过其它工具安装App, 如:                        “北京联通盒子-数码视讯Q7-破解"             或者在底层的Linux系统里直接安装App.         c. 使用USB Burn方式刷机: 直接刷成别的系统,如:                   " 【2020年11月】北京联通数码视讯Q7破解教程"                          最后用的是这种方式进行刷机 。          相关的包下载地址:          1) 刷机固件:             链接: https://pan.baidu.com/s/18ukQVyQiScAeQPCReoBr0Q                    提取码:yp6t             里面有个压缩包: 20191218-Q7-4.4.2-root-twrp-...

(migrated)关于电视盒子刷机的好贴收集

  1.  折腾电视盒子 2.在斐讯N1盒子上刷入Linux系统代替树莓派做小型服务器       https://zhuanlan.zhihu.com/p/38456769 3. R3300L运行CoreELEC, EmuELEC和Armbian 4. 百视通R3300L刷写固件及EMUELEC         百视通R3300L刷写固件及EMUELEC

(migrated)在美国租车

2017.6.9   使用中国驾照可以开车的州,以及证件有效性   持中国驾照可以在美国大部分州短期内合法驾车,但有少部分州是不可以持中国驾照开车,其中包括肯塔基州、麻萨诸塞州、密歇根州、新泽西州、俄亥俄州、德克萨斯州、佛蒙特州、威斯康辛州等,大多数都位于美国东北部。   下面这个文档是我找到的最详细的相关说明文档:      中国驾照在美国开车的规定(官方文件)   在上述这些州里,你可能因为租车公司员工不清楚法律规定而拿到车,但万一碰上警察就可能遇上麻烦。   如果只是路上要经过其中某个州,而不方便绕过的话,那就小心点开车,也别招警察注意,因为在这段路程中,不仅不合法,可能租车相关的保险也是无效的。   持中国驾照,在美国租车最好携带翻译件,这样租车公司员工能看明白驾照上写的是什么。携程上有各租车公司的翻译件模板,照着做一个就ok。        携程翻译件模板下地址如下:      免费驾照翻译件下载     翻译件必须和驾照原件一起使用。   在美国开车不需要什么驾照公证件,租车公司就不知道这么个东西,你给他公证件,他就当个翻译件来用。   所谓的国际驾照(IDP)对仅持有中国驾照的人而言是完全无效的,中国没有加入联合国道路交通公约,不能颁发国际驾照。这个骗局十多年前就看到了,到现在还在继续。   如果你想拿到有效的IDP,你可以通过拿到加入到相关公约国家的驾照,比如韩国,并使用该国有效驾照申请IDP。   IDP有效期应该是一年,需要和相应的驾照一起使用才有效。 交通规则    这个先不写了,网上好多。 第三方保险    租车公司提供的车损险是有免责条款的,比如车顶、车底、玻璃等是不在保险覆盖范围内的,在详细的合同条款里应该会有,我记得在某一家租车公司的文档里看到过,另外还问过Hertz中国的客服并得到确认。   虽然大部分公司不会拿这些损伤说事,比如去年在路易斯安娜州租的车,就被前面卡车掉落的石子把前挡砸出了一个小坑,最终还车也没从信用卡里另外收钱(当时有买车损险),但万一有事真搬出这条款出来你也没办法。        第三方保险有车损险,而且包括了这些租车公司不保的...