I'm playing around, trying to use 'systemctl kexec' for faster reboots.
Thus far, I haven't been able to get it to work; I'm always getting a
"normal" reboot (including the firmware POST).

My system (Fedora 42) is using UEFI boot, with secure boot disabled.
systemd-boot is the bootloader.

$ sudo bootctl --no-pager
System:
      Firmware: UEFI 2.40 (American Megatrends 5.10)
 Firmware Arch: x64
   Secure Boot: disabled (setup)
  TPM2 Support: no
  Measured UKI: no
  Boot into FW: supported

Current Boot Loader:
      Product: systemd-boot 257.7-1.fc42
     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
               ✓ Multi-Profile UKIs are supported
               ✓ Boot loader set partition information
    Partition: /dev/disk/by-partuuid/e3cdac2c-91c9-4be9-abdd-b97a9dea16f0
       Loader: └─/EFI/SYSTEMD/SYSTEMD-BOOTX64.EFI
Current Entry: e74ab0d2949c479eb03abdab1b1acd41-6.15.9-201.fc42.x86_64.conf

Random Seed:
 System Token: set
       Exists: yes

Available Boot Loaders on ESP:
          ESP: /efi (/dev/disk/by-partuuid/e3cdac2c-91c9-4be9-abdd-b97a9dea16f0)
         File: ├─/EFI/systemd/systemd-bootx64.efi (systemd-boot 257.7-1.fc42)
               ├─/EFI/BOOT/BOOTX64.EFI (systemd-boot v245.8-2.fc32)
               ├─/EFI/BOOT/fallback.efi
               └─/EFI/BOOT/fbx64.efi

Boot Loaders Listed in EFI Variables:
        Title: Linux
           ID: 0x0000
       Status: active, boot-order
    Partition: /dev/disk/by-partuuid/e3cdac2c-91c9-4be9-abdd-b97a9dea16f0
         File: └─/EFI/SYSTEMD/SYSTEMD-BOOTX64.EFI

        Title: Windows Boot Manager
           ID: 0x0005
       Status: active, boot-order
    Partition: /dev/disk/by-partuuid/e3cdac2c-91c9-4be9-abdd-b97a9dea16f0
         File: └─/EFI/MICROSOFT/BOOT/BOOTMGFW.EFI

Boot Loader Entries:
        $BOOT: /efi (/dev/disk/by-partuuid/e3cdac2c-91c9-4be9-abdd-b97a9dea16f0)
        token: fedora

Default Boot Loader Entry:
         type: Boot Loader Specification Type #1 (.conf)
        title: Fedora Linux 42 (Adams) (6.15.9-201.fc42.x86_64)
           id: e74ab0d2949c479eb03abdab1b1acd41-6.15.9-201.fc42.x86_64.conf
       source: 
/efi//loader/entries/e74ab0d2949c479eb03abdab1b1acd41-6.15.9-201.fc42.x86_64.conf
 (on the EFI System Partition)
     sort-key: fedora
      version: 6.15.9-201.fc42.x86_64
   machine-id: e74ab0d2949c479eb03abdab1b1acd41
        linux: 
/efi//e74ab0d2949c479eb03abdab1b1acd41/6.15.9-201.fc42.x86_64/linux
       initrd: 
/efi//e74ab0d2949c479eb03abdab1b1acd41/6.15.9-201.fc42.x86_64/initrd
      options: root=/dev/mapper/vg_breadbox-lv_fedora ro 
rd.lvm.lv=vg_breadbox/lv_fedora elevator=deadline intel_iommu=on 
systemd.machine_id=e74ab0d2949c479eb03abdab1b1acd41

I don't see any obviously fatal errors when I do a dry run.

$ sudo SYSTEMD_LOG_LEVEL=debug systemctl --dry-run kexec
Bus n/a: changing state UNSET → OPENING
sd-bus: starting bus by connecting to /run/dbus/system_bus_socket...
Bus n/a: changing state OPENING → AUTHENTICATING
Bus n/a: changing state AUTHENTICATING → HELLO
Sent message type=method_call sender=n/a destination=org.freedesktop.DBus 
path=/org/freedesktop/DBus interface=org.freedesktop.DBus member=Hello cookie=1 
reply_cookie=0 signature=n/a error-name=n/a error-message=n/a
Got message type=method_return sender=org.freedesktop.DBus destination=:1.17 
path=n/a interface=n/a member=n/a  cookie=4294967295 reply_cookie=1 signature=s 
error-name=n/a error-message=n/a
Bus n/a: changing state HELLO → RUNNING
Sent message type=method_call sender=n/a destination=org.freedesktop.login1 
path=/org/freedesktop/login1 interface=org.freedesktop.login1.Manager 
member=ListInhibitors cookie=2 reply_cookie=0 signature=n/a error-name=n/a 
error-message=n/a
Got message type=method_return sender=:1.2 destination=:1.17 path=n/a 
interface=n/a member=n/a  cookie=33 reply_cookie=2 signature=a(ssssuu) 
error-name=n/a error-message=n/a
Found container virtualization none.
/dev/sda2: Partition has wrong 
PART_ENTRY_TYPE=0fc63daf-8483-4772-8e79-3d69d8477de4 for XBOOTLDR partition.
Reading EFI variable 
/sys/firmware/efi/efivars/LoaderEntryOneShot-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f.
open("/sys/firmware/efi/efivars/LoaderEntryOneShot-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f")
 failed: No such file or directory
Reading EFI variable 
/sys/firmware/efi/efivars/LoaderEntryDefault-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f.
open("/sys/firmware/efi/efivars/LoaderEntryDefault-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f")
 failed: No such file or directory
Reading EFI variable 
/sys/firmware/efi/efivars/LoaderEntrySelected-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f.
Found default: id "e74ab0d2949c479eb03abdab1b1acd41-6.15.9-201.fc42.x86_64.conf" is 
matched by pattern "e74ab0d2949c479eb03abdab1b1acd41-*"
Found default boot loader entry in file 
"/efi/loader/entries/e74ab0d2949c479eb03abdab1b1acd41-6.15.9-201.fc42.x86_64.conf"
Would run /usr/sbin/kexec --load 
"/efi/e74ab0d2949c479eb03abdab1b1acd41/6.15.9-201.fc42.x86_64/linux" --append 
"root=/dev/mapper/vg_breadbox-lv_fedora ro rd.lvm.lv=vg_breadbox/lv_fedora elevator=deadline 
intel_iommu=on systemd.machine_id=e74ab0d2949c479eb03abdab1b1acd41" --initrd 
"/efi/e74ab0d2949c479eb03abdab1b1acd41/6.15.9-201.fc42.x86_64/initrd"
Would set wall message "".
Would execute org.freedesktop.login1.Manager RebootWithFlags dbus call.
Bus n/a: changing state RUNNING → CLOSED

Nonetheless, running 'systemctl kexec' is doing a normal reboot,
including the firmware POST.

Any pointers on how to troubleshoot this further would be appreciated.

Thanks!

--
========================================================================
If your user interface is intuitive in retrospect ... it isn't intuitive
========================================================================

Reply via email to