#/usr/bin/env bash function tips() { echo "Vers. 2.0 del 16-08-2016" echo "script socrat3@gmail.com" echo "---- Installa Ambiente ARM e pacchetti necessari ----" echo "1. Installa ARM Toolchain: /root/compila-arm-toolchain.sh" echo "2. Installa osmocom-core: /root/compila-osmocom-core.sh" echo "3. Installa osmocom-bb: /root/compila-osmocom-bb.sh" echo "4. Installa Compila tutto:/root/compilatutto.sh" } function update_sources_list() { printf '%s' ' deb http://it.archive.ubuntu.com/ubuntu/ xenial main universe restricted multiverse deb-src http://it.archive.ubuntu.com/ubuntu/ xenial main universe restricted multiverse deb http://security.ubuntu.com/ubuntu xenial-security main universe restricted multiverse deb-src http://security.ubuntu.com/ubuntu xenial-security main universe restricted multiverse deb http://it.archive.ubuntu.com/ubuntu/ xenial-updates main universe restricted multiverse deb-src http://it.archive.ubuntu.com/ubuntu/ xenial-updates main universe restricted multiverse deb http://archive.canonical.com/ubuntu xenial partner deb-src http://archive.canonical.com/ubuntu xenial partner deb http://it.archive.ubuntu.com/ubuntu xenial-backports main restricted universe multiverse deb-src http://it.archive.ubuntu.com/ubuntu xenial-backports main restricted universe multiverse ' | sudo tee /etc/apt/sources.list > /dev/null } function update_system() { apt-get update && apt-get dist-upgrade -y } function install_important_package() { echo -e ":set number\n:syntax on" > /root/.vimrc sudo apt-get install -y build-essential libgmp3-dev libmpfr-dev libx11-6 libx11-dev texinfo flex bison libncurses5 libncurses5-dbg libncurses5-dev libncursesw5 libncursesw5-dbg libncursesw5-dev zlibc zlib1g-dev libmpfr4 libmpc-dev aria2 sudo apt-get install -y htop unzip bmon aptitude vim sudo aptitude install -y libtool shtool automake autoconf git-core pkg-config make gcc sudo apt-get install -y libpcsclite-dev libtalloc-dev } function set_gnu_arm_toolchain_script() { printf '%s' ' #/usr/bin/env bash function main() { install_gnu_arm_toolchain compila_and_arm_toolchain } function install_gnu_arm_toolchain() { rm -rfv /root/armtoolchain mkdir /root/armtoolchain cd /root/armtoolchain mkdir build install src aria2c http://bb.osmocom.org/trac/raw-attachment/wiki/GnuArmToolchain/gnu-arm-build.3.sh chmod +x gnu-arm-build.3.sh cd /root/armtoolchain/src aria2c http://ftp.gnu.org/gnu/gcc/gcc-4.8.2/gcc-4.8.2.tar.bz2 aria2c http://ftp.gnu.org/gnu/binutils/binutils-2.21.1a.tar.bz2 aria2c ftp://sources.redhat.com/pub/newlib/newlib-1.19.0.tar.gz } function compila_and_arm_toolchain() { cd /root/armtoolchain echo "Yes" | ./gnu-arm-build.3.sh echo "export PATH=$PATH:/root/armtoolchain/install/bin" >> /root/.bashrc source /root/.bashrc } main ' | sudo tee /root/compila-arm-toolchain.sh > /dev/null chmod +x /root/compila-arm-toolchain.sh } function set_libosmocore_script() { printf '%s' ' #/usr/bin/env bash function main() { compila_libosmocore } function compila_libosmocore() { cd /root/armtoolchain/ rm -rfv /root/armtoolchain/libosmocore git clone git://git.osmocom.org/libosmocore.git cd /root/armtoolchain/libosmocore autoreconf -i ./configure make sudo make install sudo ldconfig -i cd /root/ } main ' | sudo tee /root/compila-osmocom-core.sh > /dev/null chmod +x /root/compila-osmocom-core.sh } function set_osmocom_bb_script() { printf '%s' ' #/usr/bin/env bash function main() { export PATH=$PATH:/root/armtoolchain/install/bin compila_osmocom_bb } function compila_osmocom_bb() { cd /root/armtoolchain/ rm -rfv /root/armtoolchain/osmocom-bb git clone git://git.osmocom.org/osmocom-bb.git cd /root/armtoolchain/osmocom-bb git pull --rebase cd /root/armtoolchain/osmocom-bb/src make cd /root/ } main ' | sudo tee /root/compila-osmocom-bb.sh > /dev/null chmod +x /root/compila-osmocom-bb.sh } function compilatutto() { printf '%s' ' #/usr/bin/env bash function main() { inizio install_gnu_arm_toolchain compila_and_arm_toolchain compila_libosmocore export PATH=$PATH:/root/armtoolchain/install/bin compila_osmocom_bb } function inizio() { echo "Vers. 2.0 del 16-08-2016" echo "script socrat3@gmail.com" echo "---- Installa Ambiente ARM e pacchetti necessari ----" echo "Compilazione Ambiente ARM e OSMOCOM:/root/compilatutto.sh" } function install_gnu_arm_toolchain() { rm -rfv /root/armtoolchain mkdir /root/armtoolchain cd /root/armtoolchain mkdir build install src aria2c http://bb.osmocom.org/trac/raw-attachment/wiki/GnuArmToolchain/gnu-arm-build.3.sh chmod +x gnu-arm-build.3.sh cd /root/armtoolchain/src aria2c http://ftp.gnu.org/gnu/gcc/gcc-4.8.2/gcc-4.8.2.tar.bz2 aria2c http://ftp.gnu.org/gnu/binutils/binutils-2.21.1a.tar.bz2 aria2c ftp://sources.redhat.com/pub/newlib/newlib-1.19.0.tar.gz } function compila_and_arm_toolchain() { cd /root/armtoolchain echo "Yes" | ./gnu-arm-build.3.sh echo "export PATH=$PATH:/root/armtoolchain/install/bin" >> /root/.bashrc source /root/.bashrc } function compila_libosmocore() { cd /root/armtoolchain/ rm -rfv /root/armtoolchain/libosmocore git clone git://git.osmocom.org/libosmocore.git cd /root/armtoolchain/libosmocore autoreconf -i ./configure make sudo make install sudo ldconfig -i cd /root/ } function compila_osmocom_bb() { cd /root/armtoolchain/ rm -rfv /root/armtoolchain/osmocom-bb git clone git://git.osmocom.org/osmocom-bb.git cd /root/armtoolchain/osmocom-bb git pull --rebase cd /root/armtoolchain/osmocom-bb/src make cd /root/ } main ' | sudo tee /root/compilatutto.sh > /dev/null chmod +x /root/compilatutto.sh } function main() { update_sources_list update_system install_important_package set_gnu_arm_toolchain_script set_libosmocore_script set_osmocom_bb_script tips } main