From 149fce953c0e557f089db6ed0b4a757c4c56a992 Mon Sep 17 00:00:00 2001
From: guowenxue <guowenxue@gmail.com>
Date: Mon, 17 Apr 2023 00:34:44 +0800
Subject: [PATCH] Fix u-boot build for miss buildroot cross compiler bug

---
 yocto/build.sh |   78 +++++++++++++++++++++++----------------
 1 files changed, 46 insertions(+), 32 deletions(-)

diff --git a/yocto/build.sh b/yocto/build.sh
index ba814ef..58137cc 100755
--- a/yocto/build.sh
+++ b/yocto/build.sh
@@ -2,17 +2,26 @@
 # This shell script used to build yocto for igkbaord
 
 BOARD=igkboard
-VERSION=honister
 
-PACKDIR=`pwd`/yocto_packets
+# https://wiki.yoctoproject.org/wiki/Releases
+# Version should be: hardknott(3.3) honister(3.4) kirkstone(4.0)
+YCT_VERSION=kirkstone
+
+# i.MX BSP release version:
+# https://www.nxp.com/design/software/embedded-software/i-mx-software/embedded-linux-for-i-mx-applications-processors:IMXLINUX
+BSP_VERSION=lf-5.15.71-2.2.0
+
+#PACKDIR=`pwd`/yocto_packets
+PACKDIR=/srv/yocto_packets/
+
 BUILDIR=$BOARD
 
-WORKDIR=`pwd`/workspace-${VERSION}
-YOCTO_SRC=imx-yocto-bsp
-PRJ_PATH=${WORKDIR}/${YOCTO_SRC}
+PRJ_PATH=`pwd`
+WORKDIR=${PRJ_PATH}/${YCT_VERSION}-${BSP_VERSION}
 
-SRV_URL=http://weike-iot.com:2211/yocto/
-YOCTO_TAR=${YOCTO_SRC}-${VERSION}.tar.xz
+SRV_URL=http://master.iot-yun.club:2211/imx/bsp/yocto/
+#SRV_URL=http://127.0.0.1:2211/imx/bsp/yocto/
+YOCTO_TAR=${YCT_VERSION}-${BSP_VERSION}.tar.xz
 
 set -e
 
@@ -72,55 +81,63 @@
 
 function do_fetch()
 {
-    if [ -d $YOCTO_SRC ] ; then
-        pr_warn "$YOCTO_SRC fetched already."
+    if [ -d ${WORKDIR}/sources/meta-imx/ ] ; then
+        pr_warn "Yocto ${YCT_VERSION} fetched already."
         return 0;
     fi
 
-    if [ ! -f tarballs/$YOCTO_TAR ] ; then
-	mkdir -p tarballs/ && cd tarballs
-	wget $SRV_URL/$YOCTO_TAR
-    fi
-
-    cd $WORKDIR
-    do_unpack tarballs/$YOCTO_TAR
+    pr_info "start fetch Yocto ${YCT_VERSION}"
 
     cd ${PRJ_PATH}
+
+    if [ ! -f tarballs/$YOCTO_TAR ] ; then
+        mkdir -p tarballs/ && cd tarballs
+        wget $SRV_URL/$YOCTO_TAR
+    fi
+
+    cd ${PRJ_PATH}
+    do_unpack tarballs/$YOCTO_TAR
+
+    mv imx-yocto-bsp $WORKDIR
 }
 
 function do_patch()
 {
-    if [ -d ${PRJ_PATH}/sources/meta-${BOARD} ] ; then
-        pr_warn "$YOCTO_SRC patch already."
+    if [ -d ${WORKDIR}/sources/meta-${BOARD} ] ; then
+        pr_warn "Yocto ${YCT_VERSION} patch already."
         return 0;
     fi
 
-    cd ${PRJ_PATH}/sources
-    cp -af ${WORKDIR}/../${VERSION}/meta-${BOARD} .
+    pr_info "start patch Yocto ${YCT_VERSION}"
 
-    cd ${PRJ_PATH}
+    cd ${WORKDIR}/sources
+    cp -af ${WORKDIR}/../meta-${BOARD}/${YCT_VERSION}-${BSP_VERSION} meta-${BOARD}
+
+    cd ${WORKDIR}
 }
 
 function do_build()
 {
     TARGET=linuxsys-image
 
-    pr_warn "Build ${YOCTO_SRC} for ${TARGET}."
+    pr_warn "Build Yocto ${YCT_VERSION} for ${TARGET}."
 
-    cd ${PRJ_PATH}
+    cd ${WORKDIR}
 
     if [ -f ${BUILDIR}/conf/local.conf ] ; then
-        pr_info "$YOCTO_SRC source poky."
-	source sources/poky/oe-init-build-env ${BUILDIR}
+        pr_info "Yocto ${YCT_VERSION} source poky."
+        source sources/poky/oe-init-build-env ${BUILDIR}
     else
-        pr_info "$YOCTO_SRC source meta."
+        pr_info "Yocto ${YCT_VERSION} source meta."
         MACHINE=${BOARD} source sources/meta-${BOARD}/tools/${BOARD}-setup.sh -b ${BUILDIR}
     fi
 
     sed -i "s|^DL_DIR.*|DL_DIR ?= \"${PACKDIR}\"|g" conf/local.conf
+
+    #bitbake -c clean u-boot-imx linux-imx ${TARGET}
     bitbake ${TARGET}
 
-    cd ${PRJ_PATH}
+    cd ${WORKDIR}
 }
 
 
@@ -131,13 +148,13 @@
     cd $WORKDIR
 
     set -x
-    ls $WORKDIR/imx-yocto-bsp/${BUILDIR}/tmp/deploy/images/${BOARD}/
+    ls $WORKDIR/${BUILDIR}/tmp/deploy/images/${BOARD}/
     set +x
 }
 
 function do_clean()
 {
-    pr_warn "Clean ${YOCTO_SRC} source code"
+    pr_warn "Clean Yocto ${YCT_VERSION} source code"
 
     rm -rf $WORKDIR
 }
@@ -179,9 +196,6 @@
 done
 
 #defualt do build action
-
-mkdir -p $WORKDIR
-cd $WORKDIR
 
 do_fetch
 do_patch

--
Gitblit v1.9.1