Add files via upload

pull/1681/head
Huang jinlong 2024-12-06 20:50:55 +08:00 committed by GitHub
parent 386ecc28a0
commit 0f151c1d29
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 68 additions and 0 deletions

View File

@ -0,0 +1,68 @@
name: image
on:
schedule:
- cron: '30 23 * * *' # 每天 UTC 时间 23:30 触发
workflow_dispatch: # 支持手动触发
env:
SIGMASTAR: ssc338q
TAG_NAME: openipc-ssc338q-fpv-image
jobs:
toolchain:
name: Image
runs-on: ubuntu-latest
steps:
- name: Prepare
run: |
link=https://github.com/openipc/firmware/releases/download/openipc-ssc338q-fpv
create() {
uboot=u-boot-$1-nor.bin
firmware=openipc.$2-nor-$3.tgz
release=target/openipc-$1-nor-$3.bin
mkdir -p output target
# 下载 U-Boot 文件
if ! wget -nv $link/$uboot -O output/$1.bin; then
echo -e "Download failed: $link/$uboot\n"
return 0
fi
# 下载固件文件
if ! wget -nv $link/$firmware -O output/$2.tgz; then
echo -e "Download failed: $link/$firmware\n"
return 0
fi
# 解压固件
tar -xf output/$2.tgz -C output
# 初始化固件文件,填充为 16MB 的 0xFF
dd if=/dev/zero bs=1K count=16384 status=none | tr '\000' '\377' > $release
# 写入 U-Boot (256KB)
dd if=output/$1.bin of=$release bs=1K seek=0 conv=notrunc status=none
# 写入内核镜像 (3072KB从 320KB 开始)
dd if=output/uImage.$2 of=$release bs=1K seek=320 conv=notrunc status=none
# 写入根文件系统 (9600KB从 3392KB 开始)
dd if=output/rootfs.squashfs.$2 of=$release bs=1K seek=3392 conv=notrunc status=none
# 清理临时文件夹
rm -rf output
echo -e "Created: $release\n"
}
# 按 SOC 类型生成固件
for soc in $SIGMASTAR ; do
create $soc $soc fpv
done
- name: Upload
uses: softprops/action-gh-release@v2
with:
tag_name: ${{ env.TAG_NAME }}
make_latest: false
files: target/*.bin