[Bug 1898160] Re: service fails badly on non target platform

Dave Jones 1898160 at bugs.launchpad.net
Tue Dec 1 17:56:35 UTC 2020


In the update to rpi-eeprom 10.3-1 (LP: #1906434), there's a bit more
logic in rpi-eeprom-update that provides a fallback if
/sys/firmware/devicetree/base/system/linux,revision doesn't exist (using
/proc/cpuinfo or vcgencmd otp_dump as a last resort). For that reason,
it's probably not ideal to include the ConditionPathExists suggested (it
would potentially block rpi-eeprom-update from running even when it
should).

I'm also not entirely convinced the service should "stay quiet" if
installed on non-pi hardware. Wouldn't an admin who'd (presumably
accidentally) installed this package on their arm64 non-pi hardware want
to know there's a service attempting (and failing) to flash a non-
existent EEPROM on their hardware?

Or is there a scenario I'm missing where installing this on arm64 non-pi
hardware is expected, and leaving it installed is reasonable? If there
is, I suspect something a bit more invasive may be required as
/sys/.../linux,revision exists on quite a lot of arm64 non-pi hardware.
What may be required is to add a Raspberry Pi specific check to /usr/bin
/rpi-eeprom-update to have it exit successfully if it finds itself on
such hardware (checking for a "Raspberry Pi" prefix in /sys/.../model
should be sufficient).

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to rpi-eeprom in Ubuntu.
https://bugs.launchpad.net/bugs/1898160

Title:
  service fails badly on non target platform

Status in rpi-eeprom package in Ubuntu:
  New

Bug description:
  If run on e.g. an arm64 container it now installs fine at least (thanks!).
  But some issues are left that could be more graceful.

  root at groovy-arm64:~# systemctl status rpi-eeprom-update.service
  ● rpi-eeprom-update.service - Check for Raspberry Pi EEPROM updates
       Loaded: loaded (/lib/systemd/system/rpi-eeprom-update.service; enabled; vendor preset: enabled)
       Active: failed (Result: exit-code) since Fri 2020-10-02 06:23:25 UTC; 15s ago
      Process: 488 ExecStart=/usr/bin/rpi-eeprom-update -a (code=exited, status=2)
     Main PID: 488 (code=exited, status=2)

  Oct 02 06:23:25 groovy-arm64 systemd[1]: Starting Check for Raspberry Pi EEPROM updates...
  Oct 02 06:23:25 groovy-arm64 rpi-eeprom-update[492]: od: /sys/firmware/devicetree/base/system/linux,revision: No such file or directory
  Oct 02 06:23:25 groovy-arm64 rpi-eeprom-update[488]: /usr/bin/rpi-eeprom-update: 272: arithmetic expression: expecting ')': "(0x >> 23) & 1"
  Oct 02 06:23:25 groovy-arm64 systemd[1]: rpi-eeprom-update.service: Main process exited, code=exited, status=2/INVALIDARGUMENT
  Oct 02 06:23:25 groovy-arm64 systemd[1]: rpi-eeprom-update.service: Failed with result 'exit-code'.
  Oct 02 06:23:25 groovy-arm64 systemd[1]: Failed to start Check for Raspberry Pi EEPROM updates.

  
  Maybe a ConditionPathExists=/sys/firmware/devicetree/base/system/linux,revision or such would already help?

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/rpi-eeprom/+bug/1898160/+subscriptions



More information about the foundations-bugs mailing list