-
-
Notifications
You must be signed in to change notification settings - Fork 81
Description
Hi,
i am using NixOS unstable and lanzaboote on several devices for a while now with great success, thank you, and a very similar configuration on all of the devices (different makes and models).
Lately i have switched to a framework laptop 12 - secureboot enabled, custom keys enrolled, vendor keys removed, everything works well.
Some days ago, I can't exactly pinpoint when, the framework started to report in the OS that secureboot was switched off. I tried having a look if there was a firmware update with fwupdtool get-updates and noticed that it did not report the UEFI dbx stuff.
I tried fwupdtool security and the output reported:
`
Runtime Suffix -!
✔ fwupd plugins: Untainted
✔ Linux kernel lockdown: Enabled
✔ Linux swap: Encrypted
✔ Linux kernel: Untainted
✘ CET OS Support: Not supported
✘ UEFI secure boot: Disabled
This system has HSI runtime issues.
» https://fwupd.github.io/hsi.html#hsi-runtime-suffix
Host Security Events
2025-11-15 21:12:12: ✘ CET OS Support changed: Supported → Not supported
2025-11-15 19:41:29: ✔ CET OS Support changed: Not supported → Supported
2025-11-13 14:02:15: ✘ CET OS Support changed: Supported → Not supported
2025-11-13 12:26:32: ✔ CET OS Support changed: Not supported → Supported
2025-11-13 12:21:48: ✔ Pre-boot DMA protection changed: Invalid → Enabled
2025-11-10 20:20:56: ✘ CET OS Support changed: Supported → Not supported
2025-11-10 20:20:56: ✘ Secure Boot disabled
2025-11-10 20:20:56: ✘ Pre-boot DMA protection changed: Enabled → Invalid
2025-11-10 18:37:03: ✔ CET OS Support changed: Not supported → Supported
2025-11-10 15:33:05: ✘ CET OS Support changed: Supported → Not supported
2025-11-10 15:33:05: ✔ Secure Boot enabled
`
so ... it DID report secureboot being enabled at some point (and in the UEFI setup it is definitely reported as enabled and booting an unsigned or MS signed OS will fail) but it changed.
sbctl status reports:
❯ sudo sbctl status system is not booted with UEFI
yet the kernel log tends to disagree on both counts:
[ 0.000000] Linux version 6.17.7 (nixbld@localhost) (gcc (GCC) 14.3.0, GNU ld (GNU Binutils) 2.44) #1-NixOS SMP PREEMPT_DYNAMIC Sun Nov 2 13:18:05 UTC 2025
[ 0.000000] Command line: init=/nix/store/nq2gas0s1grj67n7v9rwxb3sp5kylp5l-nixos-system-transporta-25.11pre895122.c5ae371f1a6a/init lockdown=confidentiality tsx=auto quiet splash boot.shell_on_fail udev.log_priority=3 rd.systemd.show_status=auto root=fstab splash loglevel=3 lsm=lockdown,landlock,capability,yama,apparmor audit=1 audit_backlog_limit=1024 apparmor=1
[ 0.000000] x86/split lock detection: #AC: crashing the kernel on kernel split_locks and warning on user-space split_locks
[ 0.000000] BIOS-provided physical RAM map:
[ 0.000000] BIOS-e820: [mem 0x0000000000000000-0x000000000009efff] usable
[ 0.000000] BIOS-e820: [mem 0x000000000009f000-0x00000000000fffff] reserved
[ 0.000000] BIOS-e820: [mem 0x0000000000100000-0x000000003d228fff] usable
[ 0.000000] BIOS-e820: [mem 0x000000003d229000-0x000000003db28fff] reserved
[ 0.000000] BIOS-e820: [mem 0x000000003db29000-0x000000003f93efff] usable
[ 0.000000] BIOS-e820: [mem 0x000000003f93f000-0x00000000419defff] reserved
[ 0.000000] BIOS-e820: [mem 0x00000000419df000-0x000000004498efff] ACPI NVS
[ 0.000000] BIOS-e820: [mem 0x000000004498f000-0x0000000044afefff] ACPI data
[ 0.000000] BIOS-e820: [mem 0x0000000044aff000-0x0000000044afffff] usable
[ 0.000000] BIOS-e820: [mem 0x0000000044b00000-0x00000000493fffff] reserved
[ 0.000000] BIOS-e820: [mem 0x000000004a000000-0x00000000503fffff] reserved
[ 0.000000] BIOS-e820: [mem 0x00000000c0000000-0x00000000cfffffff] reserved
[ 0.000000] BIOS-e820: [mem 0x00000000fed20000-0x00000000fed7ffff] reserved
[ 0.000000] BIOS-e820: [mem 0x00000000ff000000-0x00000000ffffffff] reserved
[ 0.000000] BIOS-e820: [mem 0x0000000100000000-0x00000008afbfffff] usable
[ 0.000000] Kernel is locked down from command line; see man kernel_lockdown.7
[ 0.000000] NX (Execute Disable) protection: active
[ 0.000000] APIC: Static calls initialized
[ 0.000000] efi: EFI v2.8 by INSYDE Corp.
[ 0.000000] efi: ACPI=0x44afe000 ACPI 2.0=0x44afe014 TPMFinalLog=0x44906000 SMBIOS=0x3ffda000 MEMATTR=0x39084098 ESRT=0x39ee7698 RNG=0x44a0df18 INITRD=0x39065f98 TPMEventLog=0x44a0a018
[ 0.000000] random: crng init done
[ 0.000000] efi: Remove mem96: MMIO range=[0xc0000000-0xcfffffff] (256MB) from e820 map
[ 0.000000] e820: remove [mem 0xc0000000-0xcfffffff] reserved
[ 0.000000] efi: Remove mem98: MMIO range=[0xff000000-0xffffffff] (16MB) from e820 map
[ 0.000000] e820: remove [mem 0xff000000-0xffffffff] reserved
[ 0.000000] SMBIOS 3.4 present.
...
[ 0.005198] Secure boot enabled
...
[ 0.146880] LSM: initializing lsm=capability,lockdown,landlock,yama,apparmor
[ 0.146880] landlock: Up and running.
[ 0.146880] Yama: becoming mindful.
[ 0.146880] AppArmor: AppArmor initialized
...
[ 0.840319] efivars: Registered efivars operations
...
[ 13.377472] Bluetooth: hci0: Secure boot is enabled
...
so the kernel honors secure boot policies and is aware that it's a EFI boot.
I am a bit lost in debugging where this is coming from and how to even start debugging.
The Thinkpad T460 i have as a secondary devide runs the same nix config (same kernel version, same config of the kernel, same lanzaboote git rev) with slight differences for adjusting to EC interfaces etc. and reports secureboot alright. THe only difference at the low level I can think of is that the framework also loads the framework kernel module that is imported via nixos-hardware.
Can you maybe point me in the right direction?