Merge branch 'master' of github:OpenIPC/firmware

pull/357/head
Igor Zalatov (from Citadel PC) 2022-08-14 21:24:26 +03:00
commit f202e1ed66
25 changed files with 672 additions and 1878 deletions

12
.github/CODEOWNERS vendored 100644
View File

@ -0,0 +1,12 @@
## @file
# CODEOWNERS
#
# Copyright (c) 2022, Intel Corporation. All rights reserved.<BR>
# SPDX-License-Identifier: BSD-2-Clause-Patent
##
* @ZigFisher
* @p0i5k
* @cronyx
* @dimerr
* @widgetii

View File

@ -1,149 +0,0 @@
name: "Hi3516Dv200 "
on:
push:
branches:
- production
tags:
- "v*"
schedule:
- cron: "00 03 * * *"
workflow_dispatch:
jobs:
build_core:
name: OpenIPC firmware for Hi3516Dv200
runs-on: ubuntu-latest
steps:
- name: Checkout
id: checkout
uses: actions/checkout@v2
- name: Install build dependencies
run: |
make install-deps
mkdir -p tmp
if [ ! -z "$ACT" ]; then
apt install -y cpio rsync bc
echo "FORCE_UNSAFE_CONFIGURE=1" >> $GITHUB_ENV
# Mitigate #325 issue
apt install -y pip && pip install cmake
fi
- name: Free disk space
if: ${{ !env.ACT }}
run: |
sudo swapoff -a
sudo rm -f /swapfile
sudo apt clean
docker rmi $(docker image ls -aq)
df -h
- name: Prepare buildroot
id: prepare
run: |
HEAD_TAG=$(git tag --points-at HEAD)
GIT_HASH=$(git rev-parse --short $GITHUB_SHA)
BRANCH_NAME=$(echo $GITHUB_REF | cut -d'/' -f 3)
if [ -z "$HEAD_TAG" ]; then
TAG_NAME="latest"
RELEASE_NAME="Development Build"
PRERELEASE=true
else
TAG_NAME=${{ github.ref }}
RELEASE_NAME="Release ${{ github.ref }}"
PRERELEASE=false
fi
echo "GIT_HASH=$GIT_HASH" >> $GITHUB_ENV
echo "TAG_NAME=$TAG_NAME" >> $GITHUB_ENV
echo "RELEASE_NAME=$RELEASE_NAME" >> $GITHUB_ENV
echo "PRERELEASE=$PRERELEASE" >> $GITHUB_ENV
echo "BRANCH_NAME=$BRANCH_NAME" >> $GITHUB_ENV
cd $GITHUB_WORKSPACE
make prepare
- name: Build Hi3516Dv200 firmware
id: build-hi3516dv200-firmware
continue-on-error: true
run: |
ARCHIVE_FW="${GITHUB_WORKSPACE}/output/images/openipc.hi3516dv200-br.tgz"
echo "ARCHIVE_FW=$ARCHIVE_FW" >> $GITHUB_ENV
cd $GITHUB_WORKSPACE
make PLATFORM=hisilicon BOARD=unknown_unknown_hi3516dv200_openipc all
[[ $(stat --printf="%s" ${GITHUB_WORKSPACE}/output/images/uImage) -gt 2097152 ]] && echo "TG_NOTIFY=Warning, kernel size exceeded : $(stat --printf="%s" ${GITHUB_WORKSPACE}/output/images/uImage) vs 2097152... HI3516DV200" >> $GITHUB_ENV && exit 1
[[ $(stat --printf="%s" ${GITHUB_WORKSPACE}/output/images/rootfs.squashfs) -gt 5242880 ]] && echo "TG_NOTIFY=Warning, rootfs size exceeded - $(stat --printf="%s" ${GITHUB_WORKSPACE}/output/images/rootfs.squashfs) vs 5242880... HI3516DV200" >> $GITHUB_ENV && exit 1
cd ${GITHUB_WORKSPACE}/output/images
mv uImage uImage.hi3516dv200
mv rootfs.squashfs rootfs.squashfs.hi3516dv200
md5sum rootfs.squashfs.hi3516dv200 > rootfs.squashfs.hi3516dv200.md5sum
md5sum uImage.hi3516dv200 > uImage.hi3516dv200.md5sum
tar -cvzf $ARCHIVE_FW *hi3516dv200*
- name: Build Hi3516Dv200 SDK
id: build-hi3516dv200-sdk
continue-on-error: true
run: |
ARCHIVE_SDK="${GITHUB_WORKSPACE}/output/images/arm-openipc-linux-musleabi_sdk-buildroot.tar.gz"
echo "ARCHIVE_SDK=$ARCHIVE_SDK" >> $GITHUB_ENV
cd $GITHUB_WORKSPACE/output
make sdk
- name: Send error message to telegram channel
env:
TG_TOKEN: ${{ secrets.TELEGRAM_TOKEN_BOT_OPENIPC }}
TG_CHANNEL: ${{ secrets.TELEGRAM_CHANNEL_OPENIPC_DEV }}
if: steps.build-hi3516dv200-firmware.outcome != 'success' || steps.build-hi3516dv200-sdk.outcome != 'success'
run: |
TG_OPTIONS="-s --connect-timeout 30 --max-time 30"
TG_NOTIFY="${TG_NOTIFY:=Warning, Buildroot compiling error... HI3516DV200}"
TG_HEADER=$(echo -e "\r\n$TG_NOTIFY \r\n\r\nCommit: $GIT_HASH \r\nBranch: $BRANCH_NAME \r\nTag: $TAG_NAME \r\n\r\n\xE2\x9A\xA0 GitHub Actions")
curl $TG_OPTIONS -H "Content-Type: multipart/form-data" -X POST https://api.telegram.org/bot$TG_TOKEN/sendMessage \
-F chat_id=$TG_CHANNEL -F text="$TG_HEADER"
exit 2
- name: Create release
if: ${{ !env.ACT }}
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 }}
draft: false
prerelease: ${{ env.PRERELEASE }}
- name: Upload NOR FW to release
if: ${{ !env.ACT }}
uses: svenstaro/upload-release-action@v2
continue-on-error: true
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: ${{ env.ARCHIVE_FW }}
asset_name: "openipc.hi3516dv200-br.tgz"
tag: ${{ env.TAG_NAME }}
overwrite: true
- name: Upload SDK to release
if: ${{ !env.ACT }}
uses: svenstaro/upload-release-action@v2
continue-on-error: true
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: ${{ env.ARCHIVE_SDK }}
asset_name: "arm-openipc-hi3516dv200-linux-musleabi_sdk-buildroot.tar.gz"
tag: ${{ env.TAG_NAME }}
overwrite: true
- name: Send binary file to telegram channel
if: ${{ !env.ACT }}
env:
TG_TOKEN: ${{ secrets.TELEGRAM_TOKEN_BOT_OPENIPC }}
TG_CHANNEL: ${{ secrets.TELEGRAM_CHANNEL_OPENIPC_DEV }}
run: |
TG_OPTIONS="-s --connect-timeout 30 --max-time 30"
TG_HEADER=$(echo -e "\r\nCommit: $GIT_HASH \r\nBranch: $BRANCH_NAME \r\nTag: $TAG_NAME \r\n\r\n\xE2\x9C\x85 GitHub Actions")
curl $TG_OPTIONS -H "Content-Type: multipart/form-data" -X POST https://api.telegram.org/bot$TG_TOKEN/sendDocument \
-F chat_id=$TG_CHANNEL -F document="@$ARCHIVE_FW" -F caption="$TG_HEADER"

View File

@ -1,130 +0,0 @@
name: "Hi3516Ev200 (fpv)"
on:
push:
branches:
- production
tags:
- "v*"
schedule:
- cron: "00 03 * * *"
workflow_dispatch:
jobs:
build_core:
name: OpenIPC firmware for Hi3516Ev200 (fpv)
runs-on: ubuntu-latest
steps:
- name: Checkout
id: checkout
uses: actions/checkout@v2
- name: Install build dependencies
run: |
make install-deps
mkdir -p tmp
if [ ! -z "$ACT" ]; then
apt install -y cpio rsync bc
echo "FORCE_UNSAFE_CONFIGURE=1" >> $GITHUB_ENV
# Mitigate #325 issue
apt install -y pip && pip install cmake
fi
- name: Free disk space
if: ${{ !env.ACT }}
run: |
sudo swapoff -a
sudo rm -f /swapfile
sudo apt clean
docker rmi $(docker image ls -aq)
df -h
- name: Prepare buildroot
id: prepare
run: |
HEAD_TAG=$(git tag --points-at HEAD)
GIT_HASH=$(git rev-parse --short $GITHUB_SHA)
BRANCH_NAME=$(echo $GITHUB_REF | cut -d'/' -f 3)
if [ -z "$HEAD_TAG" ]; then
TAG_NAME="latest"
RELEASE_NAME="Development Build"
PRERELEASE=true
else
TAG_NAME=${{ github.ref }}
RELEASE_NAME="Release ${{ github.ref }}"
PRERELEASE=false
fi
echo "GIT_HASH=$GIT_HASH" >> $GITHUB_ENV
echo "TAG_NAME=$TAG_NAME" >> $GITHUB_ENV
echo "RELEASE_NAME=$RELEASE_NAME" >> $GITHUB_ENV
echo "PRERELEASE=$PRERELEASE" >> $GITHUB_ENV
echo "BRANCH_NAME=$BRANCH_NAME" >> $GITHUB_ENV
echo "BOARD=hi3516ev200" >> $GITHUB_ENV
cd $GITHUB_WORKSPACE
make prepare
- name: Build Hi3516Ev200 (fpv) firmware
id: build-hi3516ev200-fpv-firmware
continue-on-error: true
run: |
ARCHIVE_FW="${GITHUB_WORKSPACE}/output/images/openipc.${BOARD}-fpv-br.tgz"
echo "ARCHIVE_FW=$ARCHIVE_FW" >> $GITHUB_ENV
cd $GITHUB_WORKSPACE
make PLATFORM=hisilicon BOARD=unknown_unknown_${BOARD}_fpv all
[[ $(stat --printf="%s" ${GITHUB_WORKSPACE}/output/images/uImage) -gt 3145728 ]] && echo "TG_NOTIFY=Warning, kernel size exceeded : $(stat --printf="%s" ${GITHUB_WORKSPACE}/output/images/uImage) ... ${BOARD} (fpv)" >> $GITHUB_ENV && exit 1
[[ $(stat --printf="%s" ${GITHUB_WORKSPACE}/output/images/rootfs.squashfs) -gt 10485760 ]] && echo "TG_NOTIFY=Warning, rootfs size exceeded - $(stat --printf="%s" ${GITHUB_WORKSPACE}/output/images/rootfs.squashfs) vs 10485760... ${BOARD} (fpv)" >> $GITHUB_ENV && exit 1
cd ${GITHUB_WORKSPACE}/output/images
mv uImage uImage.${BOARD}
mv rootfs.squashfs rootfs.squashfs.${BOARD}
md5sum rootfs.squashfs.${BOARD} > rootfs.squashfs.${BOARD}.md5sum
md5sum uImage.${BOARD} > uImage.${BOARD}.md5sum
tar -cvzf $ARCHIVE_FW uImage* *rootfs.squashfs.${BOARD}*
- name: Send error message to telegram channel
env:
TG_TOKEN: ${{ secrets.TELEGRAM_TOKEN_BOT_OPENIPC }}
TG_CHANNEL: ${{ secrets.TELEGRAM_CHANNEL_OPENIPC_DEV }}
if: steps.build-hi3516ev200-fpv-firmware.outcome != 'success'
run: |
TG_OPTIONS="-s --connect-timeout 30 --max-time 30"
TG_NOTIFY="${TG_NOTIFY:=Warning, Buildroot compiling error... ${BOARD} (fpv)}"
TG_HEADER=$(echo -e "\r\n$TG_NOTIFY \r\n\r\nCommit: $GIT_HASH \r\nBranch: $BRANCH_NAME \r\nTag: $TAG_NAME \r\n\r\n\xE2\x9A\xA0 GitHub Actions")
curl $TG_OPTIONS -H "Content-Type: multipart/form-data" -X POST https://api.telegram.org/bot$TG_TOKEN/sendMessage \
-F chat_id=$TG_CHANNEL -F text="$TG_HEADER"
exit 2
- name: Create release
if: ${{ !env.ACT }}
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 }}
draft: false
prerelease: ${{ env.PRERELEASE }}
- name: Upload NOR FW to release
if: ${{ !env.ACT }}
uses: svenstaro/upload-release-action@v2
continue-on-error: true
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: ${{ env.ARCHIVE_FW }}
asset_name: openipc.${{ env.BOARD }}-fpv-br.tgz
tag: ${{ env.TAG_NAME }}
overwrite: true
- name: Send binary file to telegram channel
if: ${{ !env.ACT }}
env:
TG_TOKEN: ${{ secrets.TELEGRAM_TOKEN_BOT_OPENIPC }}
TG_CHANNEL: ${{ secrets.TELEGRAM_CHANNEL_OPENIPC_DEV }}
run: |
TG_OPTIONS="-s --connect-timeout 30 --max-time 30"
TG_HEADER=$(echo -e "\r\nCommit: $GIT_HASH \r\nBranch: $BRANCH_NAME \r\nTag: $TAG_NAME \r\n\r\n\xE2\x9C\x85 GitHub Actions")
curl $TG_OPTIONS -H "Content-Type: multipart/form-data" -X POST https://api.telegram.org/bot$TG_TOKEN/sendDocument \
-F chat_id=$TG_CHANNEL -F document="@$ARCHIVE_FW" -F caption="$TG_HEADER"

View File

