凌云实验室推出的ARM Linux物联网网关开发板IGKBoard(IoT Gateway Kit Board)项目源码
guowenxue
2022-10-09 9b5433667acd4e26ab557e1dbee0322268f28838
tools/setup_tools.sh
@@ -2,59 +2,55 @@
# This shell script used to setup imx6ull build envrionment
#
LYFTP_PUB=http://weike-iot.com:2211/imx6ull/tools/lintools
LYFTP_PUB=http://wekei-iot.com:2211/imx/igkboard/tools/lintools
# display in yellow
function pr_warn() {
    echo -e "\033[40;33m --W-- $1 \033[0m\n"
}
# display in green
function pr_info() {
    echo -e "\033[40;32m --I-- $1 \033[0m\n"
}
if [ `id -u` != 0 ] ; then
    echo ""
    echo "ERROR: This shell script must be excuted as root privilege."
    echo ""
    exit 0;
    pr_warn "This shell script must be excuted as root privilege"
    exit;
fi
function msg_banner()
{
    echo ""
    echo "+-----------------------------------------------------------------------"
    echo "|  $1 "
    echo "+-----------------------------------------------------------------------"
    echo ""
}
function prepare_instpath()
{
    if [ -w /apps -a -w /opt ] ; then
        msg_banner "Install path [/apps and /opt] already setup, skip it"
        pr_warn "Install path [/apps and /opt] already setup, skip it"
        return ;
    fi
    msg_banner "/apps and /opt not writable, use chmod to give writable permissions"
    pr_info "/apps and /opt not writable, use chmod to give writable permissions"
    #QT build will installed to this path
    # QT build will installed to this path
    mkdir -p /apps && chmod 777 /apps
    #TFTP server path
    mkdir -p /tftp && chmod 777 /tftp
    #crosstool will installed to this path
    # buildroot crosstool will installed to this path
    chmod 777 /opt/
}
function install_systools()
{
    jq --version > /dev/null 2>&1
    if [ $? == 0 ] ;  then
        msg_banner "All system tools already installed, skip it"
    if command -v jq > /dev/null 2>&1 ; then
        pr_warn "All system tools already installed, skip it"
        return 0;
    fi
    msg_banner "start apt install system tools(commands)"
    pr_warn "start apt install system tools(commands)"
    systools="gawk wget git diffstat unzip texinfo build-essential chrpath socat libncurses-dev flex \
        libsdl1.2-dev xterm sed cvs subversion coreutils texi2html docbook-utils python-pysqlite2 tree \
        help2man make gcc g++ desktop-file-utils libgl1-mesa-dev libglu1-mesa-dev mercurial autoconf \
        automake groff curl lzop asciidoc lib32z1 lib32ncurses-dev libssl-dev autoconf-archive bison \
        kpartx jq binfmt-support qemu qemu-user-static debootstrap debian-archive-keyring zstd"
    systools="coreutils jq wget curl tree gawk sed unzip cpio lz4 lzop zstd rsync kmod kpartx tmux \
        desktop-file-utils iputils-ping xterm diffstat chrpath asciidoc docbook-utils help2man \
        build-essential gcc g++ make cmake automake groff socat flex texinfo bison texi2html \
        git cvs subversion mercurial autoconf autoconf-archive \
        python2 python3 python3-pip python3-pexpect python3-git python3-jinja2 libsdl1.2-dev \
        lib32z1 libssl-dev libncurses-dev lib32ncurses-dev libgl1-mesa-dev libglu1-mesa-dev \
        "
    apt update > /dev/null 2>&1
    apt install -y $systools
@@ -62,13 +58,12 @@
function install_crosstool()
{
    arm-linux-gnueabihf-gcc -v > /dev/null 2>&1
    if [ $? == 0 ] ;  then
        msg_banner "All development tools already installed, skip it"
    if command -v arm-linux-gnueabihf-gcc > /dev/null 2>&1 ; then
        pr_warn "All development tools already installed, skip it"
        return 0;
    fi
    msg_banner "start apt install devlopment tools(commands)"
    pr_info "start apt install devlopment tools(commands)"
    devtools="u-boot-tools mtd-utils device-tree-compiler gcc-arm-linux-gnueabihf g++-arm-linux-gnueabihf \
        binfmt-support qemu qemu-user-static debootstrap debian-archive-keyring "
@@ -88,27 +83,28 @@
    BUILDROOT_DLADDR=${LYFTP_PUB}/$BUILDROOT_TAR
    if [ -d ${BUILDROOT_PATH}/${BUILDROOT_NAME} ] ; then
        msg_banner "Buildroot already installed to $BUILDROOT_PATH/$BUILDROOT_NAME"
        pr_warn "Buildroot already installed to $BUILDROOT_PATH/$BUILDROOT_NAME"
        return 0;
    fi
    mkdir -p ${BUILDROOT_PATH}
    mkdir -p ${BUILDROOT_PATH}
    if [ ! -f $BUILDROOT_TAR ] ; then
        msg_banner "download $BUILDROOT_VER now..."
        wget -c $BUILDROOT_DLADDR
    fi
    if [ ! -f $BUILDROOT_TAR ] ; then
        pr_info "download $BUILDROOT_VER now..."
        wget -c $BUILDROOT_DLADDR
    fi
    msg_banner "install $BUILDROOT_VER to $BUILDROOT_PATH/$BUILDROOT_NAME now..."
    pr_info "install $BUILDROOT_VER to $BUILDROOT_PATH/$BUILDROOT_NAME now..."
    tar -xjf ${BUILDROOT_TAR} -C ${BUILDROOT_PATH}
    $BUILDROOT_PATH/$BUILDROOT_NAME/bin/arm-linux-gcc -v
    msg_banner "Cross compiler: $BUILDROOT_PATH/$BUILDROOT_NAME/bin/arm-linux-"
    pr_info "Cross compiler: $BUILDROOT_PATH/$BUILDROOT_NAME/bin/arm-linux-"
    rm -f ${BUILDROOT_TAR}
}
echo ""
prepare_instpath
@@ -116,5 +112,5 @@
install_crosstool
install_buildroot
#install_buildroot