#!/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 LYFTP_PUB=ftp://master.iot-yun.club/pub/ set -e 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 "" } function prepare_instpath() { if [ -w /apps -a -w /opt ] ; then return ; fi msg_banner "/apps and /opt not writable, use chmod to give writable permissions" sudo_banner #QT build will installed to this path sudo mkdir -p /apps && sudo chmod 777 /apps #crosstool will installed to this path sudo chmod 777 /opt/ } function install_systools() { mkimage -V > /dev/null 2>&1 if [ $? == 0 ] ; then return 0; fi 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" devtools="u-boot-tools mtd-utils " msg_banner "start apt-get install system devlopment tools(commands)" 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 LDROOTmsg_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 #install_crosstool install_buildroot exit;