@ -1,149 +0,0 @@
name: "Hi3516Ev200 "
on:
push:
branches:
- production
tags:
- "v*"
schedule:
- cron: "00 03 * * *"
workflow_dispatch:
jobs:
build_core:
name: OpenIPC firmware for Hi3516Ev200
runs-on: ubuntu-latest
steps:
- name: Checkout
id: checkout
uses: actions/checkout@v2
- name: Install build dependencies
run: |
make install-deps
mkdir -p tmp
if [ ! -z "$ACT" ]; then
apt install -y cpio rsync bc
echo "FORCE_UNSAFE_CONFIGURE=1" >> $GITHUB_ENV
# Mitigate #325 issue
apt install -y pip && pip install cmake
fi
- name: Free disk space
if: ${{ !env.ACT }}
run: |
sudo swapoff -a
sudo rm -f /swapfile
sudo apt clean
docker rmi $(docker image ls -aq)
df -h
- name: Prepare buildroot
id: prepare
run: |
HEAD_TAG=$(git tag --points-at HEAD)
GIT_HASH=$(git rev-parse --short $GITHUB_SHA)
BRANCH_NAME=$(echo $GITHUB_REF | cut -d'/' -f 3)
if [ -z "$HEAD_TAG" ]; then
TAG_NAME="latest"
RELEASE_NAME="Development Build"
PRERELEASE=true
else
TAG_NAME=${{ github.ref }}
RELEASE_NAME="Release ${{ github.ref }}"
PRERELEASE=false
fi
echo "GIT_HASH=$GIT_HASH" >> $GITHUB_ENV
echo "TAG_NAME=$TAG_NAME" >> $GITHUB_ENV
echo "RELEASE_NAME=$RELEASE_NAME" >> $GITHUB_ENV
echo "PRERELEASE=$PRERELEASE" >> $GITHUB_ENV
echo "BRANCH_NAME=$BRANCH_NAME" >> $GITHUB_ENV
cd $GITHUB_WORKSPACE
make prepare
- name: Build Hi3516Ev200 firmware
id: build-hi3516ev200-firmware
continue-on-error: true
run: |
ARCHIVE_FW="${GITHUB_WORKSPACE}/output/images/openipc.hi3516ev200-br.tgz"
echo "ARCHIVE_FW=$ARCHIVE_FW" >> $GITHUB_ENV
cd $GITHUB_WORKSPACE
make PLATFORM=hisilicon BOARD=unknown_unknown_hi3516ev200_openipc all
[[ $(stat --printf="%s" ${GITHUB_WORKSPACE}/output/images/uImage) -gt 2097152 ]] && echo "TG_NOTIFY=Warning, kernel size exceeded : $(stat --printf="%s" ${GITHUB_WORKSPACE}/output/images/uImage) vs 2097152... HI3516EV200" >> $GITHUB_ENV && exit 1
[[ $(stat --printf="%s" ${GITHUB_WORKSPACE}/output/images/rootfs.squashfs) -gt 5242880 ]] && echo "TG_NOTIFY=Warning, rootfs size exceeded - $(stat --printf="%s" ${GITHUB_WORKSPACE}/output/images/rootfs.squashfs) vs 5242880... HI3516EV200" >> $GITHUB_ENV && exit 1
cd ${GITHUB_WORKSPACE}/output/images
mv uImage uImage.hi3516ev200
mv rootfs.squashfs rootfs.squashfs.hi3516ev200
md5sum rootfs.squashfs.hi3516ev200 > rootfs.squashfs.hi3516ev200.md5sum
md5sum uImage.hi3516ev200 > uImage.hi3516ev200.md5sum
tar -cvzf $ARCHIVE_FW *hi3516ev200*
- name: Build Hi3516Ev200 SDK
id: build-hi3516ev200-sdk
continue-on-error: true
run: |
ARCHIVE_SDK="${GITHUB_WORKSPACE}/output/images/arm-openipc-linux-musleabi_sdk-buildroot.tar.gz"
echo "ARCHIVE_SDK=$ARCHIVE_SDK" >> $GITHUB_ENV
cd $GITHUB_WORKSPACE/output
make sdk
- name: Send error message to telegram channel
env:
TG_TOKEN: ${{ secrets.TELEGRAM_TOKEN_BOT_OPENIPC }}
TG_CHANNEL: ${{ secrets.TELEGRAM_CHANNEL_OPENIPC_DEV }}
if: steps.build-hi3516ev200-firmware.outcome != 'success' || steps.build-hi3516ev200-sdk.outcome != 'success'
run: |
TG_OPTIONS="-s --connect-timeout 30 --max-time 30"
TG_NOTIFY="${TG_NOTIFY:=Warning, Buildroot compiling error... HI3516EV200}"
TG_HEADER=$(echo -e "\r\n$TG_NOTIFY \r\n\r\nCommit: $GIT_HASH \r\nBranch: $BRANCH_NAME \r\nTag: $TAG_NAME \r\n\r\n\xE2\x9A\xA0 GitHub Actions")
curl $TG_OPTIONS -H "Content-Type: multipart/form-data" -X POST https://api.telegram.org/bot$TG_TOKEN/sendMessage \
-F chat_id=$TG_CHANNEL -F text="$TG_HEADER"
exit 2
- name: Create release
if: ${{ !env.ACT }}
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 }}
draft: false
prerelease: ${{ env.PRERELEASE }}
- name: Upload NOR FW to release
if: ${{ !env.ACT }}
uses: svenstaro/upload-release-action@v2
continue-on-error: true
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: ${{ env.ARCHIVE_FW }}
asset_name: "openipc.hi3516ev200-br.tgz"
tag: ${{ env.TAG_NAME }}
overwrite: true
- name: Upload SDK to release
if: ${{ !env.ACT }}
uses: svenstaro/upload-release-action@v2
continue-on-error: true
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: ${{ env.ARCHIVE_SDK }}
asset_name: "arm-openipc-hi3516ev200-linux-musleabi_sdk-buildroot.tar.gz"
tag: ${{ env.TAG_NAME }}
overwrite: true
- name: Send binary file to telegram channel
if: ${{ !env.ACT }}
env:
TG_TOKEN: ${{ secrets.TELEGRAM_TOKEN_BOT_OPENIPC }}
TG_CHANNEL: ${{ secrets.TELEGRAM_CHANNEL_OPENIPC_DEV }}
run: |
TG_OPTIONS="-s --connect-timeout 30 --max-time 30"
TG_HEADER=$(echo -e "\r\nCommit: $GIT_HASH \r\nBranch: $BRANCH_NAME \r\nTag: $TAG_NAME \r\n\r\n\xE2\x9C\x85 GitHub Actions")
curl $TG_OPTIONS -H "Content-Type: multipart/form-data" -X POST https://api.telegram.org/bot$TG_TOKEN/sendDocument \
-F chat_id=$TG_CHANNEL -F document="@$ARCHIVE_FW" -F caption="$TG_HEADER"

View File

@ -0,0 +1,266 @@
name: build
on:
pull_request:
types:
- synchronize
- reopened
- opened
paths-ignore:
- '**.md'
push:
branches:
- production
tags:
- "v*"
paths-ignore:
- '**.md'
schedule:
- cron: "00 03 * * *"
workflow_dispatch:
jobs:
toolchain:
name: Build toolchain
runs-on: ubuntu-latest
env:
CHIP: hi3516ev200
outputs:
sdk-file: ${{ steps.build-sdk.outputs.sdk-file }}
steps:
- name: Checkout
id: checkout
uses: actions/checkout@v3
with:
fetch-depth: 0 # OR "2" -> To retrieve the preceding commit.
- name: Install build dependencies
run: |
make install-deps
mkdir -p tmp
if [ ! -z "$ACT" ]; then
apt install -y cpio rsync bc
echo "FORCE_UNSAFE_CONFIGURE=1" >> $GITHUB_ENV
fi
- name: Free disk space
if: ${{ !env.ACT }}
run: |
sudo apt clean
docker rmi $(docker image ls -aq)
df -h
- name: Build Buildroot SDK
id: build-sdk
run: |
set -x
make prepare
make BOARD=unknown_unknown_${CHIP}_openipc br-sdk
SDK_PATH=$(find output/images -name "*_sdk-buildroot.tar.gz")
echo "SDK_PATH=$SDK_PATH" >> $GITHUB_ENV
SDK_FILE=$(basename $SDK_PATH)
echo "SDK_FILE=$SDK_FILE" >> $GITHUB_ENV
echo "::set-output name=sdk-file::$SDK_FILE"
- uses: actions/upload-artifact@v3
with:
name: ${{ env.SDK_FILE }}
path: ${{ env.SDK_PATH }}
retention-days: 1
buildroot:
name: Build firmware
needs: toolchain
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
platform:
- hi3516ev200
- hi3516ev300
- hi3518ev300
- hi3516dv200
release:
- lite
- ultimate
include:
- platform: hi3516ev200
release: fpv
- platform: hi3516ev300
release: fpv
exclude:
- platform: hi3516dv200
release: ultimate
env:
HAS_NAND: ${{ matrix.release == 'ultimate' }} && (${{ matrix.platform == 'hi3516ev300' }} || ${{ matrix.platform == 'hi3516ev200' }})
steps:
- name: Checkout
id: checkout
uses: actions/checkout@v3
with:
fetch-depth: 0 # OR "2" -> To retrieve the preceding commit.
- name: Install build dependencies
run: |
make install-deps
mkdir -p tmp
if [ ! -z "$ACT" ]; then
apt install -y cpio rsync bc
echo "FORCE_UNSAFE_CONFIGURE=1" >> $GITHUB_ENV
fi
- name: Free disk space
if: ${{ !env.ACT }}
run: |
sudo apt clean
docker rmi $(docker image ls -aq)
df -h
- name: Prepare buildroot
id: prepare
run: |
HEAD_TAG=$(git tag --points-at HEAD)
GIT_HASH=$(git rev-parse --short $GITHUB_SHA)
BRANCH=$(echo $GITHUB_REF | cut -d'/' -f 3)
if [ -z "$HEAD_TAG" ]; then
TAG_NAME="latest"
RELEASE_NAME="Development Build"
PRERELEASE=true
else
TAG_NAME=${{ github.ref }}
RELEASE_NAME="Release ${{ github.ref }}"
PRERELEASE=false
fi
echo "GIT_HASH=$GIT_HASH" >> $GITHUB_ENV
echo "TAG_NAME=$TAG_NAME" >> $GITHUB_ENV
echo "RELEASE_NAME=$RELEASE_NAME" >> $GITHUB_ENV
echo "PRERELEASE=$PRERELEASE" >> $GITHUB_ENV
echo "BRANCH=$BRANCH" >> $GITHUB_ENV
cd $GITHUB_WORKSPACE
make prepare
- uses: actions/download-artifact@v3
with:
name: ${{ needs.toolchain.outputs.sdk-file }}
- name: Build firmware
run: |
BOARD=unknown_unknown_${{ matrix.platform }}
if [ "${{ matrix.release }}" != "lite" ]; then
SUFF="${{ matrix.release }}-"
BOARD="${BOARD}_${{ matrix.release }}"
else
BOARD="${BOARD}_openipc"
fi
NORFW_PATH="${GITHUB_WORKSPACE}/output/images/openipc.${{ matrix.platform }}-${SUFF}br.tgz"
echo "NORFW_PATH=$NORFW_PATH" >> $GITHUB_ENV
NORFW_FILE=$(basename $NORFW_PATH)
echo "NORFW_FILE=$NORFW_FILE" >> $GITHUB_ENV
cd $GITHUB_WORKSPACE
CONF_PATH=$(find . -name "${BOARD}_defconfig")
echo Using ${{ needs.toolchain.outputs.sdk-file }}
echo "BR2_TOOLCHAIN_EXTERNAL=y" >> $CONF_PATH
echo "BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y" >> $CONF_PATH
echo "BR2_TOOLCHAIN_EXTERNAL_PREINSTALLED=y" >> $CONF_PATH
echo "BR2_TOOLCHAIN_EXTERNAL_PATH=\"/tmp/extsdk\"" >> $CONF_PATH
echo "BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX=\"arm-openipc-linux-musleabi\"" >> $CONF_PATH
echo "BR2_TOOLCHAIN_EXTERNAL_CUSTOM_MUSL=y" >> $CONF_PATH
echo "BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_9=y" >> $CONF_PATH
echo "BR2_TOOLCHAIN_EXTERNAL_GCC_8=y" >> $CONF_PATH
LIBC="musl"
echo "BR2_ROOTFS_POST_BUILD_SCRIPT=\"\$(TOPDIR)/../scripts/executing_commands_for_${LIBC}.sh\"" >> $CONF_PATH
mkdir /tmp/extsdk
tar xvf ${{ needs.toolchain.outputs.sdk-file }} --strip-components=1 -C /tmp/extsdk >/dev/null
make BOARD=$BOARD all
[[ $(stat --printf="%s" ${GITHUB_WORKSPACE}/output/images/uImage) -gt 3145728 ]] && echo "TG_NOTIFY=Warning, kernel size exceeded : $(stat --printf="%s" ${GITHUB_WORKSPACE}/output/images/uImage) ... ${{ matrix.platform }} (${{ matrix.release }})" >> $GITHUB_ENV && exit 1
[[ $(stat --printf="%s" ${GITHUB_WORKSPACE}/output/images/rootfs.squashfs) -gt 10485760 ]] && echo "TG_NOTIFY=Warning, rootfs size exceeded - $(stat --printf="%s" ${GITHUB_WORKSPACE}/output/images/rootfs.squashfs) vs 10485760... ${{ matrix.platform }} (${{ matrix.release }})" >> $GITHUB_ENV && exit 1
cd ${GITHUB_WORKSPACE}/output/images
mv uImage uImage.${{ matrix.platform }}
mv rootfs.squashfs rootfs.squashfs.${{ matrix.platform }}
md5sum rootfs.squashfs.${{ matrix.platform }} > rootfs.squashfs.${{ matrix.platform }}.md5sum
md5sum uImage.${{ matrix.platform }} > uImage.${{ matrix.platform }}.md5sum
tar -cvzf $NORFW_PATH uImage* *rootfs.squashfs.${{ matrix.platform }}*
# TODO: infer from configs
if [ "$HAS_NAND" == "true" ]; then
NANDFW_PATH="${GITHUB_WORKSPACE}/output/images/openipc.${{ matrix.platform }}-nand-br.tgz"
echo "NANDFW_PATH=$NANDFW_PATH" >> $GITHUB_ENV
NANDFW_FILE=$(basename $NANDFW_PATH)
echo "NANDFW_FILE=$NANDFW_FILE" >> $GITHUB_ENV
mv rootfs.ubi rootfs.ubi.${{ matrix.platform }}
mv rootfs.ubifs rootfs.ubifs.${{ matrix.platform }}
md5sum rootfs.ubifs.${{ matrix.platform }} > rootfs.ubifs.${{ matrix.platform }}.md5sum
tar -cvzf $NANDFW_PATH uImage* *rootfs.ubi*.${{ matrix.platform }}*
fi
- name: Send error message to telegram channel
env:
TG_TOKEN: ${{ secrets.TELEGRAM_TOKEN_BOT_OPENIPC }}
TG_CHANNEL: ${{ secrets.TELEGRAM_CHANNEL_OPENIPC_DEV }}
if: ${{ !env.ACT && failure() && github.event_name != 'pull_request' }}
run: |
TG_OPTIONS="-s --connect-timeout 30 --max-time 30"
TG_NOTIFY="${TG_NOTIFY:=Warning, Buildroot compiling error... ${{ matrix.platform }} (${{ matrix.release }})}"
TG_HEADER=$(echo -e "\r\n$TG_NOTIFY \r\n\r\nCommit: $GIT_HASH \r\nBranch: $BRANCH \r\nTag: $TAG_NAME \r\n\r\n\xE2\x9A\xA0 GitHub Actions")
curl $TG_OPTIONS -H "Content-Type: multipart/form-data" -X POST https://api.telegram.org/bot$TG_TOKEN/sendMessage \
-F chat_id=$TG_CHANNEL -F text="$TG_HEADER"
exit 2
- name: Create release
if: ${{ !env.ACT && github.event_name != 'pull_request' }}
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 }}
draft: false
prerelease: ${{ env.PRERELEASE }}
- name: Upload NOR FW to release
if: ${{ !env.ACT && github.event_name != 'pull_request' }}
uses: svenstaro/upload-release-action@v2
continue-on-error: true
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: ${{ env.NORFW_PATH }}
asset_name: ${{ env.NORFW_FILE }}
tag: ${{ env.TAG_NAME }}
overwrite: true
- name: Upload NAND FW to release
if: ${{ !env.ACT && github.event_name != 'pull_request' && env.HAS_NAND }}
uses: svenstaro/upload-release-action@v2
continue-on-error: true
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: ${{ env.NANDFW_PATH }}
asset_name: ${{ env.NANDFW_FILE }}
tag: ${{ env.TAG_NAME }}
overwrite: true
- name: Send binary file to telegram channel
if: ${{ !env.ACT && github.event_name != 'pull_request' }}
env:
TG_TOKEN: ${{ secrets.TELEGRAM_TOKEN_BOT_OPENIPC }}
TG_CHANNEL: ${{ secrets.TELEGRAM_CHANNEL_OPENIPC_DEV }}
run: |
TG_OPTIONS="-s --connect-timeout 30 --max-time 30"
TG_HEADER=$(echo -e "\r\nCommit: $GIT_HASH \r\nBranch: $BRANCH \r\nTag: $TAG_NAME \r\n\r\n\xE2\x9C\x85 GitHub Actions")
curl $TG_OPTIONS -H "Content-Type: multipart/form-data" -X POST https://api.telegram.org/bot$TG_TOKEN/sendDocument \
-F chat_id=$TG_CHANNEL -F document="@$NORFW_PATH" -F caption="$TG_HEADER"

