system: Add store-directory-prefix to boot-parameters.
authorMiguel Ángel Arruga Vivas <rosen644835@gmail.com>
Sat, 24 Oct 2020 16:15:53 +0000 (18:15 +0200)
committerMiguel Ángel Arruga Vivas <rosen644835@gmail.com>
Sun, 1 Nov 2020 01:28:38 +0000 (02:28 +0100)
commit582cf9257cd1f9c969fbba5eb1c336ac8b975cde
tree579aa251535713503cb1f5611a67ea1523338b5e
parent96d0f0b13819a68480e204716c1af6605cfdcb4c
system: Add store-directory-prefix to boot-parameters.

Fixes <http://issues.guix.gnu.org/44196>

* gnu/machine/ssh.scm (roll-back-managed-host): Use
boot-parameters-store-directory-prefix.
* gnu/system.scm (define-module): Export
boot-parameters-store-directory-prefix.
(<boot-parameters>)[store-directory-prefix]: New field. It is used to
generate the correct paths when /gnu/store is installed on a btrfs
subvolume whose name doesn't match the final runtime path, as the
bootloader doesn't have knowledge about the final mounting points.
[boot-parameters-store-directory-prefix]: New accessor.
(read-boot-parameters): Read directory-prefix from store field.
(operating-system-boot-parameters-file): Add directory-prefix to
store field.
* guix/scripts/system.scm (reinstall-bootloader): Use
boot-parameters-store-directory-prefix.
* test/boot-parameters.scm (%default-btrfs-subvolume,
%default-store-directory-prefix): New variables.
(%grub-boot-parameters): Use %default-store-directory-prefix.
(%default-operating-system): Use %default-btrfs-subvolume.
(test-boot-parameters): Add directory-prefix.
(test optional fields): Add test for directory-prefix.
(test os store-directory-prefix): New test.
gnu/machine/ssh.scm
gnu/system.scm
guix/scripts/system.scm
tests/boot-parameters.scm