Skip to content

Commit 6490316

Browse files
committed
Add Longse/Herospeed
1 parent abbe81e commit 6490316

3 files changed

Lines changed: 125 additions & 0 deletions

File tree

.github/workflows/_longse2oipc.sh

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
#!/bin/bash
2+
3+
#####
4+
## Creates Longse-compatible firmware file
5+
## Dependencies : u-boot-tools, dd, tr, zip
6+
#####
7+
8+
WORKDIR="workdir"
9+
OUTPUTDIR="${OUTPUTDIR:-.}"
10+
OUTPUTFILE="${OUTPUTDIR}/${SOC^^}_${SENSOR}_BASE_BD_W_2.2.FLS"
11+
12+
###
13+
14+
mkdir -p ${WORKDIR}
15+
mkdir -p ${OUTPUTDIR}
16+
17+
# make dump image
18+
ROOTFS_A=0x350000 DUMPSIZE=0x800000 OUTPUT=${WORKDIR}/dump.bin ./_mkdump.sh
19+
20+
dumpsize=$(printf '%x' `stat -c %s ${WORKDIR}/dump.bin`)
21+
dumpsizele=$(echo -ne ${dumpsize:6:2}${dumpsize:4:2}${dumpsize:2:2}${dumpsize:0:2})
22+
23+
# make header
24+
dd if=/dev/zero bs=44 count=1 of=${WORKDIR}/header.bin status=none
25+
echo -n ${NAME} | dd of=${WORKDIR}/header.bin bs=8 count=1 conv=notrunc status=none
26+
echo -n ${SENSOR} | dd of=${WORKDIR}/header.bin bs=8 count=1 seek=1 conv=notrunc status=none
27+
echo -n ${dumpsizele} | xxd -r -p | dd of=${WORKDIR}/header.bin bs=1 count=3 seek=16 conv=notrunc status=none
28+
echo -n -e "\x01" | dd of=${WORKDIR}/header.bin bs=1 count=1 seek=20 conv=notrunc status=none
29+
echo -n "BURNER_BIN" | dd of=${WORKDIR}/header.bin bs=1 seek=24 conv=notrunc status=none
30+
31+
# append dump to header
32+
cat ${WORKDIR}/header.bin ${WORKDIR}/dump.bin > ${OUTPUTFILE}

.github/workflows/_mkdump.sh

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
#!/bin/bash -e
2+
3+
#####
4+
## Creates a fullflash dump file
5+
## Dependencies : dd
6+
#####
7+
8+
DUMPSIZE=${DUMPSIZE:-0x800000}
9+
KERNEL_A=${KERNEL_A:-0x50000}
10+
ROOTFS_A=${ROOTFS_A:-0x250000}
11+
12+
WORKDIR="workdir"
13+
OUTPUTDIR="${OUTPUTDIR:-dumps}"
14+
15+
OUTPUTFILE="${OUTPUT:-${OUTPUTDIR}/openipc.${SOC}-dump.bin}"
16+
17+
###
18+
19+
mkdir -p ${WORKDIR}
20+
mkdir -p ${OUTPUTDIR}
21+
22+
tar -xz -f openipc.${SOC}-br.tgz -C ${WORKDIR}/ --exclude "*.md5sum" || exit 1
23+
24+
# make dump image
25+
dd if=/dev/zero bs=$((${DUMPSIZE})) count=1 status=none | tr "\000" "\377" > ${OUTPUTFILE}
26+
dd if=u-boot-${SOC}-universal.bin of=${OUTPUTFILE} bs=$((${KERNEL_A})) conv=notrunc status=none
27+
dd if=${WORKDIR}/uImage.${SOC} of=${OUTPUTFILE} bs=$((${KERNEL_A})) seek=1 conv=notrunc status=none
28+
dd if=${WORKDIR}/rootfs.squashfs.${SOC} of=${OUTPUTFILE} seek=1 bs=$((${ROOTFS_A})) conv=notrunc status=none

.github/workflows/longse.yml

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
name: Longse to OpenIPC
2+
3+
on:
4+
workflow_dispatch:
5+
6+
jobs:
7+
build:
8+
runs-on: ubuntu-latest
9+
steps:
10+
- name: setenv
11+
run: |
12+
TAG_NAME="herospeed"
13+
RELEASE_NAME="OpenIPC Firmware"
14+
PRERELEASE=true
15+
echo "TAG_NAME=$TAG_NAME" >> $GITHUB_ENV
16+
echo "RELEASE_NAME=$RELEASE_NAME" >> $GITHUB_ENV
17+
echo "PRERELEASE=$PRERELEASE" >> $GITHUB_ENV
18+
- name: Install dependencies
19+
run: sudo apt-get update; sudo apt-get install u-boot-tools zip
20+
- name: Checkout
21+
uses: actions/checkout@v2.3.4
22+
- name: Fetch OpenIPC release
23+
run: |
24+
wget -q https://github.com/OpenIPC/firmware/releases/download/latest/openipc.hi3516cv100-br.tgz
25+
wget -q https://github.com/OpenIPC/firmware/releases/download/latest/openipc.hi3518cv100-br.tgz
26+
wget -q https://github.com/OpenIPC/firmware/releases/download/latest/openipc.hi3518ev100-br.tgz
27+
wget -q https://github.com/OpenIPC/firmware/releases/download/latest/openipc.hi3516cv200-br.tgz
28+
wget -q https://github.com/OpenIPC/firmware/releases/download/latest/openipc.hi3516dv100-br.tgz
29+
wget -q https://github.com/OpenIPC/firmware/releases/download/latest/openipc.hi3518ev200-br.tgz
30+
wget -q https://github.com/OpenIPC/firmware/releases/download/latest/openipc.hi3516av300-br.tgz
31+
wget -q https://github.com/OpenIPC/firmware/releases/download/latest/openipc.hi3516cv300-br.tgz
32+
wget -q https://github.com/OpenIPC/firmware/releases/download/latest/openipc.hi3516ev100-br.tgz
33+
wget -q https://github.com/OpenIPC/firmware/releases/download/latest/openipc.hi3516ev300-br.tgz
34+
wget -q https://github.com/OpenIPC/firmware/releases/download/latest/openipc.hi3516ev200-br.tgz
35+
- name: Create firmwares
36+
run: |
37+
export RUN="$GITHUB_WORKSPACE/.github/workflows/_longse2oipc.sh"
38+
export OUTPUTDIR="$GITHUB_WORKSPACE/out"
39+
chmod +x *.sh
40+
SOC="hi3516av300" SENSOR="IMX415b" NAME="16AV300" $RUN
41+
42+
continue-on-error: true
43+
- name: Create release
44+
uses: actions/create-release@v1
45+
continue-on-error: true
46+
env:
47+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
48+
with:
49+
tag_name: ${{ env.TAG_NAME }}
50+
release_name: ${{ env.RELEASE_NAME }}
51+
body: |
52+
Transition firmware for Longse/Herospeed boards
53+
draft: false
54+
prerelease: ${{ env.PRERELEASE }}
55+
- name: Upload binaries to release
56+
uses: svenstaro/upload-release-action@v2
57+
with:
58+
repo_token: ${{ secrets.GITHUB_TOKEN }}
59+
file: out/*
60+
file_glob: true
61+
tag: ${{ env.TAG_NAME }}
62+
overwrite: true
63+
# - name: Setup tmate session
64+
# if: ${{ failure() }}
65+
# uses: mxschmitt/action-tmate@v3

0 commit comments

Comments
 (0)