View File

@ -1,148 +0,0 @@
name: "Hi3516Ev200 (ultimate)"
on:
push:
branches:
- production
tags:
- "v*"
schedule:
- cron: "00 03 * * *"
workflow_dispatch:
jobs:
build_core:
name: OpenIPC firmware for Hi3516Ev200 (ultimate)
runs-on: ubuntu-latest
steps:
- name: Checkout
id: checkout
uses: actions/checkout@v2
- name: Install build dependencies
run: |
make install-deps
mkdir -p tmp
if [ ! -z "$ACT" ]; then
apt install -y cpio rsync bc
echo "FORCE_UNSAFE_CONFIGURE=1" >> $GITHUB_ENV
# Mitigate #325 issue
apt install -y pip && pip install cmake
fi
- name: Free disk space
if: ${{ !env.ACT }}
run: |
sudo swapoff -a
sudo rm -f /swapfile
sudo apt clean
docker rmi $(docker image ls -aq)
df -h
- name: Prepare buildroot
id: prepare
run: |
HEAD_TAG=$(git tag --points-at HEAD)
GIT_HASH=$(git rev-parse --short $GITHUB_SHA)
BRANCH_NAME=$(echo $GITHUB_REF | cut -d'/' -f 3)
if [ -z "$HEAD_TAG" ]; then
TAG_NAME="latest"
RELEASE_NAME="Development Build"
PRERELEASE=true
else
TAG_NAME=${{ github.ref }}
RELEASE_NAME="Release ${{ github.ref }}"
PRERELEASE=false
fi
echo "GIT_HASH=$GIT_HASH" >> $GITHUB_ENV
echo "TAG_NAME=$TAG_NAME" >> $GITHUB_ENV
echo "RELEASE_NAME=$RELEASE_NAME" >> $GITHUB_ENV
echo "PRERELEASE=$PRERELEASE" >> $GITHUB_ENV
echo "BRANCH_NAME=$BRANCH_NAME" >> $GITHUB_ENV
echo "BOARD=hi3516ev200" >> $GITHUB_ENV
cd $GITHUB_WORKSPACE
make prepare
- name: Build Hi3516Ev200 (ultimate) firmware
id: build-hi3516ev200-ultimate-firmware
continue-on-error: true
run: |
ARCHIVE_FW="${GITHUB_WORKSPACE}/output/images/openipc.${BOARD}-ultimate-br.tgz"
ARCHIVE_FW_NAND="${GITHUB_WORKSPACE}/output/images/openipc.${BOARD}-nand-br.tgz"
echo "ARCHIVE_FW=$ARCHIVE_FW" >> $GITHUB_ENV
echo "ARCHIVE_FW_NAND=$ARCHIVE_FW_NAND" >> $GITHUB_ENV
cd $GITHUB_WORKSPACE
make PLATFORM=hisilicon BOARD=unknown_unknown_${BOARD}_ultimate all
[[ $(stat --printf="%s" ${GITHUB_WORKSPACE}/output/images/uImage) -gt 3145728 ]] && echo "TG_NOTIFY=Warning, kernel size exceeded : $(stat --printf="%s" ${GITHUB_WORKSPACE}/output/images/uImage) ... ${BOARD} (ultimate)" >> $GITHUB_ENV && exit 1
[[ $(stat --printf="%s" ${GITHUB_WORKSPACE}/output/images/rootfs.squashfs) -gt 10485760 ]] && echo "TG_NOTIFY=Warning, rootfs size exceeded - $(stat --printf="%s" ${GITHUB_WORKSPACE}/output/images/rootfs.squashfs) vs 10485760... ${BOARD} (ultimate)" >> $GITHUB_ENV && exit 1
cd ${GITHUB_WORKSPACE}/output/images
mv uImage uImage.${BOARD}
mv rootfs.squashfs rootfs.squashfs.${BOARD}
mv rootfs.ubi rootfs.ubi.${BOARD}
mv rootfs.ubifs rootfs.ubifs.${BOARD}
md5sum rootfs.squashfs.${BOARD} > rootfs.squashfs.${BOARD}.md5sum
md5sum uImage.${BOARD} > uImage.${BOARD}.md5sum
md5sum rootfs.ubifs.${BOARD} > rootfs.ubifs.${BOARD}.md5sum
md5sum uImage.${BOARD} > uImage.${BOARD}.md5sum
tar -cvzf $ARCHIVE_FW uImage* *rootfs.squashfs.${BOARD}*
tar -cvzf $ARCHIVE_FW_NAND uImage* *rootfs.ubi*.${BOARD}*
- name: Send error message to telegram channel
env:
TG_TOKEN: ${{ secrets.TELEGRAM_TOKEN_BOT_OPENIPC }}
TG_CHANNEL: ${{ secrets.TELEGRAM_CHANNEL_OPENIPC_DEV }}
if: steps.build-hi3516ev200-ultimate-firmware.outcome != 'success'
run: |
TG_OPTIONS="-s --connect-timeout 30 --max-time 30"
TG_NOTIFY="${TG_NOTIFY:=Warning, Buildroot compiling error... ${BOARD} (ultimate)}"
TG_HEADER=$(echo -e "\r\n$TG_NOTIFY \r\n\r\nCommit: $GIT_HASH \r\nBranch: $BRANCH_NAME \r\nTag: $TAG_NAME \r\n\r\n\xE2\x9A\xA0 GitHub Actions")
curl $TG_OPTIONS -H "Content-Type: multipart/form-data" -X POST https://api.telegram.org/bot$TG_TOKEN/sendMessage \
-F chat_id=$TG_CHANNEL -F text="$TG_HEADER"
exit 2
- name: Create release
if: ${{ !env.ACT }}
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 }}
draft: false
prerelease: ${{ env.PRERELEASE }}
- name: Upload NOR FW to release
if: ${{ !env.ACT }}
uses: svenstaro/upload-release-action@v2
continue-on-error: true
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: ${{ env.ARCHIVE_FW }}
asset_name: openipc.${{ env.BOARD }}-ultimate-br.tgz
tag: ${{ env.TAG_NAME }}
overwrite: true
- name: Upload NAND FW to release
if: ${{ !env.ACT }}
uses: svenstaro/upload-release-action@v2
continue-on-error: true
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: ${{ env.ARCHIVE_FW_NAND }}
asset_name: openipc.${{ env.BOARD }}-nand-br.tgz
tag: ${{ env.TAG_NAME }}
overwrite: true
- name: Send binary file to telegram channel
if: ${{ !env.ACT }}
env:
TG_TOKEN: ${{ secrets.TELEGRAM_TOKEN_BOT_OPENIPC }}
TG_CHANNEL: ${{ secrets.TELEGRAM_CHANNEL_OPENIPC_DEV }}
run: |
TG_OPTIONS="-s --connect-timeout 30 --max-time 30"
TG_HEADER=$(echo -e "\r\nCommit: $GIT_HASH \r\nBranch: $BRANCH_NAME \r\nTag: $TAG_NAME \r\n\r\n\xE2\x9C\x85 GitHub Actions")
curl $TG_OPTIONS -H "Content-Type: multipart/form-data" -X POST https://api.telegram.org/bot$TG_TOKEN/sendDocument \
-F chat_id=$TG_CHANNEL -F document="@$ARCHIVE_FW" -F caption="$TG_HEADER"

View File

@ -1,130 +0,0 @@
name: "Hi3516Ev300 (fpv)"
on:
push:
branches:
- production
tags:
- "v*"
schedule:
- cron: "00 03 * * *"
workflow_dispatch:
jobs:
build_core:
name: OpenIPC firmware for Hi3516Ev300 (fpv)
runs-on: ubuntu-latest
steps:
- name: Checkout
id: checkout
uses: actions/checkout@v2
- name: Install build dependencies
run: |
make install-deps
mkdir -p tmp
if [ ! -z "$ACT" ]; then
apt install -y cpio rsync bc
echo "FORCE_UNSAFE_CONFIGURE=1" >> $GITHUB_ENV
# Mitigate #325 issue
apt install -y pip && pip install cmake
fi
- name: Free disk space
if: ${{ !env.ACT }}
run: |
sudo swapoff -a
sudo rm -f /swapfile
sudo apt clean
docker rmi $(docker image ls -aq)
df -h
- name: Prepare buildroot
id: prepare
run: |
HEAD_TAG=$(git tag --points-at HEAD)
GIT_HASH=$(git rev-parse --short $GITHUB_SHA)
BRANCH_NAME=$(echo $GITHUB_REF | cut -d'/' -f 3)
if [ -z "$HEAD_TAG" ]; then
TAG_NAME="latest"
RELEASE_NAME="Development Build"
PRERELEASE=true
else
TAG_NAME=${{ github.ref }}
RELEASE_NAME="Release ${{ github.ref }}"
PRERELEASE=false
fi
echo "GIT_HASH=$GIT_HASH" >> $GITHUB_ENV
echo "TAG_NAME=$TAG_NAME" >> $GITHUB_ENV
echo "RELEASE_NAME=$RELEASE_NAME" >> $GITHUB_ENV
echo "PRERELEASE=$PRERELEASE" >> $GITHUB_ENV
echo "BRANCH_NAME=$BRANCH_NAME" >> $GITHUB_ENV
echo "BOARD=hi3516ev300" >> $GITHUB_ENV
cd $GITHUB_WORKSPACE
make prepare
- name: Build Hi3516Ev300 (fpv) firmware
id: build-hi3516ev300-fpv-firmware
continue-on-error: true
run: |
ARCHIVE_FW="${GITHUB_WORKSPACE}/output/images/openipc.${BOARD}-fpv-br.tgz"
echo "ARCHIVE_FW=$ARCHIVE_FW" >> $GITHUB_ENV
cd $GITHUB_WORKSPACE
make PLATFORM=hisilicon BOARD=unknown_unknown_${BOARD}_fpv all
[[ $(stat --printf="%s" ${GITHUB_WORKSPACE}/output/images/uImage) -gt 3145728 ]] && echo "TG_NOTIFY=Warning, kernel size exceeded : $(stat --printf="%s" ${GITHUB_WORKSPACE}/output/images/uImage) ... ${BOARD} (fpv)" >> $GITHUB_ENV && exit 1
[[ $(stat --printf="%s" ${GITHUB_WORKSPACE}/output/images/rootfs.squashfs) -gt 10485760 ]] && echo "TG_NOTIFY=Warning, rootfs size exceeded - $(stat --printf="%s" ${GITHUB_WORKSPACE}/output/images/rootfs.squashfs) vs 10485760... ${BOARD} (fpv)" >> $GITHUB_ENV && exit 1
cd ${GITHUB_WORKSPACE}/output/images
mv uImage uImage.${BOARD}
mv rootfs.squashfs rootfs.squashfs.${BOARD}
md5sum rootfs.squashfs.${BOARD} > rootfs.squashfs.${BOARD}.md5sum
md5sum uImage.${BOARD} > uImage.${BOARD}.md5sum
tar -cvzf $ARCHIVE_FW uImage* *rootfs.squashfs.${BOARD}*
- name: Send error message to telegram channel
env:
TG_TOKEN: ${{ secrets.TELEGRAM_TOKEN_BOT_OPENIPC }}
TG_CHANNEL: ${{ secrets.TELEGRAM_CHANNEL_OPENIPC_DEV }}
if: steps.build-hi3516ev300-fpv-firmware.outcome != 'success'
run: |
TG_OPTIONS="-s --connect-timeout 30 --max-time 30"
TG_NOTIFY="${TG_NOTIFY:=Warning, Buildroot compiling error... ${BOARD} (fpv)}"
TG_HEADER=$(echo -e "\r\n$TG_NOTIFY \r\n\r\nCommit: $GIT_HASH \r\nBranch: $BRANCH_NAME \r\nTag: $TAG_NAME \r\n\r\n\xE2\x9A\xA0 GitHub Actions")
curl $TG_OPTIONS -H "Content-Type: multipart/form-data" -X POST https://api.telegram.org/bot$TG_TOKEN/sendMessage \
-F chat_id=$TG_CHANNEL -F text="$TG_HEADER"
exit 2
- name: Create release
if: ${{ !env.ACT }}
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 }}
draft: false
prerelease: ${{ env.PRERELEASE }}
- name: Upload NOR FW to release
if: ${{ !env.ACT }}
uses: svenstaro/upload-release-action@v2
continue-on-error: true
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: ${{ env.ARCHIVE_FW }}
asset_name: openipc.${{ env.BOARD }}-fpv-br.tgz
tag: ${{ env.TAG_NAME }}
overwrite: true
- name: Send binary file to telegram channel
if: ${{ !env.ACT }}
env:
TG_TOKEN: ${{ secrets.TELEGRAM_TOKEN_BOT_OPENIPC }}
TG_CHANNEL: ${{ secrets.TELEGRAM_CHANNEL_OPENIPC_DEV }}
run: |
TG_OPTIONS="-s --connect-timeout 30 --max-time 30"
TG_HEADER=$(echo -e "\r\nCommit: $GIT_HASH \r\nBranch: $BRANCH_NAME \r\nTag: $TAG_NAME \r\n\r\n\xE2\x9C\x85 GitHub Actions")
curl $TG_OPTIONS -H "Content-Type: multipart/form-data" -X POST https://api.telegram.org/bot$TG_TOKEN/sendDocument \
-F chat_id=$TG_CHANNEL -F document="@$ARCHIVE_FW" -F caption="$TG_HEADER"

