diff options
author | Linus Heckemann <git@sphalerite.org> | 2019-04-26 00:33:40 +0200 |
---|---|---|
committer | Linus Heckemann <git@sphalerite.org> | 2019-04-26 00:35:10 +0200 |
commit | 4d667685c24c3e99cc70156f3172d5ed5f2ceaa6 (patch) | |
tree | ef14dd1547213ff59094a07db239c1eca26bd955 /nixos/modules/system | |
parent | 2024421f047d43fa6e18893d595ec183be5fbdc0 (diff) |
nixos/kexec: don't clobber existing kexec-loaded kernel
Diffstat (limited to 'nixos/modules/system')
-rw-r--r-- | nixos/modules/system/boot/kexec.nix | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/nixos/modules/system/boot/kexec.nix b/nixos/modules/system/boot/kexec.nix index 61f9c6d0e7eb..ecbeea74ab8e 100644 --- a/nixos/modules/system/boot/kexec.nix +++ b/nixos/modules/system/boot/kexec.nix @@ -13,6 +13,9 @@ path = [ pkgs.kexectools ]; script = '' + # Don't load the current system profile if we already have a kernel loaded + [[ 1 = "$(</sys/kernel/kexec_loaded)" ]] && exit + p=$(readlink -f /nix/var/nix/profiles/system) if ! [ -d $p ]; then exit 1; fi exec kexec --load $p/kernel --initrd=$p/initrd --append="$(cat $p/kernel-params) init=$p/init" |