diff options
author | Max Krummenacher <max.oss.09@gmail.com> | 2017-08-12 19:20:57 +0200 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2017-08-16 00:01:42 +0100 |
commit | e735c176361fca43420565dcb8900bbff2f3664e (patch) | |
tree | b357f81edfdaaee3b35fcb46b106ac485000f7d2 | |
parent | 0c905d4e7fa8e5416945fa0d61ebc1d34409d1e6 (diff) | |
download | openembedded-core-e735c176361fca43420565dcb8900bbff2f3664e.tar.gz openembedded-core-e735c176361fca43420565dcb8900bbff2f3664e.tar.bz2 openembedded-core-e735c176361fca43420565dcb8900bbff2f3664e.zip |
dpkg-configure: do not reload daemon configuration
In case a systemd service disables itself while init is still in its
boot sequence the reloading of the service files can be problematic.
In that case: It seems that systemd looses the state of .device units,
and some services depend on such units (namely serial consoles such as
serial-getty@ttymxc0.service). As a result no getty is spawned on the
affected serial tty.
After a power-cycle the second boot (which does not disable services)
succeeds.
The following sequence shows this problem:
| Jan 09 16:36:28 apalis-t30 systemctl[162]: Removed /etc/systemd/system/sysinit.target.wants/run-postinsts.service.
| Jan 09 16:36:28 apalis-t30 systemd[1]: Reloading.
| ...
| And then the failing one:
| Feb 22 15:33:15 apalis-t30 systemd[1]: dev-ttyS0.device: Job dev-ttyS0.device/start timed out.
| Feb 22 15:33:15 apalis-t30 systemd[1]: Timed out waiting for device dev-ttyS0.device.
| Feb 22 15:33:15 apalis-t30 systemd[1]: Dependency failed for Serial Getty on ttyS0.
| Feb 22 15:33:15 apalis-t30 systemd[1]: serial-getty@ttyS0.service: Job serial-getty@ttyS0.service/start failed with result 'dependency'.
| Feb 22 15:33:15 apalis-t30 systemd[1]: dev-ttyS0.device: Job dev-ttyS0.device/start failed with result 'timeout'.
| Feb 22 15:33:15 apalis-t30 systemd[1]: Reached target Login Prompts.
(the time has been updated between this two events, but that does not
influence the issue)
Using --no-reload in the service file avoids the "Reloading." message
above and seems to not cause such issues anymore.
Reported-by: Stefan Agner <stefan.agner@toradex.com>
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
(cherry picked from commit 94fabe4b03e899d8876027ee2ced649737a9e522)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r-- | meta/recipes-devtools/dpkg/dpkg/dpkg-configure.service | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/meta/recipes-devtools/dpkg/dpkg/dpkg-configure.service b/meta/recipes-devtools/dpkg/dpkg/dpkg-configure.service index f0b0789e4e..9a248ccb4a 100644 --- a/meta/recipes-devtools/dpkg/dpkg/dpkg-configure.service +++ b/meta/recipes-devtools/dpkg/dpkg/dpkg-configure.service @@ -8,7 +8,7 @@ Before=sysinit.target Type=oneshot EnvironmentFile=-@SYSCONFDIR@/default/postinst ExecStart=-@BASE_BINDIR@/sh -c " if [ $POSTINST_LOGGING = '1' ]; then @BINDIR@/dpkg --configure -a > $LOGFILE 2>&1; else @BINDIR@/dpkg --configure -a; fi" -ExecStartPost=@BASE_BINDIR@/systemctl disable dpkg-configure.service +ExecStartPost=@BASE_BINDIR@/systemctl --no-reload disable dpkg-configure.service StandardOutput=syslog RemainAfterExit=No |