guix/gnu
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
..
bootloader gnu: bootloader: grub: Rewrite entirely. 2024-10-08 10:36:38 -04:00
build gnu: Core bootloader changes. 2024-10-08 10:36:38 -04:00
home home: xdg-mime-applications: Fix file name spelling. 2024-09-29 22:21:34 +08:00
installer gnu: bootloader: Update bootloader-configuration targets field. 2024-10-08 10:36:38 -04:00
machine gnu: Core bootloader changes. 2024-10-08 10:36:38 -04:00
packages gnu: bootloader: grub: Rewrite entirely. 2024-10-08 10:36:38 -04:00
services services: Extend udev rules in joycond-service-type. 2024-10-07 01:20:22 +09:00
system gnu: Core bootloader changes. 2024-10-08 10:36:38 -04:00
tests gnu: tests: reconfigure: Remove bootloader install test. 2024-10-08 10:36:36 -04:00
artwork.scm
bootloader.scm gnu: bootloader: Update bootloader-configuration targets field. 2024-10-08 10:36:38 -04:00
ci.scm
compression.scm
home.scm
image.scm gnu: bootloader: Install any bootloader to ESP. 2024-10-08 10:36:37 -04:00
installer.scm installer: Use the latest ‘iso-codes’. 2024-09-28 12:55:54 +02:00
local.mk Move <boot-parameters> record to a separate file. 2024-10-08 10:36:34 -04:00
machine.scm
packages.scm
services.scm services: cleanup: Reintroduce explicit ‘chmod’ calls. 2024-09-25 17:53:53 +02:00
system.scm gnu: Core bootloader changes. 2024-10-08 10:36:38 -04:00
tests.scm