View File

@ -1,149 +0,0 @@
name: "Hi3516Ev300 "
on:
push:
branches:
- production
tags:
- "v*"
schedule:
- cron: "00 03 * * *"
workflow_dispatch:
jobs:
build_core:
name: OpenIPC firmware for Hi3516Ev300
runs-on: ubuntu-latest
steps:
- name: Checkout
id: checkout
uses: actions/checkout@v2
- name: Install build dependencies
run: |
make install-deps
mkdir -p tmp
if [ ! -z "$ACT" ]; then
apt install -y cpio rsync bc
echo "FORCE_UNSAFE_CONFIGURE=1" >> $GITHUB_ENV
# Mitigate #325 issue
apt install -y pip && pip install cmake
fi
- name: Free disk space
if: ${{ !env.ACT }}
run: |
sudo swapoff -a
sudo rm -f /swapfile
sudo apt clean
docker rmi $(docker image ls -aq)
df -h
- name: Prepare buildroot
id: prepare
run: |
HEAD_TAG=$(git tag --points-at HEAD)
GIT_HASH=$(git rev-parse --short $GITHUB_SHA)
BRANCH_NAME=$(echo $GITHUB_REF | cut -d'/' -f 3)
if [ -z "$HEAD_TAG" ]; then
TAG_NAME="latest"
RELEASE_NAME="Development Build"
PRERELEASE=true
else
TAG_NAME=${{ github.ref }}
RELEASE_NAME="Release ${{ github.ref }}"
PRERELEASE=false
fi
echo "GIT_HASH=$GIT_HASH" >> $GITHUB_ENV
echo "TAG_NAME=$TAG_NAME" >> $GITHUB_ENV
echo "RELEASE_NAME=$RELEASE_NAME" >> $GITHUB_ENV
echo "PRERELEASE=$PRERELEASE" >> $GITHUB_ENV
echo "BRANCH_NAME=$BRANCH_NAME" >> $GITHUB_ENV
cd $GITHUB_WORKSPACE
make prepare
- name: Build Hi3516Ev300 firmware
id: build-hi3516ev300-firmware
continue-on-error: true
run: |
ARCHIVE_FW="${GITHUB_WORKSPACE}/output/images/openipc.hi3516ev300-br.tgz"
echo "ARCHIVE_FW=$ARCHIVE_FW" >> $GITHUB_ENV
cd $GITHUB_WORKSPACE
make PLATFORM=hisilicon BOARD=unknown_unknown_hi3516ev300_openipc all
[[ $(stat --printf="%s" ${GITHUB_WORKSPACE}/output/images/uImage) -gt 2097152 ]] && echo "TG_NOTIFY=Warning, kernel size exceeded : $(stat --printf="%s" ${GITHUB_WORKSPACE}/output/images/uImage) vs 2097152... HI3516EV300" >> $GITHUB_ENV && exit 1
[[ $(stat --printf="%s" ${GITHUB_WORKSPACE}/output/images/rootfs.squashfs) -gt 5242880 ]] && echo "TG_NOTIFY=Warning, rootfs size exceeded - $(stat --printf="%s" ${GITHUB_WORKSPACE}/output/images/rootfs.squashfs) vs 5242880... HI3516EV300" >> $GITHUB_ENV && exit 1
cd ${GITHUB_WORKSPACE}/output/images
mv uImage uImage.hi3516ev300
mv rootfs.squashfs rootfs.squashfs.hi3516ev300
md5sum rootfs.squashfs.hi3516ev300 > rootfs.squashfs.hi3516ev300.md5sum
md5sum uImage.hi3516ev300 > uImage.hi3516ev300.md5sum
tar -cvzf $ARCHIVE_FW *hi3516ev300*
- name: Build Hi3516Ev300 SDK
id: build-hi3516ev300-sdk
continue-on-error: true
run: |
ARCHIVE_SDK="${GITHUB_WORKSPACE}/output/images/arm-openipc-linux-musleabi_sdk-buildroot.tar.gz"
echo "ARCHIVE_SDK=$ARCHIVE_SDK" >> $GITHUB_ENV
cd $GITHUB_WORKSPACE/output
make sdk
- name: Send error message to telegram channel
env:
TG_TOKEN: ${{ secrets.TELEGRAM_TOKEN_BOT_OPENIPC }}
TG_CHANNEL: ${{ secrets.TELEGRAM_CHANNEL_OPENIPC_DEV }}
if: steps.build-hi3516ev300-firmware.outcome != 'success' || steps.build-hi3516ev300-sdk.outcome != 'success'
run: |
TG_OPTIONS="-s --connect-timeout 30 --max-time 30"
TG_NOTIFY="${TG_NOTIFY:=Warning, Buildroot compiling error... HI3516EV300}"
TG_HEADER=$(echo -e "\r\n$TG_NOTIFY \r\n\r\nCommit: $GIT_HASH \r\nBranch: $BRANCH_NAME \r\nTag: $TAG_NAME \r\n\r\n\xE2\x9A\xA0 GitHub Actions")
curl $TG_OPTIONS -H "Content-Type: multipart/form-data" -X POST https://api.telegram.org/bot$TG_TOKEN/sendMessage \
-F chat_id=$TG_CHANNEL -F text="$TG_HEADER"
exit 2
- name: Create release
if: ${{ !env.ACT }}
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 }}
draft: false
prerelease: ${{ env.PRERELEASE }}
- name: Upload NOR FW to release
if: ${{ !env.ACT }}
uses: svenstaro/upload-release-action@v2
continue-on-error: true
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: ${{ env.ARCHIVE_FW }}
asset_name: "openipc.hi3516ev300-br.tgz"
tag: ${{ env.TAG_NAME }}
overwrite: true
- name: Upload SDK to release
if: ${{ !env.ACT }}
uses: svenstaro/upload-release-action@v2
continue-on-error: true
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: ${{ env.ARCHIVE_SDK }}
asset_name: "arm-openipc-hi3516ev300-linux-musleabi_sdk-buildroot.tar.gz"
tag: ${{ env.TAG_NAME }}
overwrite: true
- name: Send binary file to telegram channel
if: ${{ !env.ACT }}
env:
TG_TOKEN: ${{ secrets.TELEGRAM_TOKEN_BOT_OPENIPC }}
TG_CHANNEL: ${{ secrets.TELEGRAM_CHANNEL_OPENIPC_DEV }}
run: |
TG_OPTIONS="-s --connect-timeout 30 --max-time 30"
TG_HEADER=$(echo -e "\r\nCommit: $GIT_HASH \r\nBranch: $BRANCH_NAME \r\nTag: $TAG_NAME \r\n\r\n\xE2\x9C\x85 GitHub Actions")
curl $TG_OPTIONS -H "Content-Type: multipart/form-data" -X POST https://api.telegram.org/bot$TG_TOKEN/sendDocument \
-F chat_id=$TG_CHANNEL -F document="@$ARCHIVE_FW" -F caption="$TG_HEADER"

View File

@ -1,148 +0,0 @@
name: "Hi3516Ev300 (ultimate)"
on:
push:
branches:
- production
tags:
- "v*"
schedule:
- cron: "00 03 * * *"
workflow_dispatch:
jobs:
build_core:
name: OpenIPC firmware for Hi3516Ev300 (ultimate)
runs-on: ubuntu-latest
steps:
- name: Checkout
id: checkout
uses: actions/checkout@v2
- name: Install build dependencies
run: |
make install-deps
mkdir -p tmp
if [ ! -z "$ACT" ]; then
apt install -y cpio rsync bc
echo "FORCE_UNSAFE_CONFIGURE=1" >> $GITHUB_ENV
# Mitigate #325 issue
apt install -y pip && pip install cmake
fi
- name: Free disk space
if: ${{ !env.ACT }}
run: |
sudo swapoff -a
sudo rm -f /swapfile
sudo apt clean
docker rmi $(docker image ls -aq)
df -h
- name: Prepare buildroot
id: prepare
run: |
HEAD_TAG=$(git tag --points-at HEAD)
GIT_HASH=$(git rev-parse --short $GITHUB_SHA)
BRANCH_NAME=$(echo $GITHUB_REF | cut -d'/' -f 3)
if [ -z "$HEAD_TAG" ]; then
TAG_NAME="latest"
RELEASE_NAME="Development Build"
PRERELEASE=true
else
TAG_NAME=${{ github.ref }}
RELEASE_NAME="Release ${{ github.ref }}"
PRERELEASE=false
fi
echo "GIT_HASH=$GIT_HASH" >> $GITHUB_ENV
echo "TAG_NAME=$TAG_NAME" >> $GITHUB_ENV
echo "RELEASE_NAME=$RELEASE_NAME" >> $GITHUB_ENV
echo "PRERELEASE=$PRERELEASE" >> $GITHUB_ENV
echo "BRANCH_NAME=$BRANCH_NAME" >> $GITHUB_ENV
echo "BOARD=hi3516ev300" >> $GITHUB_ENV
cd $GITHUB_WORKSPACE
make prepare
- name: Build Hi3516Ev300 (ultimate) firmware
id: build-hi3516ev300-ultimate-firmware
continue-on-error: true
run: |
ARCHIVE_FW="${GITHUB_WORKSPACE}/output/images/openipc.${BOARD}-ultimate-br.tgz"
ARCHIVE_FW_NAND="${GITHUB_WORKSPACE}/output/images/openipc.${BOARD}-nand-br.tgz"
echo "ARCHIVE_FW=$ARCHIVE_FW" >> $GITHUB_ENV
echo "ARCHIVE_FW_NAND=$ARCHIVE_FW_NAND" >> $GITHUB_ENV
cd $GITHUB_WORKSPACE
make PLATFORM=hisilicon BOARD=unknown_unknown_${BOARD}_ultimate all
[[ $(stat --printf="%s" ${GITHUB_WORKSPACE}/output/images/uImage) -gt 3145728 ]] && echo "TG_NOTIFY=Warning, kernel size exceeded : $(stat --printf="%s" ${GITHUB_WORKSPACE}/output/images/uImage) ... ${BOARD} (ultimate)" >> $GITHUB_ENV && exit 1
[[ $(stat --printf="%s" ${GITHUB_WORKSPACE}/output/images/rootfs.squashfs) -gt 10485760 ]] && echo "TG_NOTIFY=Warning, rootfs size exceeded - $(stat --printf="%s" ${GITHUB_WORKSPACE}/output/images/rootfs.squashfs) vs 10485760... ${BOARD} (ultimate)" >> $GITHUB_ENV && exit 1
cd ${GITHUB_WORKSPACE}/output/images
mv uImage uImage.${BOARD}
mv rootfs.squashfs rootfs.squashfs.${BOARD}
mv rootfs.ubi rootfs.ubi.${BOARD}
mv rootfs.ubifs rootfs.ubifs.${BOARD}
md5sum rootfs.squashfs.${BOARD} > rootfs.squashfs.${BOARD}.md5sum
md5sum uImage.${BOARD} > uImage.${BOARD}.md5sum
md5sum rootfs.ubifs.${BOARD} > rootfs.ubifs.${BOARD}.md5sum
md5sum uImage.${BOARD} > uImage.${BOARD}.md5sum
tar -cvzf $ARCHIVE_FW uImage* *rootfs.squashfs.${BOARD}*
tar -cvzf $ARCHIVE_FW_NAND uImage* *rootfs.ubi*.${BOARD}*
- name: Send error message to telegram channel
env:
TG_TOKEN: ${{ secrets.TELEGRAM_TOKEN_BOT_OPENIPC }}
TG_CHANNEL: ${{ secrets.TELEGRAM_CHANNEL_OPENIPC_DEV }}
if: steps.build-hi3516ev300-ultimate-firmware.outcome != 'success'
run: |
TG_OPTIONS="-s --connect-timeout 30 --max-time 30"
TG_NOTIFY="${TG_NOTIFY:=Warning, Buildroot compiling error... ${BOARD} (ultimate)}"
TG_HEADER=$(echo -e "\r\n$TG_NOTIFY \r\n\r\nCommit: $GIT_HASH \r\nBranch: $BRANCH_NAME \r\nTag: $TAG_NAME \r\n\r\n\xE2\x9A\xA0 GitHub Actions")
curl $TG_OPTIONS -H "Content-Type: multipart/form-data" -X POST https://api.telegram.org/bot$TG_TOKEN/sendMessage \
-F chat_id=$TG_CHANNEL -F text="$TG_HEADER"
exit 2
- name: Create release
if: ${{ !env.ACT }}
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 }}
draft: false
prerelease: ${{ env.PRERELEASE }}
- name: Upload NOR FW to release
if: ${{ !env.ACT }}
uses: svenstaro/upload-release-action@v2
continue-on-error: true
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: ${{ env.ARCHIVE_FW }}
asset_name: openipc.${{ env.BOARD }}-ultimate-br.tgz
tag: ${{ env.TAG_NAME }}
overwrite: true
- name: Upload NAND FW to release
if: ${{ !env.ACT }}
uses: svenstaro/upload-release-action@v2
continue-on-error: true
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: ${{ env.ARCHIVE_FW_NAND }}
asset_name: openipc.${{ env.BOARD }}-nand-br.tgz
tag: ${{ env.TAG_NAME }}
overwrite: true
- name: Send binary file to telegram channel
if: ${{ !env.ACT }}
env:
TG_TOKEN: ${{ secrets.TELEGRAM_TOKEN_BOT_OPENIPC }}
TG_CHANNEL: ${{ secrets.TELEGRAM_CHANNEL_OPENIPC_DEV }}
run: |
TG_OPTIONS="-s --connect-timeout 30 --max-time 30"
TG_HEADER=$(echo -e "\r\nCommit: $GIT_HASH \r\nBranch: $BRANCH_NAME \r\nTag: $TAG_NAME \r\n\r\n\xE2\x9C\x85 GitHub Actions")
curl $TG_OPTIONS -H "Content-Type: multipart/form-data" -X POST https://api.telegram.org/bot$TG_TOKEN/sendDocument \
-F chat_id=$TG_CHANNEL -F document="@$ARCHIVE_FW" -F caption="$TG_HEADER"

