Install piaware & dump1090-fa on MX Linux (MX-23 and MX-25) and antiX Linux 23 and 25

OPTION-1 of 2:
Install Pre-build Packages

MX-25 and antiX-25
Follow instructions here:https://github.com/abcd567a/debian13/blob/master/README.md

MX-23 and antiX-23
Follow instructions here:
https://github.com/abcd567a/debian12/blob/master/README.md

NOTE-1:
As the piaware is compatible to both Systemd & SysVinit, it is compatible to MX-Linux and antiX Linux, irrespective these are booted with SysVinit or Systemd. However there is a minor bug in piaware’s SysVinit file, which causes SysVinit command sudo service piaware status to give erroneous output. This can easily be easily fixed by following command (to be issued after installing piaware):

sudo sed -i 's/\/usr\/bin\/piaware-config -status/status_of_proc \$DAEMON \"piaware\" /' /etc/init.d/piaware

sudo service piaware status

NOTE-2:
The dump1090-fa is compatible to Systemd only, and lacks SysVinit support. To solve this problem, after installing dump1090-fa, you have to manually add SysVinit support by issuing following commands:

STEP-2.1:
sudo wget -O /etc/init.d/dump1090-fa https://github.com/abcd567a/dump1090-fa-init.d/raw/main/dump1090-fa

sudo chmod +x /etc/init.d/dump1090-fa

sudo update-rc.d dump1090-fa defaults

sudo /etc/init.d/dump1090-fa start

STEP-2.2:
sudo wget -O /etc/udev/rules.d/rtl-sdr.rules https://github.com/abcd567a/temp/raw/main/rtl-sdr.rules

STEP-2.3:
Reboot computer to enable DVB-T to be detected by dump1090-fa
sudo reboot

sudo service dump1090-fa status

STEP-2.4:
Check logs (last 15 lines. Change 15 to required number if you want more or less lines)
tail -n 15 /var/log/dump1090-fa.log
tail -n 15 /var/log/piaware.log


OPTION-2 of 2:
Use scripts to build and install packages from Flightaware source code. Both piaware and dump1090-fa installed are compatible to both the SysVinit & Systemd

MX-23, MX-25, and antiX-23, antiX-25
Follow instructions here:
https://github.com/abcd567a/piaware-ubuntu-debian-amd64/blob/master/README.md

NOTE: The script at above page includes adding SysVinit support which is missing in dump1090-fa.. The script also fixes bug in piaware’s SysVinit file. The user does not have to do anything manually.

Check logs (last 15 lines. Change 15 to required number if you want more or less lines)
tail -n 15 /var/log/dump1090-fa.log
tail -n 15 /var/log/piaware.log

 

About SysVinit:

While the main Debian project itself switched to Systemd as its default init system in Debian 8 (Jessie), it still maintains support for SysVinit as an alternative that can be installed manually.

The main Debian-based Linux distributions that still use SysVinit by default are Devuan and antiX. The MX Linux also used to defaults to SysVinit, though this is now changing, as in MX-25 KDE, they have provided Systemd as default.

Key Debian-based distributions with SysVinit by default

  • Devuan: This is a direct fork of Debian created specifically to provide a Systemd-free alternative. It uses SysVinit as its default init system but also supports openrc and runit as options.

  • antiX: Known for being a lightweight distribution, antiX offers both SysVinit and runit as init options, with SysVinit being the default. It’s often recommended as a systemd-free solution.

  • MX Linux: Based on Debian Stable and antiX components, MX Linux defaults to SysVinit and includes an emulation layer for Systemd components if needed. Users can choose which init system to boot with from the GRUB menu. However, the non-systemd option may be removed in upcoming versions.

 

Command to find out the OS has booted with which init system:

The output of following comand shows the init system in use (SysVinit or Runit or Systemd etc)

ps --no-headers -o comm 1
OR
ps -p 1 -o comm=

 
SysVinit
image

Runit
image

Systemd
image

