kopia lustrzana https://github.com/km4ack/pi-build
219 wiersze
6.5 KiB
Plaintext
219 wiersze
6.5 KiB
Plaintext
#this installs the basic software for build-a-pi
|
|
#km4ack 20200513
|
|
|
|
TEMPCRON=${MYPATH}/cron.tmp
|
|
DIR=${MYPATH}/temp
|
|
mkdir -p ${DIR}
|
|
|
|
source ${MYPATH}/config
|
|
|
|
################################
|
|
# HOTSPOT
|
|
################################
|
|
HOTSPOT() {
|
|
HS="/usr/bin/autohotspotN"
|
|
if [ ! -f "${HS}" ]; then
|
|
#pass variables with script because run as root
|
|
sudo bash ${MYPATH}/functions/autohotspot "${SHACKSSID}" "${SHACKPASS}" "${HSPASS}"
|
|
echo "*/5 * * * * sudo /usr/bin/autohotspotN >/dev/null 2>&1" >>${TEMPCRON}
|
|
else
|
|
echo ################################
|
|
echo ################################
|
|
echo " FATAL ERROR"
|
|
echo "HOTSPOT ALREADY INSTALLED ONCE"
|
|
echo " CANNOT INSTALL AGAIN"
|
|
echo " WILL CONTINUE IN 10 SECONDS"
|
|
echo ################################
|
|
echo ################################
|
|
sleep 10
|
|
fi
|
|
}
|
|
|
|
################################
|
|
# HOTSPOT TOOLS
|
|
################################
|
|
HSTOOLS() {
|
|
if [ -d ${HOME}/hotspot-tools2 ]; then
|
|
rm -rf ${HOME}/hotspot-tools2
|
|
fi
|
|
git clone https://github.com/km4ack/hotspot-tools2.git ${HOME}/hotspot-tools2
|
|
sudo cp ${HOME}/hotspot-tools2/hstools.desktop /usr/share/applications/hotspot-tools.desktop
|
|
}
|
|
|
|
################################
|
|
# GPS
|
|
################################
|
|
GPS() {
|
|
cd ${DIR} || return
|
|
|
|
#old gpsd install left for reference
|
|
#wget --tries 2 --connect-timeout=60 https://raw.githubusercontent.com/km4ack/pi-scripts/master/gpsinstall
|
|
#chmod +x ${DIR}/gpsinstall
|
|
#sudo ${DIR}/gpsinstall
|
|
#rm ${DIR}/gpsinstall
|
|
|
|
#begin gpsd change 11OCT2021 - see https://github.com/km4ack/pi-build/issues/316
|
|
sudo apt-get -y install scons libncurses5-dev python-dev pps-tools chrony
|
|
sudo ldconfig
|
|
cd $HOME/Downloads
|
|
wget http://download.savannah.gnu.org/releases/gpsd/gpsd-3.23.1.tar.gz
|
|
tar -xzf gpsd-3.23.1.tar.gz
|
|
rm gpsd-3.23.1.tar.gz
|
|
cd gpsd-3.23.1/
|
|
scons prefix=/usr --config=force
|
|
sudo scons udev-install
|
|
sudo ldconfig
|
|
sudo wget https://raw.githubusercontent.com/km4ack/pi-scripts/master/gpsd -P /etc/default/
|
|
sudo rm -rf gpsd-3.23.1/
|
|
CHRONYCHK=$(grep "refclock SHM 0 offset 0.5 delay 0.2 refid NMEA" /etc/chrony/chrony.conf)
|
|
if [ -z "$CHRONYCHK" ]; then
|
|
echo "refclock SHM 0 offset 0.5 delay 0.2 refid NMEA" | sudo tee -a /etc/chrony/chrony.conf
|
|
fi
|
|
#end gpsd change 11OCT2021
|
|
|
|
#Set GPS by serial ID
|
|
#GPS Variable set by main script or update script and placed in config file
|
|
if [ "$GPS" != 'NONE' ]; then
|
|
sudo sed -i "s|DEVICES.*$|DEVICES=\"$GPS\"|g" /etc/default/gpsd
|
|
fi
|
|
|
|
#add xgps to menu
|
|
cat >xgps.desktop <<EOF
|
|
[Desktop Entry]
|
|
Name=XGPS
|
|
GenericName=XGPS
|
|
Comment=GPS Date Viewer
|
|
Exec=/usr/bin/xgps
|
|
Icon=/usr/share/icons/Adwaita/scalable/devices/thunderbolt-symbolic.svg
|
|
Terminal=false
|
|
Type=Application
|
|
Categories=Utility
|
|
EOF
|
|
|
|
sudo mv xgps.desktop /usr/share/applications/
|
|
}
|
|
|
|
################################
|
|
# ARDOP
|
|
################################
|
|
ARDOP() {
|
|
mkdir -p ${HOME}/ardop
|
|
cd ${HOME}/ardop || return
|
|
wget --tries 2 --connect-timeout=60 https://www.cantab.net/users/john.wiseman/Downloads/Beta/piardopc
|
|
sudo chmod +x ${HOME}/ardop/piardopc
|
|
}
|
|
|
|
################################
|
|
# ARDOP GUI
|
|
################################
|
|
ARDOPGUI() {
|
|
mkdir -p ${HOME}/ardop
|
|
cd ${HOME}/ardop || return
|
|
wget --tries 2 --connect-timeout=60 https://www.cantab.net/users/john.wiseman/Downloads/Beta/piARDOP_GUI
|
|
sudo chmod +x ${HOME}/ardop/piARDOP_GUI
|
|
cat >ardopgui.desktop <<EOF
|
|
[Desktop Entry]
|
|
Name=ARDOP GUI
|
|
GenericName=ARDOP GUI
|
|
Comment=Graphical User Interface for ARDOP modem
|
|
Exec=${HOME}/ardop/piARDOP_GUI
|
|
Terminal=false
|
|
Type=Application
|
|
Categories=Network;HamRadio;
|
|
EOF
|
|
|
|
sudo mv ardopgui.desktop /usr/share/applications/
|
|
FILE=${HOME}/.config/G8BPQ/ARDOP_GUI.conf
|
|
mkdir -p ${HOME}/.config/G8BPQ
|
|
touch ${FILE}
|
|
echo "[General]" >>${FILE}
|
|
echo "Host=local" >>${FILE}
|
|
echo "Port=8515" >>${FILE}
|
|
}
|
|
|
|
################################
|
|
# HAMLIB
|
|
################################
|
|
HAMLIB() {
|
|
sudo apt install -y libusb-1.0 libusb-dev
|
|
cd ${DIR} || return
|
|
NEWRIG=$(curl -s https://sourceforge.net/projects/hamlib/files/latest/download |
|
|
grep -o https://downloads.sourceforge.net/project/hamlib/hamlib/[0-9].[0-9] |
|
|
head -n 1 | awk -F "/" '{print $7}')
|
|
HAMLIBLINK=https://sourceforge.net/projects/hamlib/files/hamlib/${NEWRIG}/hamlib-${NEWRIG}.tar.gz
|
|
cd ${HOME}/Downloads || return
|
|
echo "###################################"
|
|
echo "# Installing Hamlib "
|
|
echo "###################################"
|
|
wget --tries 2 --connect-timeout=60 ${HAMLIBLINK}
|
|
|
|
tar -xzf hamlib-${NEWRIG}.tar.gz
|
|
rm hamlib-${NEWRIG}.tar.gz
|
|
cd hamlib-${NEWRIG} || return
|
|
./configure
|
|
make
|
|
sudo make install
|
|
sudo ldconfig
|
|
}
|
|
|
|
################################
|
|
# DIREWOLF
|
|
################################
|
|
DIREWOLF() {
|
|
cd ${HOME} || return
|
|
git clone https://www.github.com/wb2osz/direwolf
|
|
cd ${HOME}/direwolf || return
|
|
mkdir build && cd build
|
|
sudo apt-get install -y libasound2-dev cmake libudev-dev
|
|
cmake ..
|
|
make -j 4
|
|
sudo make install
|
|
make install-conf
|
|
sed -i "s/N0CALL/${CALL}/" "${HOME}/direwolf.conf"
|
|
sed -i 's/# ADEVICE plughw:1,0/ADEVICE plughw:2,0/' ${HOME}/direwolf.conf
|
|
sed -i '/#PTT\ \/dev\/ttyUSB0\ RTS/a #Uncomment line below for PTT with sabrent sound card\n#PTT RIG 2 localhost:4532' ${HOME}/direwolf.conf
|
|
rm -rf ${HOME}/direwolf
|
|
}
|
|
|
|
################################
|
|
# AX25
|
|
################################
|
|
AX25() {
|
|
sudo apt-get install -y ax25-tools
|
|
echo "wl2k ${CALL} 1200 255 7 Winlink" | sudo tee -a /etc/ax25/axports
|
|
sudo apt-get install -y ax25-apps
|
|
}
|
|
|
|
################################
|
|
# PULSE AUDIO Control
|
|
################################
|
|
PULSE() {
|
|
sudo apt-get install -y pavucontrol
|
|
}
|
|
|
|
##################################
|
|
# GPS update tool
|
|
##################################
|
|
GPSUPDATE() {
|
|
#remove existing file if needed before installing
|
|
if [ -f ${HOME}/bin/gpsupdate ]; then
|
|
rm ${HOME}/bin/gpsupdate
|
|
fi
|
|
|
|
cd ${HOME}/bin || return
|
|
wget https://raw.githubusercontent.com/km4ack/pi-scripts/master/gpsupdate
|
|
chmod +x gpsupdate
|
|
|
|
cat >gpsupdate.desktop <<EOF
|
|
[Desktop Entry]
|
|
Name=GPS Update Tool
|
|
GenericName=Used to change between GPS units
|
|
Comment=Used to change between GPS units
|
|
Exec=${HOME}/bin/gpsupdate
|
|
Terminal=false
|
|
Type=Application
|
|
Categories=Utility
|
|
EOF
|
|
|
|
sudo mv gpsupdate.desktop /usr/share/applications/
|
|
} |