From 57a6b88b7d0c738e94aea2922134e95c39757c02 Mon Sep 17 00:00:00 2001
From: guowenxue <guowenxue@gmail.com>
Date: Tue, 09 Nov 2021 21:10:01 +0800
Subject: [PATCH] Add bootloader build shell script
---
bsp/bootloader/patch/uboot-imx-imx6ull.patch | 13 ++++
bsp/bootloader/build.sh | 139 ++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 152 insertions(+), 0 deletions(-)
diff --git a/bsp/bootloader/build.sh b/bsp/bootloader/build.sh
new file mode 100755
index 0000000..d9500c1
--- /dev/null
+++ b/bsp/bootloader/build.sh
@@ -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
+
diff --git a/bsp/bootloader/patch/uboot-imx-imx6ull.patch b/bsp/bootloader/patch/uboot-imx-imx6ull.patch
new file mode 100644
index 0000000..0ae786b
--- /dev/null
+++ b/bsp/bootloader/patch/uboot-imx-imx6ull.patch
@@ -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
+
--
Gitblit v1.9.1