You are not logged in.

#1 2026-09-28 07:23:46

physkets
Member
From: India
Registered: 2016-08-22
Posts: 52

SecureBoot breaks due to TPM errors

When I updated my system and rebooted it just now, SecureBoot verification failed.
I assume it is related to this: https://archlinux.org/news/mkinitcpio-4 … s-devices/ ?
I don't have any LUKS keys manually connected to TPM.
But I do use systemd-homed (which probably uses LUKS), and also `kernel-install` with `sbctl` for managing boot entries and secure boot, which probably use `ukify` and so, TPMs?
I am confused as to what I should do.

These are the failed services:

● systemd-pcrlogin@0.service                                                                    loaded failed failed    TPM NvPCR Measurement of User Record for UID 0
● systemd-pcrlogin@60369.service                                                                loaded failed failed    TPM NvPCR Measurement of User Record for UID 60369
● systemd-pcrlogin@60578.service                                                                loaded failed failed    TPM NvPCR Measurement of User Record for UID 60578
● systemd-pcrproduct.service                                                                    loaded failed failed    TPM NvPCR Product ID Measurement
● systemd-tpm2-setup-early.service                                                              loaded failed failed    Early TPM SRK Setup

And these are some possibly relevant messages from the journal:

Sep 28 15:50:19 archlinux kernel: Linux version 7.2.7-arch1-1 (linux@archlinux) (gcc (GCC) 16.2.1 20260810, GNU ld (GNU Binutils) 2.47) #1 SMP PREEMPT_DYNAMIC Mon, 21 Sep 2026 18:51:14 +0000
.
.
Sep 28 15:50:19 archlinux systemd[1]: Received untrusted credentials: nvpcr-anchor.b97b2ff81b6a4e10b8e017a13565b974
Sep 28 15:50:19 archlinux systemd[1]: Acquired 0 regular credentials, 1 untrusted credentials.
Sep 28 15:50:19 archlinux systemd[1]: Queued start job for default target Initrd Default Target.
Sep 28 15:50:19 archlinux systemd[1]: Expecting device /dev/disk/by-partuuid/042c0ea5-5e5d-42d4-81d9-6e521f492517...
Sep 28 15:50:19 archlinux systemd[1]: Expecting device /dev/disk/by-partuuid/10eb30fa-8eb4-41dd-9e60-a8733b8955de...
Sep 28 15:50:19 archlinux systemd[1]: Reached target Path Units.
Sep 28 15:50:19 archlinux systemd[1]: Reached target Slice Units.
Sep 28 15:50:19 archlinux systemd[1]: Reached target Swaps.
Sep 28 15:50:19 archlinux systemd[1]: Reached target Timer Units.
Sep 28 15:50:19 archlinux systemd[1]: Listening on Journal Socket (/dev/log).
Sep 28 15:50:19 archlinux systemd[1]: Listening on Journal Sockets.
Sep 28 15:50:19 archlinux systemd[1]: Listening on udev Kernel Socket.
Sep 28 15:50:19 archlinux systemd[1]: Listening on udev Varlink Socket.
Sep 28 15:50:19 archlinux systemd[1]: Reached target Socket Units.
Sep 28 15:50:19 archlinux systemd[1]: Create List of Static Device Nodes skipped, unmet condition check ConditionFileNotEmpty=/lib/modules/7.2.7-arch1-1/modules.devname
Sep 28 15:50:19 archlinux systemd[1]: Early Battery Level Check skipped, unmet condition check ConditionDirectoryNotEmpty=/sys/class/power_supply
Sep 28 15:50:19 archlinux systemd[1]: Started Display Boot-Time Emergency Messages In Full Screen.
Sep 28 15:50:19 archlinux systemd[1]: Starting Journal Service...
Sep 28 15:50:19 archlinux systemd[1]: Starting Load Kernel Modules...
Sep 28 15:50:19 archlinux systemd[1]: Starting TPM PCR OS Separator...
Sep 28 15:50:19 archlinux systemd[1]: Starting TPM PCR Barrier (initrd)...
Sep 28 15:50:19 archlinux systemd[1]: Starting Create Static Device Nodes in /dev...
Sep 28 15:50:19 archlinux systemd[1]: Starting Coldplug All udev Devices...
Sep 28 15:50:19 archlinux systemd[1]: Finished Load Kernel Modules.
Sep 28 15:50:19 archlinux systemd[1]: Finished Create Static Device Nodes in /dev.
Sep 28 15:50:19 archlinux systemd[1]: Starting Rule-based Manager for Device Events and Files...
Sep 28 15:50:19 archlinux systemd-journald[200]: Collecting audit messages is disabled.
Sep 28 15:50:19 archlinux systemd[1]: Started Rule-based Manager for Device Events and Files.
Sep 28 15:50:19 archlinux systemd-journald[200]: Journal started
Sep 28 15:50:19 archlinux systemd-journald[200]: Runtime Journal (/run/log/journal/b97b2ff81b6a4e10b8e017a13565b974) is 8M, max 631.9M, 623.9M free.
Sep 28 15:50:19 archlinux systemd-udevd[207]: Using default interface naming scheme 'v261'.
Sep 28 15:50:19 archlinux systemd[1]: Started Journal Service.
Sep 28 15:50:19 archlinux systemd-pcrextend[202]: Extended PCR index 0 with 'os-separator' (banks sha256).
Sep 28 15:50:19 archlinux systemd-pcrextend[202]: Extended PCR index 1 with 'os-separator' (banks sha256).
Sep 28 15:50:19 archlinux systemd-pcrextend[202]: Extended PCR index 2 with 'os-separator' (banks sha256).
Sep 28 15:50:19 archlinux systemd-pcrextend[202]: Extended PCR index 3 with 'os-separator' (banks sha256).
Sep 28 15:50:19 archlinux systemd-pcrextend[202]: Extended PCR index 4 with 'os-separator' (banks sha256).
Sep 28 15:50:19 archlinux systemd[1]: Finished Coldplug All udev Devices.
Sep 28 15:50:19 archlinux systemd-pcrextend[202]: Extended PCR index 5 with 'os-separator' (banks sha256).
Sep 28 15:50:19 archlinux systemd-pcrextend[202]: Extended PCR index 6 with 'os-separator' (banks sha256).
Sep 28 15:50:19 archlinux systemd-pcrextend[202]: Extended PCR index 7 with 'os-separator' (banks sha256).
Sep 28 15:50:19 archlinux systemd-pcrextend[202]: Extended PCR index 9 with 'os-separator' (banks sha256).
Sep 28 15:50:19 archlinux systemd-pcrextend[202]: Extended PCR index 12 with 'os-separator' (banks sha256).
Sep 28 15:50:19 archlinux systemd-pcrextend[202]: Extended PCR index 13 with 'os-separator' (banks sha256).
Sep 28 15:50:19 archlinux systemd-pcrextend[202]: Extended PCR index 14 with 'os-separator' (banks sha256).
Sep 28 15:50:19 archlinux systemd-pcrextend[203]: Extended PCR index 11 with 'enter-initrd' (banks sha256).
Sep 28 15:50:19 archlinux systemd[1]: Finished TPM PCR OS Separator.
Sep 28 15:50:19 archlinux systemd[1]: Finished TPM PCR Barrier (initrd).
.
.
Sep 28 15:50:20 archlinux systemd[1]: systemd-pcrosseparator.service: Deactivated successfully.
.
Sep 28 15:50:20 archlinux systemd-pcrextend[310]: Extended PCR index 11 with 'leave-initrd' (banks sha256).
Sep 28 15:50:20 archlinux systemd[1]: systemd-pcrphase-initrd.service: Deactivated successfully.
Sep 28 15:50:20 archlinux systemd[1]: Stopped TPM PCR Barrier (initrd).
Sep 28 15:50:20 archlinux systemd[1]: Reached target Switch Root.
Sep 28 15:50:20 archlinux systemd[1]: Starting Switch Root...
Sep 28 15:50:20 archlinux systemd[1]: Switching root.
Sep 28 15:50:20 archlinux systemd-journald[200]: Journal stopped
Sep 28 15:50:21 omega3 systemd-journald[200]: Received SIGTERM from PID 1 (systemd).
Sep 28 15:50:21 omega3 systemd[1]: systemd 262-1-arch running in system mode (+PAM +AUDIT -SELINUX +APPARMOR -IMA +IPE +SMACK +SECCOMP +GNUTLS +OPENSSL +ACL +BLKID +CURL +ELFUTILS +FIDO2 +IDN2 +KMOD +LIBCRYPTSE>
Sep 28 15:50:21 omega3 systemd[1]: Detected architecture x86-64.
Sep 28 15:50:21 omega3 systemd[1]: Received untrusted credentials: nvpcr-anchor.b97b2ff81b6a4e10b8e017a13565b974
Sep 28 15:50:21 omega3 systemd[1]: Acquired 0 regular credentials, 1 untrusted credentials.
Sep 28 15:50:21 omega3 systemd[1]: Hostname set to <omega3>.
Sep 28 15:50:21 omega3 systemd[1]: bpf-restrict-fs: LSM BPF program attached
Sep 28 15:50:21 omega3 systemd[1]: initrd-switch-root.service: Deactivated successfully.
Sep 28 15:50:21 omega3 systemd[1]: Stopped Switch Root.
.
.
Sep 28 15:50:21 omega3 systemd-pcrextend[369]: Extended PCR index 15 with 'machine-id:b97b2ff81b6a4e10b8e017a13565b974' (banks sha256).
Sep 28 15:50:21 omega3 systemd[1]: Finished TPM PCR Machine ID Measurement.
Sep 28 15:50:21 omega3 systemd-tpm2-setup[372]: SRK already stored in the TPM.
Sep 28 15:50:21 omega3 systemd-tpm2-setup[372]: SRK fingerprint is 9e326025c4403d5a01fed1350130fec9e14dd577f4212fa6b34eb008e69f32e5.
Sep 28 15:50:21 omega3 systemd-tpm2-setup[372]: SRK public key saved to '/run/systemd/tpm2-srk-public-key.pem' in PEM format.
Sep 28 15:50:21 omega3 systemd-tpm2-setup[372]: SRK public key saved to '/run/systemd/tpm2-srk-public-key.tpm2b_public' in TPM2B_PUBLIC format.
Sep 28 15:50:21 omega3 systemd[1]: Started Network Time Synchronization.
Sep 28 15:50:21 omega3 systemd[1]: Reached target System Time Set.
Sep 28 15:50:21 omega3 systemd[1]: Finished Coldplug All udev Devices.
Sep 28 15:50:21 omega3 systemd[1]: Mounted NFSD configuration filesystem.
Sep 28 15:50:21 omega3 systemd-udevd[415]: Using default interface naming scheme 'v261'.
Sep 28 15:50:21 omega3 systemd[1]: Finished Flush Journal to Persistent Storage.
Sep 28 15:50:21 omega3 systemd-tpm2-setup[372]: Failed to initialize NvPCR index: No such file or directory
Sep 28 15:50:21 omega3 systemd-tpm2-setup[372]: Failed to initialize NvPCR index: No such file or directory
Sep 28 15:50:21 omega3 systemd-timesyncd[411]: Network configuration changed, trying to establish connection.
Sep 28 15:50:21 omega3 systemd-tpm2-setup[372]: Failed to initialize NvPCR index: No such file or directory
Sep 28 15:50:21 omega3 systemd-tpm2-setup[372]: Failed to initialize NvPCR index: No such file or directory
Sep 28 15:50:21 omega3 systemd-tpm2-setup[372]: 4 NvPCRs failed to initialize, proceeding anyway.
Sep 28 15:50:21 omega3 systemd[1]: systemd-tpm2-setup-early.service: Main process exited, code=exited, status=1/FAILURE
Sep 28 15:50:21 omega3 systemd[1]: systemd-tpm2-setup-early.service: Failed with result 'exit-code'.
Sep 28 15:50:21 omega3 systemd[1]: Failed to start Early TPM SRK Setup.
Sep 28 15:50:21 omega3 systemd[1]: TPM PCR NvPCR Initialization Separator skipped, unmet condition check ConditionPathExists=/etc/initrd-release
Sep 28 15:50:21 omega3 systemd[1]: Starting TPM NvPCR Product ID Measurement...
Sep 28 15:50:21 omega3 systemd[1]: Repartition Root Disk skipped, no trigger condition checks were met.
Sep 28 15:50:21 omega3 systemd[1]: Starting TPM SRK Setup...
Sep 28 15:50:21 omega3 systemd[1]: Started Rule-based Manager for Device Events and Files.
Sep 28 15:50:21 omega3 systemd[1]: Load Kernel Module configfs skipped, unmet condition check ConditionKernelModuleLoaded=!configfs
Sep 28 15:50:21 omega3 systemd[1]: Load Kernel Module fuse skipped, unmet condition check ConditionKernelModuleLoaded=!fuse
.
.
Sep 28 15:50:21 omega3 systemd[1]: Found device PC_SN5000S SanDisk 512GB 2.
Sep 28 15:50:21 omega3 systemd[1]: Condition check resulted in PC_SN5000S SanDisk 512GB 1 being skipped.
Sep 28 15:50:21 omega3 systemd[1]: Starting Cryptography Setup for swap...
Sep 28 15:50:21 omega3 systemd[1]: Starting File System Check on /dev/disk/by-partuuid/15092ca6-3f39-405d-91c4-a65505aa572d...
Sep 28 15:50:21 omega3 systemd-pcrextend[425]: Could not extend NvPCR: No such file or directory
Sep 28 15:50:21 omega3 systemd[1]: systemd-pcrproduct.service: Main process exited, code=exited, status=1/FAILURE
Sep 28 15:50:21 omega3 systemd[1]: systemd-pcrproduct.service: Failed with result 'exit-code'.
Sep 28 15:50:21 omega3 systemd[1]: Failed to start TPM NvPCR Product ID Measurement.
Sep 28 15:50:21 omega3 systemd-fsck[492]: fsck.fat 4.2 (2021-01-31)
Sep 28 15:50:21 omega3 systemd-fsck[492]: /dev/nvme0n1p1: 40 files, 62546/261628 clusters
Sep 28 15:50:21 omega3 systemd[1]: Finished File System Check on /dev/disk/by-partuuid/15092ca6-3f39-405d-91c4-a65505aa572d.
.
.
Sep 28 15:50:21 omega3 kernel: iwlwifi 0000:81:00.0: Detected crf-id 0x2001910, cnv-id 0x2001910 wfpm id 0x80000000
Sep 28 15:50:21 omega3 kernel: iwlwifi 0000:81:00.0: PCI dev 272b/40f0, rev=0x472, rfid=0x112200
Sep 28 15:50:21 omega3 kernel: iwlwifi 0000:81:00.0: Detected Intel(R) Wi-Fi 7 BE200 320MHz
Sep 28 15:50:21 omega3 kernel: iwlwifi 0000:81:00.0: loaded firmware version 106.c88d33af.0 gl-c0-fm-c0-c106.ucode op_mode iwlmld
Sep 28 15:50:21 omega3 systemd-pcrextend[544]: Could not extend NvPCR: No such file or directory
Sep 28 15:50:21 omega3 systemd[1]: systemd-pcrproduct.service: Main process exited, code=exited, status=1/FAILURE
Sep 28 15:50:21 omega3 systemd[1]: systemd-pcrproduct.service: Failed with result 'exit-code'.
Sep 28 15:50:21 omega3 systemd[1]: Failed to start TPM NvPCR Product ID Measurement.
Sep 28 15:50:21 omega3 kernel: e1000e 0000:80:1f.6 eth0: (PCI Express:2.5GT/s:Width x1) 4c:c5:d9:4d:08:80
Sep 28 15:50:21 omega3 kernel: e1000e 0000:80:1f.6 eth0: Intel(R) PRO/1000 Network Connection
Sep 28 15:50:21 omega3 kernel: e1000e 0000:80:1f.6 eth0: MAC: 15, PHY: 12, PBA No: FFFFFF-0FF
Sep 28 15:50:21 omega3 kernel: e1000e 0000:80:1f.6 enp128s31f6: renamed from eth0
Sep 28 15:50:21 omega3 kernel: Key type encrypted registered
.
.
Sep 28 15:50:22 omega3 systemd[1]: Starting D-Bus System Message Bus...
Sep 28 15:50:22 omega3 systemd[1]: Starting TPM PCR Barrier (Initialization)...
Sep 28 15:50:22 omega3 systemd[1]: Started D-Bus System Message Bus.
Sep 28 15:50:22 omega3 dbus-broker-launch[604]: Ready
Sep 28 15:50:22 omega3 kernel: SGI XFS with ACLs, security attributes, realtime, scrub, repair, quota, no debug enabled
Sep 28 15:50:22 omega3 kernel: XFS (sda1): Mounting V5 Filesystem c51c24eb-4dfb-4442-adc0-6a48a7ea3a4e
Sep 28 15:50:22 omega3 systemd-pcrextend[605]: Extended PCR index 11 with 'sysinit' (banks sha256).
Sep 28 15:50:22 omega3 systemd[1]: Finished TPM PCR Barrier (Initialization).
Sep 28 15:50:22 omega3 systemd[1]: Reached target Basic System.
.
.
Sep 28 15:50:22 omega3 systemd[1]: Started User Login Management.
Sep 28 15:50:22 omega3 systemd[1]: Started USBGuard D-Bus Service.
Sep 28 15:50:22 omega3 systemd[1]: Started USBGuard daemon.
Sep 28 15:50:22 omega3 systemd-pcrextend[627]: Extended PCR index 11 with 'ready' (banks sha256).
Sep 28 15:50:22 omega3 systemd[1]: Finished TPM PCR Barrier (User).
Sep 28 15:50:22 omega3 systemd[1]: Started Hostname Service.
.
.
Sep 28 15:50:22 omega3 systemd[1]: Started Accounts Service.
Sep 28 15:50:22 omega3 systemd-logind[626]: New session '1' of user 'gdm-greeter' with class 'greeter' and type 'wayland'.
Sep 28 15:50:22 omega3 systemd[1]: Created slice Slice /system/systemd-pcrlogin.
Sep 28 15:50:22 omega3 systemd[1]: Created slice User Slice of UID 60578.
Sep 28 15:50:22 omega3 systemd[1]: Starting TPM NvPCR Measurement of User Record for UID 60578...
.
.
Sep 28 15:50:22 omega3 systemd-pcrextend[769]: Could not extend NvPCR: No such file or directory
Sep 28 15:50:22 omega3 systemd[1]: systemd-pcrlogin@60578.service: Main process exited, code=exited, status=1/FAILURE
Sep 28 15:50:22 omega3 systemd[1]: systemd-pcrlogin@60578.service: Failed with result 'exit-code'.
Sep 28 15:50:22 omega3 systemd[1]: Failed to start TPM NvPCR Measurement of User Record for UID 60578.
Sep 28 15:50:22 omega3 systemd[1]: Starting User Runtime Directory /run/user/60578...
Sep 28 15:50:22 omega3 systemd[1]: Finished User Runtime Directory /run/user/60578.
Sep 28 15:50:22 omega3 systemd[1]: Starting User Manager for UID 60578...
.
.
Sep 28 15:50:29 omega3 systemd-homework[2366]: Setting up LUKS device /dev/mapper/home-physkets completed.
Sep 28 15:50:29 omega3 systemd-homework[2366]: Provided password unlocks user record.
Sep 28 15:50:29 omega3 systemd-homework[2366]: Probing file system completed (found ext4).
Sep 28 15:50:29 omega3 systemd-homed[2385]: physkets: clean, 488169/23044096 files, 18671960/92150016 blocks
Sep 28 15:50:29 omega3 systemd-homework[2366]: File system check completed.
Sep 28 15:50:29 omega3 systemd-homework[2366]: Mounting file system completed.
Sep 28 15:50:29 omega3 kernel: EXT4-fs (dm-1): mounted filesystem 474effef-d868-458a-a5cf-757dcea1b7a4 r/w with ordered data mode. Quota mode: none.
Sep 28 15:50:29 omega3 systemd-homework[2366]: Read embedded .identity file.
Sep 28 15:50:29 omega3 systemd-homework[2366]: Provided password unlocks user record.
Sep 28 15:50:29 omega3 systemd-homework[2366]: Reconciling user identities completed (host and header version were identical).
Sep 28 15:50:29 omega3 systemd-homework[2366]: Reconciling embedded user identity completed (host and embedded version were identical).
Sep 28 15:50:29 omega3 systemd-homework[2366]: Recursive changing of ownership not necessary, skipped.
Sep 28 15:50:29 omega3 systemd-homework[2366]: Synchronized disk.
Sep 28 15:50:29 omega3 systemd-homework[2366]: Moving to final mount point /home/physkets completed.
Sep 28 15:50:29 omega3 systemd-homework[2366]: Activation completed.
Sep 28 15:50:29 omega3 systemd-homework[2366]: Image size is 351.5G, file system size is 351.5G, file system payload size is 344.9G, file system free is 280.2G.
Sep 28 15:50:29 omega3 systemd-homed[625]: Home physkets is signed exclusively by our key, accepting.
Sep 28 15:50:29 omega3 systemd-homed[625]: physkets: changing state activating-for-acquire → active
Sep 28 15:50:29 omega3 systemd-homed[625]: Rebalancing complete.
Sep 28 15:50:29 omega3 gdm-password][2097]: pam_systemd_home(gdm-password:auth): Home for user physkets successfully acquired.
Sep 28 15:50:29 omega3 gdm-password][2097]: gkr-pam: unable to locate daemon control file
Sep 28 15:50:29 omega3 gdm-password][2097]: gkr-pam: stashed password to try later in open session
Sep 28 15:50:29 omega3 gdm-password][2097]: pam_unix(gdm-password:session): session opened for user physkets(uid=60369) by physkets(uid=0)
Sep 28 15:50:29 omega3 systemd-logind[626]: New session '3' of user 'physkets' with class 'user' and type 'wayland'.
Sep 28 15:50:29 omega3 systemd[1]: Created slice User Slice of UID 60369.
Sep 28 15:50:29 omega3 systemd[1]: Starting TPM NvPCR Measurement of User Record for UID 60369...
Sep 28 15:50:29 omega3 systemd-pcrextend[2393]: Could not extend NvPCR: No such file or directory
Sep 28 15:50:29 omega3 systemd[1]: systemd-pcrlogin@60369.service: Main process exited, code=exited, status=1/FAILURE
Sep 28 15:50:29 omega3 systemd[1]: systemd-pcrlogin@60369.service: Failed with result 'exit-code'.
Sep 28 15:50:29 omega3 systemd[1]: Failed to start TPM NvPCR Measurement of User Record for UID 60369.
Sep 28 15:50:29 omega3 systemd[1]: Starting User Runtime Directory /run/user/60369...
Sep 28 15:50:29 omega3 systemd-user-runtime-dir[2395]: Successfully configured disk quota for UID 60369 on /tmp to 12.3G
Sep 28 15:50:29 omega3 systemd-user-runtime-dir[2395]: Successfully configured disk quota for UID 60369 on /dev/shm to 12.3G
Sep 28 15:50:29 omega3 systemd[1]: Finished User Runtime Directory /run/user/60369.
Sep 28 15:50:29 omega3 systemd[1]: Starting User Manager for UID 60369...
Sep 28 15:50:29 omega3 (systemd)[2397]: pam_systemd_home(systemd-user:account): Home for user physkets successfully acquired.
Sep 28 15:50:29 omega3 (systemd)[2397]: pam_warn(systemd-user:setcred): function=[pam_sm_setcred] flags=0x8002 service=[systemd-user] terminal=[] user=[physkets] ruser=[<unknown>] rhost=[<unknown>]
Sep 28 15:50:29 omega3 (systemd)[2397]: pam_unix(systemd-user:session): session opened for user physkets(uid=60369) by physkets(uid=0)
Sep 28 15:50:29 omega3 systemd-logind[626]: New session '4' of user 'physkets' with class 'manager' and type 'unspecified'.
Sep 28 15:50:29 omega3 systemd[2397]: Queued start job for default target Main User Target.
.
.
Sep 28 16:03:25 omega3 systemd-logind[626]: New session '5' of user 'root' with class 'user-early-light' and type 'tty'.
Sep 28 16:03:25 omega3 systemd[1]: Created slice User Slice of UID 0.
Sep 28 16:03:25 omega3 systemd[1]: Starting TPM NvPCR Measurement of User Record for UID 0...
Sep 28 16:03:25 omega3 systemd-pcrextend[16853]: Could not extend NvPCR: No such file or directory
Sep 28 16:03:25 omega3 systemd-pcrextend[16853]: Could not extend NvPCR: No such file or directory
Sep 28 16:03:25 omega3 systemd[1]: systemd-pcrlogin@0.service: Main process exited, code=exited, status=1/FAILURE
Sep 28 16:03:25 omega3 systemd[1]: systemd-pcrlogin@0.service: Failed with result 'exit-code'.
Sep 28 16:03:25 omega3 systemd[1]: Failed to start TPM NvPCR Measurement of User Record for UID 0.
Sep 28 16:03:25 omega3 systemd[1]: Starting User Runtime Directory /run/user/0...
Sep 28 16:03:25 omega3 systemd[1]: Finished User Runtime Directory /run/user/0.
Sep 28 16:03:25 omega3 systemd[1]: Started Session 5 of User root.
Sep 28 16:03:25 omega3 (ls)[16848]: pam_unix(systemd-run0:session): session opened for user root(uid=0) by root(uid=0)
Sep 28 16:03:25 omega3 systemd[1]: Started [run0] /usr/bin/ls /var/lib/systemd/nvpcr/.
Sep 28 16:03:25 omega3 systemd[1]: run-p16665-i4647.service: Deactivated successfully.
Sep 28 16:03:25 omega3 systemd-logind[626]: Session 5 logged out. Waiting for processes to exit.
Sep 28 16:03:25 omega3 systemd[1]: session-5.scope: Deactivated successfully.
Sep 28 16:03:25 omega3 systemd-logind[626]: Removed session 5.
.
.

