From 3681c54caa8c46a7e05e4d1c06bba8f6559ee8a5 Mon Sep 17 00:00:00 2001 From: guowenxue <guowenxue@gmail.com> Date: Mon, 17 Jan 2022 11:42:51 +0800 Subject: [PATCH] update driver build shell script --- bsp/rootfs/rootfs.json | 22 +++++----- bsp/drivers/users/Makefile | 10 ++-- bsp/drivers/igkboard.json | 9 ++++ bsp/drivers/build.sh | 55 +++++++-------------------- bsp/build.sh | 2 5 files changed, 41 insertions(+), 57 deletions(-) diff --git a/bsp/build.sh b/bsp/build.sh index 90d961a..c1e2e66 100755 --- a/bsp/build.sh +++ b/bsp/build.sh @@ -118,7 +118,7 @@ fi do_action bootloader $action do_action kernel $action - #do_action drivers $action + do_action drivers $action elif [ $1 == "image" ] ; then do_root "yes" do_action rootfs $action diff --git a/bsp/drivers/build.sh b/bsp/drivers/build.sh index cf02408..bb8e1f3 100755 --- a/bsp/drivers/build.sh +++ b/bsp/drivers/build.sh @@ -1,45 +1,20 @@ #!/bin/bash -PRJ_PATH=`pwd` - -# update by top build.sh -BOARD=igkboard -BSP_BRANCH=lf-5.10.52-2.1.0 -CROSS_TOOL=/opt/buildroot/cortexA7/bin/arm-linux- - -TAR_PATH=${PRJ_PATH}/../tarball -DRV_PATH=../rootfs/driver +source ../scripts/setup_env.sh 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 "" -} +drvpath=$(eval echo `jq -r ".CONFIG.DRVPATH" $JSON_CONF`) function do_fetch() { - msg_banner "Fetch ${WIFI_SRC} source code" if [ -d ${WIFI_SRC} ] ; then - printf "\n\n -- ${WIFI_SRC} fetched already -- \n\n" + pr_warn "$WIFI_SRC fetched already." return 0; fi - printf "\n -- decompress ${WIFI_SRC}.tar.bz2 now ... -- \n\n" - tar -xjf ${TAR_PATH}/${WIFI_SRC}.tar.bz2 + do_fetch_json $JSON_CONF WIFI_SRC $WIFI_SRC + rm -rf *.tar* } function build_wifi_driver() @@ -48,7 +23,7 @@ return ; fi - msg_banner "Build for USB WiFi driver" + pr_warn "Build for USB WiFi driver" cd ${WIFI_SRC} @@ -56,7 +31,7 @@ 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 := ../${DRV_PATH}/|g" Makefile + sed -i "s|^MODDESTDIR.*|MODDESTDIR := ../${drvpath}/|g" Makefile sed -i "s|^#define CONFIG_DEBUG|//#define CONFIG_DEBUG|g" include/autoconf.h @@ -64,8 +39,8 @@ sed -i "/request firmware/d" hal/rtl8188f/rtl8188f_hal_init.c make -j ${JOBS} - mkdir -p ../${DRV_PATH}/lib/firmware/rtlwifi/ - cp firmware/rtl8188fufw.bin ../${DRV_PATH}/lib/firmware/rtlwifi/ + mkdir -p ../${drvpath}/lib/firmware/rtlwifi/ + cp firmware/rtl8188fufw.bin ../${drvpath}/lib/firmware/rtlwifi/ cd ${PRJ_PATH} } @@ -76,13 +51,13 @@ return ; fi - msg_banner "Build for users driver" + pr_warn "Build for users driver" - cd users + cd users sed -i "s|^CROSS_COMPILE ?=.*|CROSS_COMPILE ?= ${CROSS_TOOL}|g" Makefile - make DRV_PATH=../${DRV_PATH} + make DRV_PATH=${drvpath} cd ${PRJ_PATH} } @@ -96,7 +71,7 @@ function do_clean() { - msg_banner "Clean drivers source code" + pr_warn "Clean drivers source code" rm -rf ${WIFI_SRC} cd users && make clean @@ -107,7 +82,7 @@ { echo "" echo "Usage:" - echo " $0 [-b] [p] [-c] [-h]" + echo " $0 [-b] [-c] [-h]" echo " -b: build $PRJ_NAME" echo " -c: clean the source code" echo " -h: show this help message" @@ -127,7 +102,7 @@ exit; ;; - "*") + "h") do_usage exit; ;; diff --git a/bsp/drivers/igkboard.json b/bsp/drivers/igkboard.json new file mode 100644 index 0000000..b37fc9e --- /dev/null +++ b/bsp/drivers/igkboard.json @@ -0,0 +1,9 @@ +{ + "WIFI_SRC": { + "URL": "${SRC_URL}/rtl8188fu.tar.bz2", + "PROTOCAL": "wget" + }, + "CONFIG": { + "DRVPATH":"${PRJ_PATH}/../images/drivers" + } +} diff --git a/bsp/drivers/users/Makefile b/bsp/drivers/users/Makefile index 436c70d..3c6f3ea 100644 --- a/bsp/drivers/users/Makefile +++ b/bsp/drivers/users/Makefile @@ -4,17 +4,17 @@ # # Filename: Makefile # Description: This Makefile used to compile all the drivers here -# +# # Version: 1.0.0(18/12/2021~) # Author: Guo Wenxue <guowenxue@gmail.com> # ChangeLog: 1, Release initial version on "18/12/2021 01:29:33 PM" -# +# #********************************************************************************/ CROSS_COMPILE ?= /opt/buildroot/cortexA7/bin/arm-linux- LINUX_SRC = ${shell pwd}/../../kernel/linux-imx/ -DRV_PATH ?= ${shell pwd}/../../rootfs/driver/ +DRV_PATH ?= ${shell pwd}/../../images/drivers/ EXTRA_INSTPATH=/tftp @@ -28,11 +28,11 @@ @make -C $(LINUX_SRC) M=$(PWD) modules_install INSTALL_MOD_PATH=${DRV_PATH} INSTALL_MOD_STRIP=1 @make clear -install: +install: cp -af *.ko ${EXTRA_INSTPATH} clear: - @rm -f *.o *.mod* .*.cmd *.symvers *.order + @rm -f *.o *.mod* .*.cmd *.symvers *.order clean: clear @rm -f *.ko diff --git a/bsp/rootfs/rootfs.json b/bsp/rootfs/rootfs.json index 040be45..c900925 100644 --- a/bsp/rootfs/rootfs.json +++ b/bsp/rootfs/rootfs.json @@ -1,35 +1,35 @@ { - "SYS_CONF": { + "SYS_CONF": { "DEF_USER":"lingyun", "DEF_PASSWD":"12345" }, - "SYS_DEBIAN": { + "SYS_DEBIAN": { "URL":"http://ftp.debian.cn.org/debian/", "PROTOCAL": "debootstrap", "ARCH":"arm64", - "INSTALL_APT": "yes", - "APT_APPS": { - "basic": "wget sudo curl tree file parted locales lsb-release tzdata", - "admin": "net-tools network-manager wireless-tools openssh-server", + "INSTALL_APT": "yes", + "APT_APPS": { + "basic": "wget sudo curl tree file parted locales lsb-release tzdata", + "admin": "net-tools network-manager wireless-tools openssh-server", "dev": "v4l-utils vim" }, - "INSTALL_FILES": { + "INSTALL_FILES": { "${PRJ_PATH}/../images/drivers/lib/modules/": "$ROOTFS_DIR/lib/", "files/expand_rootfs": "$ROOTFS_DIR/usr/sbin" } }, - "SYS_YOCTO": { + "SYS_YOCTO": { "URL":"${SRC_URL}/$ROOTFS_DIR.tar.bz2", "PROTOCAL": "wget", - "INSTALL_FILES": { + "INSTALL_FILES": { "${PRJ_PATH}/../images/drivers/lib/modules/*": "$ROOTFS_DIR/lib/", "files/expand_rootfs": "$ROOTFS_DIR/usr/sbin" } }, - "SYS_BUILDROOT": { + "SYS_BUILDROOT": { "URL":"${SRC_URL}/$ROOTFS_DIR.tar.bz2", "PROTOCAL": "wget", - "INSTALL_FILES": { + "INSTALL_FILES": { "${PRJ_PATH}/../images/drivers/lib/modules/*": "$ROOTFS_DIR/lib/", "files/expand_rootfs": "$ROOTFS_DIR/usr/sbin", "files/S30WpaSupplicant": "$ROOTFS_DIR/etc/init.d/", -- Gitblit v1.9.1