From 44e5d00603a8faf57bd8a7bece2eceb0c6b566fd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Thu, 5 Mar 2020 08:06:43 +0100 Subject: [PATCH 1/3] pid1: remove unnecessary terminator We specify the number of items as the first argument already. --- src/core/execute.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/core/execute.c b/src/core/execute.c index 4595bb12dc..89dbf6fbd2 100644 --- a/src/core/execute.c +++ b/src/core/execute.c @@ -3406,8 +3406,7 @@ static int exec_child( our_env, pass_env, context->environment, - files_env, - NULL); + files_env); if (!accum_env) { *exit_status = EXIT_MEMORY; return log_oom(); From 9fd32ff7d363945fbf8fdae0128702b995127558 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Thu, 5 Mar 2020 07:11:09 +0100 Subject: [PATCH 2/3] units: restore RemainAfterExit=yes in systemd-vconsole-setup.service This reverts the second part of 8125e8d38e3aa099c7dce8b0161997b8842aebdc. The first part was reverted in 750e550eba362096d56a35104c6a32631aa67b8e. The problem starts when s-v-s.s is pulled in by something that is then pulled in by sysinit.target. Every time a unit is started, systemd recursively checks all dependencies, and since sysinit.target is pull in by almost anything, we'll start s-v-s.s over and over. In particular, plymouth-start.service currently has Wants=s-v-s.s and After=s-v-s.s. --- units/systemd-vconsole-setup.service.in | 1 + 1 file changed, 1 insertion(+) diff --git a/units/systemd-vconsole-setup.service.in b/units/systemd-vconsole-setup.service.in index f4178f495a..9042521c9d 100644 --- a/units/systemd-vconsole-setup.service.in +++ b/units/systemd-vconsole-setup.service.in @@ -16,4 +16,5 @@ ConditionPathExists=/dev/tty0 [Service] Type=oneshot +RemainAfterExit=yes ExecStart=@rootlibexecdir@/systemd-vconsole-setup From d48eea583fd8ddb429728d110dfc826d70d70bd1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Thu, 5 Mar 2020 08:08:31 +0100 Subject: [PATCH 3/3] units: make systemd-network-generator.service stay around Once done, its done, and shouldn't be run again. --- units/systemd-network-generator.service.in | 1 + 1 file changed, 1 insertion(+) diff --git a/units/systemd-network-generator.service.in b/units/systemd-network-generator.service.in index e314aded9b..e57d270132 100644 --- a/units/systemd-network-generator.service.in +++ b/units/systemd-network-generator.service.in @@ -14,6 +14,7 @@ Before=network-pre.target [Service] Type=oneshot +RemainAfterExit=yes ExecStart=@rootlibexecdir@/systemd-network-generator [Install]