Offline

#2 2026-09-28 09:11:39

physkets
Member
From: India
Registered: 2016-08-22
Posts: 52

Re: SecureBoot breaks due to TPM errors

Foxboron suggested that the Secure Boot issue might be due to miss-enrolled keys, and that is what it looks like.

I imported the keys into `sbctl`, manually enrolled them from the UEFI interface (because the enroll-keys command wasn't able to do it).

Now, when I attempt to sign or verify, I get an error:

$ run0 sbctl verify 
Verifying file database and EFI images in /boot...
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x8 pc=0x55e10ce62f9b]

goroutine 1 [running]:
github.com/foxboron/sbctl/backend.GetBackendType({0x3668fcd80600, 0x0, 0x200})
        github.com/foxboron/sbctl/backend/backend.go:309 +0xfb
github.com/foxboron/sbctl/backend.readKey(0x3668fcd13200, {0x3668fcba66c0?, 0x1?}, 0x3668fcbb58b0?, 0x3)
        github.com/foxboron/sbctl/backend/backend.go:249 +0x372
github.com/foxboron/sbctl/backend.GetKeyBackend(0x3668fcda2008?, 0x2?)
        github.com/foxboron/sbctl/backend/backend.go:274 +0x45
github.com/foxboron/sbctl/backend.GetKeyHierarchy({0x55e10d3edb88?, 0x3668fcd9a018?}, 0x3668fcd13200)
        github.com/foxboron/sbctl/backend/backend.go:280 +0x25
