NixOS on ARM/UEFI: Difference between revisions
imported>Samueldr mNo edit summary |
imported>Samueldr m Tested systemd-boot, documents grub |
||
| Line 60: | Line 60: | ||
Know if your ''Initial Boot Firmware'''s UEFI implementation has writable EFI vars. This is not true for all UEFI implementations on ARM, but is something to be mindful about. If it does not, {{Nixos:option|boot.loader.efi.canTouchEfiVariables}} has to be set to '''<code>false</code>'''. | Know if your ''Initial Boot Firmware'''s UEFI implementation has writable EFI vars. This is not true for all UEFI implementations on ARM, but is something to be mindful about. If it does not, {{Nixos:option|boot.loader.efi.canTouchEfiVariables}} has to be set to '''<code>false</code>'''. | ||
<syntaxhighlight lang="nix"> | |||
{ /* configuration.nix */ | |||
boot.loader.efi.canTouchEfiVariables = false; | |||
} | |||
</syntaxhighlight> | |||
{{tip|Just like on <tt>x86_64</tt> [[REFInd|rEFInd]] installed to the fallback location (<code>/EFI/BOOT/BOOTAA64.EFI</code>) may be helpful.}} | {{tip|Just like on <tt>x86_64</tt> [[REFInd|rEFInd]] installed to the fallback location (<code>/EFI/BOOT/BOOTAA64.EFI</code>) may be helpful.}} | ||
For the time being, only GRUB2 has been verified to work. When using the systemd-boot bootloader on a test system, the kernel panics. Since EFI variables cannot be manipulated, using <code>efiInstallAsRemovable</code> handles installing GRUB2 to the default fallback location. | |||
<syntaxhighlight lang="nix"> | |||
{ /* configuration.nix */ | |||
boot.loader.grub.enable = true; | |||
boot.loader.grub.efiSupport = true; | |||
boot.loader.grub.efiInstallAsRemovable = true; | |||
boot.loader.grub.device = "nodev"; | |||
} | |||
</syntaxhighlight> | |||