diff options
author | Matthew Bauer <mjbauer95@gmail.com> | 2019-03-21 11:39:45 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-03-21 11:39:45 -0400 |
commit | 73be6fba8b7c02e2b7dc22298d2bdbd8ece7bc80 (patch) | |
tree | 8cc9479e8c805fd31a5cd7c96f38ecec2930e40a /nixos/modules/installer/cd-dvd/iso-image.nix | |
parent | 6e982c4c328835d50a2261f95bffb2c21d4652f7 (diff) | |
parent | e51a8402597b7d3ba505b35451c86c8c7bf63d5e (diff) | |
download | nixpkgs-73be6fba8b7c02e2b7dc22298d2bdbd8ece7bc80.tar nixpkgs-73be6fba8b7c02e2b7dc22298d2bdbd8ece7bc80.tar.gz nixpkgs-73be6fba8b7c02e2b7dc22298d2bdbd8ece7bc80.tar.bz2 nixpkgs-73be6fba8b7c02e2b7dc22298d2bdbd8ece7bc80.tar.lz nixpkgs-73be6fba8b7c02e2b7dc22298d2bdbd8ece7bc80.tar.xz nixpkgs-73be6fba8b7c02e2b7dc22298d2bdbd8ece7bc80.tar.zst nixpkgs-73be6fba8b7c02e2b7dc22298d2bdbd8ece7bc80.zip |
Merge pull request #54625 from FlorianFranzen/efi32
grub: Support 32bit EFI on 64bit platforms
Diffstat (limited to 'nixos/modules/installer/cd-dvd/iso-image.nix')
-rw-r--r-- | nixos/modules/installer/cd-dvd/iso-image.nix | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/nixos/modules/installer/cd-dvd/iso-image.nix b/nixos/modules/installer/cd-dvd/iso-image.nix index e78e290e743..d71e06202e3 100644 --- a/nixos/modules/installer/cd-dvd/iso-image.nix +++ b/nixos/modules/installer/cd-dvd/iso-image.nix @@ -165,6 +165,8 @@ let else "# No refind for ${targetArch}" ; + + grubPkgs = if config.boot.loader.grub.forcei686 then pkgs.pkgsi686Linux else pkgs; grubMenuCfg = '' # @@ -241,7 +243,7 @@ let # Modules that may or may not be available per-platform. echo "Adding additional modules:" for mod in efi_uga; do - if [ -f ${pkgs.grub2_efi}/lib/grub/${pkgs.grub2_efi.grubTarget}/$mod.mod ]; then + if [ -f ${grubPkgs.grub2_efi}/lib/grub/${grubPkgs.grub2_efi.grubTarget}/$mod.mod ]; then echo " - $mod" MODULES+=" $mod" fi @@ -249,9 +251,9 @@ let # Make our own efi program, we can't rely on "grub-install" since it seems to # probe for devices, even with --skip-fs-probe. - ${pkgs.grub2_efi}/bin/grub-mkimage -o $out/EFI/boot/boot${targetArch}.efi -p /EFI/boot -O ${pkgs.grub2_efi.grubTarget} \ + ${grubPkgs.grub2_efi}/bin/grub-mkimage -o $out/EFI/boot/boot${targetArch}.efi -p /EFI/boot -O ${grubPkgs.grub2_efi.grubTarget} \ $MODULES - cp ${pkgs.grub2_efi}/share/grub/unicode.pf2 $out/EFI/boot/ + cp ${grubPkgs.grub2_efi}/share/grub/unicode.pf2 $out/EFI/boot/ cat <<EOF > $out/EFI/boot/grub.cfg @@ -362,7 +364,7 @@ let # Name used by UEFI for architectures. targetArch = - if pkgs.stdenv.isi686 then + if pkgs.stdenv.isi686 || config.boot.loader.grub.forcei686 then "ia32" else if pkgs.stdenv.isx86_64 then "x64" @@ -506,7 +508,7 @@ in # here and it causes a cyclic dependency. boot.loader.grub.enable = false; - environment.systemPackages = [ pkgs.grub2 pkgs.grub2_efi ] + environment.systemPackages = [ grubPkgs.grub2 grubPkgs.grub2_efi ] ++ optional canx86BiosBoot pkgs.syslinux ; |