Subject: [bug#75027] [PATCH v2 0/3] 'guix system reconfigure' loads system for kexec reboot

From: Ludovic Courtès <[email-masked]>
Date: Thu, 26 Dec 2024 18:21:24 +0100

Hello,

Changes compared to v1:

  • Move kexec code outside of ‘upgrade-shepherd-services’.  Now both
    (guix scripts system) and (gnu machine ssh) have to explicitly
    call ‘load-system-for-kexec’.

  • Add ‘--no-kexec’ command-line option for ‘guix system reconfigure’,
    as Jakob suggested.

  • Document kexec support under “Invoking guix system”.

The one thing I didn’t do is add a “kexec” symlink in the system; as it
turns out that’s not easily doable because of the circular dependency:
code returned by ‘kexec-loading-program’ needs to refer to the operating
system in which it would appear.

If we find a way to work around this, maybe we can add this later.

Thoughts?

Ludo’.

Ludovic Courtès (3):
  syscalls: Add ‘kexec-load-file’.
  system: Export ‘…-initrd-file’ and ‘…-root-file-system’.
  reconfigure: Support loading the system for kexec reboot.

 doc/guix.texi                       | 11 +++-
 gnu/machine/ssh.scm                 |  9 +++-
 gnu/system.scm                      |  4 +-
 gnu/tests/reconfigure.scm           | 78 +++++++++++++++++++++++++++++
 guix/build/syscalls.scm             | 54 ++++++++++++++++++++
 guix/scripts/system.scm             | 17 ++++++-
 guix/scripts/system/reconfigure.scm | 31 ++++++++++++
 tests/syscalls.scm                  | 13 +++++
 8 files changed, 213 insertions(+), 4 deletions(-)

base-commit: f96c14e3ca6b22e56621cc04a1bf06a8cac6ca23
-- 
2.46.0