mirror of
https://github.com/CHN-beta/nixpkgs.git
synced 2026-01-12 02:40:31 +08:00
linux/common-config: enable EFI on supported platforms
Currently, is it possible for stdenv.hostPlatform.isEfi to be true but the kernel to have no EFI support. This mainly occurs on armv6l and causes systemd in initrd to fail to build because it attempts to include the non-existent efivarfs module in the initrd. To fix this, automatically enable CONFIG_EFI on platforms where isEfi is true. An alternative would be to make isEfi false on armv6l, but EFI is in fact usable on that platform. To prove this, I successfully booted NixOS on a Raspberry Pi Zero using systemd-boot and U-Boot's EFI support. I confirmed that efivarfs works as well.
This commit is contained in:
@@ -1165,6 +1165,7 @@ let
|
||||
|
||||
DVB_DYNAMIC_MINORS = option yes; # we use udev
|
||||
|
||||
EFI = lib.mkIf stdenv.hostPlatform.isEfi yes;
|
||||
EFI_STUB = yes; # EFI bootloader in the bzImage itself
|
||||
EFI_GENERIC_STUB_INITRD_CMDLINE_LOADER = whenOlder "6.2" (whenAtLeast "5.8" yes); # initrd kernel parameter for EFI
|
||||
|
||||
|
||||
Reference in New Issue
Block a user