Anyone working with the new x86 Raspbian

Webservers will generally not follow symlinks for security reasons.

Oh right no systemd.
Loads of fun.

THANK YOU.
That did the trick :smile:

CLICK ON SCREENSHOT TO SEE LARGER SIZE

.
.
.
CLICK ON SCREENSHOT TO SEE LARGER SIZE

Such good work done by all in this thread and forum and enjoy your continuous contributions @abcd567. Was given two old HP laptops. Thinking they would be great vehicle for dedicated x86 Raspbian box running dmp1090 and piaware. Problem: can’t boot from USB on laptop so my x86 Raspbian stick is useless. Tried removing my laptop drive and cloning my PC drive…like you do when adding a new SSD to a pc. Won’t boot and error is as described on the web. Anyone know what kind of image can i put on laptop hardrive that will boot on laptop?

To rephrase, anyone know how to get my x86 Raspbian bootable off the laptop drive.

Xenialpup update Jan 17:

(1) Following funtion was added to file /etc/init.d/dump1090-fa

dir="/run/dump1090-fa"
if [[ ! -e $dir ]]; then
    mkdir $dir
fi

.

CLICK ON SCREENSHOT TO SEE LARGER SIZE


.

(2) In file /etc/hiawatha/hiawatha.conf :

following chunck of code:

#WebsiteRoot = /root/Web-Server
WebsiteRoot = /usr/share/dump1090-fa/html
Alias = /data:/run/dump1090-fa

was changed to:

WebsiteRoot = /root/Web-Server
Alias = /dump1090-fa:/usr/share/dump1090-fa/html

and a symlink named data was created in folder /usr/share/dump1090-fa/html


root# ln -s /run/dump1090-fa /usr/share/dump1090-fa/html/data

Reason for Symlink:
After restoring Website root to original, the Alias = /data:/run/dump1090-fa stopped working. Tried following Alias, but Hiawatha wont accept an Alias with path or trailing slash in left part:
Alias = /dump1090-fa/data: /run/dump1090-fa/
Creation of Symlink in folder /usr/share/dump1090-fa/html to /run/dump1090-fa solved the problem

.
CLICK ON SCREENSHOT TO SEE LARGER SIZE

.

(3) Made webserver automatically start at boot.

The webserver “Hiawatha” by default does not start at boot, and is to be started manually. To start it at boot, creating its init script file in folder /etc/init.d failed to start it at boot, although the init file was made executable, and updated rc.d defaults.

Finally succeeded by creating a Symlink to the hiawatha’s executable file in folder /root/Startup.

ln -s /usr/sbin/hiawatha /root/Startup

.
.
CLICK ON SCREENSHOT TO SEE LARGER SIZE

.
.

CLICK ON SCREENSHOT TO SEE LARGER SIZE

Xenialpup: Attempt to Build Piaware .deb Package

FAILED :angry: :rage:

1 - Prepration

1.1 - Installed following packages via PPM (Puppy Package Manager)

  • systemd_229
  • devscripts_2.16.2ubuntu3
  • build-essential_12.1ubuntu2
  • debhelper_9.20160115
  • autoconf_2.69-9
  • python3-venv_3.5.1-3
  • virtualenv_15.0.1+ds
  • tclx8.4_8.4.1-1
  • tcllib_1.17-dfsg-1
  • tcl-tls_1.6.7+dfsg-1
  • itcl3_3.4.3-1
  • net-tools_1.60

1.2 - Following packages are not available in PPM. Downloaded from links given with each package.

2 - Cloning Source-code & Building Package

root# git clone https://github.com/flightaware/piaware_builder.git
root# cd piaware_builder
root# ./sensible-build.sh xenial

Retrieving v3.6.3 from https://github.com/flightaware/piaware.git
... ... ...
Ok, package is ready to be built in ./package-xenial
root# cd package-xenial
root# dpkg-buildpackage -b -d

dpkg-buildpackage: source package piaware
dpkg-buildpackage: source version 3.6.3~ubuntu1604+1
dpkg-buildpackage: source distribution xenial
dpkg-buildpackage: source changed by FlightAware build automation <adsb-devs@flightaware.com>
dpkg-buildpackage: host architecture i386
 dpkg-source --before-build package-xenial
 debian/rules clean