main.VerifyOneFile(0x3668fcd13200, {0x3668fcd94030, 0x26})
        github.com/foxboron/sbctl/cmd/sbctl/verify.go:59 +0x39c
main.RunVerify.func1(0x3668fcda4000)
        github.com/foxboron/sbctl/cmd/sbctl/verify.go:119 +0x45
github.com/foxboron/sbctl.SigningEntryIter(0x3668fcd13200, 0x3668fcbb5b80)
        github.com/foxboron/sbctl/database.go:58 +0x164
main.RunVerify(0x55e10d417480?, {0x55e10d48ea00, 0x0, 0x55e10cf56420?})
        github.com/foxboron/sbctl/cmd/sbctl/verify.go:117 +0x331
github.com/spf13/cobra.(*Command).execute(0x55e10d417480, {0x55e10d48ea00, 0x0, 0x0})
        github.com/spf13/cobra@v1.8.1/command.go:985 +0xb34
github.com/spf13/cobra.(*Command).ExecuteC(0x55e10d415aa0)
        github.com/spf13/cobra@v1.8.1/command.go:1117 +0x44f
github.com/spf13/cobra.(*Command).Execute(...)
        github.com/spf13/cobra@v1.8.1/command.go:1041
main.main()
        github.com/foxboron/sbctl/cmd/sbctl/main.go:192 +0x1d9

