凌云实验室推出的ARM Linux物联网网关开发板IGKBoard(IoT Gateway Kit Board)项目源码
guowenxue
2021-12-18 98d6403d29f1e5ca0f3888b3cbd355f01408b061
update build.sh support driver build
3 files modified
1 files added
138 ■■■■■ changed files
bsp/build.sh 1 ●●●● patch | view | raw | blame | history
bsp/drivers/build.sh 134 ●●●●● patch | view | raw | blame | history
bsp/drivers/users/Makefile 2 ●●● patch | view | raw | blame | history
bsp/kernel/build.sh 1 ●●●● patch | view | raw | blame | history
bsp/build.sh
@@ -126,6 +126,7 @@
    fi
    do_action bootloader $action
    do_action kernel $action
    do_action drivers $action
elif [ $1 == "image" ] ; then
    do_root "yes"
    do_action rootfs $action
bsp/drivers/build.sh
New file
@@ -0,0 +1,134 @@
#!/bin/bash
PRJ_PATH=`pwd`
BOARD=igkboard
CROSS_TOOL=/opt/buildroot/cortexA7/bin/arm-linux-
# wifi driver tarball path
TAR_PATH=${PRJ_PATH}/../tarball
WIFI_SRC=rtl8188fu
JOBS=`cat /proc/cpuinfo | grep processor | wc -l`
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 ${WIFI_SRC} source code"
    if [ -d ${WIFI_SRC} ] ; then
        printf "\n\n -- ${WIFI_SRC} fetched already -- \n\n"
        return 0;
    fi
    printf "\n -- decompress ${WIFI_SRC}.tar.bz2 now ... -- \n\n"
    tar -xjf ${TAR_PATH}/${WIFI_SRC}.tar.bz2
}
function build_wifi_driver()
{
    if [ ! -d ${WIFI_SRC} ]  ; then
        return ;
    fi
    msg_banner "Build for USB WiFi driver"
    cd ${WIFI_SRC}
    sed -i "s|^CROSS_COMPILE ?=.*|CROSS_COMPILE ?= ${CROSS_TOOL}|g" Makefile
    sed -i "s|^ARCH ?=.*|ARCH ?= arm|g" Makefile
    sed -i "s|^KVER.*|KVER := 5.10.52|g" Makefile
    sed -i "s|^KSRC.*|KSRC := ../../kernel/linux-imx/|g" Makefile
    sed -i "s|^MODDESTDIR.*|MODDESTDIR := ../../rootfs/driver/|g" Makefile
    make -j ${JOBS}
    cd ${PRJ_PATH}
}
function build_users_driver()
{
    if [ ! -d users ] ; then
        return ;
    fi
    msg_banner "Build for users driver"
    cd users
    sed -i "s|^CROSS_COMPILE ?=.*|CROSS_COMPILE ?= ${CROSS_TOOL}|g" Makefile
    make
    cd ${PRJ_PATH}
}
function do_build()
{
    build_users_driver
    build_wifi_driver
}
function do_clean()
{
    msg_banner "Clean drivers source code"
    rm -rf ${WIFI_SRC}
    cd users && make clean
}
function do_usage()
{
    echo ""
    echo "Usage:"
    echo "  $0 [-b] [p] [-c] [-h]"
    echo "     -b: build $PRJ_NAME"
    echo "     -c: clean the source code"
    echo "     -h: show this help message"
    echo ""
    exit;
}
while getopts "bpch" OPTNAME
do
    case "${OPTNAME}" in
        "b")
            break;
            ;;
        "c")
            do_clean
            exit;
            ;;
        "*")
            do_usage
            exit;
            ;;
    esac
done
# Default do build action
do_fetch
do_build
exit;
bsp/drivers/users/Makefile
@@ -11,7 +11,7 @@
#                       
#********************************************************************************/
CROSS_COMPILE=/opt/buildroot/cortexA7/bin/arm-linux-
CROSS_COMPILE ?= /opt/buildroot/cortexA7/bin/arm-linux-
LINUX_SRC = ${shell pwd}/../../kernel/linux-imx/
DRV_INSTPATH = ${shell pwd}/../../rootfs/driver/
bsp/kernel/build.sh
@@ -98,6 +98,7 @@
    set +x
    if [ $INST_DRIVER != 0 ]  ;then
        rm -rf ${PRJ_PATH}/../rootfs/driver
        make modules_install INSTALL_MOD_PATH=${PRJ_PATH}/../rootfs/driver INSTALL_MOD_STRIP=1
    fi