From 2161762ebc50914fe51a7923945c64e6ce4ee25f Mon Sep 17 00:00:00 2001 From: guowenxue <guowenxue@gmail.com> Date: Tue, 28 Dec 2021 21:46:06 +0800 Subject: [PATCH] update build shell script, add system and distro --- bsp/images/build.sh | 29 ++++++--- bsp/bootloader/build.sh | 13 +--- bsp/kernel/build.sh | 13 +--- bsp/tarball/build.sh | 33 +++++++--- bsp/rootfs/build.sh | 36 +++++++---- bsp/drivers/build.sh | 3 bsp/build.sh | 26 ++++---- 7 files changed, 86 insertions(+), 67 deletions(-) diff --git a/bsp/bootloader/build.sh b/bsp/bootloader/build.sh index b95e98c..2716a61 100755 --- a/bsp/bootloader/build.sh +++ b/bsp/bootloader/build.sh @@ -3,25 +3,18 @@ PRJ_PATH=`pwd` PRJ_NAME=`basename ${PRJ_PATH}` -IMG_PATH=${PRJ_PATH}/../images/ BOARD=igkboard - +BSP_BRANCH=lf-5.10.52-2.1.0 CROSS_TOOL=/opt/buildroot/cortexA7/bin/arm-linux- -# bootloader tarball path and branch TAR_PATH=${PRJ_PATH}/../tarball -BSP_BRANCH=lf-5.10.52-2.1.0 - - -BOOT=emmc +IMG_PATH=${PRJ_PATH}/../images/ UBOOT_SRC=uboot-imx - -IMG_NAME=u-boot-${BOARD}-${BOOT}.imx +IMG_NAME=u-boot-${BOARD}.imx PATCH_FILE=${PRJ_PATH}/patch/${UBOOT_SRC}-${BOARD}.patch - CONF_FILE=configs/${BOARD}_defconfig JOBS=`cat /proc/cpuinfo | grep processor | wc -l` diff --git a/bsp/build.sh b/bsp/build.sh index a9f2521..7fd2e92 100755 --- a/bsp/build.sh +++ b/bsp/build.sh @@ -3,16 +3,15 @@ PRJ_PATH=`pwd` BOARD=igkboard - -#CROSS_TOOL=arm-linux-gnueabihf- +BSP_BRANCH="lf-5.10.52-2.1.0" CROSS_TOOL=/opt/buildroot/cortexA7/bin/arm-linux- -# bootloader, linux kernel tarball path and branch -TAR_PATH=${PRJ_PATH}/tarball -BSP_BRANCH="lf-5.10.52-2.1.0" - -# rootfs should be buildroot/yocto or bullseye for debian system -ROOTFS=buildroot +# $SYSTEM should be buildroot, yocto or debian +# Buildroot distro should be: buildroot-2021.02 +# Yocto distro should be : hardknott +# Debian distro should be : buster or bullseye +SYSTEM=buildroot +DISTRO=v2021.02 set -u set -e @@ -24,13 +23,11 @@ cd $PRJ_PATH sed -i "s|^BOARD.*|BOARD=${BOARD}|g" ${DIR}/build.sh + sed -i "s|^BSP_BRANCH.*|BSP_BRANCH=${BSP_BRANCH}|g" ${DIR}/build.sh + sed -i "s|^CROSS_TOOL.*|CROSS_TOOL=${CROSS_TOOL}|g" ${DIR}/build.sh - if [ $DIR = bootloader -o $DIR == kernel ] ; then - sed -i "s|^CROSS_TOOL.*|CROSS_TOOL=${CROSS_TOOL}|g" ${DIR}/build.sh - sed -i "s|^BSP_BRANCH.*|BSP_BRANCH=${BSP_BRANCH}|g" ${DIR}/build.sh - elif [ $DIR = rootfs -o $DIR == images -o $DIR = tarball ] ; then - sed -i "s|^ROOTFS=.*|ROOTFS=${ROOTFS}|g" ${DIR}/build.sh - fi + sed -i "s|^SYSTEM=.*|SYSTEM=${SYSTEM}|g" ${DIR}/build.sh + sed -i "s|^DISTRO=.*|DISTRO=${DISTRO}|g" ${DIR}/build.sh } function do_modify() @@ -38,6 +35,7 @@ do_modify_build tarball do_modify_build bootloader do_modify_build kernel + do_modify_build drivers do_modify_build rootfs do_modify_build images } diff --git a/bsp/drivers/build.sh b/bsp/drivers/build.sh index 2ff158b..eab2e22 100755 --- a/bsp/drivers/build.sh +++ b/bsp/drivers/build.sh @@ -3,10 +3,9 @@ PRJ_PATH=`pwd` BOARD=igkboard - +BSP_BRANCH=lf-5.10.52-2.1.0 CROSS_TOOL=/opt/buildroot/cortexA7/bin/arm-linux- -# wifi driver tarball path TAR_PATH=${PRJ_PATH}/../tarball WIFI_SRC=rtl8188fu diff --git a/bsp/images/build.sh b/bsp/images/build.sh index 74dd65c..2e8e592 100755 --- a/bsp/images/build.sh +++ b/bsp/images/build.sh @@ -20,20 +20,31 @@ PRJ_PATH=`pwd` PRJ_NAME=`basename ${PRJ_PATH}` -IMAGE_PATH=${PRJ_PATH}/boot/ - BOARD=igkboard +BSP_BRANCH=lf-5.10.52-2.1.0 -# rootfs should be buildroot/yocto or bullseye for debian system -ROOTFS=buildroot +# $SYSTEM should be buildroot, yocto or debian +# Buildroot distro should be: buildroot-2021.02 +# Yocto distro should be : hardknott +# Debian distro should be : buster or bullseye +SYSTEM=buildroot +DISTRO=v2021.02 -# linux kernel tarball path and branch +SYSTYPE=`echo $SYSTEM | tr 'A-Z' 'a-z'` +if [ $SYSTYPE == "debian" ] ; then + SYSNAME=${DISTRO} +else + SYSNAME=${SYSTYPE} +fi +ROOTFS_DIR=rootfs_${SYSNAME} + TAR_PATH=${PRJ_PATH}/../tarball +IMAGE_PATH=${PRJ_PATH}/boot/ BOOT=emmc -IMAGE_NAME=linuxsys_${BOARD}_${ROOTFS}.img -if [ $ROOTFS == buildroot ] ; then +IMAGE_NAME=linuxsys_${BOARD}_${SYSNAME}.img +if [ $SYSTEM == buildroot ] ; then IMAGE_SIZE=512 else IMAGE_SIZE=2048 @@ -50,10 +61,10 @@ BOOT_SIZE=100 -IMG_UBOOT=${PRJ_PATH}/u-boot-${BOARD}-emmc.imx +IMG_UBOOT=${PRJ_PATH}/u-boot-${BOARD}.imx IMG_KERNEL=${IMAGE_PATH}/zImage IMG_DTB=${IMAGE_PATH}/${BOARD}-emmc.dtb -ROOTFS_TAR=${PRJ_PATH}/../rootfs/rootfs_${ROOTFS}.tar.bz2 +ROOTFS_TAR=${PRJ_PATH}/../rootfs/${ROOTFS_DIR}.tar.bz2 MNT_POINT=./mnt LOOP_DEV=`losetup -f | cut -d/ -f3` diff --git a/bsp/kernel/build.sh b/bsp/kernel/build.sh index b786ad4..6398199 100755 --- a/bsp/kernel/build.sh +++ b/bsp/kernel/build.sh @@ -1,25 +1,20 @@ #!/bin/bash -INST_DRIVER=1 - PRJ_PATH=`pwd` -IMG_PATH=${PRJ_PATH}/../images/boot - BOARD=igkboard - +BSP_BRANCH=lf-5.10.52-2.1.0 CROSS_TOOL=/opt/buildroot/cortexA7/bin/arm-linux- -# linux kernel tarball path and branch +INST_DRIVER=1 + TAR_PATH=${PRJ_PATH}/../tarball -BSP_BRANCH=lf-5.10.52-2.1.0 +IMG_PATH=${PRJ_PATH}/../images/boot BOOT=emmc - LINUX_SRC=linux-imx PATCH_FILE=${PRJ_PATH}/patch/${LINUX_SRC}-${BOARD}.patch - CONF_FILE=arch/arm/configs/${BOARD}_defconfig JOBS=`cat /proc/cpuinfo | grep processor | wc -l` diff --git a/bsp/rootfs/build.sh b/bsp/rootfs/build.sh index 625580d..11d2a5c 100755 --- a/bsp/rootfs/build.sh +++ b/bsp/rootfs/build.sh @@ -5,16 +5,26 @@ BOARD=igkboard -DRV_PATH=${PRJ_PATH}/driver +# $SYSTEM should be buildroot, yocto or debian +# Buildroot distro should be: buildroot-2021.02 +# Yocto distro should be : hardknott +# Debian distro should be : buster or bullseye +SYSTEM=buildroot +DISTRO=v2021.02 + +SYSTYPE=`echo $SYSTEM | tr 'A-Z' 'a-z'` +if [ $SYSTYPE == "debian" ] ; then + SYSNAME=${DISTRO} +else + SYSNAME=${SYSTYPE} +fi +ROOTFS_DIR=rootfs_${SYSNAME} + TAR_PATH=${PRJ_PATH}/../tarball - -# rootfs should be buildroot/yocto or bullseye for debian system -ROOTFS=buildroot - -ROOTFS_DIR=rootfs_${ROOTFS} -ARCH=armhf +DRV_PATH=${PRJ_PATH}/driver # rootfs configuration +ARCH=armhf DEF_USER=lingyun DEF_PASSWD=12345 DEF_HOSTNAME=${BOARD} @@ -72,8 +82,8 @@ if [ -d ${ROOTFS_DIR} ] ; then return ; else - if [ $ROOTFS == "buildroot" -o $ROOTFS == "yocto" ] ; then - echo " ERROR: miss rootfs ${ROOTFS}, exit now. " + if [ $SYSTYPE != "debian" ] ; then + echo " ERROR: miss ${SYSTEM}(${DISTRO}) rootfs, exit now. " echo "" exit; fi @@ -86,7 +96,7 @@ export LANG=C printf "\n\n -- debootstrap fetch start --\n\n" - debootstrap --arch=${ARCH} --foreign ${ROOTFS} ${ROOTFS_DIR} http://ftp.cn.debian.org/debian/ + debootstrap --arch=${ARCH} --foreign ${DISTRO} ${ROOTFS_DIR} http://ftp.cn.debian.org/debian/ chroot ${ROOTFS_DIR} debootstrap/debootstrap --second-stage printf "\n\n -- debootstrap config start --\n\n" @@ -181,7 +191,7 @@ function do_buildroot() { - if [ $ROOTFS != "buildroot" ] ; then + if [ $SYSTYPE != "buildroot" ] ; then return ; fi @@ -216,7 +226,7 @@ do_common # update hostnmae and issue - echo "Welcome to LingYun IoT Gateway Kit Board GNU/Linux $ROOTFS system, default password '$DEF_PASSWD'." > ${ROOTFS_DIR}/etc/issue + echo "Welcome to LingYun IoT Gateway Kit Board GNU/Linux ${SYSTEM}(${DISTRO}) system, default password '$DEF_PASSWD'." > ${ROOTFS_DIR}/etc/issue echo $DEF_HOSTNAME > ${ROOTFS_DIR}/etc/hostname grep "$BOARD" ${ROOTFS_DIR}/etc/hosts > /dev/null 2>&1 if [ $? != 0 ] ; then @@ -282,7 +292,7 @@ echo "do rootfs continue " # debian rootfs need apt install packet - if [ $ROOTFS != "buildroot" -a $ROOTFS != "yocto" ] ;then + if [ $SYSTYPE == "debian" ] ;then do_apt fi diff --git a/bsp/tarball/build.sh b/bsp/tarball/build.sh index 396b239..d9b7883 100755 --- a/bsp/tarball/build.sh +++ b/bsp/tarball/build.sh @@ -2,32 +2,45 @@ TAR_PATH=`pwd` -TARBALL_URL=http://weike-iot.com:2211/imx6ull/bsp +TARBALL_URL=http://127.0.0.1:2211/imx6ull/bsp GIT_URL_NXP="https://source.codeaurora.org/external/imx" -IMX_BRANCH="lf-5.10.52-2.1.0" +BSP_BRANCH=lf-5.10.52-2.1.0 -# rootfs should be buildroot/yocto or bullseye for debian system -ROOTFS=buildroot + +# $SYSTEM should be buildroot, yocto or debian +# Buildroot distro should be: buildroot-2021.02 +# Yocto distro should be : hardknott +# Debian distro should be : buster or bullseye +SYSTEM=buildroot +DISTRO=v2021.02 + +SYSTYPE=`echo $SYSTEM | tr 'A-Z' 'a-z'` +if [ $SYSTYPE == "debian" ] ; then + SYSNAME=${DISTRO} +else + SYSNAME=${SYSTYPE} +fi +ROOTFS_DIR=rootfs_${SYSNAME} function do_fetch_git() { SRC=$1 - if [ -s ${SRC}-${IMX_BRANCH}.tar.xz ] ; then + if [ -s ${SRC}-${BSP_BRANCH}.tar.xz ] ; then echo " -- ${SRC} fetch alread, skip it --" return; fi if [ ! -d $SRC ] ; then - git clone --branch ${IMX_BRANCH} ${GIT_URL_NXP}/${SRC}.git + git clone --branch ${BSP_BRANCH} ${GIT_URL_NXP}/${SRC}.git fi echo " -- start git clone ${SRC} now --" cd $SRC git config tar.tar.xz.command "xz -c" - git archive --format=tar.xz --prefix=${SRC}/ ${IMX_BRANCH} > ${TAR_PATH}/${SRC}-${IMX_BRANCH}.tar.xz + git archive --format=tar.xz --prefix=${SRC}/ ${BSP_BRANCH} > ${TAR_PATH}/${SRC}-${BSP_BRANCH}.tar.xz cd - rm -rf $SRC @@ -51,9 +64,9 @@ function do_fetch() { if [ ! -z $TARBALL_URL ] ; then - do_fetch_url uboot-imx-${IMX_BRANCH}.tar.xz - do_fetch_url linux-imx-${IMX_BRANCH}.tar.xz - do_fetch_url rootfs_${ROOTFS}.tar.bz2 + do_fetch_url uboot-imx-${BSP_BRANCH}.tar.xz + do_fetch_url linux-imx-${BSP_BRANCH}.tar.xz + do_fetch_url ${ROOTFS_DIR}.tar.bz2 do_fetch_url rtl8188fu.tar.bz2 do_fetch_url firmware.tar.bz2 else -- Gitblit v1.9.1