Offline

#3 2026-09-28 13:29:06

seth
Member
From: Won't reply 2 private help req
Registered: 2012-09-03
Posts: 78,485

Re: SecureBoot breaks due to TPM errors

Sanity check: does it work w/ sudo, su or doas?
(Unlike bullshitted "advertised", run0 is *not* a suid-free sudo replacement or sudo-replacement at all and notably engages in some context isolation that might screw you here…)

Online

#4 2026-09-28 14:28:27

-thc
Member
Registered: 2017-03-15
Posts: 1,215

Re: SecureBoot breaks due to TPM errors

physkets wrote:

I don't have any LUKS keys manually connected to TPM.
But I do use systemd-homed (which probably uses LUKS), and also `kernel-install` with `sbctl` for managing boot entries and secure boot, which probably use `ukify` and so, TPMs?
I am confused as to what I should do.

systemd-homed uses LUKS.
You normally don't need to use "kernel-install" and it doesn't create EFI boot entries.
"sbctl" is for signing kernels - it doesn't create EFI boot entries.
"ukify" is part of the non-standard systemd package "systemd-ukify" and only useful for UKI kernel images - "sbctl" doesn't "use this".
IMHO "Secure Boot" as a chain of trusted cryptographic signatures (PK -> KEK -> DB -> EFI boot loader) is independent of a TPM.

