Hi folks!
I’ve recently upgraded my NixOS config’ nixpkgs (nixos-unstable branch) input from 99dc8785f6a0adac95f5e2ab05cc2e1bf666d172 (Vicuna) to 36fd87baa9083f34f7f5027900b62ee6d09b1f2f (Warbler). systemd-boot is able to list the generations just fine. Picking the Warbler generation makes this message immediately appear:
../src/boot/log.c:30@efi_assert: systemd-boot: Assertion 'BS->AllocatePages(type, memory_type, n_pages, &addr) == EFI_SUCCESS' failed at ../src/boot/util.h:95@xmalloc_pages, halting.
Picking the previous Vicuna generation boots the system as expected. I’ve tried:
- Re-installing systemd-boot (by setting the
NIXOS_REINSTALL_BOOTLOADER=1
environment variable & calling bin/switch-to-configuration on my Warbler build) - Enabling CSM
- Disabling TPM
All of these still lead to the aforementioned EFI assertion message with the Warbler generation. I’m pretty inclined to say this cannot be a hardware or firmware issue, because my previous generation is booting just fine.
I’m pretty stumped on how I should proceed right now. If anyone’s got any pointers on what I should try, it’d be greatly appreciated! Thanks!
Output of bootctl
:
System:
Firmware: UEFI 2.80 (American Megatrends 5.27)
Firmware Arch: x64
Secure Boot: disabled
TPM2 Support: yes
Measured UKI: no
Boot into FW: supported
Current Boot Loader:
Product: systemd-boot 257.2
Features: ✓ Boot counting
✓ Menu timeout control
✓ One-shot menu timeout control
✓ Default entry control
✓ One-shot entry control
✓ Support for XBOOTLDR partition
✓ Support for passing random seed to OS
✓ Load drop-in drivers
✓ Support Type #1 sort-key field
✓ Support @saved pseudo-entry
✓ Support Type #1 devicetree field
✓ Enroll SecureBoot keys
✓ Retain SHIM protocols
✓ Menu can be disabled
✓ Boot loader sets ESP information
ESP: /dev/disk/by-partuuid/e4ac4157-776b-477d-a011-a338f849f673
File: └─/EFI/systemd/systemd-bootx64.efi
Random Seed:
System Token: set
Exists: yes
Available Boot Loaders on ESP:
ESP: /boot (/dev/disk/by-partuuid/e4ac4157-776b-477d-a011-a338f849f673)
File: ├─/EFI/systemd/systemd-bootx64.efi (systemd-boot 257.2)
└─/EFI/BOOT/BOOTX64.EFI (systemd-boot 257.2)
Boot Loaders Listed in EFI Variables:
Title: Linux Boot Manager
ID: 0x0000
Status: active, boot-order
Partition: /dev/disk/by-partuuid/e4ac4157-776b-477d-a011-a338f849f673
File: └─/EFI/systemd/systemd-bootx64.efi
Title: Windows Boot Manager
ID: 0x0003
Status: active, boot-order
Partition: /dev/disk/by-partuuid/daacebb2-f8bd-4e9b-aebd-0f0943c9ca1c
File: └─/EFI/Microsoft/Boot/bootmgfw.efi
Title: UEFI OS
ID: 0x0002
Status: active, boot-order
Partition: /dev/disk/by-partuuid/e4ac4157-776b-477d-a011-a338f849f673
File: └─/EFI/BOOT/BOOTX64.EFI
Boot Loader Entries:
$BOOT: /boot (/dev/disk/by-partuuid/e4ac4157-776b-477d-a011-a338f849f673)
token: nixos
Default Boot Loader Entry:
type: Boot Loader Specification Type #1 (.conf)
title: NixOS (Generation 94 NixOS Warbler 25.05pre-git (Linux 6.12.17), built on 2025-03-10)
id: nixos-generation-94.conf
source: /boot//loader/entries/nixos-generation-94.conf
sort-key: nixos
version: Generation 94 NixOS Warbler 25.05pre-git (Linux 6.12.17), built on 2025-03-10
machine-id: 530f8732f2a44b4d9d2e99c4eee9f9d2
linux: /boot//EFI/nixos/i6692qs0b61zmc83a34nj9jd361jndrv-linux-6.12.17-bzImage.efi
initrd: /boot//EFI/nixos/nb07lcgjbfj90zi8vcklq0wlkxk1fg80-initrd-linux-6.12.17-initrd.efi
options: init=/nix/store/g67838l3016xk6mgdpslsh61p87lfqbi-nixos-system-michaili-fortress-25.05pre-git/init intel_iommu=on vfio.pci.ids=10de:2504,10de:228e,144d:a80a split_lock_detect=warn splash loglevel=4
neither generations seem to differ from systemd-boot’s point of view, other than kernel & init:
# cat /boot/loader/entries/nixos-generation-93.conf
title NixOS
sort-key nixos
version Generation 93 NixOS Vicuna 24.11pre-git (Linux 6.6.52), built on 2024-12-06
linux /EFI/nixos/xpx5f3c4n29pgn6a4rc8r4xhghsk3iyf-linux-6.6.52-bzImage.efi
initrd /EFI/nixos/fsmqhml8ipg6x30v0292nhc6arql3kaw-initrd-linux-6.6.52-initrd.efi
options init=/nix/store/55cnawk128ll6bqn7gwgmlafpn2n7544-nixos-system-michaili-fortress-24.11pre-git/init intel_iommu=on vfio.pci.ids=10de:2504,10de:228e,144d:a80a split_lock_detect=warn splash loglevel=4
machine-id 530f8732f2a44b4d9d2e99c4eee9f9d2
# cat /boot/loader/entries/nixos-generation-94.conf
title NixOS
sort-key nixos
version Generation 94 NixOS Warbler 25.05pre-git (Linux 6.12.17), built on 2025-03-10
linux /EFI/nixos/i6692qs0b61zmc83a34nj9jd361jndrv-linux-6.12.17-bzImage.efi
initrd /EFI/nixos/nb07lcgjbfj90zi8vcklq0wlkxk1fg80-initrd-linux-6.12.17-initrd.efi
options init=/nix/store/g67838l3016xk6mgdpslsh61p87lfqbi-nixos-system-michaili-fortress-25.05pre-git/init intel_iommu=on vfio.pci.ids=10de:2504,10de:228e,144d:a80a split_lock_detect=warn splash loglevel=4
machine-id 530f8732f2a44b4d9d2e99c4eee9f9d2