凌云实验室推出的ARM Linux物联网网关开发板IGKBoard(IoT Gateway Kit Board)项目源码
guowenxue
2021-11-09 57a6b88b7d0c738e94aea2922134e95c39757c02
Add bootloader build shell script
2 files added
152 ■■■■■ changed files
bsp/bootloader/build.sh 139 ●●●●● patch | view | raw | blame | history
bsp/bootloader/patch/uboot-imx-imx6ull.patch 13 ●●●●● patch | view | raw | blame | history
bsp/bootloader/build.sh
New file
@@ -0,0 +1,139 @@
#!/bin/bash
PRJ_PATH=`pwd`
IMG_PATH=${PRJ_PATH}/../images/bin
BOARD=imx6ull
CROSS_TOOL=arm-linux-gnueabihf-
# bootloader tarball path and branch
TAR_PATH=/home/guowenxue/imx6ull/bsp/tarball
BSP_BRANCH=lf-5.10.52-2.1.0
BOOT=emmc
UBOOT_SRC=uboot-imx
IMG_NAME=u-boot-${BOARD}-${BOOT}.imx
PATCH_FILE=${PRJ_PATH}/patch/${UBOOT_SRC}-${BOARD}.patch
set -u
set -e
STAGE=0
function msg_banner()
{
    STAGE=`expr $STAGE + 1`
    echo ""
    echo "+---------------------------------------------+"
    printf " Stage $STAGE: $1\n"
    echo "+---------------------------------------------+"
    echo ""
}
function do_fetch()
{
    msg_banner "Fetch ${UBOOT_SRC} source code"
    if [ -d ${UBOOT_SRC} ] ; then
        printf "\n\n -- ${UBOOT_SRC} fetched already -- \n\n"
        return 0;
    fi
    printf "\n -- decompress ${UBOOT_SRC}-{BSP_BRANCH}.tar.xz now ... -- \n\n"
    tar -xJf ${TAR_PATH}/${UBOOT_SRC}-${BSP_BRANCH}.tar.xz
}
function do_patch()
{
    msg_banner "Patch for ${UBOOT_SRC} source code"
    cd ${UBOOT_SRC}
    if [ -s $PATCH_FILE ] ; then
        patch -p1 < $PATCH_FILE
    fi
    printf "\n\nModify cross compiler in Makefile: $CROSS_TOOL\n\n"
    sed -i -e "s|^CROSS_COMPILE=.*|CROSS_COMPILE=${CROSS_TOOL}|g" Makefile
    cd ${PRJ_PATH}
}
function do_build()
{
    msg_banner "Build for ${UBOOT_SRC} source code"
    cd ${UBOOT_SRC}
    if [ ! -f .config ] ; then
        make mx6ull_14x14_evk_defconfig
    fi
    make
    cp u-boot-dtb.imx ${IMG_NAME}
    chmod a+x ${IMG_NAME}
    cd ${PRJ_PATH}
}
function do_install()
{
    msg_banner "Install $IMG_NAME"
    cd ${UBOOT_SRC}
    mkdir -p ${IMG_PATH}
    cp ${IMG_NAME} ${IMG_PATH}
    cd ${PRJ_PATH}
}
function do_clean()
{
    msg_banner "Clean ${UBOOT_SRC} source code"
    cd ${UBOOT_SRC}
    make distclean
    cd ${PRJ_PATH}
}
function gen_patch()
{
    do_clean
    mv ${UBOOT_SRC} ${UBOOT_SRC}-${BOARD}
    do_fetch
    msg_banner "Generate ${UBOOT_SRC} patch file"
    set +e
    diff -Nuar ${UBOOT_SRC} ${UBOOT_SRC}-${BOARD} > ${UBOOT_SRC}-${BOARD}.patch
    rm -rf ${UBOOT_SRC}
    mv ${UBOOT_SRC}-${BOARD} ${UBOOT_SRC}
}
if [[ $# == 1 ]] && [[ $1 == "patch" ]] ; then
    gen_patch
    exit 0;
fi
do_fetch
do_patch
do_build
do_install
bsp/bootloader/patch/uboot-imx-imx6ull.patch
New file
@@ -0,0 +1,13 @@
diff -Nuar uboot-imx/Makefile uboot-imx-imx6ull/Makefile
--- uboot-imx/Makefile    2021-09-06 16:48:23.000000000 +0800
+++ uboot-imx-imx6ull/Makefile    2021-11-09 21:04:40.476902774 +0800
@@ -263,6 +263,9 @@
 CROSS_COMPILE ?=
 endif
+ARCH=arm
+CROSS_COMPILE=arm-linux-gnueabihf-
+
 KCONFIG_CONFIG    ?= .config
 export KCONFIG_CONFIG