dh clean --with=systemd
   dh_testdir
   debian/rules override_dh_auto_clean
make[1]: Entering directory '/root/piaware_builder/package-xenial'
dh_auto_clean -D tcllauncher
dh_auto_clean -D dump1090
	cd dump1090
	make -j1 clean
make[2]: Entering directory '/root/piaware_builder/package-xenial/dump1090'
rm -f *.o compat/clock_gettime/*.o compat/clock_nanosleep/*.o dump1090 view1090 faup1090 cprtests crctests convert_benchmark
Package libbladeRF was not found in the pkg-config search path.
Perhaps you should add the directory containing `libbladeRF.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libbladeRF' found
make[2]: Leaving directory '/root/piaware_builder/package-xenial/dump1090'
	cd /root/piaware_builder/package-xenial
make[1]: py3versions: Command not found
cd mlat-client && /usr/bin/ setup.py clean -a
/bin/sh: /usr/bin/: Is a directory
debian/rules:70: recipe for target 'clean_mlat-client' failed
make[1]: *** [clean_mlat-client] Error 126
make[1]: Leaving directory '/root/piaware_builder/package-xenial'
debian/rules:88: recipe for target 'clean' failed
make: *** [clean] Error 2
dpkg-buildpackage: error: debian/rules clean gave error exit status 2

root#

Don’t think it will make much difference but you had bladeRF enabled.

This is the only occurance of bladeRF in file “rules”
piaware_builder/package-xenial/debian/rules

.

There is the no occurance of bladeRF in file “control”
piaware_builder/package-xenial/debian/control

.
.

As I can guess from error messages, the problem which caused process to abort is with mlat-client

.

Hmm i see. Strange that it would still mention bladeRF.

py3versions is not installed which should come with python3 or python3.7

It found bladeRF in another file:
piaware_builder/package-xenial/dump1090/debian/control

What for dump1090 folder is existing inside piaware_builder/package-xenial/ folder???

I have already installed these packages before I issued dpkg-buildpackage command

  • python3-venv_3.5.1-3
  • python3-dev_3.5.1-3_i386.deb

No clue how piaware_builder works :slight_smile:
Anyway the real problem is the missing program py3versions which comes with python3 (or maybe you have python version that doesn’t have that assistance program and you just need to install py3versions)

Anyway without systemd it’s not gonna build i believe, probably a dependency.

Maybe it’s used for building the sd-card as well? Not sure why it would include dump1090.
Or it just is their go to solution for building all debian packets they publish.

If you see my first post of today (Post # 215), you will find that I have already installed following packages before issuing the "dpkg-buildpackage" command

  • systemd_229
  • python3-venv_3.5.1-3
  • python3-dev_3.5.1-3_i386.deb

EDIT:
I have now installed this package also

  • systemd-sysv_229

You are still missing the program py3versions.
Maybe you only installed the development package for python3, dev packages don’t necessarily contain all the stuff …
Quick google shows in xenial py3versions is provided by python3-minimal
(maybe provided by python3 as well)

Thanks, I also found same thing before seeing your post, checked PPM, not available, then found and installed :

Gave command "dpkg-buildpackage -b -d". It got past the stage where it has got stuck initially, but now it got stuck with Cx-Freez

... ... ...

building 'cx_Freeze.util' extension
creating build/temp.linux-i686-3.5
creating build/temp.linux-i686-3.5/source
i686-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -g -O2 -fPIC -I/root/piaware_builder/package-xenial/debian/venv/include -I/usr/include/python3.5m -c source/util.c -o build/temp.linux-i686-3.5/source/util.o
source/util.c:6:20: fatal error: Python.h: No such file or directory
compilation terminated.
error: command 'i686-linux-gnu-gcc' failed with exit status 1
debian/rules:60: recipe for target 'build_cxfreeze' failed
make[1]: *** [build_cxfreeze] Error 1
make[1]: Leaving directory '/root/piaware_builder/package-xenial'
debian/rules:88: recipe for target 'build' failed
make: *** [build] Error 2
dpkg-buildpackage: error: debian/rules build gave error exit status 2

can you log out and log in and try again?

It’s not finding the <python.h> which should be somewhere with the one of the dev versions of the libraries.
Maybe it didn’t refresh the path properly when you installed it.

[strike] Apart from that i’m mostly out of ideas :frowning: [/strike]

Do this:
sudo find / -name Python.h

It should be in
/usr/include/python3.5m
otherwise the compile won’t work :confused:

If you ever get this to work you better provide the debian packages for that image so people don’t need to compile them themselves :stuck_out_tongue:
Anyway i guess you need to install a truckload of stuff before you can even install those packages.

Bad news: the USB flash, on which Xenialpup’s image was written, suddenly died. With it my steps & observations which I was noting on Xenialpup’s notepad also vanished.

Good news: I have posted all the steps on FA forum, which is now backup for me.

NEXT
Start with a new USB flash and fresh install of everything.

.
CLICK ON SCREENSHOT TO SEE LARGER SIZE

SUCCESS With Another Puppy-Linux:

BionicDog (Forked from DebianDog)

Xnialpup lacks lot of infrastructure, and requires lots of workarounds and loads of packages to be added, and still no success as systemd still does not work properly, and also Piaware builder got stuck at cx_freez.

I landed into another version of Puppy-Linux, the BionicDog (forked from DebianDog). It is Ubuntu Bionic, but "pupped". It is fast and lightweigt (405 Mb), as well as has all the necessary infrastructure out of the box (i.e. firmware, systemd, apt, dpkg etc etc).

BionicDog

1 - Installation of OS on USB Flash Stick / Pendrive

1.1 - From above page download:

BionicDog32_2018-06-04-firmware_all.iso (Size: 405MB)

1.2 - Burn above .iso to a DVD. I have used a USB Flash instead, and burned image by Win32Disk imager. I will call it USB#1

1.3 - Boot PC using USB#1 (or DVD)

1.4 - Plugg-in 2nd USB Flash Stick / Pendrive on which the BionicDog Full install will be done. Call it USB#2

1.4 - Click menu → System → BionicDog-Full-Install

1.5 - Choose USB#2 as drive on which BionicDog will be installed (sdc1 in screenshot below, but it may be a different partition number on your computer)

1.6 - Click Install button

.

1.7 - Click “YES” button

install-3

.

install-4
.

1.8 - Click OK button

install-5

.
1.9 - Click OK button
install-6

.
1.10 - Congratulations, BionicDog is installed on USB#2 (sdc1 in this examle). Shutdown computer. When asked to “Save”, click “Quit” button.

install-7

.

2 - Remove Installation media (DVD or USB#1) and boot from USB#2.

NOTE:
(a) Booting from USB#2 takes about 2 ~ 3 minutes depending on speed of USB and CPU.

(b) During boot, at one stage, the display does not show any progress for a while. This gives the impression that computer has hanged/froze. Please be patient, it will automatically move-on after a while.

3 - Installation of dump1090-fa

.
3.1 - Update system

root@live:~# apt update

.

3.2 - Install packages necessary to build and to fulfil dependencies

root@live:~# apt install -y git curl build-essential debhelper pkg-config 

root@live:~# apt install -y rtl-sdr librtlsdr-dev libusb-1.0-0 libusb-1.0-0-dev   

root@live:~# apt install -y cron lighttpd fakeroot dh-systemd libncurses5-dev  
   

.
.

3.3 - Clone source-code from github

root@live:~# git clone https://github.com/flightaware/dump1090.git   

.

3.4 - Enter Cloned directory “dump1090”, and remove bladeRF entries from 2 files as shown in 2.4.1 & 2.4.2

root@live:~# cd dump1090

3.4.1. Edit file debian/control and remove bladeRF

root@live:~# cd dump1090

root@live:~/dump1090# nano debian/control

  • Scroll down till you find the first lines below.
  • Scroll down further to find second line.
  • Delete libbladerf in both lines as shown in red below.

.

3.4.2 - Edit file debian/rules and change BLADERF=yes to BLADERF=no

root@live:~# cd dump1090

root@live:~/dump1090# nano debian/rules
  • Scroll down till you find the line shown below.
  • Change BLADERF=yes to BLADERF=no as shown in red below.

.

3.5 - Build the dump1090-fa package

root@live:~# cd dump1090

root@live:~/dump1090# sudo dpkg-buildpackage -b

.

3.6 - After package building is completed, go out of dump1090 directory and check if the package is actually built:

root@live:~/dump1090# cd ../

root@live:~# ls

2019-01-26-163236_222x119_scrot.png  dump1090-fa_3.6.3_i386.deb 
Desktop                              dump1090-fa-dbgsym_3.6.3_i386.ddeb  
Downloads                            my-documents 
dump1090                             Startup 
dump1090_3.6.3_all.deb               tint2launchers 
dump1090-fa_3.6.3_i386.buildinfo     txt2svg 
dump1090-fa_3.6.3_i386.changes 

.

3.7 - Install dump1090-fa

root@live:~# sudo dpkg -i dump1090-fa_*.deb

root@live:~# sudo reboot

.

3.8 - Check after Reboot

root@live:~# systemctl status dump1090-fa
● dump1090-fa.service - dump1090 ADS-B receiver (FlightAware customization)
   Loaded: loaded (/lib/systemd/system/dump1090-fa.service; enabled; vendor preset: enabled)
   Active: active (running) since Sun 2019-01-27 02:26:15 EST; 27s ago
     Docs: https://flightaware.com/adsb/piaware/
 Main PID: 21362 (dump1090-fa)
    Tasks: 3 (limit: 4915)
   CGroup: /system.slice/dump1090-fa.service
           └─21362 /usr/bin/dump1090-fa --device-index 0 --gain -10 --ppm 0 --net-bo-port 300

Jan 27 02:26:15 live systemd[1]: Started dump1090 ADS-B receiver (FlightAware customization).
Jan 27 02:26:15 live dump1090-fa[21362]: Sun Jan 27 02:26:15 2019 EST  dump1090-fa 3.6.3 star
Jan 27 02:26:15 live dump1090-fa[21362]: rtlsdr: using device #0: Generic RTL2832U (Realtek, 
Jan 27 02:26:15 live dump1090-fa[21362]: Detached kernel driver
Jan 27 02:26:15 live dump1090-fa[21362]: Found Rafael Micro R820T tuner
Jan 27 02:26:15 live dump1090-fa[21362]: rtlsdr: enabling tuner AGC

.
NOTE:
1 - Using mag-mount antenna inside room
2 - VERY FEW FLIGHTS AT THIS HOUR OF NIGHT

CLICK ON SCREENSHOT TO SEE LARGER SIZE

.

4 - Installation of Piaware data feeder

.
4.1 - Update system

root@live:~# apt update

.
4.2 - Install packages necessary to build and to fulfil dependencies

root@live:~# apt install -y git devscripts build-essential debhelper  

root@live:~# apt install -y tcl8.6-dev autoconf python3-dev python3-venv  

root@live:~# apt install -y virtualenv dh-systemd zlib1g-dev tclx8.4  

root@live:~# apt install -y tcllib tcl-tls itcl3 net-tools 


.

4.3 - Clone source-code and build Piaware package

root@live:~# git clone https://github.com/flightaware/piaware_builder.git  

root@live:~# cd  piaware_builder  

root@live:~/piaware_builder# CODENAME=(`lsb_release -sc`)  

root@live:~/piaware_builder# echo ${CODENAME}  

root@live:~/piaware_builder# ./sensible-build.sh ${CODENAME}  

root@live:~/piaware_builder# cd  package-${CODENAME}  

root@live:~/piaware_builder/package-bionic# dpkg-buildpackage -b  

.
4.4 - Check if the package is actually built

root@live:~/piaware_builder/package-bionic# cd ../   

root@live:~/piaware_builder# ls  

bionic       package-bionic                               README.md
changelog    piaware_3.6.3~ubuntu1804+1_i386.buildinfo    sensible-build.sh
common       piaware_3.6.3~ubuntu1804+1_i386.changes      stretch
Jenkinsfile  piaware_3.6.3~ubuntu1804+1_i386.deb          wheezy
jessie       piaware-dbgsym_3.6.3~ubuntu1804+1_i386.ddeb  xenial

.
4.5 - Install Piaware

root@live:~/piaware_builder# sudo dpkg -i piaware_*.deb  

.

4.6 - CONFIGURE PIAWARE


root@live:~/piaware_builder# cd 

root@live:~# piaware-config feeder-id xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

root@live:~# piaware-config allow-auto-updates yes
root@live:~# piaware-config allow-manual-updates yes

root@live:~#  systemctl restart piaware

.
4.7 - Check Status

root@live:~# systemctl status piaware

● piaware.service - FlightAware ADS-B uploader
   Loaded: loaded (/lib/systemd/system/piaware.service; enabled; vendor preset: enabled)
   Active: active (running) since Sun 2019-01-27 03:46:17 EST; 7min ago
     Docs: https://flightaware.com/adsb/piaware/
 Main PID: 32197 (piaware)
    Tasks: 4 (limit: 4915)
   CGroup: /system.slice/piaware.service
           ├─32197 /usr/bin/piaware -p /run/piaware/piaware.pid -plainlog -statusfile /run/piaware/status.json
           ├─32218 /usr/lib/piaware/helpers/fa-mlat-client --input-connect localhost:30005 --input-type dump1090 --results beast,connect,
           └─32704 /usr/lib/piaware/helpers/faup1090 --net-bo-ipaddr localhost --net-bo-port 30005 --stdout --lat 43.xxx --lon -79.xxx

Jan 27 03:46:52 live piaware[32197]: 0 msgs recv'd from dump1090; 0 msgs sent to FlightAware
Jan 27 03:47:21 live sudo[32702]:  piaware : TTY=unknown ; PWD=/ ; USER=root ; COMMAND=/bin/netstat --program --tcp --wide --all --numeri
Jan 27 03:47:21 live sudo[32702]: pam_unix(sudo:session): session opened for user root by (uid=0)
Jan 27 03:47:21 live sudo[32702]: pam_unix(sudo:session): session closed for user root
Jan 27 03:47:21 live piaware[32197]: ADS-B data program 'dump1090-fa' is listening on port 30005, so far so good
Jan 27 03:47:21 live piaware[32197]: Starting faup1090: /usr/lib/piaware/helpers/faup1090 --net-bo-ipaddr localhost --net-bo-port 30005 -
Jan 27 03:47:21 live piaware[32197]: Started faup1090 (pid 32704) to connect to dump1090-fa
Jan 27 03:47:21 live piaware[32197]: piaware received a message from dump1090-fa!
Jan 27 03:48:32 live piaware[32197]: piaware has successfully sent several msgs to FlightAware!
Jan 27 03:51:52 live piaware[32197]: 16 msgs recv'd from dump1090-fa (16 in last 5m); 16 msgs sent to FlightAware

ENJOY :slight_smile:

2 Likes

Found Another Dog, the StretchDog.

.
CLICK ON SCREENSGHOT TO SEE LARGER SIZE


.

https://debiandog.github.io/doglinux/zz02stretchdog.html

Downloaded OS: StretchDog32-openbox_xfce-jwm-2017-10-10.iso
Size: 242MB
.

The procedure to install OS is almost same as that of BionicDog, except for few minor differences:

(1) In step 1.6 for BionicDog, one does not need to point to the location of the downloaded .iso. For StretchDog, the location of the downloaded .iso is required to be pointed to.

(2) After full-install is completed and the computer is booted by USB#2, at boot menu, following options are presented:

  • Boot with systemvinit (default)
  • Boot with systemd

One has to manually change from default sysvinit to systemd option at every boot/reboot. A better option is to modify Boot Config / Grub to change default to systemd.

How to change default from sysvinit to systemd

Open file /menu.lst for editing

root@live:~# nano /menu.lst

The above command will open following file
.

# menu.lst produced by grub4dosconfig-v1.7
color white/blue black/cyan white/black cyan/black
timeout 10
default 0 


title DDog - sysvinit
 uuid f13dfcc6-bf90-4c64-894e-44a472e9973d
 kernel /boot/vmlinuz1 root=UUID=f13dfcc6-bf90-4c64-894e-44a472e9973d ro
 initrd /boot/initrd.img

title DDog - systemd
 uuid f13dfcc6-bf90-4c64-894e-44a472e9973d
 kernel /boot/vmlinuz1 root=UUID=f13dfcc6-bf90-4c64-894e-44a472e9973d init=/bin$
 initrd /boot/initrd.img

title Reboot computer
  reboot

.

In this file change 4th line
default 0
to
default 1

(0 represents first entry which is sysvinit, and 1 represents second entry which is systemd)

Save file and reboot
.
(3) After full installation of OS on USB#2 is completed and PC is booted by USB#2 (i.e. after Step 2 of BionicDog), one has to download file “61-DEVX-Stretch_1386.squashfs” from:
Release Extra Modules StretchDog ¡ fredx181/StretchDog ¡ GitHub.

After download, right-click on downloaded file and in the pop-up menu select “load-sfs-chroot full install” .

The procedure to install dump1090-fa and Piaware is identical to that of BionicDog, except in step 4.3 as shown below:

The distro codename stretch is not returned by command lsb_release -sc. hence following revise item 4.3 is given below:

4.3 - Clone source-code and build Piaware package

root@live:~# git clone https://github.com/flightaware/piaware_builder.git  

root@live:~# cd  piaware_builder  


root@live:~/piaware_builder# ./sensible-build.sh stretch  

root@live:~/piaware_builder# cd  package-stretch  

root@live:~/piaware_builder/package-stretch# dpkg-buildpackage -b  

#Move to directory where piawarepackage is built
root@live:~/piaware_builder/package-stretch# cd ../ 

#Install piaware package
root@live:~/piaware_builder# sudo dpkg -i piaware_*.deb

.

CHECK

root@live:~# systemctl status piaware
● piaware.service - FlightAware ADS-B uploader
   Loaded: loaded (/lib/systemd/system/piaware.service; enabled; vendor preset: enabled)
   Active: active (running) since Sun 2019-01-27 20:48:53 UTC; 49s ago
     Docs: https://flightaware.com/adsb/piaware/
 Main PID: 7873 (piaware)
    Tasks: 4 (limit: 4915)
   CGroup: /system.slice/piaware.service
           ├─7873 /usr/bin/piaware -p /run/piaware/piaware.pid -plainlog -statusfile /run
           ├─7910 /usr/lib/piaware/helpers/fa-mlat-client --input-connect localhost:30005
           └─7917 /usr/lib/piaware/helpers/faup1090 --net-bo-ipaddr localhost --net-bo-po

Jan 27 20:48:56 live piaware[7873]: mlat-client(7910): Input format changed to BEAST, 12M
Jan 27 20:48:57 live sudo[7915]:  piaware : TTY=unknown ; PWD=/ ; USER=root ; COMMAND=/bi
Jan 27 20:48:57 live sudo[7915]: pam_unix(sudo:session): session opened for user root by 
Jan 27 20:48:57 live piaware[7873]: ADS-B data program 'dump1090-fa' is listening on port
Jan 27 20:48:57 live piaware[7873]: Starting faup1090: /usr/lib/piaware/helpers/faup1090 
Jan 27 20:48:57 live piaware[7873]: Started faup1090 (pid 7917) to connect to dump1090-fa
Jan 27 20:48:57 live piaware[7873]: mlat-client(7910): Beast-format results connection wi
Jan 27 20:48:57 live piaware[7873]: piaware received a message from dump1090-fa!
Jan 27 20:48:59 live piaware[7873]: piaware has successfully sent several msgs to FlightA
Jan 27 20:49:28 live piaware[7873]: 83 msgs recv'd from dump1090-fa; 83 msgs sent to Flig
1 Like

Hi, abcd567
Sorry to revive this topic but, just to thank you !
I’ve installed piaware on Ubuntu 19.04 and everything works fine.
Was just necessary to replace codname “disco” to codname “bionic”.
Regards
vsqz44

1 Like