Your messages show that you activated measured logins (systemd-pcrlogin) and no sign of any bootloader (which may be intended).

Sanity check 2: Do you know what you have set up?

Offline

#5 2026-09-29 02:23:40

physkets
Member
From: India
Registered: 2016-08-22
Posts: 52

Re: SecureBoot breaks due to TPM errors

@seth Yes, attempted it with sudo; same result.

@-thc Sure; But ukify can detect and use sbctl as a plugin to perform signing when creating the UKI.
I don't remember for sure, but I might have enabled measured logins as per: https://wiki.archlinux.org/title/Truste … R_policies
But I can't find any PEM key files in /etc/systemd/, so I'm a but confused now.
These are the current occupied slots/values:

$ systemd-analyze pcrs
NR NAME                SHA256                                                          
 0 platform-code       c8972cbf38f375c8aff191978a90b96914a57adbf5ff6e967848677a6ea59dad
 1 platform-config     d6f273d6e81d75c5796f574c969179e5fae4bd51095455814507afc2add61350
 2 external-code       ad077fadaf129e548771fe97a1b96dd0ed20e103dd79cc2706e35f9ee7864afa
 3 external-config     8d22c738fcd1730fb0789cb09c0f72a0012baa3ea867723b26772c9ca0ae6571
 4 boot-loader-code    cd63f8ee57d97faa0c979c796fa9110662db1480beb20b7d2cf0550734738522
 5 boot-loader-config  3cfa571decdd734c9bdff2d2222fda027f18be7c8eee8c1ba2b8dbbfb2ebab7a
 6 host-platform       e184317b42a846cb9329810064a2f4867522b6f2fdd9145f4ebfc3514cab4520
 7 secure-boot-policy  a62d9a186be49f90f521429b8ca0f509e0533daf15bc7520fd418f9172aceacd
 8 -                   0000000000000000000000000000000000000000000000000000000000000000
 9 kernel-initrd       eb6dd2eab550ec7bcfd4a930b6c23ea70465db5c3ee07f568d21836db6167846
