Package: kexec-tools
Version: 1:2.0.4-1
Followup-For: Bug #699008

Hi,

there are two problems:

1. the stop action "systemctl stop kexec-load.service"
(or "service kexec-load stop") does nothing because the service is not
active in the first place:

# systemctl status kexec-load.service

kexec-load.service - LSB: Load kernel image with kexec
   Loaded: loaded (/etc/init.d/kexec-load)
      Active: inactive (dead)

After running "systemctl start kexec-load.service"
(or "service kexec-load start") the next stop action works as expected
and the kexec is loaded. Afterwards the reboot works with kexec.


I wanted to have kexec reboot automatically without the need to run

# systemctl start kexec-load.service
# systemctl stop kexec-load.service

first. As a workaround I enabled start of the "kexec-load" service in my
active runlevel (the script does nothing during the "start" action).
That resulted into the "kexec-load.service" being activated
automatically during boot. The stop action of the "kexec-load.service"
was executed during reboot and the kexec was loaded. However the reboot
with kexec didn't work anyway, because of the second issue:


2. the "kexec -e" was never executed when the kexec was not
loaded _before_ launching the "reboot" command.
I.e. "systemctl stop kexec-load.service && reboot" worked, "reboot"
itself not although the kexec was properly loaded during the reboot
process (this was apparent from the journal).

The likely cause is described in
http://lists.freedesktop.org/archives/systemd-devel/2012-March/004760.html

"Next, we have a chicken-and-egg kind of problem. "systemctl reboot"
has logic like:
if (strstr(program_invocation_short_name, "reboot")) {
        if (kexec_loaded())
                arg_action = ACTION_KEXEC;
        else
                arg_action = ACTION_REBOOT;
}

Obviously the kexec kernel won't be loaded yet at this time, so
systemd won't actually do a kexec."

This is a regression for kexec users migrating to systemd.

Thanks,
Martin Kourim


-- System Information:
Debian Release: jessie/sid
  APT prefers testing
  APT policy: (900, 'testing'), (500, 'stable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 3.13-1-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_US.utf8, LC_CTYPE=en_US.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages kexec-tools depends on:
ii  debconf [debconf-2.0]  1.5.53
ii  libc6                  2.18-5

kexec-tools recommends no packages.

kexec-tools suggests no packages.

-- debconf information:
* kexec-tools/load_kexec: true
  kexec-tools/use_grub_config: false


-- 
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]

Reply via email to