Do not apt-get upgrade on PiAware sdcard 3.3.0 images

A warning that if you do an apt-get upgrade (upgrading all packages, including system packages) on a PiAware 3.3.0 or older sdcard image it is likely to break.

The simplest option to avoid this is to re-image with a PiAware 3.5.0 image.

If you can’t do that, avoid upgrading the system packages (upgrading just PiAware via the remote command or by “apt-get install piaware” is OK)

There are several interrelated problems, related to a new Raspbian kernel packge that was recently released:

  1. You will run out of space on /boot as the partition is not large enough to hold all the required kernels / initrd images / etc, which leaves the kernel half upgraded
  2. Using an old (4.4) kernel with newer Pi bootloader/firmware will produce a randomized MAC address on each boot due to an incompatibility with the older kernel
  3. The new kernel can panic on boot due to a kernel bug that is tickled by the config.txt (enable_uart=1 setting) used by the 3.3.0 image

Recovering this by hand is somewhat tricky so I strongly recommend you just go with a new 3.5.0 image.

1 Like

Whenever a new version is released, I re-image rather than upgrade.This has been my practice since long, even when there were no issues in upgrading.

How would I tell which version I have? My Skyview said 3.5.0, but after upgrading everything it would not boot. I reverted to the backup so no problem getting back up and running. The /boot partition appears to be only about 30% used.



uname -a


#output on my android phone
$ uname -a
Linux localhost 3.4.0-5793883 #1 SMP PREEMPT Fri Sep 11 17:43:50 KST 2015 armv7l Android
$

Probably the simplest way to work out the original sdcard version is



sudo grep "Setting up piaware-support" /var/log/raspbian-ua-netinst.log


This will get you the version of piaware-support installed when the sdcard image was originally built.

What about Piaware add-on package install?

I am not at home, so cannot try on Pi the following two commands I remember, but tried these two on my Android phone Samsung Galaxy, and got following output:

$ cat / proc / version
Linux version 3.4.0-5793883 (dpi@SWHD4402) (gcc version 4.8 (GCC) ) #1 SMP PREEMPT Fri Sep 11 17:43:50 KST 2015

$ uname -a
Linux localhost 3.4.0-5793883 #1 SMP PREEMPT Fri Sep 11 17:43:50 KST 2015 armv7l Android

Now at home. Tried various commands on Piaware (sd card image) & Piaware (add-on package)

pi@piaware:~$ sudo grep “Setting up piaware-support” /var/log/raspbian-ua-netinst.log
Setting up piaware-support (3.5.0) …

pi@raspberrypi:~ $ sudo grep “Setting up piaware-support” /var/log/raspbian-ua-netinst.log
grep: /var/log/raspbian-ua-netinst.log: No such file or directory

pi@orangepipc:~$ sudo grep “Setting up piaware-support” /var/log/raspbian-ua-net inst.log
grep: /var/log/raspbian-ua-netinst.log: No such file or directory

pi@piaware:~$ uname -a
Linux piaware 4.9.35-v7+ #1014 SMP Fri Jun 30 14:47:43 BST 2017 armv7l GNU/Linux

pi@raspberrypi:~ $ uname -a
Linux raspberrypi 4.9.35+ #1014 Fri Jun 30 14:34:49 BST 2017 armv6l GNU/Linux

pi@orangepipc:~$ uname -a
Linux orangepipc 3.4.113-sun8i #18 SMP PREEMPT Thu Jun 15 02:16:06 CEST 2017 armv7l armv7l armv7l GNU/Linux

pi@piaware:~$ cat / proc / version
Linux version 4.9.35-v7+ (dc4@dc4-XPS13-9333) (gcc version 4.9.3 (crosstool-NG c rosstool-ng-1.22.0-88-g8460611) ) #1014 SMP Fri Jun 30 14:47:43 BST 2017

pi@raspberrypi:~ $ cat / proc / version
Linux version 4.9.35+ (dc4@dc4-XPS13-9333) (gcc version 4.9.3 (crosstool-NG crosstool-ng-1.22.0-88-g8460611) ) #1014 Fri Jun 30 14:34:49 BST 2017

pi@orangepipc:~$ cat / proc / version
Linux version 3.4.113-sun8i (root@devel) (gcc version 5.4.0 20160609 (Ubuntu/Linaro 5.4.0-6ubuntu1~16.04.4) ) #18 SMP PREEMPT Thu Jun 15 02:16:06 CEST 2017

The question is meaningless except on a sdcard image.

Thank you. That gave me piaware-support (3.0.4) so it’s an older version. For interest’s sake, I tried uname -a too. It gives 4.4.0-1-rpi2.

Thanks again for your help.

@obj Cool didn’t know you had an apt repository.
Should have paid more attention here then on the source code repositories.

I know my work at adsbreceiver.net is third party but would it be better if I switch things to use the apt repository over building the source code via scripts?

The FA repository has dump1090-fa/piaware/et al for wheezy/jessie on armhf only; for anything that’s not that, you will need to build it from source.

@jprochazka
Agree with @ericcarlson.
On following systems, I could not not do package install from Flightaware repository, and used your scripts (or manual commands) to build the .deb packages:

  1. Ubuntu 16.04 x64 on Desktop computer, Intel Core2 Duo CPU, x64 based processor

  2. Ubuntu 16.04 x64 on Laptop computer, Intel Core i3 x4 CPU, x64 based processor

  3. Raspbian Jessie x86 rpd in Oracle VM on Windows 8.1 on Desktop computer, Intel Core2 Duo CPU, x64 based processor

.

.

.