From 8e61092dcc0e3dd733d8632f6fd83eb75c332c87 Mon Sep 17 00:00:00 2001 From: guowenxue <guowenxue@gmail.com> Date: Fri, 26 Jan 2024 17:16:27 +0800 Subject: [PATCH] Build:IGKBoard-All:Add SDK download from server support --- yocto/build.sh | 77 +++++++++++++++++++++++++------------- 1 files changed, 51 insertions(+), 26 deletions(-) diff --git a/yocto/build.sh b/yocto/build.sh index aec649e..5bd6c3d 100755 --- a/yocto/build.sh +++ b/yocto/build.sh @@ -16,7 +16,7 @@ #INST_PATH=/srv/ftp/ # compress system image or not -#COMPRESS=yes +COMPRESS=yes # download taballs path TARBALL_PATH=$PRJ_PATH/tarballs @@ -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" @@ -135,7 +156,6 @@ pr_warn "start update BSP patches for $YCT_META" BSP_VER=`echo $BSP_VER | sed 's/imx/lf/'` cp $TOP_PATH/bootloader/patches/${BOARD}/uboot-imx-${BSP_VER}.patch $PRJ_PATH/$YCT_META/recipes-bsp/u-boot/files/ - cp $TOP_PATH/bootloader/patches/${BOARD}/imx-atf-${BSP_VER}.patch $PRJ_PATH/$YCT_META/recipes-bsp/imx-atf/files/ cp $TOP_PATH/kernel/patches/${BOARD}/linux-imx-${BSP_VER}.patch $PRJ_PATH/$YCT_META/recipes-kernel/linux/files/ if [ ! -e $YCT_PATH/sources/$YCT_META ] ; then @@ -173,20 +193,25 @@ 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/imx-boot ${PRFX_PATH}/u-boot-${BOARD}.imx - chmod a+x ${PRFX_PATH}/u-boot-${BOARD}.imx - ls ${PRFX_PATH} && echo "" + + if [[ $BOARD =~ mx6ull ]] ; then + cp $YCT_PATH/$BUILD_DIR/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 + fi + + 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 + fi + chmod a+x u-boot-${BOARD}.imx + + ls && echo "" if [ -n "$INST_PATH" -a -w $INST_PATH ] ; then - - cd ${PRFX_PATH}/ - - rm -f $BB_TARGET-$BOARD.wic.bz2 - - if [[ `echo $COMPRESS | tr 'A-Z' 'a-z'` == "yes" ]] ; then - pr_info "Start bzip2 compress $BB_TARGET-$BOARD.wic" - bzip2 $BB_TARGET-$BOARD.wic - fi pr_info "Start copy Yocto system images to $INST_PATH" cp u-boot-${BOARD}.imx $INST_PATH -- Gitblit v1.9.1