Unverified Commit 50f95c61 authored by wukongdaily's avatar wukongdaily Committed by GitHub
Browse files

新增OES等amlogic盒子和部分开发板型号

parent 541fb4aa
name: Build boxs by ophub
on:
workflow_dispatch:
inputs:
openwrt_kernel:
description: "选择构建的内核 当高版本内核没有时 系统会自动挑选匹配的内核。比如radxa e52c 即便你选择了6.1.y 可能最终构建还是5.10.160"
required: false
default: "6.1.y"
type: choice
options:
- 5.4.y
- 5.10.y
- 5.15.y
- 6.1.y
- 6.6.y
- 6.12.y
openwrt_board:
description: "选择型号"
required: false
default: "a311d-oes"
type: choice
options:
- a311d
- a311d-oes
- s922x-oes-plus
- wxy-oect
- wxy-oect-replaced
- panther-x2
- jp-tvbox
- s905x3-hk1
- tanix-tx6
- s905l-b860av21u
- s905l2-e900v21e
- s905l
- s905l-aurora-1s
- s905l-mg101
- s905l2
- s905l2-wojia
- s905l3
- s905l3-cm211
- s905l3-unt400g1
- s905l3-unt402a
- s905l3a
- s905l3a-cm311
- s905l3a-m401a
- s905l3b
- s905l3b-e900v21d
- s905l3b-e900v22d
- s905l3b-e900v22e
- s905l3b-ip103h
- s905l3b-rg020et-ca
- s905l3b-unt403a
- s905lb-ipbs9505
- s905lb-q96-mini
- s905lb-r3300l
- r66s
- r68s
- nanopc-t6
- nanopi-r5c
- nanopi-r5s
- orangepi-5-plus
- orangepi-5b
- alark35-3500
- anas3035
- beikeyun
- chainedbox
- crrc
- dc-a588
- dg3399
- dg-tn3568
- dlfr100
- e20c
- e25
- eaidk-610
- emb3531
- fine3399
- firefly-rk3399
- fmx1-pro
- h28k
- h66k
- h68k
- h69k
- h88k
- h88k-v3
- h96-max-m2
- hs530r
- hugsun-x99
- ipc-r
- king3399
- kylin3399
- lckfb-tspi
- leez
- lx-r3s
- mrkaio-m68s
- renegade-rk3328
- rk3318-box
- rock5b
- rock5c
- ruisen-box
- s905
- s905-beelink-mini
- s905-mxqpro-plus
- s905d-ki-pro
- s905d-sml5442tw
- s905mb
- s905w
- s905w-w95
- s905w-x96-mini
- s905w-x96w
- s905x
- s905x-b860h
- s905x-nexbox-a95x
- s905x-t95
- s905x-tbee
- s905x-tx9
- s905x2
- s905x2-km3
- s905x2-x96max-2g
- s905x3
- s905x3-2101
- s905x3-a100
- s905x3-a95xf3
- s905x3-a95xf3-gb
- s905x3-b
- s905x3-h96max
- s905x3-ip1001m
- s905x3-q1
- s905x3-q2
- s905x3-tx3
- s905x3-tx3-bz
- s905x3-ugoosx3
- s905x3-whale
- s905x3-x88-pro-x3
- s905x3-x96air
- s905x3-x96air-gb
- s905x3-x96max
- s912
- s912-h96pro-plus
- s912-m8s-pro
- s912-nexbox-a1
- s912-nexbox-a2
- s912-onecloudpro
- s912-phicomm-t1
- s912-t95z-plus
- s912-tx8-max
- s912-tx9-pro-2g
- s912-tx9-pro-3g
- s912-x92
- s912-zyxq-fake
- s922x
- s922x-ct2000
- s922x-gtking
- s922x-gtkingpro-h
- s922x-odroid-n2
- s922x-reva
- s922x-ugoos-am6
- seewo-sv21
- smart-am40
- smart-am60
- station-m1
- station-m2
- sv-33a6x
- swan1-w28
- sw799
- tb-ls3399
- tn3399
- tpm312
- tqc-a01
- tvi3315a
- vplus
- xiaobao
- yskj
- zcube1-max
- zk-r39a
- zysj
include_docker:
description: |
是否编译 Docker 插件
required: true
default: 'no'
type: choice
options:
- 'yes'
- 'no'
skip_imagebuilder:
description: "直接使用底包快速构建固件, 忽略自定义插件 ----(跳过 ImageBuilder)"
required: false
default: false
type: boolean
replace_banner:
description: '替换为ImmortalWrt的banner信息'
required: false
default: false
type: boolean
rootfs_partsize:
description: '软件包大小1G固定'
required: true
default: "1024"
type: choice
options:
- '1024'
builder_name:
description: "设置打包作者的名称"
required: true
default: 'wukongdaily'
jobs:
build:
runs-on: ubuntu-22.04
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Set executable permissions
run: chmod +x ${{ github.workspace }}/n1/build.sh
- name: Debug workspace contents
run: ls -R
- name: 处理是否替换 banner 信息
if: ${{ github.event.inputs.skip_imagebuilder == 'false' && github.event.inputs.replace_banner == 'true' }}
run: |
# 使用ImageBuilder构建 且用户勾选了替换banner时
cp n1/99-banner.sh files/etc/uci-defaults/
- name: Build Rootfs for Radxa and Other Boards (ImmortalWrt)
if: ${{ github.event.inputs.skip_imagebuilder != 'true' }}
run: |
echo "✅ 使用 ImageBuilder 构建 rootfs"
profiles="generic"
include_docker="${{ github.event.inputs.include_docker }}"
rootfs_partsize="${{ github.event.inputs.rootfs_partsize }}"
IFS=',' read -r -a profile_array <<< "$profiles"
for profile in "${profile_array[@]}"; do
echo "Building for profile: $profile"
docker run --rm -i \
--user root \
-v "${{ github.workspace }}/bin:/home/build/immortalwrt/bin" \
-v "${{ github.workspace }}/files/etc/uci-defaults:/home/build/immortalwrt/files/etc/uci-defaults" \
-v "${{ github.workspace }}/arch/arch.conf:/home/build/immortalwrt/files/etc/opkg/arch.conf" \
-v "${{ github.workspace }}/shell:/home/build/immortalwrt/shell" \
-v "${{ github.workspace }}/n1/banner:/home/build/immortalwrt/files/mnt/banner" \
-v "${{ github.workspace }}/n1/imm.config:/home/build/immortalwrt/.config" \
-v "${{ github.workspace }}/n1/build.sh:/home/build/immortalwrt/build.sh" \
-e PROFILE=$profile \
-e INCLUDE_DOCKER=$include_docker \
-e ROOTFS_PARTSIZE=$rootfs_partsize \
immortalwrt/imagebuilder:armsr-armv8-openwrt-24.10.2 /bin/bash /home/build/immortalwrt/build.sh
done
- name: Download prebuilt rootfs.tar.gz
if: ${{ github.event.inputs.skip_imagebuilder == 'true' }}
run: |
echo "📦 正在下载预构建 rootfs"
mkdir -p bin/targets/armsr/armv8
curl -L -o bin/targets/armsr/armv8/openwrt-armvirt-64-default-rootfs.tar.gz \
https://github.com/wukongdaily/AutoBuildImmortalWrt/releases/download/rootfs/immortalwrt-24.10.2-armsr-armv8-generic-rootfs.tar.gz
- name: 查找rootfs.tar.gz所在路径
id: find_rootfs
run: |
ROOTFS_FILE=$(find bin/targets/armsr/armv8/ -type f -name "*rootfs.tar.gz" | head -n1)
echo "✅ Found: $ROOTFS_FILE"
if [ ! -f "$ROOTFS_FILE" ]; then
echo "❌ 找不到 rootfs.tar.gz 文件"
exit 1
fi
echo "file=$ROOTFS_FILE" >> $GITHUB_OUTPUT
- name: Package armsr-armv8 as ImmortalWrt by ophub
uses: ophub/amlogic-s9xxx-openwrt@main
with:
openwrt_path: ${{ steps.find_rootfs.outputs.file }}
openwrt_board: ${{ inputs.openwrt_board }}
openwrt_kernel: ${{ inputs.openwrt_kernel }}
auto_kernel: true
kernel_repo: "ophub/kernel"
kernel_usage: flippy
builder_name: ${{ inputs.builder_name }}
- name: Rename .img.gz files
id: rename
run: |
MODEL=${{ inputs.openwrt_board }}
for FILE in ${{ env.PACKAGED_OUTPUTPATH }}/*.img.gz; do
echo "Processing file: $FILE"
FILENAME=$(basename "$FILE")
KERNEL_VERSION=$(echo "$FILENAME" | grep -oP 'k\d+\.\d+\.\d+')
if [[ -z "$KERNEL_VERSION" ]]; then
echo "Skipped: Could not extract kernel version from $FILENAME"
continue
fi
NEW_NAME="immortalwrt-24.10.2-$MODEL-btrfs-$KERNEL_VERSION.img.gz"
mv "$FILE" "${{ env.PACKAGED_OUTPUTPATH }}/$NEW_NAME"
echo "Renamed to: $NEW_NAME"
done
- name: Upload firmware to GitHub Releases
uses: softprops/action-gh-release@v2.2.1
with:
tag_name: ophub
name: ImmortalWrt for boxs
body_path: ${{ github.workspace }}/n1/box.md
files: |
${{ env.PACKAGED_OUTPUTPATH }}/*.img.gz
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
\ No newline at end of file
......@@ -133,3 +133,6 @@
> ### 斐讯N1 电视盒子
> 构建的是armsr-armv8的rootfs Flippy打包工具打包为OpenWrt镜像<br>
> 用户基数比较庞大 所以我是单独一个工作流 build-n1.yml 支持根据具体 特定内核版本来构建
### 晶晨电视盒子类和部分开发板
> a311d, a311d-oes, s922x-oes-plus, wxy-oect, wxy-oect-replaced, panther-x2, jp-tvbox, s905x3-hk1, tanix-tx6, s905l-b860av21u, s905l2-e900v21e, s905l, s905l-aurora-1s, s905l-mg101, s905l2, s905l2-wojia, s905l3, s905l3-cm211, s905l3-unt400g1, s905l3-unt402a, s905l3a, s905l3a-cm311, s905l3a-m401a, s905l3b, s905l3b-e900v21d, s905l3b-e900v22d, s905l3b-e900v22e, s905l3b-ip103h, s905l3b-rg020et-ca, s905l3b-unt403a, s905lb-ipbs9505, s905lb-q96-mini, s905lb-r3300l, r66s, r68s, nanopc-t6, nanopi-r5c, nanopi-r5s, orangepi-5-plus, orangepi-5b, alark35-3500, anas3035, beikeyun, chainedbox, crrc, dc-a588, dg3399, dg-tn3568, dlfr100, e20c, e25, eaidk-610, emb3531, fine3399, firefly-rk3399, fmx1-pro, h28k, h66k, h68k, h69k, h88k, h88k-v3, h96-max-m2, hs530r, hugsun-x99, ipc-r, king3399, kylin3399, lckfb-tspi, leez, lx-r3s, mrkaio-m68s, renegade-rk3328, rk3318-box, rock5b, rock5c, ruisen-box, s905, s905-beelink-mini, s905-mxqpro-plus, s905d-ki-pro, s905d-sml5442tw, s905mb, s905w, s905w-w95, s905w-x96-mini, s905w-x96w, s905x, s905x-b860h, s905x-nexbox-a95x, s905x-t95, s905x-tbee, s905x-tx9, s905x2, s905x2-km3, s905x2-x96max-2g, s905x3, s905x3-2101, s905x3-a100, s905x3-a95xf3, s905x3-a95xf3-gb, s905x3-b, s905x3-h96max, s905x3-ip1001m, s905x3-q1, s905x3-q2, s905x3-tx3, s905x3-tx3-bz, s905x3-ugoosx3, s905x3-whale, s905x3-x88-pro-x3, s905x3-x96air, s905x3-x96air-gb, s905x3-x96max, s912, s912-h96pro-plus, s912-m8s-pro, s912-nexbox-a1, s912-nexbox-a2, s912-onecloudpro, s912-phicomm-t1, s912-t95z-plus, s912-tx8-max, s912-tx9-pro-2g, s912-tx9-pro-3g, s912-x92, s912-zyxq-fake, s922x, s922x-ct2000, s922x-gtking, s922x-gtkingpro-h, s922x-odroid-n2, s922x-reva, s922x-ugoos-am6, seewo-sv21, smart-am40, smart-am60, station-m1, station-m2, sv-33a6x, swan1-w28, sw799, tb-ls3399, tn3399, tpm312, tqc-a01, tvi3315a, vplus, xiaobao, yskj, zcube1-max, zk-r39a, zysj
#### luci版本 24.10.2 固件不是传统ext4和squashfs格式 而是btrfs格式 支持快照
#### 单网口机型后台地址 `没有没有没有,需查询` 请在上级路由器的dhcp列表中查询具体的局域网ip
#### 多网口机型后台地址:`192.168.100.1`
#### 用户名 `root` 密码:password
#### 是否带docker: 根据用户选择
#### 默认软件包大小 1GB
#### 内核版本:根据用户选择
#### rootfs.tar.gz 构建采用ImmortalWrt的ImageBuilder
#### 打包img 采用 `ophub/amlogic-s9xxx-openwrt@main`
#### 默认底包位置:https://github.com/wukongdaily/AutoBuildImmortalWrt/releases/tag/rootfs
#### 本项目中的release仅用于作者测试 且会定期删除 建议fork本项目后自行在Action构建
##### 若release中下载吃力 可在国内加速站下载
[![Github](https://img.shields.io/badge/Release文件可在国内加速站下载-FC7C0D?logo=github&logoColor=fff&labelColor=000&style=for-the-badge)](https://wkdaily.cpolar.top/archives/1)
> 支持的机型列表:
> a311d, a311d-oes, s922x-oes-plus, wxy-oect, wxy-oect-replaced, panther-x2, jp-tvbox, s905x3-hk1, tanix-tx6, s905l-b860av21u, s905l2-e900v21e, s905l, s905l-aurora-1s, s905l-mg101, s905l2, s905l2-wojia, s905l3, s905l3-cm211, s905l3-unt400g1, s905l3-unt402a, s905l3a, s905l3a-cm311, s905l3a-m401a, s905l3b, s905l3b-e900v21d, s905l3b-e900v22d, s905l3b-e900v22e, s905l3b-ip103h, s905l3b-rg020et-ca, s905l3b-unt403a, s905lb-ipbs9505, s905lb-q96-mini, s905lb-r3300l, r66s, r68s, nanopc-t6, nanopi-r5c, nanopi-r5s, orangepi-5-plus, orangepi-5b, alark35-3500, anas3035, beikeyun, chainedbox, crrc, dc-a588, dg3399, dg-tn3568, dlfr100, e20c, e25, eaidk-610, emb3531, fine3399, firefly-rk3399, fmx1-pro, h28k, h66k, h68k, h69k, h88k, h88k-v3, h96-max-m2, hs530r, hugsun-x99, ipc-r, king3399, kylin3399, lckfb-tspi, leez, lx-r3s, mrkaio-m68s, renegade-rk3328, rk3318-box, rock5b, rock5c, ruisen-box, s905, s905-beelink-mini, s905-mxqpro-plus, s905d-ki-pro, s905d-sml5442tw, s905mb, s905w, s905w-w95, s905w-x96-mini, s905w-x96w, s905x, s905x-b860h, s905x-nexbox-a95x, s905x-t95, s905x-tbee, s905x-tx9, s905x2, s905x2-km3, s905x2-x96max-2g, s905x3, s905x3-2101, s905x3-a100, s905x3-a95xf3, s905x3-a95xf3-gb, s905x3-b, s905x3-h96max, s905x3-ip1001m, s905x3-q1, s905x3-q2, s905x3-tx3, s905x3-tx3-bz, s905x3-ugoosx3, s905x3-whale, s905x3-x88-pro-x3, s905x3-x96air, s905x3-x96air-gb, s905x3-x96max, s912, s912-h96pro-plus, s912-m8s-pro, s912-nexbox-a1, s912-nexbox-a2, s912-onecloudpro, s912-phicomm-t1, s912-t95z-plus, s912-tx8-max, s912-tx9-pro-2g, s912-tx9-pro-3g, s912-x92, s912-zyxq-fake, s922x, s922x-ct2000, s922x-gtking, s922x-gtkingpro-h, s922x-odroid-n2, s922x-reva, s922x-ugoos-am6, seewo-sv21, smart-am40, smart-am60, station-m1, station-m2, sv-33a6x, swan1-w28, sw799, tb-ls3399, tn3399, tpm312, tqc-a01, tvi3315a, vplus, xiaobao, yskj, zcube1-max, zk-r39a, zysj
\ No newline at end of file
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment