diff options
author | lassulus <lassulus@lassul.us> | 2019-09-21 17:08:00 +0200 |
---|---|---|
committer | Lassulus <github@lassul.us> | 2019-10-04 23:24:52 +0200 |
commit | 9d04a64a8fb56d46293db91d0afa35d60e09e8ba (patch) | |
tree | 062e5d6a684823f491413335cf5b1869e8f2e185 /nixos/modules/installer/cd-dvd/iso-image.nix | |
parent | 54393d25d809af6be6b7d6e139d537e4d58297b0 (diff) | |
download | nixpkgs-9d04a64a8fb56d46293db91d0afa35d60e09e8ba.tar nixpkgs-9d04a64a8fb56d46293db91d0afa35d60e09e8ba.tar.gz nixpkgs-9d04a64a8fb56d46293db91d0afa35d60e09e8ba.tar.bz2 nixpkgs-9d04a64a8fb56d46293db91d0afa35d60e09e8ba.tar.lz nixpkgs-9d04a64a8fb56d46293db91d0afa35d60e09e8ba.tar.xz nixpkgs-9d04a64a8fb56d46293db91d0afa35d60e09e8ba.tar.zst nixpkgs-9d04a64a8fb56d46293db91d0afa35d60e09e8ba.zip |
iso-image: add loopback.cfg support to boot iso from grub
Diffstat (limited to 'nixos/modules/installer/cd-dvd/iso-image.nix')
-rw-r--r-- | nixos/modules/installer/cd-dvd/iso-image.nix | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/nixos/modules/installer/cd-dvd/iso-image.nix b/nixos/modules/installer/cd-dvd/iso-image.nix index 93c8ebaa249..6595d0f30f9 100644 --- a/nixos/modules/installer/cd-dvd/iso-image.nix +++ b/nixos/modules/installer/cd-dvd/iso-image.nix @@ -24,7 +24,7 @@ let # Name appended to menuentry defaults to params if no specific name given. option.name or (if option ? params then "(${option.params})" else "") }' ${if option ? class then " --class ${option.class}" else ""} { - linux ${defaults.image} ${defaults.params} ${ + linux ${defaults.image} \''${isoboot} ${defaults.params} ${ option.params or "" } initrd ${defaults.initrd} @@ -268,6 +268,12 @@ let set timeout=10 ${grubMenuCfg} + # If the parameter iso_path is set, append the findiso parameter to the kernel + # line. We need this to allow the nixos iso to be booted from grub directly. + if [ \''${iso_path} ] ; then + set isoboot="findiso=\''${iso_path}" + fi + # # Menu entries # @@ -616,6 +622,9 @@ in { source = "${efiDir}/EFI"; target = "/EFI"; } + { source = pkgs.writeText "loopback.cfg" "source /EFI/boot/grub.cfg"; + target = "/boot/grub/loopback.cfg"; + } ] ++ optionals (config.boot.loader.grub.memtest86.enable && canx86BiosBoot) [ { source = "${pkgs.memtest86plus}/memtest.bin"; target = "/boot/memtest.bin"; |