From c35ac6f2aad2ebe9d7cb5ca461822f0635af3798 Mon Sep 17 00:00:00 2001 From: guowenxue <guowenxue@gmail.com> Date: Mon, 23 Sep 2019 00:28:38 +0800 Subject: [PATCH] update setup_env.sh shell script, add install libssl-dev for dtc --- tools/setup_env.sh | 152 ++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 120 insertions(+), 32 deletions(-) diff --git a/tools/setup_env.sh b/tools/setup_env.sh index 2dfb91c..8805329 100755 --- a/tools/setup_env.sh +++ b/tools/setup_env.sh @@ -1,49 +1,137 @@ +#!/bin/bash # This shell script used to setup ok335x build envrionment # # 1. U-boot, Linux kernel and root file system all compiled or generated by this crosstool. # 2. This crsootool is built in i386, running on x86-64 depends on lib32 # 3. Install mkimage and mkfs.ubifs tools -if [ `id -u` != 0 ] ; then +LYFTP_PUB=ftp://master.iot-yun.club/pub/ + +function sudo_banner() +{ + if [ `id -u` != 0 ] ; then + echo "WARRNING: Follow linux command maybe need input sudo passwd here:" + echo "" + fi +} + +function msg_banner() +{ + echo "" + echo "+-----------------------------------------------------------------------" + echo "| $1 " + echo "+-----------------------------------------------------------------------" echo "" - echo "ERROR: This shell script must be excuted as root or by sudo" - echo "" - exit 1; -fi -CROSSTOOL_PATH=/opt/crosstool -CROSSTOOL_NAME=cortex-a7 +} -CROSSTOOL_VER=gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabi -CROSSTOOL_TAR=${CROSSTOOL_VER}.tar.xz -CROSSTOOL_DLADDR=ftp://master.iot-yun.club/pub/$CROSSTOOL_TAR +function prepare_instpath() +{ + if [ -w /apps -a -w /opt ] ; then + msg_banner "Install path [/apps and /opt] already setup, skip it" + return ; + fi -echo "apt-get update ..." -apt-get update > /dev/null 2>&1 -apt-get install -y lib32z1 lib32ncurses5 + msg_banner "/apps and /opt not writable, use chmod to give writable permissions" -mkimage -V > /dev/null 2>&1 -if [ $? != 0 ] ; then - apt-get install -y u-boot-tools -fi + sudo_banner -mkfs.ubifs -V > /dev/null 2>&1 -if [ $? != 0 ] ; then - apt-get install -y mtd-utils -fi + #QT build will installed to this path + sudo mkdir -p /apps && sudo chmod 777 /apps -if [ ! -d ${CROSSTOOL_PATH}/${CROSSTOOL_NAME} ] ; then - mkdir -p ${CROSSTOOL_PATH} + #crosstool will installed to this path + sudo chmod 777 /opt/ +} - if [ ! -f $CROSSTOOL_TAR ] ; then - wget -c $CROSSTOOL_DLADDR - fi +function install_systools() +{ + mkimage -V > /dev/null 2>&1 + if [ $? == 0 ] ; then + msg_banner "All development system tools already installed, skip it" + return 0; + fi - tar -xJf ${CROSSTOOL_TAR} -C ${CROSSTOOL_PATH} - mv ${CROSSTOOL_PATH}/${CROSSTOOL_VER}/ ${CROSSTOOL_PATH}/${CROSSTOOL_NAME} - -fi + msg_banner "start apt-get install system devlopment tools(commands)" + + systools="gawk wget git-core diffstat unzip texinfo gcc-multilib build-essential chrpath socat \ + libsdl1.2-dev xterm sed cvs subversion coreutils texi2html docbook-utils python-pysqlite2 \ + help2man make gcc g++ desktop-file-utils libgl1-mesa-dev libglu1-mesa-dev mercurial autoconf \ + automake groff curl lzop asciidoc lib32z1 lib32ncurses5 libssl-dev" + + devtools="u-boot-tools mtd-utils device-tree-compiler" -# QT build will install to this path -mkdir -p /apps && chmod 777 /apps + sudo_banner + + sudo apt-get update > /dev/null 2>&1 + sudo apt-get install -y $systools $devtools +} + +function install_crosstool() +{ + CROSSTOOL_PATH=/opt/crosstool + CROSSTOOL_NAME=cortex-a7 + + CROSSTOOL_VER=gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabi + CROSSTOOL_TAR=${CROSSTOOL_VER}.tar.xz + CROSSTOOL_DLADDR=${LYFTP_PUB}/$CROSSTOOL_TAR + + if [ -d ${CROSSTOOL_PATH}/${CROSSTOOL_NAME} ] ; then + msg_banner "$CROSSTOOL_VER already installed to $CROSSTOOL_PATH/$CROSSTOOL_NAME" + return 0; + fi + + + mkdir -p ${CROSSTOOL_PATH} + + if [ ! -f $CROSSTOOL_TAR ] ; then + msg_banner "download $CROSSTOOL_VER now..." + wget -c $CROSSTOOL_DLADDR + fi + + msg_banner "install $CROSSTOOL_VER to $CROSSTOOL_PATH/$CROSSTOOL_NAME now..." + tar -xJf ${CROSSTOOL_TAR} -C ${CROSSTOOL_PATH} + mv ${CROSSTOOL_PATH}/${CROSSTOOL_VER}/ ${CROSSTOOL_PATH}/${CROSSTOOL_NAME} +} + +function install_buildroot() +{ + BUILDROOT_PATH=/opt/buildroot + BUILDROOT_NAME=cortex-a5 + + BUILDROOT_VER=buildroot-2019.02-gcc7.4.0-cortexA5-x86_64_arm-linux-gnueabihf + BUILDROOT_TAR=${BUILDROOT_VER}.tar.xz + BUILDROOT_DLADDR=${LYFTP_PUB}/$BUILDROOT_TAR + + if [ -d ${BUILDROOT_PATH}/${BUILDROOT_NAME} ] ; then + msg_banner "$BUILDROOT_VER already installed to $BUILDROOT_PATH/$BUILDROOT_NAME" + return 0; + fi + + + mkdir -p ${BUILDROOT_PATH} + + if [ ! -f $BUILDROOT_TAR ] ; then + msg_banner "download $BUILDROOT_VER now..." + wget -c $BUILDROOT_DLADDR + fi + + msg_banner "install $BUILDROOT_VER to $BUILDROOT_PATH/$BUILDROOT_NAME now..." + tar -xJf ${BUILDROOT_TAR} -C ${BUILDROOT_PATH} -C ${BUILDROOT_PATH} +} + + +prepare_instpath + +install_systools + +# u-boot must use arm-linux-gcc 4.9 +install_crosstool + +# bootstrap and linux kernel use arm-linux-gcc 7.4.0 in buildroot +install_buildroot + +exit; + + + -- Gitblit v1.9.1