Skip to content

Commit

Permalink
Add Longse/Herospeed
Browse files Browse the repository at this point in the history
  • Loading branch information
dimerr committed Jul 18, 2022
1 parent abbe81e commit 6490316
Show file tree
Hide file tree
Showing 3 changed files with 125 additions and 0 deletions.
32 changes: 32 additions & 0 deletions .github/workflows/_longse2oipc.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
#!/bin/bash

#####
## Creates Longse-compatible firmware file
## Dependencies : u-boot-tools, dd, tr, zip
#####

WORKDIR="workdir"
OUTPUTDIR="${OUTPUTDIR:-.}"
OUTPUTFILE="${OUTPUTDIR}/${SOC^^}_${SENSOR}_BASE_BD_W_2.2.FLS"

###

mkdir -p ${WORKDIR}
mkdir -p ${OUTPUTDIR}

# make dump image
ROOTFS_A=0x350000 DUMPSIZE=0x800000 OUTPUT=${WORKDIR}/dump.bin ./_mkdump.sh

dumpsize=$(printf '%x' `stat -c %s ${WORKDIR}/dump.bin`)
dumpsizele=$(echo -ne ${dumpsize:6:2}${dumpsize:4:2}${dumpsize:2:2}${dumpsize:0:2})

# make header
dd if=/dev/zero bs=44 count=1 of=${WORKDIR}/header.bin status=none
echo -n ${NAME} | dd of=${WORKDIR}/header.bin bs=8 count=1 conv=notrunc status=none
echo -n ${SENSOR} | dd of=${WORKDIR}/header.bin bs=8 count=1 seek=1 conv=notrunc status=none
echo -n ${dumpsizele} | xxd -r -p | dd of=${WORKDIR}/header.bin bs=1 count=3 seek=16 conv=notrunc status=none
echo -n -e "\x01" | dd of=${WORKDIR}/header.bin bs=1 count=1 seek=20 conv=notrunc status=none
echo -n "BURNER_BIN" | dd of=${WORKDIR}/header.bin bs=1 seek=24 conv=notrunc status=none

# append dump to header
cat ${WORKDIR}/header.bin ${WORKDIR}/dump.bin > ${OUTPUTFILE}
28 changes: 28 additions & 0 deletions .github/workflows/_mkdump.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
#!/bin/bash -e

#####
## Creates a fullflash dump file
## Dependencies : dd
#####

DUMPSIZE=${DUMPSIZE:-0x800000}
KERNEL_A=${KERNEL_A:-0x50000}
ROOTFS_A=${ROOTFS_A:-0x250000}

WORKDIR="workdir"
OUTPUTDIR="${OUTPUTDIR:-dumps}"

OUTPUTFILE="${OUTPUT:-${OUTPUTDIR}/openipc.${SOC}-dump.bin}"

###

mkdir -p ${WORKDIR}
mkdir -p ${OUTPUTDIR}

tar -xz -f openipc.${SOC}-br.tgz -C ${WORKDIR}/ --exclude "*.md5sum" || exit 1

# make dump image
dd if=/dev/zero bs=$((${DUMPSIZE})) count=1 status=none | tr "\000" "\377" > ${OUTPUTFILE}
dd if=u-boot-${SOC}-universal.bin of=${OUTPUTFILE} bs=$((${KERNEL_A})) conv=notrunc status=none
dd if=${WORKDIR}/uImage.${SOC} of=${OUTPUTFILE} bs=$((${KERNEL_A})) seek=1 conv=notrunc status=none
dd if=${WORKDIR}/rootfs.squashfs.${SOC} of=${OUTPUTFILE} seek=1 bs=$((${ROOTFS_A})) conv=notrunc status=none
65 changes: 65 additions & 0 deletions .github/workflows/longse.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
name: Longse to OpenIPC

on:
workflow_dispatch:

jobs:
build:
runs-on: ubuntu-latest
steps:
- name: setenv
run: |
TAG_NAME="herospeed"
RELEASE_NAME="OpenIPC Firmware"
PRERELEASE=true
echo "TAG_NAME=$TAG_NAME" >> $GITHUB_ENV
echo "RELEASE_NAME=$RELEASE_NAME" >> $GITHUB_ENV
echo "PRERELEASE=$PRERELEASE" >> $GITHUB_ENV
- name: Install dependencies
run: sudo apt-get update; sudo apt-get install u-boot-tools zip
- name: Checkout
uses: actions/checkout@v2.3.4
- name: Fetch OpenIPC release
run: |
wget -q https://github.com/OpenIPC/firmware/releases/download/latest/openipc.hi3516cv100-br.tgz
wget -q https://github.com/OpenIPC/firmware/releases/download/latest/openipc.hi3518cv100-br.tgz
wget -q https://github.com/OpenIPC/firmware/releases/download/latest/openipc.hi3518ev100-br.tgz
wget -q https://github.com/OpenIPC/firmware/releases/download/latest/openipc.hi3516cv200-br.tgz
wget -q https://github.com/OpenIPC/firmware/releases/download/latest/openipc.hi3516dv100-br.tgz
wget -q https://github.com/OpenIPC/firmware/releases/download/latest/openipc.hi3518ev200-br.tgz
wget -q https://github.com/OpenIPC/firmware/releases/download/latest/openipc.hi3516av300-br.tgz
wget -q https://github.com/OpenIPC/firmware/releases/download/latest/openipc.hi3516cv300-br.tgz
wget -q https://github.com/OpenIPC/firmware/releases/download/latest/openipc.hi3516ev100-br.tgz
wget -q https://github.com/OpenIPC/firmware/releases/download/latest/openipc.hi3516ev300-br.tgz
wget -q https://github.com/OpenIPC/firmware/releases/download/latest/openipc.hi3516ev200-br.tgz
- name: Create firmwares
run: |
export RUN="$GITHUB_WORKSPACE/.github/workflows/_longse2oipc.sh"
export OUTPUTDIR="$GITHUB_WORKSPACE/out"
chmod +x *.sh
SOC="hi3516av300" SENSOR="IMX415b" NAME="16AV300" $RUN
continue-on-error: true
- name: Create release
uses: actions/create-release@v1
continue-on-error: true
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ env.TAG_NAME }}
release_name: ${{ env.RELEASE_NAME }}
body: |
Transition firmware for Longse/Herospeed boards
draft: false
prerelease: ${{ env.PRERELEASE }}
- name: Upload binaries to release
uses: svenstaro/upload-release-action@v2
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: out/*
file_glob: true
tag: ${{ env.TAG_NAME }}
overwrite: true
# - name: Setup tmate session
# if: ${{ failure() }}
# uses: mxschmitt/action-tmate@v3

0 comments on commit 6490316

Please sign in to comment.