[systemd-devel] systemctl kexec doing normal reboot (POST)

Ian Pilcher arequipeno at gmail.com
Sun Aug 10 17:48:46 UTC 2025


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
========================================================================



More information about the systemd-devel mailing list