|
|
@@ -2,13 +2,141 @@ |
|
|
|
|
|
|
|
on_chroot << EOF |
|
|
|
mkdir -p "/home/${FIRST_USER_NAME}/PiSDR/Software" |
|
|
|
cd "/home/${FIRST_USER_NAME}/PiSDR/Software" |
|
|
|
cd "/home/${FIRST_USER_NAME}/PiSDR/Software" |
|
|
|
|
|
|
|
if [ ! -d "dump1090" ]; then |
|
|
|
git clone --depth 1 https://github.com/antirez/dump1090.git |
|
|
|
mkdir -p "/home/${FIRST_USER_NAME}/PiSDR/Software/dump1090" |
|
|
|
fi |
|
|
|
|
|
|
|
install -v -o 1000 -g 1000 -m 755 targets/enable.sh "${ROOTFS_DIR}/home/${FIRST_USER_NAME}/PiSDR/Software/dump1090" |
|
|
|
install -v -o 1000 -g 1000 -m 755 targets/disable.sh "${ROOTFS_DIR}/home/${FIRST_USER_NAME}/PiSDR/Software/dump1090" |
|
|
|
install -v -o 1000 -g 1000 -m 755 targets/configure_rbfeeder.sh "${ROOTFS_DIR}/home/${FIRST_USER_NAME}/PiSDR/Software/dump1090" |
|
|
|
install -v -o 1000 -g 1000 -m 755 targets/configure_fr24feed.sh "${ROOTFS_DIR}/home/${FIRST_USER_NAME}/PiSDR/Software/dump1090" |
|
|
|
|
|
|
|
cd dump1090 |
|
|
|
make -j$(nproc) |
|
|
|
cp dump1090 /usr/bin/ |
|
|
|
|
|
|
|
repository="https://github.com/wiedehopf/readsb.git" |
|
|
|
|
|
|
|
apt-get update |
|
|
|
apt-get install --no-install-recommends --no-install-suggests -y git build-essential debhelper libusb-1.0-0-dev \ |
|
|
|
pkg-config dh-systemd libncurses5-dev lighttpd zlib1g-dev zlib1g unzip |
|
|
|
|
|
|
|
rm -rf "$ipath"/git |
|
|
|
if ! git clone --branch stale --depth 1 "$repository" "$ipath/git" |
|
|
|
then |
|
|
|
echo "Unable to git clone the repository" |
|
|
|
exit 1 |
|
|
|
fi |
|
|
|
|
|
|
|
rm -rf "$ipath"/readsb*.deb |
|
|
|
|
|
|
|
cd "$ipath/git" |
|
|
|
|
|
|
|
sed -i 's/librtlsdr0, librtlsdr-dev, //g' debian/control |
|
|
|
|
|
|
|
export DEB_BUILD_OPTIONS=noddebs |
|
|
|
if ! dpkg-buildpackage -b -Prtlsdr -ui -uc -us |
|
|
|
then |
|
|
|
echo "Something went wrong building the debian package, exiting!" |
|
|
|
exit 1 |
|
|
|
fi |
|
|
|
|
|
|
|
echo "Installing the Package" |
|
|
|
if ! dpkg -i ../readsb_*.deb |
|
|
|
then |
|
|
|
echo "Something went wrong installing the debian package, exiting!" |
|
|
|
exit 1 |
|
|
|
fi |
|
|
|
echo "Package installed!" |
|
|
|
|
|
|
|
cp -n debian/lighttpd/* /etc/lighttpd/conf-available |
|
|
|
|
|
|
|
# script to change gain |
|
|
|
|
|
|
|
mkdir -p /usr/local/bin |
|
|
|
cat >/usr/local/bin/readsb-gain <<"EOF" |
|
|
|
#!/bin/bash |
|
|
|
gain=$(echo $1 | tr -cd '[:digit:].-') |
|
|
|
if [[ $gain == "" ]]; then echo "Error, invalid gain!"; exit 1; fi |
|
|
|
if ! grep gain /etc/default/readsb &>/dev/null; then sed -i -e 's/RECEIVER_OPTIONS="/RECEIVER_OPTIONS="--gain 49.6 /' /etc/default/readsb; fi |
|
|
|
sudo sed -i -E -e "s/--gain .?[0-9]*.?[0-9]* /--gain $gain /" /etc/default/readsb |
|
|
|
sudo systemctl restart readsb |
|
|
|
EOF |
|
|
|
chmod a+x /usr/local/bin/readsb-gain |
|
|
|
|
|
|
|
# set-location |
|
|
|
cat >/usr/local/bin/readsb-set-location <<"EOF" |
|
|
|
#!/bin/bash |
|
|
|
|
|
|
|
lat=$(echo $1 | tr -cd '[:digit:].-') |
|
|
|
lon=$(echo $2 | tr -cd '[:digit:].-') |
|
|
|
|
|
|
|
if ! awk "BEGIN{ exit ($lat > 90) }" || ! awk "BEGIN{ exit ($lat < -90) }"; then |
|
|
|
echo |
|
|
|
echo "Invalid latitude: $lat" |
|
|
|
echo "Latitude must be between -90 and 90" |
|
|
|
echo |
|
|
|
echo "Example format for latitude: 51.528308" |
|
|
|
echo |
|
|
|
echo "Usage:" |
|
|
|
echo "readsb-set-location 51.52830 -0.38178" |
|
|
|
echo |
|
|
|
exit 1 |
|
|
|
fi |
|
|
|
if ! awk "BEGIN{ exit ($lon > 180) }" || ! awk "BEGIN{ exit ($lon < -180) }"; then |
|
|
|
echo |
|
|
|
echo "Invalid longitude: $lon" |
|
|
|
echo "Longitude must be between -180 and 180" |
|
|
|
echo |
|
|
|
echo "Example format for latitude: -0.38178" |
|
|
|
echo |
|
|
|
echo "Usage:" |
|
|
|
echo "readsb-set-location 51.52830 -0.38178" |
|
|
|
echo |
|
|
|
exit 1 |
|
|
|
fi |
|
|
|
|
|
|
|
echo |
|
|
|
echo "setting Latitude: $lat" |
|
|
|
echo "setting Longitude: $lon" |
|
|
|
echo |
|
|
|
if ! grep -e '--lon' /etc/default/readsb &>/dev/null; then sed -i -e 's/DECODER_OPTIONS="/DECODER_OPTIONS="--lon -0.38178 /' /etc/default/readsb; fi |
|
|
|
if ! grep -e '--lat' /etc/default/readsb &>/dev/null; then sed -i -e 's/DECODER_OPTIONS="/DECODER_OPTIONS="--lat 51.52830 /' /etc/default/readsb; fi |
|
|
|
sed -i -E -e "s/--lat .?[0-9]*.?[0-9]* /--lat $lat /" /etc/default/readsb |
|
|
|
sed -i -E -e "s/--lon .?[0-9]*.?[0-9]* /--lon $lon /" /etc/default/readsb |
|
|
|
systemctl restart readsb |
|
|
|
EOF |
|
|
|
chmod a+x /usr/local/bin/readsb-set-location |
|
|
|
|
|
|
|
echo -------------- |
|
|
|
cd "$ipath" |
|
|
|
|
|
|
|
wget -O tar1090-install.sh https://raw.githubusercontent.com/wiedehopf/tar1090/master/install.sh |
|
|
|
bash tar1090-install.sh /run/readsb |
|
|
|
|
|
|
|
if ! systemctl show readsb | grep 'ExecMainStatus=0' -qs; then |
|
|
|
echo -------------- |
|
|
|
echo -------------- |
|
|
|
journalctl -u readsb | tail -n30 |
|
|
|
echo -------------- |
|
|
|
echo -------------- |
|
|
|
echo "ERROR: readsb service didn't start, if inquiring about the issue please post the above 30 lines of log!" |
|
|
|
echo " common issues: SDR not plugged in." |
|
|
|
echo " the webinterface will show an error until readsb is running!" |
|
|
|
echo -------------- |
|
|
|
fi |
|
|
|
|
|
|
|
echo -------------- |
|
|
|
|
|
|
|
echo "[PiSDR] Disabling services. To enable them, run 'bash enable.sh'." |
|
|
|
|
|
|
|
systemctl disable --now readsb |
|
|
|
systemctl disable --now tar1090 |
|
|
|
systemctl disable --now lighttpd |
|
|
|
|
|
|
|
echo "[PiSDR] Deleting build files to save space." |
|
|
|
|
|
|
|
rm -fr /usr/local/share/tar1090/git-db |
|
|
|
rm -fr /usr/local/share/tar1090/git |
|
|
|
|
|
|
|
EOF |