ambed-debian-installer/ambe-debian-installer
2018-11-25 23:28:49 -06:00

116 lines
4.3 KiB
Bash
Executable File

#!/bin/bash
#A tool to install AMBE server.
#This is essentially a scripted version of:
#https://github.com/LX3JL/xlxd/blob/master/ambed/readme
#Step 1: Install Debian 9.x and make sure it has internet and is up to date.
#Step 2: Plug AMBE Chip(s) into computer.
#Step 3: Run this script on the computer with the ambe chips.
#Step 4: Reboot after installation.
# systemctl status ambed #to show the status
# systemctl stop ambed #to stop ambed
# systemctl start ambed #to start ambed
# ambed logs are part of /var/log/messages
#Lets begin-------------------------------------------------------------------------------------------------
WHO=$(whoami)
#Have to be ROOT to run this script
if [ "$WHO" != "root" ];
then
echo ""
echo "You Must be root to run this script!!"
exit 0
fi
#Has to be a Debian variant.
if [ ! -e "/etc/debian_version" ]
then
echo ""
echo "This script is only tested in Debian 8,9 and x64 cpu Arch. for now."
exit 0
fi
#Gather variables
DIRDIR=$(pwd)
LOCAL_IP=$(ip a | grep inet | grep "eth0\|en" | awk '{print $2}' | tr '/' ' ' | awk '{print $1}')
ARC=$(lscpu | grep Arch | awk '{print $2}')
X64=http://www.ftdichip.com/Drivers/D2XX/Linux/libftd2xx-x86_64-1.4.6.tgz
X32=http://www.ftdichip.com/Drivers/D2XX/Linux/libftd2xx-i386-1.4.6.tgz
#ARM=http://www.ftdichip.com/Drivers/D2XX/Linux/libftd2xx-arm-v7-hf-1.4.8.gz
#Install dependencies
echo "------------------------------------------------------------------------------"
echo "Installing required software..."
apt-get -y install wget
apt-get -y install git
apt-get -y install screen
#XLX Specific
apt-get -y install build-essential
#Make Directories and get the FTDI driver.
mkdir -p /ambed
mkdir -p /root/reflector-install-files/ambed
if [ ! -e /usr/local/lib/libftd2xx.so ]
then
echo ""
echo "------------------------------------------------------------------------------"
echo "Downloading driver and installing it....."
cd /root/reflector-install-files/ambed
if [ "$ARC" = "x86_64" ]
then
wget $X64
tar xfvz libftd2xx-x86_64-1.4.6.tgz
cd release/build
cp libftd2xx.* /usr/local/lib
chmod 0755 /usr/local/lib/libftd2xx.so.1.4.6
ln -sf /usr/local/lib/libftd2xx.so.1.4.6 /usr/local/lib/libftd2xx.so
else
wget $X32
tar xfvz libftd2xx-i386-1.4.6.tgz
cd release/build
cp libftd2xx.* /usr/local/lib
chmod 0755 /usr/local/lib/libftd2xx.so.1.4.6
ln -sf /usr/local/lib/libftd2xx.so.1.4.6 /usr/local/lib/libftd2xx.so
fi
else
echo "------------------------------------------------------------------------------"
echo "It looks like the driver is already installed. If this is wrong, see what '/usr/local/lib/libftd2xx.so' is up to. Skipping FTDI Driver install. "
fi
#Time to get the xlx/ambe software from git
echo "------------------------------------------------------------------------------"
echo "Getting xlx/ambed from github..."
cd /root/reflector-install-files/ambed
git clone https://github.com/LX3JL/xlxd.git
echo "------------------------------------------------------------------------------"
echo "Installing ambed....."
cd /root/reflector-install-files/ambed/xlxd/ambed/
make clean
make
make install
if [ -e ambed ]
then
echo "It looks like everything compiled successfully. There is an 'ambed' application file. "
else
echo "/ambe directory exists already, I dont need to add it."
exit 0
fi
echo "------------------------------------------------------------------------------"
echo "Copying ambed files and systemd files... "
cp ambed /ambed
cp $DIRDIR/templates/ambed.service /etc/systemd/system/
sed -i "s/LOCAL-IP/$LOCAL_IP/g" /etc/systemd/system/ambed.service
systemctl daemon-reload
#That should be it for the install.
echo ""
echo ""
echo "************************************************************************"
echo ""
echo ""
echo " The install is complete. "
echo " Now reboot the server. "
echo " Use 'systemctl status ambed' to check the status. "
echo " ambed logs are part of /var/log/messages. "
echo ""
echo ""
echo "************************************************************************"