From 23b359b6e26d0b17037bf955bd15a16a3fd9ab8f Mon Sep 17 00:00:00 2001 From: Max Krummenacher Date: Sat, 12 Aug 2017 19:20:59 +0200 Subject: run-postinsts: 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 4a425d05bac5dcba023b67aa3d726f7e7869404f) Signed-off-by: Richard Purdie --- meta/recipes-devtools/run-postinsts/run-postinsts/run-postinsts.service | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'meta/recipes-devtools') diff --git a/meta/recipes-devtools/run-postinsts/run-postinsts/run-postinsts.service b/meta/recipes-devtools/run-postinsts/run-postinsts/run-postinsts.service index 85a043949e..1b71a1f8be 100644 --- a/meta/recipes-devtools/run-postinsts/run-postinsts/run-postinsts.service +++ b/meta/recipes-devtools/run-postinsts/run-postinsts/run-postinsts.service @@ -8,7 +8,7 @@ ConditionPathExistsGlob=#SYSCONFDIR#/*-postinsts [Service] Type=oneshot ExecStart=#SBINDIR#/run-postinsts -ExecStartPost=#BASE_BINDIR#/systemctl disable run-postinsts.service +ExecStartPost=#BASE_BINDIR#/systemctl --no-reload disable run-postinsts.service RemainAfterExit=No TimeoutSec=0 -- cgit 1.2.3-korg