凌云实验室推出的ARM Linux物联网网关开发板IGKBoard(IoT Gateway Kit Board)项目源码
guowenxue
2022-10-29 e699b35d841124f4322a7ec27e44a8d64f79d9fa
bsp/build.sh
@@ -2,44 +2,38 @@
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-10.3-2021.07/bin/arm-none-linux-gnueabihf-
# rootfs should be buildroot/yocto or stretch/buster/bullseye for debian system
ROOTFS=buster
# 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()
{
    DIR=$1
    cd $PRJ_PATH
    sed -i "s|^BOARD.*|BOARD=${BOARD}|g" ${DIR}/build.sh
    if [ $DIR = bootloader -o $DIR == kernel ] ; then
        sed -i "s|^CROSS_TOOL.*|CROSS_TOOL=${CROSS_TOOL}|g" ${DIR}/build.sh
        sed -i "s|^BSP_BRANCH.*|BSP_BRANCH=${BSP_BRANCH}|g" ${DIR}/build.sh
    elif [ $DIR = rootfs -o $DIR == images -o $DIR = tarball ] ; then
        sed -i "s|^ROOTFS=.*|ROOTFS=${ROOTFS}|g" ${DIR}/build.sh
    fi
}
function do_modify()
{
    do_modify_build tarball
    do_modify_build bootloader
    do_modify_build kernel
    do_modify_build rootfs
    do_modify_build images
{
    cd $PRJ_PATH
    FILE=scripts/setup_env.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()
@@ -58,8 +52,12 @@
function do_action()
{
    folder=$1
    folder=$1
    action=$2
    if [ ! -f $PRJ_PATH/$folder/build.sh ] ;then
        return ;
    fi
    cd $PRJ_PATH/$folder
@@ -67,11 +65,11 @@
        ./build.sh -b
    elif [ $action == "clean" ] ; then
        ./build.sh -c
    fi
   rm -rf ${PRJ_PATH}/tarballs
    fi
    cd $PRJ_PATH
}
function do_usage()
{
@@ -84,7 +82,8 @@
    echo ""
    echo " WARNNING: build/clean image need run as sudo"
    echo ""
    echo "  Example: $0 -b bsp && sudo $0 -b image"
    echo " Build Example: $0 -b bsp && sudo $0 -b image"
    echo " Clean Example: $0 -c bsp && sudo $0 -c image"
    echo ""
    exit;
}
@@ -115,7 +114,9 @@
    do_usage
fi
do_modify
if [ $action == "build" ] ; then
    do_modify
fi
if [ $1 == "bsp" ] ; then
    if [ $action == "build" ] ; then
@@ -123,6 +124,7 @@
    fi
    do_action bootloader $action
    do_action kernel $action
    do_action drivers $action
elif [ $1 == "image" ] ; then
    do_root "yes"
    do_action rootfs $action