View File

@ -1,149 +0,0 @@
name: "Hi3518Ev300 "
on:
push:
branches:
- production
tags:
- "v*"
schedule:
- cron: "00 03 * * *"
workflow_dispatch:
jobs:
build_core:
name: OpenIPC firmware for Hi3518Ev300
runs-on: ubuntu-latest
steps:
- name: Checkout
id: checkout
uses: actions/checkout@v2
- name: Install build dependencies
run: |
make install-deps
mkdir -p tmp
if [ ! -z "$ACT" ]; then
apt install -y cpio rsync bc
echo "FORCE_UNSAFE_CONFIGURE=1" >> $GITHUB_ENV
# Mitigate #325 issue
apt install -y pip && pip install cmake
fi
- name: Free disk space
if: ${{ !env.ACT }}
run: |
sudo swapoff -a
sudo rm -f /swapfile
sudo apt clean
docker rmi $(docker image ls -aq)
df -h
- name: Prepare buildroot
id: prepare
run: |
HEAD_TAG=$(git tag --points-at HEAD)
GIT_HASH=$(git rev-parse --short $GITHUB_SHA)
BRANCH_NAME=$(echo $GITHUB_REF | cut -d'/' -f 3)
if [ -z "$HEAD_TAG" ]; then
TAG_NAME="latest"
RELEASE_NAME="Development Build"
PRERELEASE=true
else
TAG_NAME=${{ github.ref }}
RELEASE_NAME="Release ${{ github.ref }}"
PRERELEASE=false
fi
echo "GIT_HASH=$GIT_HASH" >> $GITHUB_ENV
echo "TAG_NAME=$TAG_NAME" >> $GITHUB_ENV
echo "RELEASE_NAME=$RELEASE_NAME" >> $GITHUB_ENV
echo "PRERELEASE=$PRERELEASE" >> $GITHUB_ENV
echo "BRANCH_NAME=$BRANCH_NAME" >> $GITHUB_ENV
cd $GITHUB_WORKSPACE
make prepare
- name: Build Hi3518Ev300 firmware
id: build-hi3518ev300-firmware
continue-on-error: true
run: |
ARCHIVE_FW="${GITHUB_WORKSPACE}/output/images/openipc.hi3518ev300-br.tgz"
echo "ARCHIVE_FW=$ARCHIVE_FW" >> $GITHUB_ENV
cd $GITHUB_WORKSPACE
make PLATFORM=hisilicon BOARD=unknown_unknown_hi3518ev300_openipc all
[[ $(stat --printf="%s" ${GITHUB_WORKSPACE}/output/images/uImage) -gt 2097152 ]] && echo "TG_NOTIFY=Warning, kernel size exceeded : $(stat --printf="%s" ${GITHUB_WORKSPACE}/output/images/uImage) vs 2097152... HI3518EV300" >> $GITHUB_ENV && exit 1
[[ $(stat --printf="%s" ${GITHUB_WORKSPACE}/output/images/rootfs.squashfs) -gt 5242880 ]] && echo "TG_NOTIFY=Warning, rootfs size exceeded - $(stat --printf="%s" ${GITHUB_WORKSPACE}/output/images/rootfs.squashfs) vs 5242880... HI3518EV300" >> $GITHUB_ENV && exit 1
cd ${GITHUB_WORKSPACE}/output/images
mv uImage uImage.hi3518ev300
mv rootfs.squashfs rootfs.squashfs.hi3518ev300
md5sum rootfs.squashfs.hi3518ev300 > rootfs.squashfs.hi3518ev300.md5sum
md5sum uImage.hi3518ev300 > uImage.hi3518ev300.md5sum
tar -cvzf $ARCHIVE_FW *hi3518ev300*
- name: Build Hi3518Ev300 SDK
id: build-hi3518ev300-sdk
continue-on-error: true
run: |
ARCHIVE_SDK="${GITHUB_WORKSPACE}/output/images/arm-openipc-linux-musleabi_sdk-buildroot.tar.gz"
echo "ARCHIVE_SDK=$ARCHIVE_SDK" >> $GITHUB_ENV
cd $GITHUB_WORKSPACE/output
make sdk
- name: Send error message to telegram channel
env:
TG_TOKEN: ${{ secrets.TELEGRAM_TOKEN_BOT_OPENIPC }}
TG_CHANNEL: ${{ secrets.TELEGRAM_CHANNEL_OPENIPC_DEV }}
if: steps.build-hi3518ev300-firmware.outcome != 'success' || steps.build-hi3518ev300-sdk.outcome != 'success'
run: |
TG_OPTIONS="-s --connect-timeout 30 --max-time 30"
TG_NOTIFY="${TG_NOTIFY:=Warning, Buildroot compiling error... HI3518EV300}"
TG_HEADER=$(echo -e "\r\n$TG_NOTIFY \r\n\r\nCommit: $GIT_HASH \r\nBranch: $BRANCH_NAME \r\nTag: $TAG_NAME \r\n\r\n\xE2\x9A\xA0 GitHub Actions")
curl $TG_OPTIONS -H "Content-Type: multipart/form-data" -X POST https://api.telegram.org/bot$TG_TOKEN/sendMessage \
-F chat_id=$TG_CHANNEL -F text="$TG_HEADER"
exit 2
- name: Create release
if: ${{ !env.ACT }}
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 }}
draft: false
prerelease: ${{ env.PRERELEASE }}
- name: Upload NOR FW to release
if: ${{ !env.ACT }}
uses: svenstaro/upload-release-action@v2
continue-on-error: true
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: ${{ env.ARCHIVE_FW }}
asset_name: "openipc.hi3518ev300-br.tgz"
tag: ${{ env.TAG_NAME }}
overwrite: true
- name: Upload SDK to release
if: ${{ !env.ACT }}
uses: svenstaro/upload-release-action@v2
continue-on-error: true
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: ${{ env.ARCHIVE_SDK }}
asset_name: "arm-openipc-hi3518ev300-linux-musleabi_sdk-buildroot.tar.gz"
tag: ${{ env.TAG_NAME }}
overwrite: true
- name: Send binary file to telegram channel
if: ${{ !env.ACT }}
env:
TG_TOKEN: ${{ secrets.TELEGRAM_TOKEN_BOT_OPENIPC }}
TG_CHANNEL: ${{ secrets.TELEGRAM_CHANNEL_OPENIPC_DEV }}
run: |
TG_OPTIONS="-s --connect-timeout 30 --max-time 30"
TG_HEADER=$(echo -e "\r\nCommit: $GIT_HASH \r\nBranch: $BRANCH_NAME \r\nTag: $TAG_NAME \r\n\r\n\xE2\x9C\x85 GitHub Actions")
curl $TG_OPTIONS -H "Content-Type: multipart/form-data" -X POST https://api.telegram.org/bot$TG_TOKEN/sendDocument \
-F chat_id=$TG_CHANNEL -F document="@$ARCHIVE_FW" -F caption="$TG_HEADER"

View File

@ -1,148 +0,0 @@
name: "Hi3518Ev300 (ultimate)"
on:
push:
branches:
- production
tags:
- "v*"
schedule:
- cron: "00 03 * * *"
workflow_dispatch:
jobs:
build_core:
name: OpenIPC firmware for Hi3518Ev300 (ultimate)
runs-on: ubuntu-latest
steps:
- name: Checkout
id: checkout
uses: actions/checkout@v2
- name: Install build dependencies
run: |
make install-deps
mkdir -p tmp
if [ ! -z "$ACT" ]; then
apt install -y cpio rsync bc
echo "FORCE_UNSAFE_CONFIGURE=1" >> $GITHUB_ENV
# Mitigate #325 issue
apt install -y pip && pip install cmake
fi
- name: Free disk space
if: ${{ !env.ACT }}
run: |
sudo swapoff -a
sudo rm -f /swapfile
sudo apt clean
docker rmi $(docker image ls -aq)
df -h
- name: Prepare buildroot
id: prepare
run: |
HEAD_TAG=$(git tag --points-at HEAD)
GIT_HASH=$(git rev-parse --short $GITHUB_SHA)
BRANCH_NAME=$(echo $GITHUB_REF | cut -d'/' -f 3)
if [ -z "$HEAD_TAG" ]; then
TAG_NAME="latest"
RELEASE_NAME="Development Build"
PRERELEASE=true
else
TAG_NAME=${{ github.ref }}
RELEASE_NAME="Release ${{ github.ref }}"
PRERELEASE=false
fi
echo "GIT_HASH=$GIT_HASH" >> $GITHUB_ENV
echo "TAG_NAME=$TAG_NAME" >> $GITHUB_ENV
echo "RELEASE_NAME=$RELEASE_NAME" >> $GITHUB_ENV
echo "PRERELEASE=$PRERELEASE" >> $GITHUB_ENV
echo "BRANCH_NAME=$BRANCH_NAME" >> $GITHUB_ENV
echo "BOARD=hi3518ev300" >> $GITHUB_ENV
cd $GITHUB_WORKSPACE
make prepare
- name: Build Hi3518Ev300 (ultimate) firmware
id: build-hi3518ev300-ultimate-firmware
continue-on-error: true
run: |
ARCHIVE_FW="${GITHUB_WORKSPACE}/output/images/openipc.${BOARD}-ultimate-br.tgz"
ARCHIVE_FW_NAND="${GITHUB_WORKSPACE}/output/images/openipc.${BOARD}-nand-br.tgz"
echo "ARCHIVE_FW=$ARCHIVE_FW" >> $GITHUB_ENV
echo "ARCHIVE_FW_NAND=$ARCHIVE_FW_NAND" >> $GITHUB_ENV
cd $GITHUB_WORKSPACE
make PLATFORM=hisilicon BOARD=unknown_unknown_${BOARD}_ultimate all
[[ $(stat --printf="%s" ${GITHUB_WORKSPACE}/output/images/uImage) -gt 3145728 ]] && echo "TG_NOTIFY=Warning, kernel size exceeded : $(stat --printf="%s" ${GITHUB_WORKSPACE}/output/images/uImage) ... ${BOARD} (ultimate)" >> $GITHUB_ENV && exit 1
[[ $(stat --printf="%s" ${GITHUB_WORKSPACE}/output/images/rootfs.squashfs) -gt 10485760 ]] && echo "TG_NOTIFY=Warning, rootfs size exceeded - $(stat --printf="%s" ${GITHUB_WORKSPACE}/output/images/rootfs.squashfs) vs 10485760... ${BOARD} (ultimate)" >> $GITHUB_ENV && exit 1
cd ${GITHUB_WORKSPACE}/output/images
mv uImage uImage.${BOARD}
mv rootfs.squashfs rootfs.squashfs.${BOARD}
mv rootfs.ubi rootfs.ubi.${BOARD}
mv rootfs.ubifs rootfs.ubifs.${BOARD}
md5sum rootfs.squashfs.${BOARD} > rootfs.squashfs.${BOARD}.md5sum
md5sum uImage.${BOARD} > uImage.${BOARD}.md5sum
md5sum rootfs.ubifs.${BOARD} > rootfs.ubifs.${BOARD}.md5sum
md5sum uImage.${BOARD} > uImage.${BOARD}.md5sum
tar -cvzf $ARCHIVE_FW uImage* *rootfs.squashfs.${BOARD}*
tar -cvzf $ARCHIVE_FW_NAND uImage* *rootfs.ubi*.${BOARD}*
- name: Send error message to telegram channel
env:
TG_TOKEN: ${{ secrets.TELEGRAM_TOKEN_BOT_OPENIPC }}
TG_CHANNEL: ${{ secrets.TELEGRAM_CHANNEL_OPENIPC_DEV }}
if: steps.build-hi3518ev300-ultimate-firmware.outcome != 'success'
run: |
TG_OPTIONS="-s --connect-timeout 30 --max-time 30"
TG_NOTIFY="${TG_NOTIFY:=Warning, Buildroot compiling error... ${BOARD} (ultimate)}"
TG_HEADER=$(echo -e "\r\n$TG_NOTIFY \r\n\r\nCommit: $GIT_HASH \r\nBranch: $BRANCH_NAME \r\nTag: $TAG_NAME \r\n\r\n\xE2\x9A\xA0 GitHub Actions")
curl $TG_OPTIONS -H "Content-Type: multipart/form-data" -X POST https://api.telegram.org/bot$TG_TOKEN/sendMessage \
-F chat_id=$TG_CHANNEL -F text="$TG_HEADER"
exit 2
- name: Create release
if: ${{ !env.ACT }}
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 }}
draft: false
prerelease: ${{ env.PRERELEASE }}
- name: Upload NOR FW to release
if: ${{ !env.ACT }}
uses: svenstaro/upload-release-action@v2
continue-on-error: true
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: ${{ env.ARCHIVE_FW }}
asset_name: openipc.${{ env.BOARD }}-ultimate-br.tgz
tag: ${{ env.TAG_NAME }}
overwrite: true
- name: Upload NAND FW to release
if: ${{ !env.ACT }}
uses: svenstaro/upload-release-action@v2
continue-on-error: true
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: ${{ env.ARCHIVE_FW_NAND }}
asset_name: openipc.${{ env.BOARD }}-nand-br.tgz
tag: ${{ env.TAG_NAME }}
overwrite: true
- name: Send binary file to telegram channel
if: ${{ !env.ACT }}
env:
TG_TOKEN: ${{ secrets.TELEGRAM_TOKEN_BOT_OPENIPC }}
TG_CHANNEL: ${{ secrets.TELEGRAM_CHANNEL_OPENIPC_DEV }}
run: |
TG_OPTIONS="-s --connect-timeout 30 --max-time 30"
TG_HEADER=$(echo -e "\r\nCommit: $GIT_HASH \r\nBranch: $BRANCH_NAME \r\nTag: $TAG_NAME \r\n\r\n\xE2\x9C\x85 GitHub Actions")
curl $TG_OPTIONS -H "Content-Type: multipart/form-data" -X POST https://api.telegram.org/bot$TG_TOKEN/sendDocument \
-F chat_id=$TG_CHANNEL -F document="@$ARCHIVE_FW" -F caption="$TG_HEADER"

