From b1e3550ef00cb3cf287b8bee55026e6ee272adf7 Mon Sep 17 00:00:00 2001 From: guowenxue <guowenxue@gmail.com> Date: Thu, 28 Mar 2024 21:12:18 +0800 Subject: [PATCH] Build:IGKBoard-All: Update gitignore file --- yocto/build.sh | 104 ++++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 80 insertions(+), 24 deletions(-) diff --git a/yocto/build.sh b/yocto/build.sh index 7bea625..b526d16 100755 --- a/yocto/build.sh +++ b/yocto/build.sh @@ -7,10 +7,16 @@ PRJ_PATH=$(cd $(dirname "${BASH_SOURCE[0]}") && pwd) # top project absolute path -TOP_PATH=$(realpath $PRJ_PATH/..) +TOP_PATH=$PRJ_PATH/.. -# binaries install path -INST_PATH=$PRJ_PATH/install +# prefix install path +PRFX_PATH=$PRJ_PATH/install + +# final install path +#INST_PATH=/srv/ftp/ + +# compress system image or not +COMPRESS=yes # download taballs path TARBALL_PATH=$PRJ_PATH/tarballs @@ -19,7 +25,7 @@ CONF_FILE=$TOP_PATH/config.json # Download path -#DL_PATH="/srv/yocto_packets/" +#DL_PATH="/srv/yocto/" # shell script will exit once get command error set -e @@ -91,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/imx/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" @@ -127,8 +154,10 @@ fi 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/kernel/patches/${BOARD}/linux-imx-${BSP_VER}.patch $PRJ_PATH/$YCT_META/recipes-kernel/linux/files/ + cp $TOP_PATH/images/patches/config-*.txt $PRJ_PATH/$YCT_META/recipes-bsp/u-boot/files/ if [ ! -e $YCT_PATH/sources/$YCT_META ] ; then ln -s $PRJ_PATH/$YCT_META $YCT_PATH/sources/$YCT_META @@ -157,25 +186,52 @@ function do_install() { + IMAGE_NAME=yocto-${YCT_VER}-${BOARD}.img + ROOTFS_TAR=rootfs-yocto-${YCT_VER}.tar.zst + cd $YCT_PATH echo "" - pr_info "Yocto($YCT_VER) installed to '$INST_PATH'" + pr_info "Yocto($YCT_VER) installed to '$PRFX_PATH'" - mkdir -p ${INST_PATH} - cp $YCT_PATH/$BUILD_DIR/tmp/deploy/images/$BOARD/$BB_TARGET-$BOARD.wic.zst ${INST_PATH}/yocto-image-${YCT_VER}.wic.zst - cp $YCT_PATH/$BUILD_DIR/tmp/deploy/images/$BOARD/$BB_TARGET-$BOARD.tar.zst ${INST_PATH}/rootfs-yocto-${YCT_VER}.tar.zst - cp $YCT_PATH/$BUILD_DIR/tmp/deploy/images/$BOARD/imx-boot ${INST_PATH}/u-boot-${BOARD}.imx - chmod a+x ${INST_PATH}/u-boot-${BOARD}.imx + 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 - ls ${INST_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 $IMAGE_NAME" + rm -f $IMAGE_NAME.bz2 + bzip2 $IMAGE_NAME + fi + chmod a+x u-boot-${BOARD}.imx + + ls && echo "" + + 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 $IMAGE_NAME* $INST_PATH + cp $ROOTFS_TAR $INST_PATH + + ls ${INST_PATH} && echo "" + fi + } function do_clean() { cd $PRJ_PATH - rm -rf $INST_PATH + rm -rf $PRFX_PATH } #+-------------------------+ -- Gitblit v1.9.1