2c3d96c5c0e1a3bfd3f36b83471b771d9dae476c..b0565222f784329a3cb5fe4b8132115fbe338f38
2023-12-22 guowenxue
Update linux kernel build shell script
b05652 diff | tree
2023-12-22 guowenxue
Update yocto build shell script
1cf118 diff | tree
2023-12-22 guowenxue
Update bootloader build shell script to do patch
33a463 diff | tree
3 files modified
79 ■■■■ changed files
bootloader/build.sh 17 ●●●● patch | view | raw | blame | history
kernel/build.sh 15 ●●●● patch | view | raw | blame | history
yocto/build.sh 47 ●●●● patch | view | raw | blame | history
bootloader/build.sh
@@ -99,14 +99,13 @@
        git clone $GIT_URL/$src.git -b $BRANCH --depth=1
        # do patch if patch file exist
        PATCH_FILE=$PRJ_PATH/patches/$BOARD/$src-$BSP_VER.patch
        if [ -s $PATCH_FILE ] ; then
        patch_file=$PRJ_PATH/patches/$BOARD/$src-$BSP_VER.patch
        if [ -s $patch_file ] ; then
            pr_warn "do patch for $src now..."
            cd $src
            patch -p1 < $PATCH_FILE
            patch -p1 < $patch_file
            cd -
        fi
    done
@@ -178,14 +177,21 @@
function build_uboot()
{
    SRC=uboot-imx
    patch_file=$PRJ_PATH/patches/$BOARD/$SRC-$BSP_VER.patch
    defconfig=${BOARD}_defconfig
    pr_warn "start build $SRC"
    cd $PRJ_PATH/${SRC}
    # do patch if not patched
    if [ ! -s configs/$defconfig ] ; then
        pr_warn "do patch for $SRC now..."
        patch -p1 < $patch_file
    fi
    if [ ! -f .config ] ; then
        make ARCH=arm ${BOARD}_defconfig
    fi
    make -j${JOBS} CROSS_COMPILE=${CROSS_COMPILE} ARCH=arm
    set -x
@@ -281,6 +287,7 @@
    if [[ -n "$INST_PATH" && -w $INST_PATH ]] ; then
        pr_info "install bootloader to '$INST_PATH'"
        cp $PRFX_PATH/u-boot-${BOARD}.imx $INST_PATH
        #sz $PRFX_PATH/u-boot-${BOARD}.imx
    fi
}
kernel/build.sh
@@ -52,7 +52,8 @@
function build_kernel()
{
    PATCH_FILE=$PRJ_PATH/patches/$BOARD/linux-imx-$BSP_VER.patch
    defconfig=${BOARD}_defconfig
    patch_file=$PRJ_PATH/patches/$BOARD/linux-imx-$BSP_VER.patch
    cd $PRJ_PATH
@@ -61,19 +62,17 @@
    else
        pr_info "start fetch linux kernel source code"
        git clone $GIT_URL/linux-imx.git -b $BRANCH --depth=1
        if [ -s $PATCH_FILE ] ; then
            pr_warn "do patch for $KER_PATH now..."
            cd $KER_PATH
            patch -p1 < $PATCH_FILE
        fi
    fi
    pr_info "Start build linux kernel source code"
    cd $KER_PATH
    defconfig=${BOARD}_defconfig
    if [ ! -s arch/arm64/configs/$defconfig ] ; then
        pr_warn "do patch for $KER_PATH now..."
        patch -p1 < $patch_file
    fi
    if [ ! -s .config ] ; then
        make ${defconfig}
    fi
yocto/build.sh
@@ -9,8 +9,14 @@
# top project absolute path
TOP_PATH=$(realpath $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
@@ -127,7 +133,9 @@
    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/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
@@ -160,22 +168,41 @@
    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}/
    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 ""
    ls ${INST_PATH} && 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
        cp $BB_TARGET-$BOARD.wic*    $INST_PATH
        cp $BB_TARGET-$BOARD.tar.zst $INST_PATH
        ls ${INST_PATH} && echo ""
    fi
}
function do_clean()
{
    cd $PRJ_PATH
    rm -rf $INST_PATH
    rm -rf $PRFX_PATH
}
#+-------------------------+