| New file | 
|  |  |  | 
|---|
|  |  |  | #!/bin/bash | 
|---|
|  |  |  | # This shell script used to setup fl2440 build envrionment and test on Ubuntu-20.04 | 
|---|
|  |  |  | # | 
|---|
|  |  |  | # U-boot, Linux kernel and root file system all compiled or generated by this crosstool.ha | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | LYFTP_ADDR=ftp://master.iot-yun.club/fl2440/lintools/ | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 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 | 
|---|
|  |  |  | msg_banner "Install path [/apps and /opt] already setup, skip it" | 
|---|
|  |  |  | 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 | 
|---|
|  |  |  | msg_banner "All development system tools already installed, skip it" | 
|---|
|  |  |  | return 0; | 
|---|
|  |  |  | 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 libncurses-dev \ | 
|---|
|  |  |  | 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 lib32ncurses5 libssl-dev autoconf-archive bison flex lzop" | 
|---|
|  |  |  |  | 
|---|
|  |  |  | devtools="u-boot-tools mtd-utils device-tree-compiler" | 
|---|
|  |  |  |  | 
|---|
|  |  |  | sudo_banner | 
|---|
|  |  |  |  | 
|---|
|  |  |  | sudo apt-get update > /dev/null 2>&1 | 
|---|
|  |  |  | sudo apt-get install -y $systools $devtools | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | function install_crosstool() | 
|---|
|  |  |  | { | 
|---|
|  |  |  | INST_PATH=/opt/xtools/ | 
|---|
|  |  |  | CROSSTOOL_PATH=$INST_PATH/arm920t | 
|---|
|  |  |  |  | 
|---|
|  |  |  | CROSSTOOL_TAR=crosstool-gcc4.4.6-arm920t.tar.xz | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if [ -d $CROSSTOOL_PATH ] ; then | 
|---|
|  |  |  | msg_banner "crosstool already installed to $CROSSTOOL_PATH" | 
|---|
|  |  |  | return 0; | 
|---|
|  |  |  | fi | 
|---|
|  |  |  |  | 
|---|
|  |  |  | mkdir -p ${INST_PATH} | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if [ ! -f $CROSSTOOL_TAR ] ; then | 
|---|
|  |  |  | msg_banner "download $CROSSTOOL_TAR now..." | 
|---|
|  |  |  | wget -c ${LYFTP_ADDR}/$CROSSTOOL_TAR | 
|---|
|  |  |  | fi | 
|---|
|  |  |  |  | 
|---|
|  |  |  | msg_banner "install crosstool to $CROSSTOOL_PATH now..." | 
|---|
|  |  |  | tar -xJf ${CROSSTOOL_TAR} -C ${INST_PATH} | 
|---|
|  |  |  |  | 
|---|
|  |  |  | $CROSSTOOL_PATH/bin/arm-linux-gcc -v | 
|---|
|  |  |  |  | 
|---|
|  |  |  | msg_banner "Cross compiler: $CROSSTOOL_PATH/bin/arm-linux-" | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | prepare_instpath | 
|---|
|  |  |  |  | 
|---|
|  |  |  | install_systools | 
|---|
|  |  |  |  | 
|---|
|  |  |  | install_crosstool | 
|---|
|  |  |  |  | 
|---|
|  |  |  | exit; | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|