openwrt_packit

uniqfreq 19074c1e95 Add kmod r8125 into rk3568 boards 1 day ago
files 19074c1e95 Add kmod r8125 into rk3568 boards 1 day ago
.dockerignore 6201411b69 Add docker ignore dir 3 years ago
.gitignore 46af1636e7 fix gitignore 1 year ago
Dockerfile 76b1dcad61 Add the openwrt docker image build scripts 3 years ago
README.ACTION.md 77e822e522 Add Actions for e54c(rk3588s) 1 month ago
README.md 5f90117d28 modify scripts for hlink boards 1 year ago
action.yml f2b5184e1f Add github actions support 3 years ago
make.env 86ea5d784a bump kernel version 1 day ago
mk_h6_vplus.sh ff02c37c1b bump kernel version 1 year ago
mk_openwrt_dockerimg.sh ba98b8b372 Support more openwrt rootfs archive filename: 2 years ago
mk_qemu-aarch64_img.sh ab1d1b6a3e lxc rootfs: change default compress method to xz 1 year ago
mk_rk3328_beikeyun.sh 7e45b58a17 beikeyun & l1pro: fix boot 9 months ago
mk_rk3328_l1pro.sh 7e45b58a17 beikeyun & l1pro: fix boot 9 months ago
mk_rk3399_generic.sh d385dfd3f6 rk3399 generic: add example comment 9 months ago
mk_rk3399_zcube1-max.sh f2f1b0f329 Increase default image size for amlogic boxes 1 year ago
mk_rk3528_e20c.sh a4d2d0abce radxa e20c v1.1 add leds config 11 months ago
mk_rk3528_e24c.sh 671ce692a9 update e24c kversion and bootloader 1 week ago
mk_rk3528_h28k.sh f2f1b0f329 Increase default image size for amlogic boxes 1 year ago
mk_rk3528_ht2.sh f2f1b0f329 Increase default image size for amlogic boxes 1 year ago
mk_rk3566_jp-tvbox.sh f2f1b0f329 Increase default image size for amlogic boxes 1 year ago
mk_rk3566_netfusion.sh 65a6d76f4a Add hlink netfusion (rk3566) 1 week ago
mk_rk3566_radxa-cm3-rpi-cm4-io.sh f2f1b0f329 Increase default image size for amlogic boxes 1 year ago
mk_rk3568_e25.sh f2f1b0f329 Increase default image size for amlogic boxes 1 year ago
mk_rk3568_ec-x.sh f2f1b0f329 Increase default image size for amlogic boxes 1 year ago
mk_rk3568_h66k.sh f2f1b0f329 Increase default image size for amlogic boxes 1 year ago
mk_rk3568_h68k.sh f2f1b0f329 Increase default image size for amlogic boxes 1 year ago
mk_rk3568_h69k.sh f2f1b0f329 Increase default image size for amlogic boxes 1 year ago
mk_rk3568_photonicat.sh f2f1b0f329 Increase default image size for amlogic boxes 1 year ago
mk_rk3568_r66s.sh f2f1b0f329 Increase default image size for amlogic boxes 1 year ago
mk_rk3568_r68s.sh f2f1b0f329 Increase default image size for amlogic boxes 1 year ago
mk_rk3568_watermelon-pi.sh f2f1b0f329 Increase default image size for amlogic boxes 1 year ago
mk_rk3588_h88k-v3.sh 8559462404 make script: support h88k v3.1 9 months ago
mk_rk3588_h88k.sh 613c68f17c Adjust the KERNEL_TAGS settings 1 year ago
mk_rk3588_rock5b.sh 019c004b9f rock5b Add board.d 1 year ago
mk_rk3588s_e52c.sh e7b388c829 Add radxa e52c make script 9 months ago
mk_rk3588s_e54c.sh b9ea5c618c Add Radxa E54C 1 month ago
mk_rk3588s_rock5c.sh 0020825f21 Add Radxa ROCK 5C 11 months ago
mk_s905_mxqpro+.sh f2f1b0f329 Increase default image size for amlogic boxes 1 year ago
mk_s905d_n1.sh f2f1b0f329 Increase default image size for amlogic boxes 1 year ago
mk_s905x2_x96max.sh f2f1b0f329 Increase default image size for amlogic boxes 1 year ago
mk_s905x3_multi.sh f2f1b0f329 Increase default image size for amlogic boxes 1 year ago
mk_s912_zyxq.sh f2f1b0f329 Increase default image size for amlogic boxes 1 year ago
mk_s922x_gtking.sh f2f1b0f329 Increase default image size for amlogic boxes 1 year ago
mk_s922x_odroid-n2.sh f2f1b0f329 Increase default image size for amlogic boxes 1 year ago
openwrt_flippy.sh 77e822e522 Add Actions for e54c(rk3588s) 1 month ago
public_funcs d294f425e9 Force enables iptables packet filtering for docker 1 month ago
qemu-aarch64.env ba98b8b372 Support more openwrt rootfs archive filename: 2 years ago
sel 5ff38c14de first commit 4 years ago

README.ACTION.md

Github Actions 打包脚本使用说明

