Limitations/gotchas of kexec?

Petr Tesarik ptesarik at suse.cz
Tue Sep 27 00:59:36 PDT 2016


On Mon, 26 Sep 2016 15:19:50 -0500
Clif Houck <me at clifhouck.com> wrote:

> Hi all,
> 
> I was wondering if there's a known list of limitations of kexec?
> 
> For example, is there anything fundamentally wrong with trying to kexec
> from kernel version X to kernel version Y where:
> 1) version Y > version X
> 2) X < Y
> 3) X == Y
> 
> I wouldn't expect to have an issue in case 1 or 3. But maybe if the
> distance between two kernel versions is too great then I would have a
> problem? Is there any concept of explicit incompatibility between
> different kernels coupled with kexec or is it just 'try-and-see'?
> 
> Are there other important things to look out for?

On x86, I can think of one problematic point, and that's limitations of
the boot protocol, which may prevent booting an older kernel from a
high physical memory location. This can be solved if you load the kexec
kernel low enough. For real old kernels you may have to go through
32-bit code, or even 16-bit real-mode code.

Mostly, it's not a matter of inherent incompatibilities between the
kernels, but rather finding a combination of options that work for the
target kernel.

I don't have exact kernel versions and their requirements,
unfortunately.

Petr T



More information about the kexec mailing list