From 2334ec8814e13e011b70a192541a65d70e63243a Mon Sep 17 00:00:00 2001 From: guowenxue <guowenxue@gmail.com> Date: Fri, 26 Jan 2024 18:04:53 +0800 Subject: [PATCH] Build:Image:IGKBoard-All:Update build output system image name --- yocto/build.sh | 66 ++++++++++++++++++++++---------- 1 files changed, 45 insertions(+), 21 deletions(-) diff --git a/yocto/build.sh b/yocto/build.sh index 1cff93e..5fe395a 100755 --- a/yocto/build.sh +++ b/yocto/build.sh @@ -25,7 +25,7 @@ CONF_FILE=$TOP_PATH/config.json # Download path -DL_PATH="/srv/yocto_packets/" +#DL_PATH="/srv/yocto_packets/" # shell script will exit once get command error set -e @@ -97,31 +97,52 @@ export BOARD=`jq -r ".bsp.board" $CONF_FILE | tr 'A-Z' 'a-z'` export BSP_VER=`jq -r ".bsp.version" $CONF_FILE | tr 'A-Z' 'a-z'` export YCT_VER=`jq -r ".system.version" $CONF_FILE | tr 'A-Z' 'a-z'` + export BSP_URL=`jq -r ".bsp.giturl" $CONF_FILE` export YCT_BOARD=`echo $BOARD| cut -d- -f1` export YCT_META=meta-$YCT_BOARD - export YCT_PATH=$PRJ_PATH/$YCT_VER-$BSP_VER + export YCT_SRC=$YCT_VER-$BSP_VER + export YCT_PATH=$PRJ_PATH/$YCT_SRC export BUILD_DIR=${BOARD} } function do_fetch() { + cd $PRJ_PATH - mkdir -p $YCT_PATH && cd $YCT_PATH + if [ ! -d $YCT_SRC/sources ] ; then - if [ ! -d sources ] ; then + if [[ $BSP_URL =~ github.com ]] ; then - pr_info "start repo fetch Yocto $YCT_VER source code" + pr_info "start repo fetch Yocto $YCT_VER source code" - if ! command -v repo > /dev/null 2>&1 ; then - curl https://storage.googleapis.com/git-repo-downloads/repo > repo - chmod a+x repo - export PATH=$YCT_PATH:$PATH + mkdir -p $YCT_PATH && cd $YCT_PATH + + if ! command -v repo > /dev/null 2>&1 ; then + curl https://storage.googleapis.com/git-repo-downloads/repo > repo + chmod a+x repo + export PATH=$YCT_PATH:$PATH + fi + + BSP_VER=`echo $BSP_VER | sed 's/lf/imx/'` + repo init -u https://github.com/nxp-imx/imx-manifest -b imx-linux-$YCT_VER -m $BSP_VER.xml + repo sync && rm -f repo + + else + + pr_info "start download fetch Yocto $YCT_VER source code" + + mkdir -p $TARBALL_PATH + + # Download source code packet + if [ ! -s $TARBALL_PATH/$YCT_SRC.tar.xz ] ; then + wget $BSP_URL/bsp/$BSP_VER/$YCT_SRC.tar.xz -P $TARBALL_PATH + fi + + # decompress source code packet + do_unpack $TARBALL_PATH/$YCT_SRC.tar.xz + fi - - BSP_VER=`echo $BSP_VER | sed 's/lf/imx/'` - repo init -u https://github.com/nxp-imx/imx-manifest -b imx-linux-$YCT_VER -m $BSP_VER.xml - repo sync && rm -f repo else pr_warn "Yocto $YCT_VER source code fetched already" @@ -164,14 +185,17 @@ function do_install() { + IMAGE_NAME=yocto-${YCT_VER}-${BSP_VER}.wic + ROOTFS_TAR=rootfs-yocto-${YCT_VER}.tar.zst + cd $YCT_PATH 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}/ - cp $YCT_PATH/$BUILD_DIR/tmp/deploy/images/$BOARD/$BB_TARGET-$BOARD.tar.zst ${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 if [[ $BOARD =~ mx6ull ]] ; then cp $YCT_PATH/$BUILD_DIR/tmp/deploy/images/$BOARD/u-boot-${BOARD}.imx ${PRFX_PATH}/u-boot-${BOARD}.imx @@ -182,9 +206,9 @@ cd ${PRFX_PATH}/ if [[ `echo $COMPRESS | tr 'A-Z' 'a-z'` == "yes" ]] ; then - pr_info "Start bzip2 compress $BB_TARGET-$BOARD.wic" - rm -f $BB_TARGET-$BOARD.wic.bz2 - bzip2 $BB_TARGET-$BOARD.wic + pr_info "Start bzip2 compress $IMAGE_NAME" + rm -f $IMAGE_NAME.bz2 + bzip2 $IMAGE_NAME fi chmod a+x u-boot-${BOARD}.imx @@ -193,9 +217,9 @@ if [ -n "$INST_PATH" -a -w $INST_PATH ] ; then pr_info "Start copy Yocto system images to $INST_PATH" - cp u-boot-${BOARD}.imx $INST_PATH - cp $BB_TARGET-$BOARD.wic* $INST_PATH - cp $BB_TARGET-$BOARD.tar.zst $INST_PATH + cp u-boot-${BOARD}.imx $INST_PATH + cp $IMAGE_NAME* $INST_PATH + cp $ROOTFS_TAR $INST_PATH ls ${INST_PATH} && echo "" fi -- Gitblit v1.9.1