[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