From d5816b6138be788f3d3ea72359bb28dc239c3235 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Tue, 27 Oct 2020 10:49:11 +0100 Subject: meson: simplify with_runlevels ternany op usage --- units/meson.build | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'units') diff --git a/units/meson.build b/units/meson.build index a55e717868..670f366b92 100644 --- a/units/meson.build +++ b/units/meson.build @@ -22,7 +22,7 @@ units = [ 'multi-user.target.wants/'], ['getty-pre.target', ''], ['graphical.target', '', - (with_runlevels ? 'runlevel5.target default.target' : 'default.target')], + 'default.target' + (with_runlevels ? ' runlevel5.target' : '')], ['halt.target', ''], ['hibernate.target', 'ENABLE_HIBERNATE'], ['hybrid-sleep.target', 'ENABLE_HIBERNATE'], @@ -61,7 +61,7 @@ units = [ 'sysinit.target.wants/'], ['proc-sys-fs-binfmt_misc.mount', 'ENABLE_BINFMT'], ['reboot.target', '', - (with_runlevels ? 'runlevel6.target ctrl-alt-del.target' : 'ctrl-alt-del.target')], + 'ctrl-alt-del.target' + (with_runlevels ? ' runlevel6.target' : '')], ['remote-cryptsetup.target', 'HAVE_LIBCRYPTSETUP'], ['remote-fs-pre.target', ''], ['remote-fs.target', ''], -- cgit v1.2.1 From 6bdcb72086b681a0d42521169fdadb65ef2ac539 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Tue, 27 Oct 2020 13:26:01 +0100 Subject: Revert "units: add initrd-cryptsetup.target" This reverts commit 6c5496c492a8d74e54d22bf8824160cab1e63c10. sysinit.target is shared between the initrd and the host system. Pulling in initrd-cryptsetup.target into sysinit.target causes the following warning at boot: Oct 27 10:42:30 workstation-uefi systemd[1]: initrd-cryptsetup.target: Starting requested but asserts failed. Oct 27 10:42:30 workstation-uefi systemd[1]: Assertion failed for initrd-cryptsetup.target. --- units/initrd-cryptsetup.target | 17 ----------------- units/meson.build | 2 -- 2 files changed, 19 deletions(-) delete mode 100644 units/initrd-cryptsetup.target (limited to 'units') diff --git a/units/initrd-cryptsetup.target b/units/initrd-cryptsetup.target deleted file mode 100644 index 2a2938c895..0000000000 --- a/units/initrd-cryptsetup.target +++ /dev/null @@ -1,17 +0,0 @@ -# SPDX-License-Identifier: LGPL-2.1+ -# -# This file is part of systemd. -# -# systemd is free software; you can redistribute it and/or modify it -# under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation; either version 2.1 of the License, or -# (at your option) any later version. - -[Unit] -Description=Initrd Encrypted Volumes -Documentation=man:systemd.special(7) -OnFailure=emergency.target -OnFailureJobMode=replace-irreversibly -AssertPathExists=/etc/initrd-release -DefaultDependencies=no -Conflicts=shutdown.target diff --git a/units/meson.build b/units/meson.build index 670f366b92..a8c52e96a7 100644 --- a/units/meson.build +++ b/units/meson.build @@ -28,8 +28,6 @@ units = [ ['hybrid-sleep.target', 'ENABLE_HIBERNATE'], ['suspend-then-hibernate.target', 'ENABLE_HIBERNATE'], ['initrd-cleanup.service', 'ENABLE_INITRD'], - ['initrd-cryptsetup.target', 'HAVE_LIBCRYPTSETUP ENABLE_INITRD', - 'sysinit.target.wants/'], ['initrd-fs.target', 'ENABLE_INITRD'], ['initrd-parse-etc.service', 'ENABLE_INITRD'], ['initrd-root-device.target', 'ENABLE_INITRD'], -- cgit v1.2.1 From e921ebb57e0bc823ac167801cb5dd5f119f5d585 Mon Sep 17 00:00:00 2001 From: Jonathan Lebon Date: Tue, 27 Oct 2020 13:29:38 +0100 Subject: units: unconditionally pull in remote-cryptsetup.target in the initramfs [zjs: Replaces #17149. I took half of the patch in https://github.com/systemd/systemd/pull/17149#issuecomment-698399194, hence I'm keeping Jonathan's authorship. The original reasoning for 6c5496c492a8d74e54d22bf8824160cab1e63c10 was that we enable remote-cryptsetup.target via presets, and since presets are not used for the initrd, we need a different target. But since parts of the unit and target tree are shared between the initramfs and the main system, we can't just create a separate target for the initramfs. All the targets that depend on this one would need to be split also. That condition is true for initrd-fs.target, but not for sysinit.target. So let's instead just uncoditionally pull in remote-cryptsetup.target in the initramfs. It should normally be empty, so there should be no impact on boots that don't have units in the target. Jonathan's patch used initrd-root-fs.target, this version instead uses initrd-root-device.target. initrd-root-device.target is ordered before sysroot.mount, which means that the decrypted devices will be available earlier too.] --- units/meson.build | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'units') diff --git a/units/meson.build b/units/meson.build index a8c52e96a7..2f09590736 100644 --- a/units/meson.build +++ b/units/meson.build @@ -60,7 +60,8 @@ units = [ ['proc-sys-fs-binfmt_misc.mount', 'ENABLE_BINFMT'], ['reboot.target', '', 'ctrl-alt-del.target' + (with_runlevels ? ' runlevel6.target' : '')], - ['remote-cryptsetup.target', 'HAVE_LIBCRYPTSETUP'], + ['remote-cryptsetup.target', 'HAVE_LIBCRYPTSETUP', + 'initrd-root-device.target.wants/'], ['remote-fs-pre.target', ''], ['remote-fs.target', ''], ['rescue.target', '', -- cgit v1.2.1