From f67c45dd4ba4081ec4f8b82cee2b2da0f5d06143 Mon Sep 17 00:00:00 2001
From: guowenxue <guowenxue@gmail.com>
Date: Thu, 30 Mar 2023 23:49:54 +0800
Subject: [PATCH] update patch file name in kirkstone-lf-5.15.71-2.2.0

---
 bsp/build.sh |  144 ++++++++++++++++++++++++++++++++++++------------
 1 files changed, 108 insertions(+), 36 deletions(-)

diff --git a/bsp/build.sh b/bsp/build.sh
index 8bd0c76..58ef68f 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.15.71-2.2.0 lf-5.15.32-2.0.0 lf-5.10.52-2.1.0
+BSP_VER=lf-5.15.71-2.2.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 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