build kexec statically

This commit is contained in:
Daniel Barlow 2023-03-24 17:12:19 +00:00
parent 4ea60a6082
commit 045f10e79b
2 changed files with 7 additions and 1 deletions

View file

@ -26,7 +26,6 @@ in {
outputs.boot-sh = outputs.boot-sh =
let let
inherit (pkgs) kexec-tools;
inherit (pkgs.lib.trivial) toHexString; inherit (pkgs.lib.trivial) toHexString;
inherit (config.outputs) squashfs kernel; inherit (config.outputs) squashfs kernel;
cmdline = concatStringsSep " " config.boot.commandLine; cmdline = concatStringsSep " " config.boot.commandLine;

View file

@ -17,6 +17,13 @@ extraPkgs // {
strace = prev.strace.override { libunwind = null; }; strace = prev.strace.override { libunwind = null; };
kexec-tools = prev.kexec-tools.overrideAttrs(o: { kexec-tools = prev.kexec-tools.overrideAttrs(o: {
# For kexecboot we copy kexec into a ramdisk on the system being
# upgraded from. This is more likely to work if kexec is
# statically linked so doesn't have dependencies on store paths that
# may not exist on that machine. (We can't nix-copy-closure as
# the store may not be on a writable filesystem)
LDFLAGS = "-static";
patches = o.patches ++ [ patches = o.patches ++ [
(fetchpatch { (fetchpatch {
# merge user command line options into DTB chosen # merge user command line options into DTB chosen