From ffe0111b604fa8b40cde278c0df920c09be1c6dc Mon Sep 17 00:00:00 2001 From: Shiven Garia Date: Mon, 9 Mar 2026 14:11:02 +0530 Subject: [PATCH] systemd: set kexec-path meson option Since systemd/systemd@c3f32b9, meson no longer probes $PATH to locate kexec and instead hardcodes /usr/bin/kexec unless the -Dkexec-path option is explicitly set. kexec has probably only ever worked on NixOS because of the fallback codepath in shutdown.c that reboots via RB_KEXEC when the kexec binary isn't found. Fixes #498149 --- pkgs/os-specific/linux/systemd/default.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkgs/os-specific/linux/systemd/default.nix b/pkgs/os-specific/linux/systemd/default.nix index 77d8b4666219..b1cf61f349a5 100644 --- a/pkgs/os-specific/linux/systemd/default.nix +++ b/pkgs/os-specific/linux/systemd/default.nix @@ -560,6 +560,9 @@ stdenv.mkDerivation (finalAttrs: { (lib.mesonOption "loadkeys-path" "${kbd}/bin/loadkeys") (lib.mesonOption "setfont-path" "${kbd}/bin/setfont") ] + ++ lib.optionals withKexectools [ + (lib.mesonOption "kexec-path" "${kexec-tools}/bin/kexec") + ] ++ lib.optionals withKmod [ (lib.mesonOption "kmod-path" "${kmod}/bin/kmod") ]