Merge pull request #267093 from ElvishJerricco/testing-backdoor-fix-ordering

Changed files
+21 -6
nixos
modules
+21 -6
nixos/modules/testing/test-instrumentation.nix
···
qemu-common = import ../../lib/qemu-common.nix { inherit lib pkgs; };
backdoorService = {
-
wantedBy = [ "sysinit.target" ];
-
unitConfig.DefaultDependencies = false;
-
conflicts = [ "shutdown.target" "initrd-switch-root.target" ];
-
before = [ "shutdown.target" "initrd-switch-root.target" ];
requires = [ "dev-hvc0.device" "dev-${qemu-common.qemuSerialDevice}.device" ];
after = [ "dev-hvc0.device" "dev-${qemu-common.qemuSerialDevice}.device" ];
script =
···
}
];
-
systemd.services.backdoor = backdoorService;
boot.initrd.systemd = lib.mkMerge [
{
···
"/bin/true"
];
-
services.backdoor = backdoorService;
contents."/usr/bin/env".source = "${pkgs.coreutils}/bin/env";
})
···
qemu-common = import ../../lib/qemu-common.nix { inherit lib pkgs; };
backdoorService = {
requires = [ "dev-hvc0.device" "dev-${qemu-common.qemuSerialDevice}.device" ];
after = [ "dev-hvc0.device" "dev-${qemu-common.qemuSerialDevice}.device" ];
script =
···
}
];
+
systemd.services.backdoor = lib.mkMerge [
+
backdoorService
+
{
+
wantedBy = [ "multi-user.target" ];
+
}
+
];
boot.initrd.systemd = lib.mkMerge [
{
···
"/bin/true"
];
+
services.backdoor = lib.mkMerge [
+
backdoorService
+
{
+
# TODO: Both stage 1 and stage 2 should use these same
+
# settings. But a lot of existing tests rely on
+
# backdoor.service having default orderings,
+
# e.g. systemd-boot.update relies on /boot being mounted
+
# as soon as backdoor starts. But it can be useful for
+
# backdoor to start even earlier.
+
wantedBy = [ "sysinit.target" ];
+
unitConfig.DefaultDependencies = false;
+
conflicts = [ "shutdown.target" "initrd-switch-root.target" ];
+
before = [ "shutdown.target" "initrd-switch-root.target" ];
+
}
+
];
contents."/usr/bin/env".source = "${pkgs.coreutils}/bin/env";
})