From f7e4847e7574dd4ad8db7a8f40320c392b5b4523 Mon Sep 17 00:00:00 2001
From: guowenxue <guowenxue@gmail.com>
Date: Mon, 13 Jul 2026 10:46:39 +0800
Subject: [PATCH] Update yocto build script to fix install bug

---
 bsp/yocto/build.sh |   32 ++++++++++++++++++++++----------
 1 files changed, 22 insertions(+), 10 deletions(-)

diff --git a/bsp/yocto/build.sh b/bsp/yocto/build.sh
index c67ff18..0257cf7 100755
--- a/bsp/yocto/build.sh
+++ b/bsp/yocto/build.sh
@@ -63,8 +63,6 @@
 
     # Yocto sources 下期望的实际 Layer 名字:sources/meta-igkboard
     export YCT_META_TARGET=$YCT_PATH/sources/$YCT_META_BASE
-
-    export BUILD_DIR=${BOARD}
 }
 
 function do_fetch()
@@ -142,12 +140,12 @@
     cd "$YCT_PATH"
 
     # 1. 初始化 Yocto 编译环境
-    if [ ! -f "${BUILD_DIR}/conf/local.conf" ] ; then
+    if [ ! -f "${BOARD}/conf/local.conf" ] ; then
         pr_info "source imx-setup-release.sh -b ${BOARD}"
         EULA=1 DISTRO=fsl-imx-xwayland MACHINE=${BOARD} source imx-setup-release.sh -b ${BOARD}
     else
-        pr_info "source setup-environment $BUILD_DIR"
-        source setup-environment "$BUILD_DIR"
+        pr_info "source setup-environment $BOARD"
+        source setup-environment "$BOARD"
     fi
 
     # 2. 添加自定义的本地 meta layer 到 bblayers.conf
@@ -175,15 +173,29 @@
 
     echo ""
     pr_info "Yocto($YCT_VER) installed to '$PRFX_PATH'"
-
     mkdir -p "${PRFX_PATH}"
-    cp "$YCT_PATH/$BUILD_DIR/tmp/deploy/images/$BOARD/$BB_TARGET-$BOARD.wic" "${PRFX_PATH}/$IMAGE_NAME"
-    cp "$YCT_PATH/$BUILD_DIR/tmp/deploy/images/$BOARD/$BB_TARGET-$BOARD.tar.zst" "${PRFX_PATH}/$ROOTFS_TAR"
+
+    WIC_FILE=$(find "$YCT_PATH/$BOARD/tmp/deploy/images/$BOARD" -maxdepth 1 -type l \
+    \( \
+        -name "$BB_TARGET-$BOARD.rootfs.wic" -o -name "$BB_TARGET-$BOARD.wic" \
+    \) | head -n 1)
+    echo $WIC_FILE
+
+    ROOTFS_FILE=$(find "$YCT_PATH/$BOARD/tmp/deploy/images/$BOARD" \
+    -maxdepth 1 -type l \
+    \( \
+        -name "$BB_TARGET-$BOARD.rootfs.tar.zst" -o \
+        -name "$BB_TARGET-$BOARD.tar.zst" \
+    \) | head -n 1)
+    echo $ROOTFS_FILE
+
+    cp "$WIC_FILE" "${PRFX_PATH}/$IMAGE_NAME"
+    cp "$ROOTFS_FILE" "${PRFX_PATH}/$ROOTFS_NAME"
 
     if [[ $BOARD =~ mx6ull ]] ; then
-        cp "$YCT_PATH/$BUILD_DIR/tmp/deploy/images/$BOARD/u-boot-${BOARD}.imx" "${PRFX_PATH}/u-boot-${BOARD}.imx"
+        cp "$YCT_PATH/$BOARD/tmp/deploy/images/$BOARD/u-boot-${BOARD}.imx" "${PRFX_PATH}/u-boot-${BOARD}.imx"
     else
-        cp "$YCT_PATH/$BUILD_DIR/tmp/deploy/images/$BOARD/imx-boot" "${PRFX_PATH}/u-boot-${BOARD}.imx"
+        cp "$YCT_PATH/$BOARD/tmp/deploy/images/$BOARD/imx-boot" "${PRFX_PATH}/u-boot-${BOARD}.imx"
     fi
 
     cd "${PRFX_PATH}/"

--
Gitblit v1.10.0