#1107909 "systemctl kexec" requires too much magic

Package:
kexec-tools
Source:
kexec-tools
Description:
tools to support fast kexec reboots
Submitter:
Harald Dunkel
Date:
2025-08-18 22:11:03 UTC
Severity:
normal
#1107909#5
Date:
2025-06-17 06:30:33 UTC
From:
To:
Even though /etc/default/kexec is configured correctly

	KERNEL_IMAGE="/vmlinuz"
	INITRD="/initrd.img"
	APPEND=""
	USE_GRUB_CONFIG=false

and the files/symlinks exist, systemctl kexec replies

	No kexec kernel loaded and autodetection failed.
	Automatic loading works only on systems booted with EFI.

/usr/share/doc/kexex-tools/README.Debian doesn't elaborate where
the EFI restriction came from. From my understanding kexec had been
introduced to *bypass* BIOS/UEFI initialization at boot time and
to let the new kernel do the work instead. Why does it bother now?

Nor does the README explain why kexec-tools' defaults file is
ignored (apparently), what kind of "autodetection" has been tried
instead, and what magic needs to be applied in general to make
kexec work somehow. It did for Bullseye.


I got similar problems for Testing (kexec-tools 1:2.0.29-2+b2).



Regards
Harri

#1107909#10
Date:
2025-08-18 22:09:08 UTC
From:
To:
systemd uses its own scripts for kexec which require a kexec kernel to
be pre-loaded. I had added a script "kexec-load-kernel" in previous
releases to parse /etc/default/kexec and load a kexec kernel but it was
not documented in README.debian. I have updated README.debian and this
update will be in the next release.

To kexec, try these steps and please let me know if it works:

- Load a kexec kernel with "kexec-load-kernel"
- Reboot with "systemctl kexec"

Thanks,
Khalid

#1107909#15
Date:
2025-08-18 22:09:08 UTC
From:
To:
systemd uses its own scripts for kexec which require a kexec kernel to
be pre-loaded. I had added a script "kexec-load-kernel" in previous
releases to parse /etc/default/kexec and load a kexec kernel but it was
not documented in README.debian. I have updated README.debian and this
update will be in the next release.

To kexec, try these steps and please let me know if it works:

- Load a kexec kernel with "kexec-load-kernel"
- Reboot with "systemctl kexec"

Thanks,
Khalid