From 325f1949a4672d0936e406fc75c3b26446a40f18 Mon Sep 17 00:00:00 2001 From: guowenxue <guowenxue@gmail.com> Date: Sat, 29 Oct 2022 10:06:40 +0800 Subject: [PATCH] update yocto meta to add bridge-utils --- bsp/build.sh | 144 ++++++++++++++++++++++++++++++++++++------------ 1 files changed, 108 insertions(+), 36 deletions(-) diff --git a/bsp/build.sh b/bsp/build.sh index 8bd0c76..b84878f 100755 --- a/bsp/build.sh +++ b/bsp/build.sh @@ -2,60 +2,132 @@ PRJ_PATH=`pwd` -BOARD=imx6ull +BOARD=igkboard -#CROSS_TOOL=arm-linux-gnueabihf- -CROSS_TOOL=/opt/buildroot/cortexA7/bin/arm-linux- +# BSP_VER should be lf-5.10.52-2.1.0, lf-5.15.32-2.0.0 +BSP_VER=lf-5.15.32-2.0.0 -# bootloader, linux kernel tarball path and branch -TAR_PATH=${PRJ_PATH}/tarball -BSP_BRANCH="lf-5.10.52-2.1.0" +CROSS_TOOL=/opt/gcc-arm-11.2-2022.02/bin/arm-none-linux-gnueabihf- -# rootfs should be buildroot or stretch/buster/bullseye for debian system -ROOTFS=buildroot +# SYSTEM should be: buildroot, debian, yocto +# DISTRO should be: v2021.02, bullseye, hardknott/honister/kirkstone +SYSTEM=yocto +DISTRO=kirkstone + +SYSTEM=`echo $SYSTEM | tr 'A-Z' 'a-z'` +DISTRO=`echo $DISTRO | tr 'A-Z' 'a-z'` set -u set -e -function do_modify_build() + +function do_modify() { - DIR=$1 + cd $PRJ_PATH - sed -i "s|^BOARD.*|BOARD=${BOARD}|g" ${DIR}/build.sh + FILE=scripts/setup_env.sh - if [ $DIR = bootloader -o $DIR == kernel ] ; then - sed -i "s|^CROSS_TOOL.*|CROSS_TOOL=${CROSS_TOOL}|g" ${DIR}/build.sh - sed -i "s|^TAR_PATH.*|TAR_PATH=${TAR_PATH}|g" ${DIR}/build.sh - sed -i "s|^BSP_BRANCH.*|BSP_BRANCH=${BSP_BRANCH}|g" ${DIR}/build.sh - elif [ $DIR = rootfs -o $DIR == images ] ; then - sed -i "s|^TAR_PATH.*|TAR_PATH=${TAR_PATH}|g" ${DIR}/build.sh - sed -i "s|^ROOTFS=.*|ROOTFS=${ROOTFS}|g" ${DIR}/build.sh - elif [ $DIR = tarball ] ; then - sed -i "s|^ROOTFS=.*|ROOTFS=${ROOTFS}|g" ${DIR}/build.sh + sed -i "s|^BOARD.*|BOARD=${BOARD}|g" $FILE + sed -i "s|^CROSS_TOOL.*|CROSS_TOOL=${CROSS_TOOL}|g" $FILE + + sed -i "s|^SYSTEM=.*|SYSTEM=${SYSTEM}|g" $FILE + sed -i "s|^DISTRO=.*|DISTRO=${DISTRO}|g" $FILE + + sed -i "s|^BSP_VER=.*|BSP_VER=${BSP_VER}|g" $FILE +} + +function do_root() +{ + echo "" + if [[ $1 == "yes" ]] && [ `id -u` != 0 ] ; then + echo "ERROR: This action must run as root!" + echo "" + exit; + elif [[ $1 != "yes" ]] && [ `id -u` == 0 ] ; then + echo "ERROR: This action cannot run as root!" + echo "" + exit; fi } -function do_modify() -{ - do_modify_build tarball - do_modify_build bootloader - do_modify_build kernel - do_modify_build rootfs - do_modify_build images -} - -function do_build() +function do_action() { - cd tarball && ./build.sh && cd - + folder=$1 + action=$2 - cd bootloader && ./build.sh && cd - + if [ ! -f $PRJ_PATH/$folder/build.sh ] ;then + return ; + fi - cd kernel && ./build.sh && cd - + cd $PRJ_PATH/$folder - cd rootfs && ./build.sh && cd - + if [ $action == "build" ] ; then + ./build.sh -b + elif [ $action == "clean" ] ; then + ./build.sh -c + rm -rf ${PRJ_PATH}/tarballs + fi + + cd $PRJ_PATH } -do_modify +function do_usage() +{ + echo "" + echo "Usage:" + echo " $0 [-b] [-c] [-h] bsp/image" + echo " -b bsp/image: build BSP or system image" + echo " -c bsp/image: clean BSP or system image" + echo " -h : show this help message" + echo "" + echo " WARNNING: build/clean image need run as sudo" + echo "" + echo " Build Example: $0 -b bsp && sudo $0 -b image" + echo " Clean Example: $0 -c bsp && sudo $0 -c image" + echo "" + exit; +} -do_build + +action="usage" + +while getopts "b:c:h" OPTNAME +do + case "${OPTNAME}" in + "b") + action="build" + shift + ;; + + "c") + action="clean" + shift + ;; + + "*") + action="usage" + ;; + esac +done + +if [ $action == "usage" ] ; then + do_usage +fi + +if [ $action == "build" ] ; then + do_modify +fi + +if [ $1 == "bsp" ] ; then + if [ $action == "build" ] ; then + do_root "no" + fi + do_action bootloader $action + do_action kernel $action + do_action drivers $action +elif [ $1 == "image" ] ; then + do_root "yes" + do_action rootfs $action + do_action images $action +fi -- Gitblit v1.9.1