View File

@ -2,6 +2,20 @@
ROOT_DIR := $(CURDIR) ROOT_DIR := $(CURDIR)
BR_VER := 2021.02.12 BR_VER := 2021.02.12
BR_DIR := $(ROOT_DIR)/buildroot-$(BR_VER) BR_DIR := $(ROOT_DIR)/buildroot-$(BR_VER)
ifeq ($(PLATFORM),)
ifneq ($(BOARD),)
FULL_PATH := $(shell find br-ext-chip-* -name "$(BOARD)*_defconfig")
ifeq ($(FULL_PATH),)
FULL_PATH := $(error Cannot find anything for $(BOARD))
else ifneq ($(shell echo $(FULL_PATH) | wc -w), 1)
FULL_PATH := $(error For provided '$(BOARD)' multiple options found: $(FULL_PATH))
endif
PLATFORM := $(shell echo $(FULL_PATH) | cut -d '/' -f 1 | cut -d '-' -f 4 )
endif
endif
BR_EXT_DIR := $(ROOT_DIR)/br-ext-chip-$(PLATFORM) BR_EXT_DIR := $(ROOT_DIR)/br-ext-chip-$(PLATFORM)
SCRIPTS_DIR := $(ROOT_DIR)/scripts SCRIPTS_DIR := $(ROOT_DIR)/scripts
#BOARDS := $(shell ls -1 $(BR_EXT_DIR)/configs) #BOARDS := $(shell ls -1 $(BR_EXT_DIR)/configs)

View File

@ -0,0 +1 @@
../../../../../patches/linux/3.0.x-3.3.x/gcc8_err_encountered.patch

View File

@ -0,0 +1 @@
../../../../../patches/linux/3.10.x/gcc8_err_encountered.patch

View File

@ -0,0 +1 @@
../../../../../patches/linux/3.10.x/gcc8_err_encountered.patch

View File

@ -0,0 +1 @@
../../../../../patches/linux/3.10.x/gcc8_err_encountered.patch

View File

@ -0,0 +1 @@
../../../../../patches/linux/3.18.x/ARM-vfp-force-non-conditional-encoding-for-external-Thumb2-tail-call.patch

View File

