From 5dbebb7cfac62acb2a22ebbe91625c3a284bd6fa Mon Sep 17 00:00:00 2001 From: Olof Sandell <83674246+osandell@users.noreply.github.com> Date: Fri, 8 Sep 2023 23:42:32 +0200 Subject: [PATCH] feat: copy bootloader to temp location This is a precaution to make sure we have enough disk space before renaming original bootloader. --- apple/t2/default.nix | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/apple/t2/default.nix b/apple/t2/default.nix index f271f15..e386ce3 100644 --- a/apple/t2/default.nix +++ b/apple/t2/default.nix @@ -80,15 +80,21 @@ in after = [ "post-resume.target" ]; }; - # Activation script to install apple-set-os-loader in order to unlock the iGPU + # Activation script to install apple-set-os-loader in order to unlock the iGPU system.activationScripts.appleSetOsLoader = lib.optionalString t2Cfg.enableAppleSetOsLoader '' - if [[ -e /boot/efi/EFI/BOOT/bootx64_original.efi ]]; then + if [[ -e /boot/efi/efi/boot/bootx64_original.efi ]]; then true # It's already installed, no action required - elif [[ -e /boot/efi/EFI/BOOT/BOOTX64.EFI ]]; then - mv /boot/efi/EFI/BOOT/BOOTX64.EFI /boot/efi/EFI/BOOT/bootx64_original.efi - cp ${apple-set-os-loader-installer}/bootx64.efi /boot/efi/EFI/BOOT/bootx64.efi + elif [[ -e /boot/efi/efi/boot/bootx64.efi ]]; then + # Copy the new bootloader to a temporary location + cp ${apple-set-os-loader-installer}/bootx64.efi /boot/efi/efi/boot/bootx64_temp.efi + + # Rename the original bootloader + mv /boot/efi/efi/boot/bootx64.efi /boot/efi/efi/boot/bootx64_original.efi + + # Move the new bootloader to the final destination + mv /boot/efi/efi/boot/bootx64_temp.efi /boot/efi/efi/boot/bootx64.efi else - echo "Error: /boot/efi/EFI/BOOT/BOOTX64.EFI is missing" >&2 + echo "Error: /boot/efi/efi/boot/bootx64.efi is missing" >&2 fi ''; };