154 lines
5.1 KiB
Bash
154 lines
5.1 KiB
Bash
#!/bin/bash
|
|
# Auto run audio_update.sh
|
|
export LANGUAGE=en_GB.UTF-8
|
|
GREEN="\033[1;32m"
|
|
NORMAL="\033[0;39m"
|
|
RED="\033[1;31m"
|
|
YELLOW="\033[1;33m"
|
|
sudo apt install git -y
|
|
sudo apt install make -y
|
|
sudo apt install wget -y
|
|
sudo git clone https://github.com/f5vmr/svxlink_raspberry_usrp.git
|
|
sudo bash /home/pi/svxlink_raspberry/audio_update.sh
|
|
#
|
|
# Auto run install.sh
|
|
#
|
|
|
|
CONF=/etc/svxlink/svxlink.conf
|
|
GPIO=/etc/svxlink/gpio.conf
|
|
HOME=/home/pi
|
|
OP=/etc/svxlink
|
|
cd
|
|
sudo apt-get update
|
|
sudo apt-get install -y ca-certificates curl gnupg
|
|
sudo mkdir -p /etc/apt/keyrings
|
|
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
|
|
NODE_MAJOR=20
|
|
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_MAJOR.x nodistro main" | sudo tee /etc/apt/sources.list.d/nodesource.list
|
|
|
|
sudo apt update
|
|
sudo apt upgrade -y
|
|
VERSIONS=svxlink/src/versions
|
|
|
|
echo -e `date` " ${YELLOW} *** commence build *** ${NORMAL}"
|
|
|
|
# Installing other packages
|
|
echo -e `date` " ${YELLOW} Installing required software packages${NORMAL}"
|
|
sudo apt install build-essential g++ make cmake libsigc++-2.0-dev nodejs libgsm1-dev libudev-dev libpopt-dev tcl-dev libgpiod-dev gpiod libgcrypt20-dev libspeex-dev libasound2-dev alsa-utils libjsoncpp-dev libopus-dev rtl-sdr libcurl4-openssl-dev libogg-dev librtlsdr-dev groff doxygen graphviz python3-serial toilet -y
|
|
echo
|
|
echo -e "${GREEN} Enter the node callsign: \n ${NORMAL}"
|
|
echo
|
|
read CallVar
|
|
if [ “$CallVar” == “” ]; then
|
|
echo “Sorry - Start this program again with a valid callsign”
|
|
exit 1
|
|
fi
|
|
CALL=${CallVar^^}
|
|
echo
|
|
echo `date` Creating Node $CALL
|
|
echo -e `date` "${YELLOW} Creating Groups and Users ${NORMAL}"
|
|
sudo groupadd svxlink
|
|
sudo useradd -g svxlink -d /etc/svxlink svxlink
|
|
sudo usermod -aG audio,nogroup,svxlink,plugdev svxlink
|
|
sudo usermod -aG svxlink
|
|
|
|
|
|
# Downloading Source Code for SVXLink
|
|
echo -e `date` "${YELLOW} downloading SVXLink source code … ${NORMAL}"
|
|
cd
|
|
sudo git clone https://github.com/dl1hrc/svxlink.git
|
|
cd svxlink
|
|
sudo git checkout svxlink-usrp
|
|
cd src
|
|
sudo mkdir build
|
|
cd build
|
|
# Compilation
|
|
|
|
sudo cmake -DUSE_QT=OFF -DCMAKE_INSTALL_PREFIX=/usr -DSYSCONF_INSTALL_DIR=/etc \ -DLOCAL_STATE_DIR=/var -DWITH_CONTRIB_USRP_LOGIC=ON -DWITH_SYSTEMD=ON ..
|
|
echo -e `date` "${YELLOW} Compiling ${NORMAL}"
|
|
sudo make
|
|
sudo make doc
|
|
echo `date` "${RED} Installing SVXlink ${NORMAL}"
|
|
sudo make install
|
|
cd /usr/share/svxlink/events.d
|
|
sudo mkdir local
|
|
sudo cp *.tcl ./local
|
|
sudo ldconfig
|
|
# Installing United Kingdom Sound files
|
|
cd /usr/share/svxlink/sounds
|
|
sudo wget https://g4nab.co.uk/wp-content/uploads/2023/08/en_GB.tar_.gz
|
|
|
|
sudo tar -zxvf en_GB.tar_.gz
|
|
sudo rm en_GB.tar_.gz
|
|
|
|
|
|
cd ..
|
|
sudo chmod 777 *
|
|
echo `date` backing up configuration to : $CONF.bak
|
|
cd $OP
|
|
sudo cp -p $CONF $CONF.bak
|
|
#
|
|
cd $HOME
|
|
echo -e `date` "${RED} Downloading prepared configuration files from G4NAB …${NORMAL}"
|
|
sudo mkdir /home/pi/scripts
|
|
#sudo cp -r svxlink_raspberry/svxlink.conf $OP
|
|
#sudo cp -r svxlink_raspberry/gpio.conf $OP
|
|
#sudo cp -r svxlink_raspberry/node_info.json $OP/node_info.json
|
|
sudo cp -r svxlink_raspberry/resetlog.sh /home/pi/scripts/resetlog.sh
|
|
(crontab -l 2>/dev/null; echo "59 23 * * * /home/pi scripts/resetlog.sh ") | crontab -
|
|
#
|
|
echo `date` Setting Callsign to $CALL
|
|
sudo sed -i "s/MYCALL/$CALL/g" $CONF
|
|
sudo sed -i "s/MYCALL/$CALL/g" $OP/node_info.json
|
|
#
|
|
echo `date` Setting Squelch Hangtime to 10
|
|
sudo sed -i "s/SQL_HANGTIME=200/SQL_HANGTIME=10/g" $CONF
|
|
#
|
|
echo `date` Disabling audio distortion warning messages
|
|
sudo sed -i "s/PEAK_METER=1/PEAK_METER=0/g" $CONF
|
|
#
|
|
echo `date` Updating SplashScreen on startup
|
|
sudo sed -i "s/MYCALL/$CALL/g" /etc/update-motd.d/10-uname
|
|
sudo chmod 0755 /etc/update-motd.d/10-uname
|
|
#
|
|
echo `date` Changing Log file
|
|
sudo sed -i "s/log\/svxlink/log\/svxlink.log/g" /etc/default/svxlink
|
|
if [$card=true]
|
|
then
|
|
sudo sed -i "/PTT_TYPE/iHID_DEVICE=\/dev\/hidraw0" $CONF
|
|
sudo sed -i "s/PTT_TYPE=GPIO/PTT_TYPE=Hidraw/g" $CONF
|
|
sudo sed -i "s/PTT_PORT=GPIO/PTT_PORT=\/dev\/hidraw0/g" $CONF
|
|
sudo sed -i "s/PTT_PIN=gpio24/HID_PTT_PIN=GPIO3/g" $CONF
|
|
sudo sed -i "s/\#MUTE/MUTE/g" /etc/svxlink/svxlink.d/ModuleEchoLink.conf
|
|
sudo sed -i "s/\#DEFAULT_LANG=en_US/DEFAULT_LANG=en_GB/g" /etc/svxlink/svxlink.d/ModuleEchoLink.conf
|
|
sudo sed -i "s/\#MUTE/MUTE/g" /etc/svxlink/svxlink.d/ModuleMetarInfo.conf
|
|
sudo sed -i "s/\#DEFAULT_LANG=en_US/DEFAULT_LANG=en_GB/g" /etc/svxlink/svxlink.d/ModuleMetarInfo.conf
|
|
|
|
fi
|
|
echo `date` "${RED} Authorise GPIO setup service and svxlink service${NORMAL}"
|
|
|
|
sudo systemctl enable svxlink
|
|
sleep 10
|
|
|
|
#sudo systemctl start svxlink.service
|
|
|
|
|
|
echo -e `date` "${RED}Installation of SVXLink is complete\n${NORMAL}"
|
|
echo -e `date` "${GREEN} Без двсвича установка вроде закончена!\n\n\n${NORMAL}"
|
|
echo
|
|
sleep 10
|
|
|
|
sleep 10
|
|
cd
|
|
sudo wget http://dvswitch.org/buster
|
|
sudo chmod +x buster
|
|
sudo ./buster
|
|
sudo apt update -y && sudo apt upgrade
|
|
sudo apt install dvswitch-server -y
|
|
|
|
echo -e `date` "${GREEN} Установка закончена! \n\n\n${NORMAL}"
|
|
echo
|
|
sleep 10
|
|
|
|
|
|
|