mirror of https://github.com/OpenIPC/firmware.git
Merge branch 'master' of github:OpenIPC/firmware
commit
f202e1ed66
|
@ -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
|
|
@ -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"
|
|
@ -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"
|
|
@ -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"
|
|
@ -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"
|
|
@ -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"
|
|
@ -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"
|
|
@ -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"
|
|
@ -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"
|
|
@ -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"
|
|
@ -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"
|
14
Makefile
14
Makefile
|
@ -2,6 +2,20 @@
|
|||
ROOT_DIR := $(CURDIR)
|
||||
BR_VER := 2021.02.12
|
||||
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)
|
||||
SCRIPTS_DIR := $(ROOT_DIR)/scripts
|
||||
#BOARDS := $(shell ls -1 $(BR_EXT_DIR)/configs)
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
../../../../../patches/linux/3.0.x-3.3.x/gcc8_err_encountered.patch
|
|
@ -0,0 +1 @@
|
|||
../../../../../patches/linux/3.10.x/gcc8_err_encountered.patch
|
|
@ -0,0 +1 @@
|
|||
../../../../../patches/linux/3.10.x/gcc8_err_encountered.patch
|
|
@ -0,0 +1 @@
|
|||
../../../../../patches/linux/3.10.x/gcc8_err_encountered.patch
|
|
@ -0,0 +1 @@
|
|||
../../../../../patches/linux/3.18.x/ARM-vfp-force-non-conditional-encoding-for-external-Thumb2-tail-call.patch
|
749
building.sh
749
building.sh
|
@ -1,20 +1,15 @@
|
|||
#!/bin/bash
|
||||
#
|
||||
# OpenIPC.org | v.20220813
|
||||
# OpenIPC.org (c)
|
||||
#
|
||||
|
||||
BR_VER=2021.02.12
|
||||
|
||||
MAX_KERNEL_SIZE=0x200000 # 2MiB, 2097152
|
||||
MAX_KERNEL_SIZE_ULTIMATE=0x300000 # 3MiB, 3145728
|
||||
MAX_KERNEL_SIZE_EXPERIMENTAL=0x3E8480 # ~3.9MiB, 4097152
|
||||
MAX_ROOTFS_SIZE=0x500000 # 5MiB, 5242880
|
||||
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
|
||||
}
|
||||
MAX_KERNEL_SIZE=0x200000 # 2MiB, 2097152
|
||||
MAX_KERNEL_SIZE_ULTIMATE=0x300000 # 3MiB, 3145728
|
||||
MAX_KERNEL_SIZE_EXPERIMENTAL=0x3E8480 # ~3.9MiB, 4097152
|
||||
MAX_ROOTFS_SIZE=0x500000 # 5MiB, 5242880
|
||||
MAX_ROOTFS_SIZE_ULTIMATE=0xA00000 # 10MiB, 10485760
|
||||
|
||||
fresh() {
|
||||
echo -e "\nThe start-stop times\n" >/tmp/openipc_buildtime.txt
|
||||
|
@ -38,24 +33,24 @@ should_fit() {
|
|||
|
||||
rename() {
|
||||
if grep -q ultimate_defconfig ./output/.config || grep -q fpv_defconfig ./output/.config; then
|
||||
should_fit uImage $MAX_KERNEL_SIZE_ULTIMATE
|
||||
should_fit rootfs.squashfs $MAX_ROOTFS_SIZE_ULTIMATE
|
||||
should_fit uImage $MAX_KERNEL_SIZE_ULTIMATE
|
||||
should_fit rootfs.squashfs $MAX_ROOTFS_SIZE_ULTIMATE
|
||||
else
|
||||
should_fit uImage $MAX_KERNEL_SIZE
|
||||
should_fit rootfs.squashfs $MAX_ROOTFS_SIZE
|
||||
should_fit uImage $MAX_KERNEL_SIZE
|
||||
should_fit rootfs.squashfs $MAX_ROOTFS_SIZE
|
||||
fi
|
||||
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.cpio ./output/images/rootfs.${soc}.cpio
|
||||
mv -v ./output/images/rootfs.tar ./output/images/rootfs.${soc}.tar
|
||||
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.cpio ./output/images/rootfs.${SOC}.cpio
|
||||
mv -v ./output/images/rootfs.tar ./output/images/rootfs.${SOC}.tar
|
||||
date >>/tmp/openipc_buildtime.txt
|
||||
}
|
||||
|
||||
rename_initramfs() {
|
||||
should_fit uImage $MAX_KERNEL_SIZE_EXPERIMENTAL
|
||||
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.tar ./output/images/rootfs.${soc}.tar
|
||||
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.tar ./output/images/rootfs.${SOC}.tar
|
||||
date >>/tmp/openipc_buildtime.txt
|
||||
echo -e "\n\n$(cat /tmp/openipc_buildtime.txt)"
|
||||
}
|
||||
|
@ -64,561 +59,170 @@ autoup_rootfs() {
|
|||
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
|
||||
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"
|
||||
./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"
|
||||
./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
|
||||
}
|
||||
|
||||
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
|
||||
./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
|
||||
}
|
||||
|
||||
#################################################################################
|
||||
|
||||
ambarella-s3l() {
|
||||
soc="s3l"
|
||||
fresh && make PLATFORM=ambarella BOARD=unknown_unknown_${soc}_openipc all && rename
|
||||
}
|
||||
|
||||
#################################################################################
|
||||
|
||||
ak3918ev200() {
|
||||
soc="ak3918ev200"
|
||||
fresh && make PLATFORM=anyka BOARD=unknown_unknown_${soc}_openipc all && rename
|
||||
}
|
||||
|
||||
ak3916ev300() {
|
||||
soc="ak3916ev300"
|
||||
fresh && make PLATFORM=anyka BOARD=unknown_unknown_${soc}_openipc all && rename
|
||||
}
|
||||
|
||||
ak3918ev300() {
|
||||
soc="ak3918ev300"
|
||||
fresh && make PLATFORM=anyka BOARD=unknown_unknown_${soc}_openipc all && rename
|
||||
}
|
||||
|
||||
#################################################################################
|
||||
|
||||
fh8833v100() {
|
||||
soc="fh8833v100"
|
||||
fresh && make PLATFORM=fullhan BOARD=unknown_unknown_${soc}_openipc all && rename
|
||||
}
|
||||
|
||||
fh8852v100() {
|
||||
soc="fh8852v100"
|
||||
fresh && make PLATFORM=fullhan BOARD=unknown_unknown_${soc}_openipc all && rename
|
||||
}
|
||||
|
||||
fh8852v200() {
|
||||
soc="fh8852v200"
|
||||
fresh && make PLATFORM=fullhan BOARD=unknown_unknown_${soc}_openipc all && rename
|
||||
}
|
||||
|
||||
fh8852v210() {
|
||||
soc="fh8852v210"
|
||||
fresh && make PLATFORM=fullhan BOARD=unknown_unknown_${soc}_openipc all && rename
|
||||
}
|
||||
|
||||
fh8856v100() {
|
||||
soc="fh8856v100"
|
||||
fresh && make PLATFORM=fullhan BOARD=unknown_unknown_${soc}_openipc all && rename
|
||||
}
|
||||
|
||||
fh8856v200() {
|
||||
soc="fh8856v200"
|
||||
fresh && make PLATFORM=fullhan BOARD=unknown_unknown_${soc}_openipc all && rename
|
||||
}
|
||||
|
||||
fh8856v210() {
|
||||
soc="fh8856v210"
|
||||
fresh && make PLATFORM=fullhan BOARD=unknown_unknown_${soc}_openipc all && rename
|
||||
}
|
||||
|
||||
fh8858v200() {
|
||||
soc="fh8858v200"
|
||||
fresh && make PLATFORM=fullhan BOARD=unknown_unknown_${soc}_openipc all && rename
|
||||
}
|
||||
|
||||
fh8858v210() {
|
||||
soc="fh8858v210"
|
||||
fresh && make PLATFORM=fullhan BOARD=unknown_unknown_${soc}_openipc all && rename
|
||||
}
|
||||
|
||||
#################################################################################
|
||||
|
||||
gk7101() {
|
||||
soc="gk7101"
|
||||
fresh && make PLATFORM=goke BOARD=unknown_unknown_${soc}_openipc all && rename
|
||||
}
|
||||
|
||||
gk7101s() {
|
||||
soc="gk7101s"
|
||||
fresh && make PLATFORM=goke BOARD=unknown_unknown_${soc}_openipc all && rename
|
||||
}
|
||||
|
||||
gk7102() {
|
||||
soc="gk7102"
|
||||
fresh && make PLATFORM=goke BOARD=unknown_unknown_${soc}_openipc all && rename
|
||||
}
|
||||
|
||||
gk7102s() {
|
||||
soc="gk7102s"
|
||||
fresh && make PLATFORM=goke BOARD=unknown_unknown_${soc}_openipc all && rename
|
||||
}
|
||||
|
||||
gk7205v200() {
|
||||
soc="gk7205v200"
|
||||
fresh && make PLATFORM=goke BOARD=unknown_unknown_${soc}_openipc all && rename
|
||||
}
|
||||
|
||||
gk7205v200_ultimate() {
|
||||
soc="gk7205v200"
|
||||
fresh && make PLATFORM=goke BOARD=unknown_unknown_${soc}_ultimate all && rename
|
||||
}
|
||||
|
||||
gk7205v200_fpv() {
|
||||
soc="gk7205v200"
|
||||
fresh && make PLATFORM=goke BOARD=unknown_unknown_${soc}_fpv all && rename
|
||||
}
|
||||
|
||||
gk7205v200_iscom() {
|
||||
soc="gk7205v200"
|
||||
fresh && make PLATFORM=goke BOARD=unknown_unknown_${soc}_iscom all && rename
|
||||
}
|
||||
|
||||
gk7205v200_ufanet() {
|
||||
soc="gk7205v200"
|
||||
fresh && make PLATFORM=goke BOARD=unknown_unknown_${soc}_ufanet all && rename
|
||||
}
|
||||
|
||||
gk7205v210() {
|
||||
soc="gk7205v210"
|
||||
fresh && make PLATFORM=goke BOARD=unknown_unknown_${soc}_openipc all && rename
|
||||
}
|
||||
|
||||
gk7205v300() {
|
||||
soc="gk7205v300"
|
||||
fresh && make PLATFORM=goke BOARD=unknown_unknown_${soc}_openipc all && rename
|
||||
}
|
||||
|
||||
gk7205v300_ultimate() {
|
||||
soc="gk7205v300"
|
||||
fresh && make PLATFORM=goke BOARD=unknown_unknown_${soc}_ultimate all && rename
|
||||
}
|
||||
|
||||
gk7205v300_fpv() {
|
||||
soc="gk7205v300"
|
||||
fresh && make PLATFORM=goke BOARD=unknown_unknown_${soc}_fpv all && rename
|
||||
}
|
||||
|
||||
gk7605v100() {
|
||||
soc="gk7605v100"
|
||||
fresh && make PLATFORM=goke BOARD=unknown_unknown_${soc}_openipc all && rename
|
||||
}
|
||||
|
||||
#################################################################################
|
||||
|
||||
gm8135() {
|
||||
soc="gm8135"
|
||||
fresh && make PLATFORM=grainmedia BOARD=unknown_unknown_${soc}_openipc all && rename
|
||||
}
|
||||
|
||||
gm8136() {
|
||||
soc="gm8136"
|
||||
fresh && make PLATFORM=grainmedia BOARD=unknown_unknown_${soc}_openipc all && rename
|
||||
}
|
||||
|
||||
#################################################################################
|
||||
|
||||
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
|
||||
}
|
||||
FUNCS=(
|
||||
ambarella-s3l
|
||||
|
||||
ak3918ev200
|
||||
ak3916ev300
|
||||
ak3918ev300
|
||||
|
||||
fh8833v100
|
||||
fh8852v100
|
||||
fh8852v200
|
||||
fh8852v210
|
||||
fh8856v100
|
||||
fh8856v200
|
||||
fh8856v210
|
||||
fh8858v200
|
||||
fh8858v210
|
||||
|
||||
gk7101
|
||||
gk7101s
|
||||
gk7102
|
||||
gk7102s
|
||||
|
||||
gk7205v200
|
||||
gk7205v200_ultimate
|
||||
gk7205v200_fpv
|
||||
gk7205v200_iscom
|
||||
gk7205v200_ufanet
|
||||
gk7205v210
|
||||
gk7205v300
|
||||
gk7205v300_ultimate
|
||||
gk7205v300_fpv
|
||||
gk7605v100
|
||||
|
||||
gm8135
|
||||
gm8136
|
||||
|
||||
hi3516cv100
|
||||
hi3518ev100
|
||||
|
||||
hi3516cv200
|
||||
hi3518ev200
|
||||
hi3518ev200_domsip
|
||||
hi3518ev200_hs303
|
||||
hi3518ev200_ultimate
|
||||
|
||||
hi3516cv300
|
||||
hi3516cv300_ultimate
|
||||
hi3516ev100
|
||||
|
||||
hi3516av100
|
||||
hi3516av100_ultimate
|
||||
hi3516dv100
|
||||
hi3516dv100_ultimate
|
||||
|
||||
hi3519v101
|
||||
hi3516av200
|
||||
hi3516av200_ultimate
|
||||
|
||||
hi3516av300
|
||||
hi3516cv500
|
||||
hi3516dv300
|
||||
|
||||
hi3516dv200
|
||||
hi3516ev200
|
||||
hi3516ev200_dozor
|
||||
hi3516ev200_eltis
|
||||
hi3516ev200_vixand
|
||||
hi3516ev200_ultimate
|
||||
hi3516ev300
|
||||
hi3516ev300_dev
|
||||
hi3516ev300_fpv
|
||||
hi3516ev300_glibc
|
||||
hi3516ev300_tehshield
|
||||
hi3516ev300_ultimate
|
||||
hi3518ev300
|
||||
hi3518ev300_ultimate
|
||||
|
||||
hi3536cv100
|
||||
hi3536dv100
|
||||
hi3536dv100_vixand
|
||||
|
||||
msc313e
|
||||
msc313e_baresip
|
||||
msc316dc
|
||||
msc316dm
|
||||
|
||||
nt98562
|
||||
nt98566
|
||||
nt98566_polcam
|
||||
|
||||
rv1109
|
||||
rv1126
|
||||
|
||||
ssc325
|
||||
ssc333
|
||||
ssc335
|
||||
ssc335_blackbird
|
||||
ssc335_goodcam
|
||||
ssc335_initramfs
|
||||
ssc335_musl
|
||||
ssc335_portal
|
||||
ssc335_rotek
|
||||
ssc335_tiandy
|
||||
ssc337
|
||||
ssc337_kama
|
||||
|
||||
ssc335de
|
||||
ssc337de
|
||||
|
||||
t10
|
||||
t20
|
||||
t30
|
||||
t31
|
||||
t31_vixand
|
||||
|
||||
xm510
|
||||
xm530
|
||||
xm550
|
||||
)
|
||||
|
||||
copy_function() {
|
||||
test -n "$(declare -f "$1")" || return
|
||||
eval "${_/$1/$2}"
|
||||
}
|
||||
|
||||
uni_build() {
|
||||
BOARD=$FUNCNAME
|
||||
SOC=$(echo $BOARD | cut -d '_' -f 1)
|
||||
|
||||
set -e
|
||||
if [ "$(echo $BOARD | cut -d '_' -f 2)" == "" ]; then
|
||||
BOARD="${BOARD}_openipc"
|
||||
elif [ "$BOARD" == "hi3518ev200_hs303" ]; then
|
||||
BOARD=hi3518ev200_openipc
|
||||
NEED_AUTOUP=1
|
||||
fi
|
||||
|
||||
fresh
|
||||
make BOARD=unknown_unknown_${BOARD} all
|
||||
if [ "$BOARD" == "ssc335_initramfs" ]; then
|
||||
rename_initramfs
|
||||
else
|
||||
rename
|
||||
fi
|
||||
|
||||
if [ ! -z "$NEED_AUTOUP" ]; then
|
||||
autoup_rootfs
|
||||
fi
|
||||
}
|
||||
|
||||
for i in "${FUNCS[@]}"; do
|
||||
copy_function uni_build $i
|
||||
done
|
||||
|
||||
#################################################################################
|
||||
|
||||
|
@ -627,7 +231,7 @@ xm550() {
|
|||
# Build firmware
|
||||
#######
|
||||
#
|
||||
# ambarella-s3l # testing..
|
||||
# ambarella-s3l # testing..
|
||||
#
|
||||
#######
|
||||
#
|
||||
|
@ -782,4 +386,3 @@ xm550() {
|
|||
#
|
||||
|
||||
echo -e "\n\n$(cat /tmp/openipc_buildtime.txt)"
|
||||
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
#
|
||||
################################################################################
|
||||
|
||||
LIBEVENT_OPENIPC_VERSION = 99fd68abde4a59b90148db733fc51a7256cbd320
|
||||
LIBEVENT_OPENIPC_VERSION = 86b5d2e951eaa88cb5fed2be23fa5af85facad4a
|
||||
LIBEVENT_OPENIPC_SITE = $(call github,libevent,libevent,$(LIBEVENT_OPENIPC_VERSION))
|
||||
LIBEVENT_OPENIPC_INSTALL_STAGING = YES
|
||||
LIBEVENT_OPENIPC_LICENSE = BSD-3-Clause, OpenBSD
|
||||
|
|
|
@ -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?
|
|
@ -3,7 +3,8 @@
|
|||
# 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
|
||||
if grep -q fpv_defconfig ${BR2_CONFIG}; then
|
||||
echo "BUILD_OPTION=fpv" >>${TARGET_DIR}/usr/lib/os-release
|
||||
|
|
|
@ -3,7 +3,8 @@
|
|||
# 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
|
||||
if grep -q fpv_defconfig ${BR2_CONFIG}; then
|
||||
echo "BUILD_OPTION=fpv" >>${TARGET_DIR}/usr/lib/os-release
|
||||
|
|
|
@ -3,7 +3,8 @@
|
|||
# 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
|
||||
if grep -q fpv_defconfig ${BR2_CONFIG}; then
|
||||
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++*
|
||||
fi
|
||||
|
||||
rm -f ${TARGET_DIR}/usr/bin/gdbserver
|
||||
rm -f ${TARGET_DIR}/usr/bin/gdbserver
|
||||
|
|
|
@ -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
|
Loading…
Reference in New Issue