guix/gnu/system
Lilah Tascheter 689cca0c75
gnu: Core bootloader changes.
Sorry this is a massive commit.  It's kinda impossible to split it
without either completely breaking basic functionality or making a buggy
shim layer that's written just to be immediately removed.

But anyway, this is the real body of the bootloader subsystem update.
One of my favorite new things possible with this is easy generation of
disk images using arbitrary bootloaders, including ones that require one
or more data/install partitions, such as p-boot or depthcharge!

* gnu/build/image.scm (initialize-root-partition): Don't install
bootloader here.
(make-iso9660-image): Pull in grub.dir instead of a bootcfg.
* gnu/build/install.scm (install-boot-config): Delete procedure.
* gnu/machine/ssh.scm (deploy-managed-host, roll-back-managed-host): Use
new bootloader system.
(operating-system)[bootloader]: Use wrap-element sanitizer and support
multiple bootloaders.
(operating-system-bootcfg): Rename to...
(operating-system-bootmeta): ...this.  Rewrite to return relevant
information instead of calling the config procedure directly.
(operating-system-boot-parameters): Support multiple bootloaders.
* gnu/system/boot.scm (read-boot-parameters): Support multiple
bootloaders.
* gnu/system/image.scm (root-partition-index): Delete procedure.
(system-disk-image, system-iso9960-image): Support new bootloader system.
(system-disk-image)[targets]: New subprocedure.
* guix/scripts/system.scm (install, install-bootloader-from-provenance,
perform-action): Support multiple bootloaders and work with new
bootloader system instead of bootcfgs.
(display-system-generation): Support multiple bootloaders.
* guix/scripts/system/reconfigure.scm (install-bootloader-program):
Rewrite to simply insert each bootloader's installer in the gexp
directly, instead of copying bootcfgs.
(install-bootloader): Work with new bootloader system.  Just in case,
add install-bootloader.scm to the gc roots too.

Change-Id: I3654d160f7306bb45a78b82ea6b249ff4281f739
2024-10-08 10:36:38 -04:00
..
examples
images gnu: bootloader: Update bootloader-configuration targets field. 2024-10-08 10:36:38 -04:00
accounts.scm
boot.scm gnu: Core bootloader changes. 2024-10-08 10:36:38 -04:00
file-systems.scm
hurd.scm system: hurd: Empty default ‘privileged-programs’ list. 2024-08-19 16:36:44 +02:00
image.scm gnu: Core bootloader changes. 2024-10-08 10:36:38 -04:00
install.scm gnu: bootloader: Update bootloader-configuration targets field. 2024-10-08 10:36:38 -04:00
keyboard.scm
linux-container.scm
linux-initrd.scm
locale.scm system: locale: ‘glibc-supported-locales’ uses zstd instead of xz. 2024-09-09 17:17:55 +02:00
mapped-devices.scm
nss.scm
pam.scm
privilege.scm privilege: Add file-like->setuid-program helper. 2024-09-08 02:00:00 +02:00
setuid.scm privilege: Add file-like->setuid-program helper. 2024-09-08 02:00:00 +02:00
shadow.scm
uuid.scm uuid: Add support for exFAT. 2024-09-01 02:00:00 +02:00
vm.scm