87 lines
3.3 KiB
Bash
87 lines
3.3 KiB
Bash
#!/bin/bash
|
|
|
|
# This script will copy files to the 2050 BTS(s) on the site
|
|
# running the script more than once is expected to be safe.
|
|
|
|
if [ "$PWD" != "/var/SysmoBTS" ]; then
|
|
OLDPWD=$PWD
|
|
cd /var/SysmoBTS
|
|
fi
|
|
SSH_OPTS="-q -o StrictHostKeyChecking=no -o UserKnownHostsFile=/tmp/known-$RANDOM"
|
|
. /home/rhizomatica/bin/vars.sh
|
|
|
|
for bts in "${!BTS[@]}" ; do
|
|
|
|
scp $SSH_OPTS authorized_keys root@${BTS[$bts]}:/home/root/.ssh/
|
|
if [ "$?" != "0" ] ; then
|
|
echo "No ssh access to BTS?"
|
|
continue
|
|
fi
|
|
scp $SSH_OPTS udhcpc root@${BTS[$bts]}:/etc/default/udhcpc
|
|
ssh $SSH_OPTS root@${BTS[$bts]} "echo 'root:$BTSPASS' | /usr/sbin/chpasswd"
|
|
ssh $SSH_OPTS root@${BTS[$bts]} "date -s '$(date)'"
|
|
ssh $SSH_OPTS root@${BTS[$bts]} "find /etc -name resolv.conf -type l -exec rm {} \;"
|
|
ssh $SSH_OPTS root@${BTS[$bts]} "echo nameserver 1.1.1.1 > /etc/resolv.conf; echo nameserver 9.9.9.9 >> /etc/resolv.conf"
|
|
ssh $SSH_OPTS root@${BTS[$bts]} "mkdir -p /etc/profile.d"
|
|
scp $SSH_OPTS alias.sh root@${BTS[$bts]}:/etc/profile.d/alias.sh
|
|
scp $SSH_OPTS osmo-pcu.cfg root@${BTS[$bts]}:/etc/osmocom/osmo-pcu.cfg
|
|
scp $SSH_OPTS osmo-bts_$bts.cfg root@${BTS[$bts]}:/etc/osmocom/osmo-bts-sysmo.cfg
|
|
scp $SSH_OPTS pcu bts mgr txp root@${BTS[$bts]}:/bin/
|
|
ssh $SSH_OPTS root@${BTS[$bts]} "chmod 750 /bin/pcu /bin/bts /bin/mgr /bin/txp"
|
|
ssh $SSH_OPTS root@${BTS[$bts]} "expect -v 2>/dev/null"
|
|
|
|
if [ "$?" != "0" ]; then
|
|
ssh $SSH_OPTS root@${BTS[$bts]} "mkdir /tmp/ipk"
|
|
scp $SSH_OPTS *.ipk root@${BTS[$bts]}:/tmp/ipk/
|
|
ssh $SSH_OPTS root@${BTS[$bts]} "opkg install /tmp/ipk/*.ipk"
|
|
ssh $SSH_OPTS root@${BTS[$bts]} "rm -r /tmp/ipk"
|
|
fi
|
|
|
|
_modelNR=$(ssh $SSH_OPTS ${BTS[$bts]} sysmobts-util model-nr)
|
|
|
|
if [ "$?" == "127" ]; then
|
|
echo "No sysmobts-util?"
|
|
continue
|
|
fi
|
|
|
|
_trxNR=$(ssh $SSH_OPTS ${BTS[$bts]} sysmobts-util trx-nr)
|
|
|
|
if [ "$?" != "0" ] ; then
|
|
echo "TRX Number?"
|
|
continue
|
|
fi
|
|
|
|
if [ "$_modelNR" == "65535" ] || [ "$_modelNR" == "1020" ] && [ "$_trxNR" == "255" ] ; then
|
|
echo "Looks like a SysmoBTS ($_modelNR)"
|
|
ssh $SSH_OPTS root@${BTS[$bts]} "echo '$SITE-$bts' > /etc/hostname"
|
|
scp $SSH_OPTS master/gpsd root@${BTS[$bts]}:/etc/default/gpsd
|
|
scp $SSH_OPTS master/ntp.conf root@${BTS[$bts]}:/etc/ntp.conf
|
|
scp $SSH_OPTS gpsdate.service root@${BTS[$bts]}:/lib/systemd/system
|
|
fi
|
|
|
|
if [ "$_trxNR" == "0" ] ; then
|
|
# Master Verified.
|
|
echo "BTS is a 2050 Master"
|
|
ssh $SSH_OPTS root@${BTS[$bts]} "echo '$SITE-Master-$bts' > /etc/hostname"
|
|
scp $SSH_OPTS rc.local root@${BTS[$bts]}:/etc/rc.local
|
|
scp $SSH_OPTS master/gpsd root@${BTS[$bts]}:/etc/default/gpsd
|
|
scp $SSH_OPTS master/ntp.conf root@${BTS[$bts]}:/etc/ntp.conf
|
|
scp $SSH_OPTS leds.sh root@${BTS[$bts]}:/etc/init.d/leds.sh
|
|
scp $SSH_OPTS led.service root@${BTS[$bts]}:/lib/systemd/system/led.service
|
|
scp $SSH_OPTS osmo-bts.service root@${BTS[$bts]}:/lib/systemd/system/osmo-bts-sysmo.service
|
|
ssh $SSH_OPTS root@${BTS[$bts]} "systemctl enable led.service"
|
|
fi
|
|
|
|
if [ "$_trxNR" == "1" ] ; then
|
|
# Slave Verified.
|
|
echo "BTS is a 2050 Slave"
|
|
ssh $SSH_OPTS root@${BTS[$bts]} "echo '$SITE-Slave-$bts' > /etc/hostname"
|
|
scp $SSH_OPTS rc.local root@${BTS[$bts]}:/etc/rc.local
|
|
scp $SSH_OPTS slave/gpsdate root@${BTS[$bts]}:/etc/default/gpsdate
|
|
fi
|
|
|
|
done
|
|
|
|
if [ "$OLDPWD" != "" ]; then
|
|
cd $OLDPWD
|
|
fi
|