凌云实验室推出的ARM Linux物联网网关开发板IGKBoard(IoT Gateway Kit Board)项目源码
guowenxue
2021-12-28 2161762ebc50914fe51a7923945c64e6ce4ee25f
update build shell script, add system and distro
7 files modified
153 ■■■■■ changed files
bsp/bootloader/build.sh 13 ●●●● patch | view | raw | blame | history
bsp/build.sh 26 ●●●● patch | view | raw | blame | history
bsp/drivers/build.sh 3 ●●●● patch | view | raw | blame | history
bsp/images/build.sh 29 ●●●●● patch | view | raw | blame | history
bsp/kernel/build.sh 13 ●●●●● patch | view | raw | blame | history
bsp/rootfs/build.sh 36 ●●●●● patch | view | raw | blame | history
bsp/tarball/build.sh 33 ●●●●● patch | view | raw | blame | history
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`
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
    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|^CROSS_TOOL.*|CROSS_TOOL=${CROSS_TOOL}|g" ${DIR}/build.sh
    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
}
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
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`
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`
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
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