From e735c176361fca43420565dcb8900bbff2f3664e Mon Sep 17 00:00:00 2001 From: Max Krummenacher Date: Sat, 12 Aug 2017 19:20:57 +0200 Subject: 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 Signed-off-by: Max Krummenacher (cherry picked from commit 94fabe4b03e899d8876027ee2ced649737a9e522) Signed-off-by: Richard Purdie --- meta/recipes-devtools/dpkg/dpkg/dpkg-configure.service | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'meta/recipes-devtools') 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 -- cgit 1.2.3-korg