From 9a1c77bbd37d036939f7a3ebe437ff5011fa7063 Mon Sep 17 00:00:00 2001
From: guowenxue <guowenxue@gmail.com>
Date: Sun, 11 Dec 2022 13:47:48 +0800
Subject: [PATCH] update linux patch to panel-simple driver
---
tools/setup_tools.sh | 110 +++++++++++++++++++++++++------------------------------
1 files changed, 50 insertions(+), 60 deletions(-)
diff --git a/tools/setup_tools.sh b/tools/setup_tools.sh
index 6d7a917..4c75e07 100755
--- a/tools/setup_tools.sh
+++ b/tools/setup_tools.sh
@@ -2,119 +2,109 @@
# This shell script used to setup imx6ull build envrionment
#
-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 lz4 tmux"
-
+ 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 \
+ bc 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
}
-function install_crosstool()
+function install_devtools()
{
- 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 "
apt install -y $devtools
-
- #sudo update-alternatives --install /usr/bin/arm-linux-gnueabihf-gcc arm-linux-gnueabihf-gcc /usr/bin/arm-linux-gnueabihf-gcc-9 10
}
-function install_buildroot()
+# NXP document suggest cross compiler from ARM Developer:
+# https://developer.arm.com/downloads/-/arm-gnu-toolchain-downloads
+function install_crosstool()
{
- BUILDROOT_PATH=/opt/buildroot
- BUILDROOT_NAME=cortexA7
+ ARMTOOL_VER=10.3-2021.07
+ ARMTOOL_NAME=gcc-arm-$ARMTOOL_VER
+ ARMTOOL_PACK=${ARMTOOL_NAME}-`uname -p`-arm-none-linux-gnueabihf
+ ARMTOOL_URL=https://developer.arm.com/-/media/Files/downloads/gnu-a/$ARMTOOL_VER/binrel/
- BUILDROOT_VER=buildroot-2021.02.7-cortexA7
- BUILDROOT_TAR=${BUILDROOT_VER}.tar.bz2
- BUILDROOT_DLADDR=${LYFTP_PUB}/$BUILDROOT_TAR
-
- if [ -d ${BUILDROOT_PATH}/${BUILDROOT_NAME} ] ; then
- msg_banner "Buildroot already installed to $BUILDROOT_PATH/$BUILDROOT_NAME"
+ if [ -d /opt/$ARMTOOL_NAME ] ; then
+ pr_info "$ARMTOOL_NAME crosstool already installed, skip it"
return 0;
fi
- mkdir -p ${BUILDROOT_PATH}
+ pr_info "start download cross compiler from ARM Developer"
- if [ ! -f $BUILDROOT_TAR ] ; then
- msg_banner "download $BUILDROOT_VER now..."
- wget -c $BUILDROOT_DLADDR
- fi
+ if [ ! -s $ARMTOOL_PACK.tar.xz ] ; then
+ wget $ARMTOOL_URL/$ARMTOOL_PACK.tar.xz
+ fi
- msg_banner "install $BUILDROOT_VER to $BUILDROOT_PATH/$BUILDROOT_NAME now..."
- tar -xjf ${BUILDROOT_TAR} -C ${BUILDROOT_PATH}
+ tar -xJf $ARMTOOL_PACK.tar.xz -C /opt
+ rm -f $ARMTOOL_PACK.tar.xz
- $BUILDROOT_PATH/$BUILDROOT_NAME/bin/arm-linux-gcc -v
+ mv /opt/$ARMTOOL_PACK /opt/$ARMTOOL_NAME
- msg_banner "Cross compiler: $BUILDROOT_PATH/$BUILDROOT_NAME/bin/arm-linux-"
-
- rm -f ${BUILDROOT_TAR}
+ /opt/$ARMTOOL_NAME/bin/arm-none-linux-gnueabihf-gcc -v
+ pr_info "cross compiler installed to \"/opt/$ARMTOOL_NAME\" successfully"
}
+echo ""
prepare_instpath
install_systools
-install_crosstool
+install_devtools
-install_buildroot
+install_crosstool
--
Gitblit v1.9.1