10 ima                 0000000000000000000000000000000000000000000000000000000000000000
11 kernel-boot         7d1430bb9825b51ae78c25a162214f903f75215b921db8079ac29213127d1ab6
12 kernel-config       ccc1c1fe97503849a3236915e6536fce539557151d3183d688f667b5848fa45a
13 sysexts             3345a4e7857aa5ae65e97702ade84a3755fd6144724779536b5773128676c99c
14 shim-policy         3345a4e7857aa5ae65e97702ade84a3755fd6144724779536b5773128676c99c
15 system-identity     c0735a1ecd8170d0474dbeb39661d93c4e111bbfb9abada4dd4a93a39151a2ba
16 debug               0000000000000000000000000000000000000000000000000000000000000000
17 -                   ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
18 -                   ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
19 -                   ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
20 -                   ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
21 -                   ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
22 -                   ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
23 application-support 0000000000000000000000000000000000000000000000000000000000000000

And inspecting the UKI tells me there is no .pcrsig section, so either I did not, or something went wrong now:

$ ukify inspect /boot/EFI/Linux/b97b2ff81b6a4e10b8e017a13565b974-6.18.54-1-lts.efi 
.sbat:
  size: 323 bytes
  sha256: 96aa509b6862fec4f7b6f81a64d69b9f0f5e8df6dc47224037b2a510769948ba
  text:
    sbat,1,SBAT Version,sbat,1,https://github.com/rhboot/shim/blob/main/SBAT.md
    systemd-stub,1,The systemd Developers,systemd,262,https://systemd.io/
    systemd-stub.arch,1,Arch Linux,systemd,262,https://archlinux.org/packages/core/x86_64/systemd/
    uki,1,UKI,uki,1,https://uapi-group.org/specifications/specs/unified_kernel_image/