Why we need to find out OS is using which init system?
Because the MX-Linux and antiX Linux are shipped with multi-init systems.

  • MX-Linux (Pre MX-25): Users could select SysVinit or systemd from the GRUB boot menu when starting the OS. The systemd-shim allowed systemd’s session management (like systemd-logind) to run on top of SysVinit, making both functional on the same install.

  • MX-Linux (MX-25+) Separate ISOs.are offerred for SysVinit & Systemd. The systemd-shim method broke with newer kernels (Linux 6.12+), forcing MX to provide distinct ISOs for SysVinit and systemd. Now MX-25 has options for choosing SysVinit (Xfce & Fluxbox) or Systemd (KDE)

  • antiX Linux has option for SysVinit (default), Runit, s6, s6-66, and Dinit.
     

The installation of dump1090-fa & piaware done by any of the two methods described in the first post of this thread, are compatible to both Systemd and SysVinit (init). However antiX-25-beta by default boots with init system Runit.
image
As a result, the installation made as per first post of this thread fails to start at boot. The lighttpd, dump1090-fa, and piaware have to be manually started after boot.

To resove this problem, after installing as per first post of this thread, carryout following workaround which modifies compatibility of lighttpd, dump1090-fa, and piaware from [Syatemd+SysVinit] to [Systemd+SysVinit+Runit] compatible.

STEP-1: Making Lighttpd compatible to runit

(1.1) create folder /etc/sv/lighttpd, create file runin it, and make file run executable

sudo mkdir -p /etc/sv/lighttpd  
sudo touch /etc/sv/lighttpd/run
sudo chmod +x /etc/sv/lighttpd/run

(1.2) Open newly created blank file run by following command
sudo nano /etc/sv/lighttpd/run

(1.3) In above file, copy-paste following code

#!/bin/bash
exec /etc/init.d/lighttpd start

(1.4) Enable the service by creating a symbolic link to /etc/service/:
sudo ln -s /etc/sv/lighttpd /etc/runit/runsvdir/default/

STEP-2: Making dump1090-fa compatible to runit

(2.1) create folder /etc/sv/dump1090-fa, create file runin it, and make file run executable

sudo mkdir -p /etc/sv/dump1090-fa  
sudo touch /etc/sv/dump1090-fa/run
sudo chmod +x /etc/sv/dump1090-fa/run

(2.2) Open newly created blank file run by following command
sudo nano /etc/sv/dump1090-fa/run

(2.3) In above file, copy-paste following code

#!/bin/bash
mkdir /var/run/dump1090-fa | true
exec /usr/share/dump1090-fa/start-dump1090-fa --write-json /var/run/dump1090-fa > /var/log/dump1090-fa.log 2>&1

(2.4) Enable the service by creating a symbolic link to /etc/service/:
sudo ln -s /etc/sv/dump1090-fa /etc/runit/runsvdir/default/

STEP-3: Making piaware compatible to runit

(3.1) create folder /etc/sv/piaware, create file runin it, and make file run executable

sudo mkdir -p /etc/sv/piaware  
sudo touch /etc/sv/piaware/run
sudo chmod +x /etc/sv/piaware/run

(3.2) Open newly created blank file run by following command
sudo nano /etc/sv/piaware/run

(3.3) In above file, copy-paste following code

#!/bin/bash
mkdir -p /var/run/piaware | true
exec /usr/bin/piaware -p /var/run/piaware/piaware.pid > /var/log/piaware.log 2>&1

(3.4) Enable the service by creating a symbolic link to /etc/service/:
sudo ln -s /etc/sv/piaware /etc/runit/runsvdir/default/

STEP-4:
REBOOT Computer to implement the changes.

STEP-5:

After reboot check logs by following commands:

tail -n 10 /var/log/piaware.log
tail -n 10 /var/log/dump1090-fa.log

Commands for manual control

sudo sv status piaware        {status|start|stop|restart}
sudo sv status dump1090-fa    {status|start|stop|restart}

Click on Screenshot to See Larger Size

 

Click on Screenshot to See Larger Size

 

Click on Screenshot to See Larger Size