Merge pull request #87742 from flokli/systemd-binfmt
nixos/binfmt: move systemd-binfmt.service to binfmt module
This commit is contained in:
commit
528d35bec0
@ -268,9 +268,10 @@ in {
|
|||||||
mkdir -p -m 0755 /run/binfmt
|
mkdir -p -m 0755 /run/binfmt
|
||||||
${lib.concatStringsSep "\n" (lib.mapAttrsToList activationSnippet config.boot.binfmt.registrations)}
|
${lib.concatStringsSep "\n" (lib.mapAttrsToList activationSnippet config.boot.binfmt.registrations)}
|
||||||
'';
|
'';
|
||||||
systemd.additionalUpstreamSystemUnits = lib.mkIf (config.boot.binfmt.registrations != {})
|
systemd.additionalUpstreamSystemUnits = lib.mkIf (config.boot.binfmt.registrations != {}) [
|
||||||
[ "proc-sys-fs-binfmt_misc.automount"
|
"proc-sys-fs-binfmt_misc.automount"
|
||||||
"proc-sys-fs-binfmt_misc.mount"
|
"proc-sys-fs-binfmt_misc.mount"
|
||||||
];
|
"systemd-binfmt.service"
|
||||||
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -164,7 +164,6 @@ let
|
|||||||
"systemd-timedated.service"
|
"systemd-timedated.service"
|
||||||
"systemd-localed.service"
|
"systemd-localed.service"
|
||||||
"systemd-hostnamed.service"
|
"systemd-hostnamed.service"
|
||||||
"systemd-binfmt.service"
|
|
||||||
"systemd-exit.service"
|
"systemd-exit.service"
|
||||||
"systemd-update-done.service"
|
"systemd-update-done.service"
|
||||||
] ++ optionals config.services.journald.enableHttpGateway [
|
] ++ optionals config.services.journald.enableHttpGateway [
|
||||||
@ -1056,7 +1055,6 @@ in
|
|||||||
systemd.targets.local-fs.unitConfig.X-StopOnReconfiguration = true;
|
systemd.targets.local-fs.unitConfig.X-StopOnReconfiguration = true;
|
||||||
systemd.targets.remote-fs.unitConfig.X-StopOnReconfiguration = true;
|
systemd.targets.remote-fs.unitConfig.X-StopOnReconfiguration = true;
|
||||||
systemd.targets.network-online.wantedBy = [ "multi-user.target" ];
|
systemd.targets.network-online.wantedBy = [ "multi-user.target" ];
|
||||||
systemd.services.systemd-binfmt.wants = [ "proc-sys-fs-binfmt_misc.mount" ];
|
|
||||||
systemd.services.systemd-importd.environment = proxy_env;
|
systemd.services.systemd-importd.environment = proxy_env;
|
||||||
|
|
||||||
# Don't bother with certain units in containers.
|
# Don't bother with certain units in containers.
|
||||||
|
@ -304,6 +304,7 @@ in
|
|||||||
syncthing-relay = handleTest ./syncthing-relay.nix {};
|
syncthing-relay = handleTest ./syncthing-relay.nix {};
|
||||||
systemd = handleTest ./systemd.nix {};
|
systemd = handleTest ./systemd.nix {};
|
||||||
systemd-analyze = handleTest ./systemd-analyze.nix {};
|
systemd-analyze = handleTest ./systemd-analyze.nix {};
|
||||||
|
systemd-binfmt = handleTestOn ["x86_64-linux"] ./systemd-binfmt.nix {};
|
||||||
systemd-boot = handleTestOn ["x86_64-linux"] ./systemd-boot.nix {};
|
systemd-boot = handleTestOn ["x86_64-linux"] ./systemd-boot.nix {};
|
||||||
systemd-confinement = handleTest ./systemd-confinement.nix {};
|
systemd-confinement = handleTest ./systemd-confinement.nix {};
|
||||||
systemd-timesyncd = handleTest ./systemd-timesyncd.nix {};
|
systemd-timesyncd = handleTest ./systemd-timesyncd.nix {};
|
||||||
|
24
nixos/tests/systemd-binfmt.nix
Normal file
24
nixos/tests/systemd-binfmt.nix
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
# Teach the kernel how to run armv7l and aarch64-linux binaries,
|
||||||
|
# and run GNU Hello for these architectures.
|
||||||
|
import ./make-test-python.nix ({ pkgs, ... }: {
|
||||||
|
name = "systemd-binfmt";
|
||||||
|
machine = {
|
||||||
|
boot.binfmt.emulatedSystems = [
|
||||||
|
"armv7l-linux"
|
||||||
|
"aarch64-linux"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
testScript = let
|
||||||
|
helloArmv7l = pkgs.pkgsCross.armv7l-hf-multiplatform.hello;
|
||||||
|
helloAarch64 = pkgs.pkgsCross.aarch64-multiplatform.hello;
|
||||||
|
in ''
|
||||||
|
machine.start()
|
||||||
|
assert "world" in machine.succeed(
|
||||||
|
"${helloArmv7l}/bin/hello"
|
||||||
|
)
|
||||||
|
assert "world" in machine.succeed(
|
||||||
|
"${helloAarch64}/bin/hello"
|
||||||
|
)
|
||||||
|
'';
|
||||||
|
})
|
Loading…
x
Reference in New Issue
Block a user