.osrel:
  size: 382 bytes
  sha256: 71ff7a6e248d9a0718344c957ec709cb6f0b18631682fa404d7cff2af3ff341d
  text:
    NAME="Arch Linux"
    PRETTY_NAME="Arch Linux"
    ID=arch
    BUILD_ID=rolling
    ANSI_COLOR="38;2;23;147;209"
    HOME_URL="https://archlinux.org/"
    DOCUMENTATION_URL="https://wiki.archlinux.org/"
    SUPPORT_URL="https://bbs.archlinux.org/"
    BUG_REPORT_URL="https://gitlab.archlinux.org/groups/archlinux/-/issues"
    PRIVACY_POLICY_URL="https://terms.archlinux.org/docs/privacy-policy/"
    LOGO=archlinux-logo
.cmdline:
  size: 212 bytes
  sha256: b2c42ea2e1bc2d5823863e9dcdce5e7420dcade587b2780202d4c9a428af2388
  text:
    root="PARTUUID=042c0ea5-5e5d-42d4-81d9-6e521f492517" rw rootfstype=ext4 lockdown=integrity resume="PARTUUID=10eb30fa-8eb4-41dd-9e60-a8733b8955de" intel_iommu=on systemd.machine_id=b97b2ff81b6a4e10b8e017a13565b974
