You are not logged in.
Hi everyone,
I would like to enable selection of entries in on-screen menu for emergency rollbacks to a btrfs snapshot. The issue is essentially no on-screen menu at beginning of boot. Boot process skip directly to decrypt root partition.
$ cat /boot/loader/loader.conf
default paadpi.conf
timeout 20
console-mode keep
editor no
random-seed-mode off$ bootctl
System:
Firmware: UEFI 2.70 (American Megatrends 5.12)
Secure Boot: disabled
Setup Mode: setup
Current Boot Loader:
Product: systemd-boot 245.5-2-arch
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
✓ Boot loader sets ESP partition information
ESP: /dev/disk/by-partuuid/864eb3ee-b1e5-a04c-9163-dadc94f6d8ac
File: └─/EFI/systemd/systemd-bootx64.efi
Random Seed:
Passed to OS: no
System Token: set
Exists: yes
Available Boot Loaders on ESP:
ESP: /boot (/dev/disk/by-partuuid/864eb3ee-b1e5-a04c-9163-dadc94f6d8ac)
File: └─/EFI/systemd/systemd-bootx64.efi (systemd-boot 245.5-2-arch)
File: └─/EFI/BOOT/BOOTX64.EFI (systemd-boot 245.5-2-arch)
Boot Loaders Listed in EFI Variables:
Title: Linux Boot Manager
ID: 0x0003
Status: active, boot-order
Partition: /dev/disk/by-partuuid/864eb3ee-b1e5-a04c-9163-dadc94f6d8ac
File: └─/EFI/systemd/systemd-bootx64.efi
Boot Loader Entries:
$BOOT: /boot (/dev/disk/by-partuuid/864eb3ee-b1e5-a04c-9163-dadc94f6d8ac)
Default Boot Loader Entry:
title: paadpi
id: paadpi.conf
source: /boot/loader/entries/paadpi.conf
linux: vmlinuz-linux
initrd: /intel-ucode.img
/initramfs-linux.img
options: cryptdevice=UUID="57c8ce0e-51d3-4452-a9fa-1f9291308c69":nvme rootflags=subvol=root root=UUID="1bfde928-6cf4-47d9-afc5-ea84853e30db"$ bootctl list
Boot Loader Entries:
title: paadpi (default)
id: paadpi.conf
source: /boot/loader/entries/paadpi.conf
linux: vmlinuz-linux
initrd: /intel-ucode.img
/initramfs-linux.img
options: cryptdevice=UUID="57c8ce0e-51d3-4452-a9fa-1f9291308c69":nvme rootflags=subvol=root root=UUID="1bfde928-6cf4-47d9-afc5-ea84853e30db"
title: root-snap
id: root-snap.conf
source: /boot/loader/entries/root-snap.conf
linux: vmlinuz-linux
initrd: /intel-ucode.img
/initramfs-linux.img
options: cryptdevice=UUID="57c8ce0e-51d3-4452-a9fa-1f9291308c69":nvme rootflags=subvol=root-snap root=UUID="1bfde928-6cf4-47d9-afc5-ea84853e30db"
title: Reboot Into Firmware Interface
id: auto-reboot-to-firmware-setup
source: /sys/firmware/efi/efivars/LoaderEntries-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f$bootctl --version
systemd 245 (245.5-2-arch)
+PAM +AUDIT -SELINUX -IMA -APPARMOR +SMACK -SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 +SECCOMP +BLKID +ELFUTILS +KMOD +IDN2 -IDN +PCRE2 default-hierarchy=hybrid tree /boot
/boot
├── EFI
│ ├── BOOT
│ │ └── BOOTX64.EFI
│ ├── Linux
│ └── systemd
│ └── systemd-bootx64.efi
├── initramfs-linux-fallback.img
├── initramfs-linux.img
├── intel-ucode.img
├── loader
│ ├── entries
│ │ ├── paadpi.conf
│ │ └── root-snap.conf
│ ├── loader.conf
│ ├── random-seed
│ └── random-seed.bak
└── vmlinuz-linuxAm I missing sth? On-screen menu should pop-up for 20s (timeout 20), shoudn't it?
SOLVED
Thanks to Ropid for showing a direction.
I found an information in:
$ man systemd-boot ... EFI VARIABLES ... LoaderConfigTimeout, LoaderConfigTimeoutOneShot The menu timeout in seconds. Read by the boot loader. LoaderConfigTimeout is maintained persistently, while LoaderConfigTimeoutOneShot is a one-time override which is read once (in which case it takes precedence over LoaderConfigTimeout) and then removed. LoaderConfigTimeout may be manipulated with the t/T keys, see above.) ...LoaderConfigTimeout seems to be set to 0.
$cat /sys/firmware/efi/efivars/LoaderConfigTimeout-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f 0⏎Holding "+" during boot solved problem. Holding "T" should also help.
Now,$/sys/firmware/efi/efivars/LoaderConfigTimeout-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f 5⏎I found also a post about same issue https://bbs.archlinux.org/viewtopic.php?id=229486
Last edited by paadpi (2020-04-27 18:45:08)
Offline
You can get into the menu by holding down the space-bar on your keyboard at boot. This will make the menu show up even if timeout is set to zero.
Did you in the past ever use the timeout hotkeys while you were in the systemd-boot boot menu? When you press those hotkeys, systemd-boot will save your new timeout in the motherboard's UEFI variables. That UEFI variable will then override what you are doing in the loader.conf file. The hotkeys to change the timeout are "-" to decrease one second and "t" to increase. The hotkeys and the name of the UEFI variable is listed somewhere in "man systemd-boot". You can see your UEFI variables inside /sys/firmware/efi/efivars/.
Last edited by Ropid (2020-04-27 17:32:17)
Offline
You can get into the menu by holding down the space-bar on your keyboard at boot. This will make the menu show up even if timeout is set to zero.
Did you in the past ever use the timeout hotkeys while you were in the systemd-boot boot menu? When you press those hotkeys, systemd-boot will save your new timeout in the motherboard's UEFI variables. That UEFI variable will then override what you are doing in the loader.conf file. The hotkeys to change the timeout are "-" to decrease one second and "t" to increase. The hotkeys and the name of the UEFI variable is listed somewhere in "man systemd-boot". You can see your UEFI variables inside /sys/firmware/efi/efivars/.
Thanks for response.
Holding down the space bar has not made the menu show up.
I have never used the timeout hotkeys (at least not intentionally).
I found an information in:
$ man systemd-boot
...
EFI VARIABLES
...
LoaderConfigTimeout, LoaderConfigTimeoutOneShot
The menu timeout in seconds. Read by the boot loader. LoaderConfigTimeout is maintained persistently, while LoaderConfigTimeoutOneShot is a
one-time override which is read once (in which case it takes precedence over LoaderConfigTimeout) and then removed. LoaderConfigTimeout may be
manipulated with the t/T keys, see above.)
...LoaderConfigTimeout seems to be set to 0.
$cat /sys/firmware/efi/efivars/LoaderConfigTimeout-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f
0⏎Holding "+" during boot solved problem. Holding "T" should also help.
Now,
$/sys/firmware/efi/efivars/LoaderConfigTimeout-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f
5⏎I found also a post about same issue https://bbs.archlinux.org/viewtopic.php?id=229486
Last edited by paadpi (2020-04-27 18:35:25)
Offline