can i "kexec" a running f9 system to a new kernel?

Robert P. J. Day rpjday at crashcourse.ca
Sun Jul 13 12:48:59 UTC 2008


On Sun, 13 Jul 2008, Tom Horsley wrote:

> On Sun, 13 Jul 2008 06:26:06 -0400 (EDT)
> "Robert P. J. Day" <rpjday at crashcourse.ca> wrote:
>
> >   quite simply, if i have a running f9 system, can i configure and
> > build a new (relocatable, for convenience) kernel and just kexec
> > over to it?
>
> I believe the running system needs to have kexec support built
> into the kernel, so the more fundamental question is: Does the F9
> kernel have kexec? Looking at /boot/config-2.6.25.9-76.fc9.x86_64
> on my F9 partition, I see CONFIG_KEXEC=y, so it looks like the
> support is there in the kernel, ...

  that part i've verified already, but it's not clear if you *need*
any other kernel functionality to be able to "kexec" out of the
running kernel.  NOTE:  i'm talking about functionality required in
the kernel you are kexec'ing ***from***.  you can configure a new
kernel to be relocatable but, as i read it, that would be a config
option you might choose for the kernel you are kexec'ing *to*.

  so, a two-part question:

1) is the current f9 kernel fully equipped for kexec?  and, AFAICT, it
would seem to be, based simply on CONFIG_KEXEC=y.  that would seem to
be sufficient, yes?  (it's also configured to be relocatable but i
don't think that's a necessity.)

2) what are the *required* config options for building a new kernel
that you can kexec *to* from the current kernel?

> but I don't see any userland kexec tools to start the reboot process
> from the command line, perhaps there is some rpm you need to install
> to get those?

  # yum install kexec-tools

> As far as the actual booting goes, I don't see anything to be
> concerned about. The kexec stuff is exactly like a hardware
> reboot, it just bypasses the painfully slow process of having
> the system BIOS run all the POST nonsense, read the boot loader,
> and the boot loader getting the kernel started. It is just
> like going directly to the boot loader getting the kernel started.
> I'm not even sure why it took so many years for someone to
> think of it :-). I think some linux distros have already switched
> their "reboot" command to use it.

  which still doesn't clarify if i can do it.  from the current git
kernel source tree, i've built a new kernel and initrd that i've
verified boots *normally* (not with full functionality since i don't
care about that, i just want a good boot.)

  for that new kernel, all i've verified is that it's relocatable.
does it *require* anything else?  AFAICT, it doesn't even need "kexec"
functionality if it's going to be used only as the *destination* of a
"kexec" call.

  so ... what's the story?  has anyone been doing this?  and how?
i'll give it a shot, and i'll report back.

rday
--

========================================================================
Robert P. J. Day
Linux Consulting, Training and Annoying Kernel Pedantry:
    Have classroom, will lecture.

http://crashcourse.ca                          Waterloo, Ontario, CANADA
========================================================================




More information about the fedora-list mailing list