Guo Wenxue
2021-10-11 ffa59a8bddb4f2da26a03b1e09743c1bdd9cbb8c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
#!/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;