.uname:
  size: 13 bytes
  sha256: 829fad258bcc12afcd11c821d6ff03114fceaa9de8ee4b33288fccad871a17fc
  text:
    6.18.54-1-lts
.splash:
  size: 378226 bytes
  sha256: d0ec3070db1f29799adbc8be8a26341290d2df4bf35939a5adce8e7947bad3bf
.linux:
  size: 16491008 bytes
  sha256: f6f467ac934d8d0b516face1c5dd03334366de548af47e28a66db5f8bf853d46
.initrd:
  size: 25238824 bytes
  sha256: e2c1103630a2f508d886b19598fdca6b99345ea6b080af915900bdac0e7d39e8

Last edited by physkets (2026-09-29 02:33:02)

Offline

#6 2026-09-29 05:27:39

-thc
Member
Registered: 2017-03-15
Posts: 1,215

Re: SecureBoot breaks due to TPM errors

physkets wrote:

But ukify can detect and use sbctl as a plugin to perform signing when creating the UKI.

OK - that's the other way around. Can't help you there - I use UKI's but not "ukify".

Is the UKI signed

sbverify --list /efi/EFI/arch/arch-linux.efi

?

Offline

#7 2026-09-29 06:09:26

physkets
Member
From: India
Registered: 2016-08-22
Posts: 52

Re: SecureBoot breaks due to TPM errors

Looks like it is:

$ sbverify --list /boot/EFI/Linux/b97b2ff81b6a4e10b8e017a13565b974-7.2.7-arch1-1.efi 
signature 1
image signature issuers:
 - /CN=Database Key
image signature certificates:
 - subject: /CN=Database Key
   issuer:  /CN=Database Key

But this UKI was generated before everything went to shit.
Right now, sbctl isn't able to sign anything. It just spits out the error I posted earlier.

Last edited by physkets (2026-09-29 06:10:31)

Offline

#8 2026-09-29 06:14:57

-thc
Member
Registered: 2017-03-15
Posts: 1,215

Re: SecureBoot breaks due to TPM errors

If you boot the UKI directly from the firmware

PK -> KEK -> DB -> UKI Kernel image

and you didn't change the certificates it should boot. Something's not right.

Offline

#9 2026-09-29 06:28:46

physkets
Member
From: India
Registered: 2016-08-22
Posts: 52

Re: SecureBoot breaks due to TPM errors

True; all this was triggered after a desktop firmware update; maybe they messed something up?
And maybe sbctl being unable to do anything is related to that? (Doesn't make sense though; I assume its independent?)

Offline

#10 2026-09-29 06:38:21

-thc
Member
Registered: 2017-03-15
Posts: 1,215

Re: SecureBoot breaks due to TPM errors

When you first wrote

physkets wrote:

When I updated my system and rebooted it just now, SecureBoot verification failed.

did you mean a firmware update? I thought you meant an Arch update. That wasn't self-explanatory.

Later you wrote

physkets wrote:

I imported the keys into `sbctl`, manually enrolled them from the UEFI interface (because the enroll-keys command wasn't able to do it).

so my statement still stands  - if your keys are in the EFI variables and you boot the signed UKI directly from the firmware (EFI boot manager) it should work.

Offline

#11 2026-09-29 06:44:39

physkets
Member
From: India
Registered: 2016-08-22
Posts: 52

Re: SecureBoot breaks due to TPM errors

So my keys are empty files for some reason I don't understand:

$ file /var/lib/sbctl/keys/*/*
/var/lib/sbctl/keys/db/db.key:   empty
/var/lib/sbctl/keys/db/db.pem:   empty
/var/lib/sbctl/keys/KEK/KEK.key: empty
/var/lib/sbctl/keys/KEK/KEK.pem: empty
/var/lib/sbctl/keys/PK/PK.key:   empty
/var/lib/sbctl/keys/PK/PK.pem:   empty

I deleted the keys directory and created new ones. Now sbctl is fine.

Offline

Board footer

Powered by FluxBB