@ -1,20 +1,15 @@
#!/bin/bash #!/bin/bash
# #
# OpenIPC.org | v.20220813 # OpenIPC.org (c)
# #
BR_VER=2021.02.12 BR_VER=2021.02.12
MAX_KERNEL_SIZE=0x200000 # 2MiB, 2097152 MAX_KERNEL_SIZE=0x200000 # 2MiB, 2097152
MAX_KERNEL_SIZE_ULTIMATE=0x300000 # 3MiB, 3145728 MAX_KERNEL_SIZE_ULTIMATE=0x300000 # 3MiB, 3145728
MAX_KERNEL_SIZE_EXPERIMENTAL=0x3E8480 # ~3.9MiB, 4097152 MAX_KERNEL_SIZE_EXPERIMENTAL=0x3E8480 # ~3.9MiB, 4097152
MAX_ROOTFS_SIZE=0x500000 # 5MiB, 5242880 MAX_ROOTFS_SIZE=0x500000 # 5MiB, 5242880
MAX_ROOTFS_SIZE_ULTIMATE=0xA00000 # 10MiB, 10485760 MAX_ROOTFS_SIZE_ULTIMATE=0xA00000 # 10MiB, 10485760
clone() {
sudo apt-get update -y ; apt-get install -y bc build-essential git unzip rsync autotools-dev automake libtool
git clone --depth=1 https://github.com/OpenIPC/firmware.git
}
fresh() { fresh() {
echo -e "\nThe start-stop times\n" >/tmp/openipc_buildtime.txt echo -e "\nThe start-stop times\n" >/tmp/openipc_buildtime.txt
@ -38,24 +33,24 @@ should_fit() {
rename() { rename() {
if grep -q ultimate_defconfig ./output/.config || grep -q fpv_defconfig ./output/.config; then if grep -q ultimate_defconfig ./output/.config || grep -q fpv_defconfig ./output/.config; then
should_fit uImage $MAX_KERNEL_SIZE_ULTIMATE should_fit uImage $MAX_KERNEL_SIZE_ULTIMATE
should_fit rootfs.squashfs $MAX_ROOTFS_SIZE_ULTIMATE should_fit rootfs.squashfs $MAX_ROOTFS_SIZE_ULTIMATE
else else
should_fit uImage $MAX_KERNEL_SIZE should_fit uImage $MAX_KERNEL_SIZE
should_fit rootfs.squashfs $MAX_ROOTFS_SIZE should_fit rootfs.squashfs $MAX_ROOTFS_SIZE
fi fi
mv -v ./output/images/uImage ./output/images/uImage.${soc} mv -v ./output/images/uImage ./output/images/uImage.${SOC}
mv -v ./output/images/rootfs.squashfs ./output/images/rootfs.squashfs.${soc} mv -v ./output/images/rootfs.squashfs ./output/images/rootfs.squashfs.${SOC}
mv -v ./output/images/rootfs.cpio ./output/images/rootfs.${soc}.cpio mv -v ./output/images/rootfs.cpio ./output/images/rootfs.${SOC}.cpio
mv -v ./output/images/rootfs.tar ./output/images/rootfs.${soc}.tar mv -v ./output/images/rootfs.tar ./output/images/rootfs.${SOC}.tar
date >>/tmp/openipc_buildtime.txt date >>/tmp/openipc_buildtime.txt
} }
rename_initramfs() { rename_initramfs() {
should_fit uImage $MAX_KERNEL_SIZE_EXPERIMENTAL should_fit uImage $MAX_KERNEL_SIZE_EXPERIMENTAL
mv -v ./output/images/uImage ./output/images/uImage.initramfs.${soc} mv -v ./output/images/uImage ./output/images/uImage.initramfs.${SOC}
mv -v ./output/images/rootfs.cpio ./output/images/rootfs.${soc}.cpio mv -v ./output/images/rootfs.cpio ./output/images/rootfs.${SOC}.cpio
mv -v ./output/images/rootfs.tar ./output/images/rootfs.${soc}.tar mv -v ./output/images/rootfs.tar ./output/images/rootfs.${SOC}.tar
date >>/tmp/openipc_buildtime.txt date >>/tmp/openipc_buildtime.txt
echo -e "\n\n$(cat /tmp/openipc_buildtime.txt)" echo -e "\n\n$(cat /tmp/openipc_buildtime.txt)"
} }
@ -64,561 +59,170 @@ autoup_rootfs() {
echo -e "\n" echo -e "\n"
curl -L -o ./output/images/u-boot-hi3518ev200-universal.bin https://github.com/OpenIPC/firmware/releases/download/latest/u-boot-hi3518ev200-universal.bin curl -L -o ./output/images/u-boot-hi3518ev200-universal.bin https://github.com/OpenIPC/firmware/releases/download/latest/u-boot-hi3518ev200-universal.bin
echo -e "\n" echo -e "\n"
./output/host/bin/mkimage -A arm -O linux -T firmware -n 'OpenIPC v.2.2.7' -a 0x000000000000 -e 0x000000050000 -d ./output/images/u-boot-hi3518ev200-universal.bin ./output/images/autoupdate-uboot.img D=$(date "+%y.%m.%d")
RELEASE=$(echo OpenIPC v${D:0:1}.${D:1})
./output/host/bin/mkimage -A arm -O linux -T firmware -n $RELEASE -a 0x0 -e 0x50000 -d ./output/images/u-boot-hi3518ev200-universal.bin ./output/images/autoupdate-uboot.img
echo -e "\n" echo -e "\n"
./output/host/bin/mkimage -A arm -O linux -T kernel -C none -n 'OpenIPC v2.2.7' -a 0x000000050000 -e 0x000000250000 -d ./output/images/uImage.${soc} ./output/images/autoupdate-kernel.img ./output/host/bin/mkimage -A arm -O linux -T kernel -C none -n $RELEASE -a 0x50000 -e 0x250000 -d ./output/images/uImage.${SOC} ./output/images/autoupdate-kernel.img
echo -e "\n" echo -e "\n"
./output/host/bin/mkimage -A arm -O linux -T filesystem -n 'OpenIPC v.2.2.7' -a 0x000000250000 -e 0x000000750000 -d ./output/images/rootfs.squashfs.${soc} ./output/images/autoupdate-rootfs.img ./output/host/bin/mkimage -A arm -O linux -T filesystem -n $RELEASE -a 0x250000 -e 0x750000 -d ./output/images/rootfs.squashfs.${SOC} ./output/images/autoupdate-rootfs.img
}
sdk() {
make br-sdk
}
upload() {
TFTP_SERVER="root@172.17.32.17:/mnt/bigger-2tb/Rotator/TFTP"
echo -e "\n\nStart transferring files to the TFTP server...\n"
scp -P 22 -r ./output/images/rootfs.squashfs.* ./output/images/uImage.* ${TFTP_SERVER}
}
tg_message() {
#TG_TOKEN=
#TG_CHANNEL=
TG_REPLY="${TG_REPLY:=No comment.\nAll details will come later.}"
TG_MESSAGE=$(echo -e "\xF0\x9F\x8C\x8D PARADOX" "%0A${TG_REPLY}")
#
curl -s -k --connect-timeout 30 --max-time 30 -X POST \
https://api.telegram.org/bot${TG_TOKEN}/sendMessage -d chat_id="${TG_CHANNEL}" -d disable_notification="true" -d text="${TG_MESSAGE}" >/dev/null 2>&1
} }
################################################################################# #################################################################################
ambarella-s3l() { FUNCS=(
soc="s3l" ambarella-s3l
fresh && make PLATFORM=ambarella BOARD=unknown_unknown_${soc}_openipc all && rename
} ak3918ev200
ak3916ev300
################################################################################# ak3918ev300
ak3918ev200() { fh8833v100
soc="ak3918ev200" fh8852v100
fresh && make PLATFORM=anyka BOARD=unknown_unknown_${soc}_openipc all && rename fh8852v200
} fh8852v210
fh8856v100
ak3916ev300() { fh8856v200
soc="ak3916ev300" fh8856v210
fresh && make PLATFORM=anyka BOARD=unknown_unknown_${soc}_openipc all && rename fh8858v200
} fh8858v210
ak3918ev300() { gk7101
soc="ak3918ev300" gk7101s
fresh && make PLATFORM=anyka BOARD=unknown_unknown_${soc}_openipc all && rename gk7102
} gk7102s
################################################################################# gk7205v200
gk7205v200_ultimate
fh8833v100() { gk7205v200_fpv
soc="fh8833v100" gk7205v200_iscom
fresh && make PLATFORM=fullhan BOARD=unknown_unknown_${soc}_openipc all && rename gk7205v200_ufanet
} gk7205v210
gk7205v300
fh8852v100() { gk7205v300_ultimate
soc="fh8852v100" gk7205v300_fpv
fresh && make PLATFORM=fullhan BOARD=unknown_unknown_${soc}_openipc all && rename gk7605v100
}
gm8135
fh8852v200() { gm8136
soc="fh8852v200"
fresh && make PLATFORM=fullhan BOARD=unknown_unknown_${soc}_openipc all && rename hi3516cv100
} hi3518ev100
fh8852v210() { hi3516cv200
soc="fh8852v210" hi3518ev200
fresh && make PLATFORM=fullhan BOARD=unknown_unknown_${soc}_openipc all && rename hi3518ev200_domsip
} hi3518ev200_hs303
hi3518ev200_ultimate
fh8856v100() {
soc="fh8856v100" hi3516cv300
fresh && make PLATFORM=fullhan BOARD=unknown_unknown_${soc}_openipc all && rename hi3516cv300_ultimate
} hi3516ev100
fh8856v200() { hi3516av100
soc="fh8856v200" hi3516av100_ultimate
fresh && make PLATFORM=fullhan BOARD=unknown_unknown_${soc}_openipc all && rename hi3516dv100
} hi3516dv100_ultimate
fh8856v210() { hi3519v101
soc="fh8856v210" hi3516av200
fresh && make PLATFORM=fullhan BOARD=unknown_unknown_${soc}_openipc all && rename hi3516av200_ultimate
}
hi3516av300
fh8858v200() { hi3516cv500
soc="fh8858v200" hi3516dv300
fresh && make PLATFORM=fullhan BOARD=unknown_unknown_${soc}_openipc all && rename
} hi3516dv200
hi3516ev200
fh8858v210() { hi3516ev200_dozor
soc="fh8858v210" hi3516ev200_eltis
fresh && make PLATFORM=fullhan BOARD=unknown_unknown_${soc}_openipc all && rename hi3516ev200_vixand
} hi3516ev200_ultimate
hi3516ev300
################################################################################# hi3516ev300_dev
hi3516ev300_fpv
gk7101() { hi3516ev300_glibc
soc="gk7101" hi3516ev300_tehshield
fresh && make PLATFORM=goke BOARD=unknown_unknown_${soc}_openipc all && rename hi3516ev300_ultimate
} hi3518ev300
hi3518ev300_ultimate
gk7101s() {
soc="gk7101s" hi3536cv100
fresh && make PLATFORM=goke BOARD=unknown_unknown_${soc}_openipc all && rename hi3536dv100
} hi3536dv100_vixand
gk7102() { msc313e
soc="gk7102" msc313e_baresip
fresh && make PLATFORM=goke BOARD=unknown_unknown_${soc}_openipc all && rename msc316dc
} msc316dm
gk7102s() { nt98562
soc="gk7102s" nt98566
fresh && make PLATFORM=goke BOARD=unknown_unknown_${soc}_openipc all && rename nt98566_polcam
}
rv1109
gk7205v200() { rv1126
soc="gk7205v200"
fresh && make PLATFORM=goke BOARD=unknown_unknown_${soc}_openipc all && rename ssc325
} ssc333
ssc335
gk7205v200_ultimate() { ssc335_blackbird
soc="gk7205v200" ssc335_goodcam
fresh && make PLATFORM=goke BOARD=unknown_unknown_${soc}_ultimate all && rename ssc335_initramfs
} ssc335_musl
ssc335_portal
gk7205v200_fpv() { ssc335_rotek
soc="gk7205v200" ssc335_tiandy
fresh && make PLATFORM=goke BOARD=unknown_unknown_${soc}_fpv all && rename ssc337
} ssc337_kama
gk7205v200_iscom() { ssc335de
soc="gk7205v200" ssc337de
fresh && make PLATFORM=goke BOARD=unknown_unknown_${soc}_iscom all && rename
} t10
t20
gk7205v200_ufanet() { t30
soc="gk7205v200" t31
fresh && make PLATFORM=goke BOARD=unknown_unknown_${soc}_ufanet all && rename t31_vixand
}
xm510
gk7205v210() { xm530
soc="gk7205v210" xm550
fresh && make PLATFORM=goke BOARD=unknown_unknown_${soc}_openipc all && rename )
}
copy_function() {
gk7205v300() { test -n "$(declare -f "$1")" || return
soc="gk7205v300" eval "${_/$1/$2}"
fresh && make PLATFORM=goke BOARD=unknown_unknown_${soc}_openipc all && rename }
}
uni_build() {
gk7205v300_ultimate() { BOARD=$FUNCNAME
soc="gk7205v300" SOC=$(echo $BOARD | cut -d '_' -f 1)
fresh && make PLATFORM=goke BOARD=unknown_unknown_${soc}_ultimate all && rename
} set -e
if [ "$(echo $BOARD | cut -d '_' -f 2)" == "" ]; then
gk7205v300_fpv() { BOARD="${BOARD}_openipc"
soc="gk7205v300" elif [ "$BOARD" == "hi3518ev200_hs303" ]; then
fresh && make PLATFORM=goke BOARD=unknown_unknown_${soc}_fpv all && rename BOARD=hi3518ev200_openipc
} NEED_AUTOUP=1
fi
gk7605v100() {
soc="gk7605v100" fresh
fresh && make PLATFORM=goke BOARD=unknown_unknown_${soc}_openipc all && rename make BOARD=unknown_unknown_${BOARD} all
} if [ "$BOARD" == "ssc335_initramfs" ]; then
rename_initramfs
################################################################################# else
rename
gm8135() { fi
soc="gm8135"
fresh && make PLATFORM=grainmedia BOARD=unknown_unknown_${soc}_openipc all && rename if [ ! -z "$NEED_AUTOUP" ]; then
} autoup_rootfs
fi
gm8136() { }
soc="gm8136"
fresh && make PLATFORM=grainmedia BOARD=unknown_unknown_${soc}_openipc all && rename for i in "${FUNCS[@]}"; do
} copy_function uni_build $i
done
#################################################################################
hi3516cv100() {
soc="hi3516cv100"
fresh && make PLATFORM=hisilicon BOARD=unknown_unknown_${soc}_openipc all && rename
}
hi3518ev100() {
soc="hi3518ev100"
fresh && make PLATFORM=hisilicon BOARD=unknown_unknown_${soc}_openipc all && rename
}
#################################################################################
hi3516cv200() {
soc="hi3516cv200"
fresh && make PLATFORM=hisilicon BOARD=unknown_unknown_${soc}_openipc all && rename
}
hi3518ev200() {
soc="hi3518ev200"
fresh && make PLATFORM=hisilicon BOARD=unknown_unknown_${soc}_openipc all && rename
}
hi3518ev200_domsip() {
soc="hi3518ev200"
fresh && make PLATFORM=hisilicon BOARD=unknown_unknown_${soc}_domsip all && rename
}
hi3518ev200_hs303() {
soc="hi3518ev200"
fresh && make PLATFORM=hisilicon BOARD=unknown_unknown_${soc}_openipc all && rename && autoup_rootfs
#PLATFORM=hisilicon make br-linux-{dirclean,rebuild}
#PLATFORM=hisilicon make br-mbedtls-openipc-{dirclean,rebuild}
}
hi3518ev200_ultimate() {
soc="hi3518ev200"
fresh && make PLATFORM=hisilicon BOARD=unknown_unknown_${soc}_ultimate all && rename
}
#################################################################################
hi3516cv300() {
soc="hi3516cv300"
fresh && make PLATFORM=hisilicon BOARD=unknown_unknown_${soc}_openipc all && rename
}
hi3516cv300_ultimate() {
soc="hi3516cv300"
fresh && make PLATFORM=hisilicon BOARD=unknown_unknown_${soc}_ultimate all && rename
}
hi3516ev100() {
soc="hi3516ev100"
fresh && make PLATFORM=hisilicon BOARD=unknown_unknown_${soc}_openipc all && rename
}
#################################################################################
hi3516av100() {
soc="hi3516av100"
fresh && make PLATFORM=hisilicon BOARD=unknown_unknown_${soc}_openipc all && rename
}
hi3516av100_ultimate() {
soc="hi3516av100"
fresh && make PLATFORM=hisilicon BOARD=unknown_unknown_${soc}_ultimate all && rename
}
hi3516dv100() {
soc="hi3516dv100"
fresh && make PLATFORM=hisilicon BOARD=unknown_unknown_${soc}_openipc all && rename
}
hi3516dv100_ultimate() {
soc="hi3516dv100"
fresh && make PLATFORM=hisilicon BOARD=unknown_unknown_${soc}_ultimate all && rename
}
#################################################################################
hi3519v101() {
soc="hi3519v101"
fresh && make PLATFORM=hisilicon BOARD=unknown_unknown_${soc}_openipc all && rename
}
hi3516av200() {
soc="hi3516av200"
fresh && make PLATFORM=hisilicon BOARD=unknown_unknown_${soc}_openipc all && rename
}
hi3516av200_ultimate() {
soc="hi3516av200"
fresh && make PLATFORM=hisilicon BOARD=unknown_unknown_${soc}_ultimate all && rename
}
#################################################################################
hi3516av300() {
soc="hi3516av300"
fresh && make PLATFORM=hisilicon BOARD=unknown_unknown_${soc}_openipc all && rename
}
hi3516cv500() {
soc="hi3516cv500"
fresh && make PLATFORM=hisilicon BOARD=unknown_unknown_${soc}_openipc all && rename
}
hi3516dv300() {
soc="hi3516dv300"
fresh && make PLATFORM=hisilicon BOARD=unknown_unknown_${soc}_openipc all && rename
}
#################################################################################
hi3516dv200() {
soc="hi3516dv200"
fresh && make PLATFORM=hisilicon BOARD=unknown_unknown_${soc}_openipc all && rename
}
hi3516ev200() {
soc="hi3516ev200"
fresh && make PLATFORM=hisilicon BOARD=unknown_unknown_${soc}_openipc all && rename
}
hi3516ev200_dozor() {
soc="hi3516ev200"
fresh && make PLATFORM=hisilicon BOARD=unknown_unknown_${soc}_dozor all && rename
}
hi3516ev200_eltis() {
soc="hi3516ev200"
fresh && make PLATFORM=hisilicon BOARD=unknown_unknown_${soc}_eltis all && rename
}
hi3516ev200_vixand() {
soc="hi3516ev200"
fresh && make PLATFORM=hisilicon BOARD=unknown_unknown_${soc}_vixand all && rename
}
hi3516ev200_ultimate() {
soc="hi3516ev200"
fresh && make PLATFORM=hisilicon BOARD=unknown_unknown_${soc}_ultimate all && rename
}
hi3516ev300() {
soc="hi3516ev300"
fresh && make PLATFORM=hisilicon BOARD=unknown_unknown_${soc}_openipc all && rename
}
hi3516ev300_dev() {
soc="hi3516ev300"
fresh && make PLATFORM=hisilicon BOARD=unknown_unknown_${soc}_dev all && rename
}
hi3516ev300_fpv() {
soc="hi3516ev300"
fresh && make PLATFORM=hisilicon BOARD=unknown_unknown_${soc}_fpv all && rename
}
hi3516ev300_glibc() {
soc="hi3516ev300"
fresh && make PLATFORM=hisilicon BOARD=unknown_unknown_${soc}_glibc all && rename
}
hi3516ev300_tehshield() {
soc="hi3516ev300"
fresh && make PLATFORM=hisilicon BOARD=unknown_unknown_${soc}_tehshield all && rename
}
hi3516ev300_ultimate() {
soc="hi3516ev300"
fresh && make PLATFORM=hisilicon BOARD=unknown_unknown_${soc}_ultimate all && rename
}
hi3518ev300() {
soc="hi3518ev300"
fresh && make PLATFORM=hisilicon BOARD=unknown_unknown_${soc}_openipc all && rename
}
hi3518ev300_ultimate() {
soc="hi3518ev300"
fresh && make PLATFORM=hisilicon BOARD=unknown_unknown_${soc}_ultimate all && rename
}
hi3536cv100() {
soc="hi3536cv100"
fresh && make PLATFORM=hisilicon BOARD=unknown_unknown_${soc}_openipc all && rename
}
hi3536dv100() {
soc="hi3536dv100"
fresh && make PLATFORM=hisilicon BOARD=unknown_unknown_${soc}_openipc all && rename
}
hi3536dv100_vixand() {
soc="hi3536dv100"
fresh && make PLATFORM=hisilicon BOARD=unknown_unknown_${soc}_vixand all && rename
}
#################################################################################
msc313e() {
soc="msc313e"
fresh && make PLATFORM=sigmastar BOARD=unknown_unknown_${soc}_openipc all && rename
}
msc313e_baresip() {
soc="msc313e"
fresh && make PLATFORM=sigmastar BOARD=unknown_unknown_${soc}_baresip all && rename
}
msc316dc() {
soc="msc316dc"
fresh && make PLATFORM=sigmastar BOARD=unknown_unknown_${soc}_openipc all && rename
}
msc316dm() {
soc="msc316dm"
fresh && make PLATFORM=sigmastar BOARD=unknown_unknown_${soc}_openipc all && rename
}
#################################################################################
nt98562() {
soc="nt98562"
fresh && make PLATFORM=novatek BOARD=unknown_unknown_${soc}_openipc all && rename
#PLATFORM=novatek make br-linux-{dirclean,rebuild}
}
nt98566() {
soc="nt98566"
fresh && make PLATFORM=novatek BOARD=unknown_unknown_${soc}_openipc all && rename
}
nt98566_polcam() {
soc="nt98566"
fresh && make PLATFORM=novatek BOARD=unknown_unknown_${soc}_polcam all && rename
}
#################################################################################
rv1109() {
soc="rv1109"
fresh && make PLATFORM=rockchip BOARD=unknown_unknown_${soc}_openipc all && rename
}
#################################################################################
rv1126() {
soc="rv1126"
fresh && make PLATFORM=rockchip BOARD=unknown_unknown_${soc}_openipc all && rename
}
#################################################################################
ssc325() {
soc="ssc325"
fresh && make PLATFORM=sigmastar BOARD=unknown_unknown_${soc}_openipc all && rename
}
#################################################################################
ssc333() {
soc="ssc333"
fresh && make PLATFORM=sigmastar BOARD=unknown_unknown_${soc}_openipc all && rename
}
ssc335() {
soc="ssc335"
fresh && make PLATFORM=sigmastar BOARD=unknown_unknown_${soc}_openipc all && rename
}
ssc335_blackbird() {
soc="ssc335"
fresh && make PLATFORM=sigmastar BOARD=unknown_unknown_${soc}_blackbird all && rename
}
ssc335_goodcam() {
soc="ssc335"
fresh && make PLATFORM=sigmastar BOARD=unknown_unknown_${soc}_goodcam all && rename
}
ssc335_initramfs() {
soc="ssc335"
fresh && make PLATFORM=sigmastar BOARD=unknown_unknown_${soc}_initramfs all && rename_initramfs
}
ssc335_musl() {
soc="ssc335"
fresh && make PLATFORM=sigmastar BOARD=unknown_unknown_${soc}_musl all && rename
}
ssc335_portal() {
soc="ssc335"
fresh && make PLATFORM=sigmastar BOARD=unknown_unknown_${soc}_portal all && rename
}
ssc335_rotek() {
soc="ssc335"
fresh && make PLATFORM=sigmastar BOARD=unknown_unknown_${soc}_rotek all && rename
}
ssc335_tiandy() {
soc="ssc335"
fresh && make PLATFORM=sigmastar BOARD=unknown_unknown_${soc}_tiandy all && rename
}
ssc337() {
soc="ssc337"
fresh && make PLATFORM=sigmastar BOARD=unknown_unknown_${soc}_openipc all && rename
}
ssc337_kama() {
soc="ssc337"
fresh && make PLATFORM=sigmastar BOARD=unknown_unknown_${soc}_kama all && rename
}
#################################################################################
ssc335de() {
soc="ssc335de"
fresh && make PLATFORM=sigmastar BOARD=unknown_unknown_${soc}_openipc all && rename
}
ssc337de() {
soc="ssc337de"
fresh && make PLATFORM=sigmastar BOARD=unknown_unknown_${soc}_openipc all && rename
}
#################################################################################
t10() {
soc="t10"
fresh && make PLATFORM=ingenic BOARD=unknown_unknown_${soc}_openipc all && rename
}
t20() {
soc="t20"
fresh && make PLATFORM=ingenic BOARD=unknown_unknown_${soc}_openipc all && rename
}
t30() {
soc="t30"
fresh && make PLATFORM=ingenic BOARD=unknown_unknown_${soc}_openipc all && rename
}
t31() {
soc="t31"
fresh && make PLATFORM=ingenic BOARD=unknown_unknown_${soc}_openipc all && rename
}
t31_vixand() {
soc="t31"
fresh && make PLATFORM=ingenic BOARD=unknown_unknown_${soc}_vixand all && rename
}
#################################################################################
xm510() {
soc="xm510"
fresh && make PLATFORM=xiongmai BOARD=unknown_unknown_${soc}_openipc all && rename
}
xm530() {
soc="xm530"
fresh && make PLATFORM=xiongmai BOARD=unknown_unknown_${soc}_openipc all && rename
}
xm550() {
soc="xm550"
fresh && make PLATFORM=xiongmai BOARD=unknown_unknown_${soc}_openipc all && rename
}
################################################################################# #################################################################################
@ -627,7 +231,7 @@ xm550() {
# Build firmware # Build firmware
####### #######
# #
# ambarella-s3l # testing.. # ambarella-s3l # testing..
# #
####### #######
# #
@ -782,4 +386,3 @@ xm550() {
# #
echo -e "\n\n$(cat /tmp/openipc_buildtime.txt)" echo -e "\n\n$(cat /tmp/openipc_buildtime.txt)"

View File

@ -4,7 +4,7 @@
# #
################################################################################ ################################################################################
LIBEVENT_OPENIPC_VERSION = 99fd68abde4a59b90148db733fc51a7256cbd320 LIBEVENT_OPENIPC_VERSION = 86b5d2e951eaa88cb5fed2be23fa5af85facad4a
LIBEVENT_OPENIPC_SITE = $(call github,libevent,libevent,$(LIBEVENT_OPENIPC_VERSION)) LIBEVENT_OPENIPC_SITE = $(call github,libevent,libevent,$(LIBEVENT_OPENIPC_VERSION))
LIBEVENT_OPENIPC_INSTALL_STAGING = YES LIBEVENT_OPENIPC_INSTALL_STAGING = YES
LIBEVENT_OPENIPC_LICENSE = BSD-3-Clause, OpenBSD LIBEVENT_OPENIPC_LICENSE = BSD-3-Clause, OpenBSD

View File

@ -0,0 +1,149 @@
From patchwork Thu Sep 17 06:19:48 2020
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
X-Patchwork-Submitter: Ard Biesheuvel <ardb@kernel.org>
X-Patchwork-Id: 11781619
Return-Path:
<SRS0=6281=C2=lists.infradead.org=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@kernel.org>
Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org
[172.30.200.123])
by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id E7EA96CA
for <patchwork-linux-arm@patchwork.kernel.org>;
Thu, 17 Sep 2020 06:20:24 +0000 (UTC)
Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by mail.kernel.org (Postfix) with ESMTPS id 758BF208E4
for <patchwork-linux-arm@patchwork.kernel.org>;
Thu, 17 Sep 2020 06:20:24 +0000 (UTC)
Authentication-Results: mail.kernel.org;
dkim=pass (2048-bit key) header.d=lists.infradead.org
header.i=@lists.infradead.org header.b="asIIUop8";
dkim=fail reason="signature verification failed" (1024-bit key)
header.d=kernel.org header.i=@kernel.org header.b="Dfh0zH+Q"
DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 758BF208E4
Authentication-Results: mail.kernel.org;
dmarc=fail (p=none dis=none) header.from=kernel.org
Authentication-Results: mail.kernel.org;
spf=none
smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding:
Content-Type:MIME-Version:Cc:List-Subscribe:List-Help:List-Post:List-Archive:
List-Unsubscribe:List-Id:Message-Id:Date:Subject:To:From:Reply-To:Content-ID:
Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc
:Resent-Message-ID:In-Reply-To:References:List-Owner;
bh=Lo1QvkycLV/7qa6tRuaKU+043GrCtYRFDvZNpiyIHFs=; b=asIIUop8zx9VLyP8RxH3FSnpIB
goa+Fn9zbDfPdm1XBArYJdBUQkptX0eK5ggte4+RtYnD6jtYPnDQ1atbG+LXFXdCGBPPGD7Ec0NCz
2rf7GocaLxeNTnfrTrLiyeLitFTbrFsfog6LNatG/wbNnekF7ykhcZ7bzwvfMVNbAYwx0vMjCBUDv
yaOUflwQYiTda6AkoJnj1IISdIYLgkCEIzyDVq3rIFW3BA+m5EhmhXKI2gcksipSVuIsbux+px9ZV
v42wJcIXgnVA+qJct1MFfxvPN1vQBL9aLZclNOcXNmKZD8Q09LA4yNxvFkRoNLlBOPKYSN6XHmtJn
mAF9oPSw==;
Received: from localhost ([::1] helo=merlin.infradead.org)
by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux))
id 1kInGx-0003LG-UJ; Thu, 17 Sep 2020 06:20:00 +0000
Received: from mail.kernel.org ([198.145.29.99])
by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux))
id 1kInGv-0003Kq-Ma
for linux-arm-kernel@lists.infradead.org; Thu, 17 Sep 2020 06:19:58 +0000
Received: from e123331-lin.nice.arm.com (unknown [91.140.120.15])
(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
(No client certificate requested)
by mail.kernel.org (Postfix) with ESMTPSA id 9D4CD20707;
Thu, 17 Sep 2020 06:19:54 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
s=default; t=1600323596;
bh=ziD1S262d4AhvP0HlkLo4WCfu8gkBuZJo+18GfJki9c=;
h=From:To:Cc:Subject:Date:From;
b=Dfh0zH+QgFdYO0gLoboRtZhySJAl+bjUHgIo8kCQVGjvzCWF7i2BSPEKZiFbSIEGm
fFSTDES62ApoJHYwFnIAtXQMpjV7DYbIoeuFScbKPT4lMxCYpo/X7ffl/+OEWMkRAK
4Unu4CMR1SVL+8a4DZhSoF74nrvGspRqV5Nh1iTI=
From: Ard Biesheuvel <ardb@kernel.org>
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH] ARM: vfp: force non-conditional encoding for external Thumb2
tail call
Date: Thu, 17 Sep 2020 09:19:48 +0300
Message-Id: <20200917061948.12403-1-ardb@kernel.org>
X-Mailer: git-send-email 2.17.1
X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3
X-CRM114-CacheID: sfid-20200917_021957_811961_126E0A54
X-CRM114-Status: GOOD ( 13.51 )
X-Spam-Score: -8.2 (--------)
X-Spam-Report: SpamAssassin version 3.4.4 on merlin.infradead.org summary:
Content analysis details: (-8.2 points)
pts rule name description
---- ----------------------
--------------------------------------------------
-5.0 RCVD_IN_DNSWL_HI RBL: Sender listed at https://www.dnswl.org/,
high trust [198.145.29.99 listed in list.dnswl.org]
0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record
-0.0 SPF_PASS SPF: sender matches SPF record
0.1 DKIM_SIGNED Message has a DKIM or DK signature,
not necessarily
valid
-0.1 DKIM_VALID_EF Message has a valid DKIM or DK signature from
envelope-from domain
-0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from
author's domain
-0.1 DKIM_VALID Message has at least one valid DKIM or DK signature
-3.0 DKIMWL_WL_HIGH DKIMwl.org - Whitelisted High sender
X-BeenThere: linux-arm-kernel@lists.infradead.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: <linux-arm-kernel.lists.infradead.org>
List-Unsubscribe:
<http://lists.infradead.org/mailman/options/linux-arm-kernel>,
<mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>
List-Archive: <http://lists.infradead.org/pipermail/linux-arm-kernel/>
List-Post: <mailto:linux-arm-kernel@lists.infradead.org>
List-Help: <mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>
List-Subscribe:
<http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,
<mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>
Cc: ndesaulniers@google.com, linux@armlinux.org.uk, stable@vger.kernel.org,
Ard Biesheuvel <ardb@kernel.org>
MIME-Version: 1.0
Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org>
Errors-To:
linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
Nick reports that the following error is produced in some cases when
using GCC+ld.bfd to build the ARM defconfig with Thumb2 enabled:
arch/arm/vfp/vfphw.o: in function `vfp_support_entry':
(.text+0xa): relocation truncated to fit: R_ARM_THM_JUMP19 against
symbol `vfp_kmode_exception' defined in .text.unlikely section in
arch/arm/vfp/vfpmodule.o
$ arm-linux-gnueabihf-ld --version
GNU ld (GNU Binutils for Debian) 2.34
Generally, the linker should be able to fix up out of range branches by
emitting veneers, but apparently, it fails to do so in this particular
case, i.e., a conditional 'tail call' to vfp_kmode_exception(), which
is not defined in the same object file.
So let's force the use of a non-conditional encoding of the B instruction,
which has more space for an immediate offset.
Cc: <stable@vger.kernel.org>
Reported-by: Nick Desaulniers <ndesaulniers@google.com>
Tested-by: Nick Desaulniers <ndesaulniers@google.com>
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
---
arch/arm/vfp/vfphw.S | 1 +
1 file changed, 1 insertion(+)
diff --git a/arch/arm/vfp/vfphw.S b/arch/arm/vfp/vfphw.S
index 4fcff9f59947..f1468702fbc9 100644
--- a/arch/arm/vfp/vfphw.S
+++ b/arch/arm/vfp/vfphw.S
@@ -82,6 +82,7 @@ ENTRY(vfp_support_entry)
ldr r3, [sp, #S_PSR] @ Neither lazy restore nor FP exceptions
and r3, r3, #MODE_MASK @ are supported in kernel mode
teq r3, #USR_MODE
+THUMB( it ne )
bne vfp_kmode_exception @ Returns through lr
VFPFMRX r1, FPEXC @ Is the VFP enabled?

View File

@ -3,7 +3,8 @@
# Please check BR2_ROOTFS_POST_BUILD_SCRIPT option in config # Please check BR2_ROOTFS_POST_BUILD_SCRIPT option in config
# #
date "+OPENIPC_VERSION=2.2.%m.%d" >>${TARGET_DIR}/usr/lib/os-release D=$(date "+%y.%m.%d")
echo "OPENIPC_VERSION=${D:0:1}.${D:1}" >>${TARGET_DIR}/usr/lib/os-release
date "+GITHUB_VERSION=\"${BRANCH_NAME}+${GIT_HASH}, %Y-%m-%d\"" >>${TARGET_DIR}/usr/lib/os-release date "+GITHUB_VERSION=\"${BRANCH_NAME}+${GIT_HASH}, %Y-%m-%d\"" >>${TARGET_DIR}/usr/lib/os-release
if grep -q fpv_defconfig ${BR2_CONFIG}; then if grep -q fpv_defconfig ${BR2_CONFIG}; then
echo "BUILD_OPTION=fpv" >>${TARGET_DIR}/usr/lib/os-release echo "BUILD_OPTION=fpv" >>${TARGET_DIR}/usr/lib/os-release

View File

@ -3,7 +3,8 @@
# Please check BR2_ROOTFS_POST_BUILD_SCRIPT option in config # Please check BR2_ROOTFS_POST_BUILD_SCRIPT option in config
# #
date "+OPENIPC_VERSION=2.2.%m.%d" >>${TARGET_DIR}/usr/lib/os-release D=$(date "+%y.%m.%d")
echo "OPENIPC_VERSION=${D:0:1}.${D:1}" >>${TARGET_DIR}/usr/lib/os-release
date "+GITHUB_VERSION=\"${BRANCH_NAME}+${GIT_HASH}, %Y-%m-%d\"" >>${TARGET_DIR}/usr/lib/os-release date "+GITHUB_VERSION=\"${BRANCH_NAME}+${GIT_HASH}, %Y-%m-%d\"" >>${TARGET_DIR}/usr/lib/os-release
if grep -q fpv_defconfig ${BR2_CONFIG}; then if grep -q fpv_defconfig ${BR2_CONFIG}; then
echo "BUILD_OPTION=fpv" >>${TARGET_DIR}/usr/lib/os-release echo "BUILD_OPTION=fpv" >>${TARGET_DIR}/usr/lib/os-release

View File

@ -3,7 +3,8 @@
# Please check BR2_ROOTFS_POST_BUILD_SCRIPT option in config # Please check BR2_ROOTFS_POST_BUILD_SCRIPT option in config
# #
date "+OPENIPC_VERSION=2.2.%m.%d" >>${TARGET_DIR}/usr/lib/os-release D=$(date "+%y.%m.%d")
echo "OPENIPC_VERSION=${D:0:1}.${D:1}" >>${TARGET_DIR}/usr/lib/os-release
date "+GITHUB_VERSION=\"${BRANCH_NAME}+${GIT_HASH}, %Y-%m-%d\"" >>${TARGET_DIR}/usr/lib/os-release date "+GITHUB_VERSION=\"${BRANCH_NAME}+${GIT_HASH}, %Y-%m-%d\"" >>${TARGET_DIR}/usr/lib/os-release
if grep -q fpv_defconfig ${BR2_CONFIG}; then if grep -q fpv_defconfig ${BR2_CONFIG}; then
echo "BUILD_OPTION=fpv" >>${TARGET_DIR}/usr/lib/os-release echo "BUILD_OPTION=fpv" >>${TARGET_DIR}/usr/lib/os-release
@ -20,4 +21,4 @@ if ! grep -q ^BR2_PACKAGE_WIFIBROADCAST=y ${BR2_CONFIG}; then
rm -f ${TARGET_DIR}/usr/lib/libstdc++* rm -f ${TARGET_DIR}/usr/lib/libstdc++*
fi fi
rm -f ${TARGET_DIR}/usr/bin/gdbserver rm -f ${TARGET_DIR}/usr/bin/gdbserver

View File

@ -0,0 +1,42 @@
#!/usr/bin/env bash
shopt -s nullglob
if [ $# -eq 0 ]; then
$0 1 | sort
#$0 1 | sort | uniq
else
for D in br-ext-chip-*; do
for CF in $D/configs/*; do
BR2_VER=$(grep BR2_DEFAULT_KERNEL_VERSION $CF)
if [ ! -z $BR2_VER ]; then
VENDOR=$(echo $CF | cut -d - -f 4 | cut -d / -f 1 | sed -r 's/\<./\U&/g')
VER=$(echo $BR2_VER | cut -d \" -f 2 | awk -F . '{printf "%s_%s", $1, $2}')
GCC_VER=$(sed -rn "s/^BR2_GCC_VERSION_([0-9]*)_X=y/\1/p" $CF)
ARCH=$(sed -rn "s/^BR2_(arm[a-z0-9_]+)=y/\1/p" $CF)
if [ -z "$ARCH" ]; then
ARCH=$(sed -rn "s/^BR2_(cortex_[a-z0-9_]+)=y/\1/p" $CF)
fi
if [ -z "$ARCH" ]; then
ARCH=$(sed -rn "s/^BR2_(arm)=y/\1/p" $CF)
else
# Here we have something from ARM modern family
HF=$(sed -rn "s/^BR2_ARM_EABI(HF)=y/\1/p" $CF | tr '[:upper:]' '[:lower:]')
if [ ! -z "$HF" ]; then
ARCH="${ARCH}_${HF}"
fi
fi
if [ -z "$ARCH" ]; then
ARCH=$(sed -rn "s/^BR2_(mips_[a-z]*)=y/\1/p" $CF)
fi
LIBC=$(sed -rn "s/^BR2_TOOLCHAIN_BUILDROOT_LIBC=\"(.*)\"/\1/p" $CF)
SOC=$(echo $CF | cut -d _ -f 3)
# $GCC_VER
echo $ARCH $LIBC $VER $VENDOR $CF
fi
done
done
fi