支持一键打包目前已经支持的全部 OpenWrt 固件,支持全志(微加云)、瑞芯微(贝壳云,我家云,电犀牛R66S/R68S,Hlink H88K/H66K/H68K/H69K/H28K,瑞莎5B/E25,西瓜皮等),以及晶晨 S9xxx 系列型号如 S905x3、S905x2、S922x、S905x、S905d,S905,S912 等设备。

使用方法

.github/workflows 的编译脚本中引入此 Actions 即可进行打包,例如 packaging-openwrt.yml 中的使用方法,代码如下:


- name: Package OpenWrt Firmware
  uses: unifreq/openwrt_packit@master
  env:
    OPENWRT_ARMVIRT: openwrt/bin/targets/*/*/*rootfs.tar.gz
    PACKAGE_SOC: all
    KERNEL_VERSION_NAME: 6.1.y_6.12.y

打包好的固件在 ${{ env.PACKAGED_OUTPUTPATH }}/* ,可以上传至 github.com 的 Releases 中,代码如下:

- name: Upload OpenWrt Firmware to Release
  uses: ncipollo/release-action@main
  with:
    tag: openwrt_armvirt_v8_${{ env.PACKAGED_OUTPUTDATE }}
    artifacts: ${{ env.PACKAGED_OUTPUTPATH }}/*
    allowUpdates: true
    token: ${{ secrets.GH_TOKEN }}
    body: |
      This is OpenWrt firmware for Armvirt 64
      * Firmware information
      Default IP: 192.168.1.1
      Default username: root
      Default password: password

可选参数说明

可以对 打包文件make.env选择内核版本选择盒子SoC 等参数进行个性化配置。

参数 默认值 说明
OPENWRT_ARMVIRT 必选项. 设置 openwrt-armvirt-64-default-rootfs.tar.gz 的文件路径,可以使用相对路径如 openwrt/bin/targets/*/*/*.tar.gz 或 网络文件下载地址如 https://github.com/*/releases/*/*.tar.gz
KERNEL_REPO_URL breakings/OpenWrt 设置内核下载仓库的 <owner>/<repo>,默认从 breakings 维护的内核 Releases里下载。
KERNEL_VERSION_NAME 6.1.y_6.12.y 设置内核版本,可以查看并选择指定。可指定单个内核如 6.1.y ,可选择多个内核用_连接如 6.1.y_6.12.y
KERNEL_AUTO_LATEST true 设置是否自动采用同系列最新版本内核。当为 true 时,将自动在内核库中查找在 KERNEL_VERSION_NAME 中指定的内核如 6.1.y 的同系列是否有更新的版本,如有更新版本时,将自动更换为最新版。设置为 false 时将编译指定版本内核。
PACKAGE_SOC s905d_s905x3_beikeyun 设置打包盒子的 SOC ,默认 all 打包全部盒子,可指定单个盒子如 s905x3 ,可选择多个盒子用_连接如 s905x3_s905d 。各盒子的SoC代码为:vplus, cm3, jp-tvbox, beikeyun, l1pro, rock5b, rock5c, e52c, e54c, r66s, r68s, h88k, h88k-v3, ak88, ht2, e20c, h28k, h66k, h68k, h69k, h69k-max, e25, photonicat, watermelon-pi, zcube1-max, rk3399, s905, s905d, s905x2, s905x3, s912, s922x, s922x-n2, qemu, diy。说明:s922x-n2s922x-odroid-n2, diy 是自定义盒子。
GZIP_IMGS auto 设置打包完毕后文件压缩的格式,可选值 .gz(默认) / .xz / .zip / .zst / .7z
SELECT_PACKITPATH openwrt_packit 设置 /opt 下的打包目录名称
SELECT_OUTPUTPATH output 设置 ${SELECT_PACKITPATH} 目录中固件输出的目录名称
SCRIPT_VPLUS mk_h6_vplus.sh 设置打包 h6 vplus 的脚本文件名
SCRIPT_CM3 mk_rk3566_radxa-cm3-rpi-cm4-io.sh 设置打包 rk3566 radxa-cm3-rpi-cm4-io 的脚本文件名
SCRIPT_JPTVBOX mk_rk3566_jp-tvbox.sh 设置打包 rk3566 jp-tvbox 的脚本文件名
SCRIPT_BEIKEYUN mk_rk3328_beikeyun.sh 设置打包 rk3328 beikeyun 的脚本文件名
SCRIPT_L1PRO mk_rk3328_l1pro.sh 设置打包 rk3328 l1pro 的脚本文件名
SCRIPT_ZCUBE1MAX mk_rk3399_zcube1-max.sh 设置打包 rk3399 zcube1-max 的脚本文件名
SCRIPT_ROCK5B mk_rk3588_rock5b.sh 设置打包 rk3588 rock5b 的脚本文件名
SCRIPT_ROCK5C mk_rk3588s_rock5c.sh 设置打包 rk3588s rock5c 的脚本文件名
SCRIPT_E52C mk_rk3588s_e52c.sh 设置打包 rk3588s e52c 的脚本文件名
SCRIPT_E54C mk_rk3588s_e54c.sh 设置打包 rk3588s e54c 的脚本文件名
SCRIPT_H88K mk_rk3588_h88k.sh 设置打包 rk3588 h88k/ak88 的脚本文件名
SCRIPT_H88KV3 mk_rk3588_h88k-v3.sh 设置打包 rk3588 h88k-v3 的脚本文件名
SCRIPT_HT2 mk_rk3528_ht2.sh 设置打包 rk3528 ht2 的脚本文件名
SCRIPT_E20C mk_rk3528_e20c.sh 设置打包 rk3528 e20c 的脚本文件名
SCRIPT_H28K mk_rk3528_h28k.sh 设置打包 rk3528 h28k 的脚本文件名
SCRIPT_H66K mk_rk3568_h66k.sh 设置打包 rk3568 h66k 的脚本文件名
SCRIPT_H68K mk_rk3568_h68k.sh 设置打包 rk3568 h68k 的脚本文件名
SCRIPT_H69K mk_rk3568_h69k.sh 设置打包 rk3568 h69k 的脚本文件名
SCRIPT_R66S mk_rk3568_r66s.sh 设置打包 rk3568 r66s 的脚本文件名
SCRIPT_R68S mk_rk3568_r68s.sh 设置打包 rk3568 r68s 的脚本文件名
SCRIPT_E25 mk_rk3568_e25.sh 设置打包 rk3568 e25 的脚本文件名
SCRIPT_PHOTONICAT mk_rk3568_photonicat.sh 设置打包 rk3568 photonicat 的脚本文件名
SCRIPT_WATERMELONPI mk_rk3568_watermelon-pi.sh 设置打包 rk3568 watermelon-pi 的脚本文件名
SCRIPT_S905 mk_s905_mxqpro+.sh 设置打包 s905 mxqpro+ 的脚本文件名
SCRIPT_S905D mk_s905d_n1.sh 设置打包 s905d n1 的脚本文件名
SCRIPT_S905X2 mk_s905x2_x96max.sh 设置打包 s905x2 x96max 的脚本文件名
SCRIPT_S905X3 mk_s905x3_multi.sh 设置打包 s905x3 multi 的脚本文件名
SCRIPT_S912 mk_s912_zyxq.sh 设置打包 s912 zyxq 的脚本文件名
SCRIPT_S922X mk_s922x_gtking.sh 设置打包 s922x gtking 的脚本文件名
SCRIPT_S922X_N2 mk_s922x_odroid-n2.sh 设置打包 s922x odroid-n2 的脚本文件名
SCRIPT_QEMU mk_qemu-aarch64_img.sh 设置打包 qemu 的脚本文件名
SCRIPT_DIY mk_diy.sh 设置打包 diy 自定义脚本文件名
SCRIPT_DIY_PATH 设置 SCRIPT_DIY 文件的来源路径。可以使用网址如 https://weburl/mydiyfile 或你仓库中的相对路径如 script/mk_s905w_tx3.sh
CUSTOMIZE_RK3399 设置自定义 rk3399 设备列表,格式:board1:dtb1/board2:dtb2
WHOAMI flippy 设置 make.envWHOAMI 参数的值
OPENWRT_VER auto 设置 make.envOPENWRT_VER 参数的值。默认 auto 将自动继承文件中的赋值,设置为其他参数时将替换为自定义参数。
SW_FLOWOFFLOAD 1 设置 make.envSW_FLOWOFFLOAD 参数的值
SFE_FLOW 1 设置 make.envSFE_FLOW 参数的值
HW_FLOWOFFLOAD 0 设置 make.envHW_FLOWOFFLOAD 参数的值
ENABLE_WIFI_K504 1 设置 make.envENABLE_WIFI_K504 参数的值
ENABLE_WIFI_K510 1 设置 make.envENABLE_WIFI_K510 参数的值
DISTRIB_REVISION R$(date +%Y.%m.%d) 设置 make.envDISTRIB_REVISION 参数的值
DISTRIB_DESCRIPTION OpenWrt 设置 make.envDISTRIB_DESCRIPTION 参数的值

输出参数说明

根据 github.com 的标准输出了 3 个变量,方便编译步骤后续使用。由于 github.com 最近修改了 fork 仓库的设置,默认关闭了 Workflow 的读写权限,所以上传到 Releases 需要给账户的个人中心添加 GITHUB_TOKEN ,并在你 fork 的仓库添加密钥 GH_TOKEN, 并启用仓库中的 Workflow 读写权限

参数 默认值 说明
${{ env.PACKAGED_OUTPUTPATH }} /opt/openwrt_packit/output 打包后的固件所在文件夹的路径
${{ env.PACKAGED_OUTPUTDATE }} 08.25.1058 打包日期
${{ env.PACKAGED_STATUS }} success / failure 打包状态。成功 / 失败

OpenWrt 固件个性化定制说明

Actions 仅提供 OpenWrt 打包服务,你需要自己编译 openwrt-armvirt-64-default-rootfs.tar.gz。编译方法可以参考 https://github.com/breakings/OpenWrt