From f222689aba0b0f5c7c06c77406d33538d9f40cb9 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Tue, 31 May 2016 16:52:40 +0200 Subject: [PATCH] Use systemd-boot instead of gummiboot Gummiboot is part of systemd now so we may as well use it. --- nixos/modules/system/boot/loader/efi.nix | 7 ++----- nixos/modules/system/boot/loader/grub/grub.nix | 2 +- .../system/boot/loader/gummiboot/gummiboot-builder.py | 6 +++--- nixos/modules/system/boot/loader/gummiboot/gummiboot.nix | 6 ++++-- nixos/tests/installer.nix | 1 - 5 files changed, 10 insertions(+), 12 deletions(-) diff --git a/nixos/modules/system/boot/loader/efi.nix b/nixos/modules/system/boot/loader/efi.nix index 726634e664d7..6043c904c450 100644 --- a/nixos/modules/system/boot/loader/efi.nix +++ b/nixos/modules/system/boot/loader/efi.nix @@ -4,19 +4,16 @@ with lib; { options.boot.loader.efi = { + canTouchEfiVariables = mkOption { default = false; - type = types.bool; - - description = "Whether or not the installation process should modify efi boot variables."; + description = "Whether the installation process is allowed to modify EFI boot variables."; }; efiSysMountPoint = mkOption { default = "/boot"; - type = types.str; - description = "Where the EFI System Partition is mounted."; }; }; diff --git a/nixos/modules/system/boot/loader/grub/grub.nix b/nixos/modules/system/boot/loader/grub/grub.nix index 2e06a684f0cc..0640ec306e18 100644 --- a/nixos/modules/system/boot/loader/grub/grub.nix +++ b/nixos/modules/system/boot/loader/grub/grub.nix @@ -488,7 +488,7 @@ in } { assertion = if args.efiSysMountPoint == null then true else hasPrefix "/" args.efiSysMountPoint; - message = "Efi paths must be absolute, not ${args.efiSysMountPoint}"; + message = "EFI paths must be absolute, not ${args.efiSysMountPoint}"; } ] ++ flip map args.devices (device: { assertion = device == "nodev" || hasPrefix "/" device; diff --git a/nixos/modules/system/boot/loader/gummiboot/gummiboot-builder.py b/nixos/modules/system/boot/loader/gummiboot/gummiboot-builder.py index ef431a7732e1..c38af1b67f17 100644 --- a/nixos/modules/system/boot/loader/gummiboot/gummiboot-builder.py +++ b/nixos/modules/system/boot/loader/gummiboot/gummiboot-builder.py @@ -88,16 +88,16 @@ def remove_old_entries(gens): if not path in known_paths: os.unlink(path) -parser = argparse.ArgumentParser(description='Update NixOS-related gummiboot files') +parser = argparse.ArgumentParser(description='Update NixOS-related systemd-boot files') parser.add_argument('default_config', metavar='DEFAULT-CONFIG', help='The default NixOS config to boot') args = parser.parse_args() # We deserve our own env var! if os.getenv("NIXOS_INSTALL_GRUB") == "1": if "@canTouchEfiVariables@" == "1": - subprocess.check_call(["@gummiboot@/bin/gummiboot", "--path=@efiSysMountPoint@", "install"]) + subprocess.check_call(["@systemd@/bin/bootctl", "--path=@efiSysMountPoint@", "install"]) else: - subprocess.check_call(["@gummiboot@/bin/gummiboot", "--path=@efiSysMountPoint@", "--no-variables", "install"]) + subprocess.check_call(["@systemd@/bin/bootctl", "--path=@efiSysMountPoint@", "--no-variables", "install"]) mkdir_p("@efiSysMountPoint@/efi/nixos") mkdir_p("@efiSysMountPoint@/loader/entries") diff --git a/nixos/modules/system/boot/loader/gummiboot/gummiboot.nix b/nixos/modules/system/boot/loader/gummiboot/gummiboot.nix index aec697da4a1a..2225df348762 100644 --- a/nixos/modules/system/boot/loader/gummiboot/gummiboot.nix +++ b/nixos/modules/system/boot/loader/gummiboot/gummiboot.nix @@ -12,7 +12,9 @@ let isExecutable = true; - inherit (pkgs) python gummiboot; + inherit (pkgs) python; + + systemd = config.systemd.package; nix = config.nix.package.out; @@ -27,7 +29,7 @@ in { type = types.bool; - description = "Whether to enable the gummiboot UEFI boot manager"; + description = "Whether to enable the systemd-boot (formerly gummiboot) EFI boot manager"; }; }; diff --git a/nixos/tests/installer.nix b/nixos/tests/installer.nix index 3fdf6510953e..44c7c738d555 100644 --- a/nixos/tests/installer.nix +++ b/nixos/tests/installer.nix @@ -208,7 +208,6 @@ let pkgs.unionfs-fuse pkgs.ntp pkgs.nixos-artwork - pkgs.gummiboot pkgs.perlPackages.XMLLibXML pkgs.perlPackages.ListCompare ]