#!/bin/bash #exit if any command fails set -e if [ `whoami` != "root" ] ; then echo "Rerun as root" exit 1 fi apt -y update apt -y install hostapd gpsd mc git mosh ntp gpsd-clients screen tmux isc-dhcp-server vim-nox lsof tcpdump libyaml-dev python3-pip i2c-tools apt -y upgrade git clone --recursive https://github.com/abersailbot/xpb chown -R pi:pi /home/pi/xpb cd /home/pi/xpb/xpb_deploy cp gpsd /etc/default/gpsd cp boatd-config.yaml /etc/ cp interfaces /etc/network/ cp *.rules /etc/udev/rules.d cp iptables.ipv4.nat /etc cp hostapd.conf /etc/hostapd cp hostapd /etc/default/hostapd cp isc-dhcp-server /etc/default/isc-dhcp-server cp dhcpd.conf /etc/dhcp/dhcpd.conf cp cmdline.txt /boot/cmdline.txt cp motd /etc/motd cp ntp.conf /etc/ntp.conf mkdir /var/log/boatd echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf #tmux wants the US locale??? Seems to work without it, commenting out for now #echo "enable en_US UTF8 locale" #dpkg-reconfigure locales #enable SSHD systemctl enable ssh #enable hostapd systemctl unmask hostapd systemctl enable hostapd #install platformio wget https://raw.githubusercontent.com/platformio/platformio/develop/scripts/get-platformio.py python get-platformio.py #put platformio in the path echo "export PATH=$PATH:/home/pi/.local/bin/" >> ~/.bashrc export PATH=$PATH:/home/pi/.local/bin/ #install python3 gpsd stuff pip3 install gps #install boatd pip3 install python-boatdclient cd /home/pi/xpb cd boatd python3 setup.py install cd /home/pi/xpb/xpb_deploy #change boatd to run in python3 sed -i 's@^#!/usr/bin/python$@#!/usr/bin/python3@' /usr/local/bin/boatd #install boatd service cp boatd.service /etc/systemd/system/boatd.service systemctl daemon-reload systemctl enable boatd #symlink driver ln -s /home/pi/xpb/xpb-boatd-driver/xpb_boatd_driver.py /usr/local/lib/python3.7/dist-packages #set the password to something more secure usermod -p '$6$2VfUJBiCiUNV/RkL$gz2TUtullYN2svx6jb39UESyOholUdE/EehNoqCKagEpzfJMS1wK9hOr1BkQpSMXbbu4Pmr8Pli6zanQ.g10Q0' pi #install SSH keys mkdir /home/pi/.ssh chmod 700 /home/pi/.ssh cp /home/pi/xpb/xpb_deploy/authorized_keys /home/pi/.ssh/authorized_keys chmod 600 /home/pi/.ssh/authorized_keys chown -R pi:pi /home/pi/.ssh #set the timezone rm /etc/localtime ln -s /usr/share/zoneinfo/Etc/UTC /etc/localtime #pi3 GPS fixes echo "dtoverlay=pi3-disable-bt" >> /boot/config.txt systemctl disable hciuart #force HDMI display sed -i 's/^#hdmi_force_hotplug=1/hdmi_force_hotplug=1/' /boot/config.txt