gnu: bootloader: Deprecate "device" field in favor of "target".
* gnu/bootloader.scm (<bootloader-configuration>): Deprecate "device" field in favor of "target" field. This is mostly a renaming but also a generalization to support UEFI targets being paths to a mounted partition instead of a device name. * gnu/system/examples/bare-bones.tmpl: * gnu/system/examples/desktop.tmpl: * gnu/system/examples/lightweight-desktop.tmpl: * gnu/system/examples/vm-image.tmpl: * gnu/system/install.scm: * gnu/tests.scm: * gnu/tests/install.scm: * gnu/tests/nfs.scm: * tests/system.scm: Adapt all invocations of bootloader-configuration. * guix/scripts/system.scm (perform-action): Rename device argument to bootloader-target. (process-action): Adapt caller. * doc/guix.texi (Proceeding with the Installation): * doc/guix.texi (Bootloader Configuration): Update documentation.
This commit is contained in:
parent
ba015ce9c0
commit
045ebb3e58
|
@ -7964,9 +7964,13 @@ in particular:
|
||||||
|
|
||||||
@itemize
|
@itemize
|
||||||
@item
|
@item
|
||||||
Make sure the @code{grub-configuration} form refers to the device you
|
Make sure the @code{grub-configuration} form refers to the target you
|
||||||
want to install GRUB on. You also need to specify the @code{grub-efi}
|
want to install GRUB on. It should mention @code{grub-bootloader} if
|
||||||
package if you wish to use native UEFI boot.
|
you are installing GRUB in the legacy way, or @code{grub-efi-bootloader}
|
||||||
|
for newer UEFI systems. For legacy systems, the @code{target} field
|
||||||
|
names a device, like @code{/dev/sda}; for UEFI systems it names a path
|
||||||
|
to a mounted EFI partition, like @code{/boot/efi}, and do make sure the
|
||||||
|
path is actually mounted.
|
||||||
|
|
||||||
@item
|
@item
|
||||||
Be sure that your partition labels match the value of their respective
|
Be sure that your partition labels match the value of their respective
|
||||||
|
@ -17192,11 +17196,15 @@ The bootloader to use, as a @code{bootloader} object. For now
|
||||||
Available bootloaders are described in @code{(gnu bootloader @dots{})}
|
Available bootloaders are described in @code{(gnu bootloader @dots{})}
|
||||||
modules.
|
modules.
|
||||||
|
|
||||||
@item @code{device}
|
@item @code{target}
|
||||||
This is a string denoting the boot device. It must be a device name
|
This is a string denoting the target onto which to install the
|
||||||
understood by the bootloader @command{installer} command, such as
|
bootloader. The exact interpretation depends on the bootloader in
|
||||||
@code{/dev/sda} or @code{(hd0)} (for GRUB, @pxref{Invoking grub-install,,, grub,
|
question; for @code{grub-bootloader}, for example, it should be a device
|
||||||
GNU GRUB Manual}).
|
name understood by the bootloader @command{installer} command, such as
|
||||||
|
@code{/dev/sda} or @code{(hd0)} (for GRUB, @pxref{Invoking
|
||||||
|
grub-install,,, grub, GNU GRUB Manual}). For
|
||||||
|
@code{grub-efi-bootloader}, it should be the path to a mounted EFI file
|
||||||
|
system.
|
||||||
|
|
||||||
@item @code{menu-entries} (default: @code{()})
|
@item @code{menu-entries} (default: @code{()})
|
||||||
A possibly empty list of @code{menu-entry} objects (see below), denoting
|
A possibly empty list of @code{menu-entry} objects (see below), denoting
|
||||||
|
@ -17448,7 +17456,7 @@ files, packages, and so on. It also creates other essential files
|
||||||
needed for the system to operate correctly---e.g., the @file{/etc},
|
needed for the system to operate correctly---e.g., the @file{/etc},
|
||||||
@file{/var}, and @file{/run} directories, and the @file{/bin/sh} file.
|
@file{/var}, and @file{/run} directories, and the @file{/bin/sh} file.
|
||||||
|
|
||||||
This command also installs bootloader on the device specified in
|
This command also installs bootloader on the target specified in
|
||||||
@file{my-os-config}, unless the @option{--no-bootloader} option was
|
@file{my-os-config}, unless the @option{--no-bootloader} option was
|
||||||
passed.
|
passed.
|
||||||
|
|
||||||
|
|
|
@ -43,7 +43,7 @@
|
||||||
bootloader-configuration
|
bootloader-configuration
|
||||||
bootloader-configuration?
|
bootloader-configuration?
|
||||||
bootloader-configuration-bootloader
|
bootloader-configuration-bootloader
|
||||||
bootloader-configuration-device
|
bootloader-configuration-target
|
||||||
bootloader-configuration-menu-entries
|
bootloader-configuration-menu-entries
|
||||||
bootloader-configuration-default-entry
|
bootloader-configuration-default-entry
|
||||||
bootloader-configuration-timeout
|
bootloader-configuration-timeout
|
||||||
|
@ -107,6 +107,8 @@
|
||||||
(bootloader bootloader-configuration-bootloader) ; <bootloader>
|
(bootloader bootloader-configuration-bootloader) ; <bootloader>
|
||||||
(device bootloader-configuration-device ; string
|
(device bootloader-configuration-device ; string
|
||||||
(default #f))
|
(default #f))
|
||||||
|
(target %bootloader-configuration-target ; string
|
||||||
|
(default #f))
|
||||||
(menu-entries bootloader-configuration-menu-entries ; list of <boot-parameters>
|
(menu-entries bootloader-configuration-menu-entries ; list of <boot-parameters>
|
||||||
(default '()))
|
(default '()))
|
||||||
(default-entry bootloader-configuration-default-entry ; integer
|
(default-entry bootloader-configuration-default-entry ; integer
|
||||||
|
@ -126,6 +128,15 @@
|
||||||
(additional-configuration bootloader-configuration-additional-configuration ; record
|
(additional-configuration bootloader-configuration-additional-configuration ; record
|
||||||
(default #f)))
|
(default #f)))
|
||||||
|
|
||||||
|
(define (bootloader-configuration-target config)
|
||||||
|
(or (%bootloader-configuration-target config)
|
||||||
|
(let ((device (bootloader-configuration-device config)))
|
||||||
|
(when device
|
||||||
|
(issue-deprecation-warning
|
||||||
|
"The 'device' field of bootloader configurations is deprecated."
|
||||||
|
"Use 'target' instead."))
|
||||||
|
device)))
|
||||||
|
|
||||||
|
|
||||||
;;;
|
;;;
|
||||||
;;; Bootloaders.
|
;;; Bootloaders.
|
||||||
|
|
|
@ -14,7 +14,7 @@
|
||||||
;; the label of the target root file system.
|
;; the label of the target root file system.
|
||||||
(bootloader (bootloader-configuration
|
(bootloader (bootloader-configuration
|
||||||
(bootloader grub-bootloader)
|
(bootloader grub-bootloader)
|
||||||
(device "/dev/sdX")))
|
(target "/dev/sdX")))
|
||||||
(file-systems (cons (file-system
|
(file-systems (cons (file-system
|
||||||
(device "my-root")
|
(device "my-root")
|
||||||
(title 'label)
|
(title 'label)
|
||||||
|
|
|
@ -15,7 +15,7 @@
|
||||||
;; is the label of the target root file system.
|
;; is the label of the target root file system.
|
||||||
(bootloader (bootloader-configuration
|
(bootloader (bootloader-configuration
|
||||||
(bootloader grub-bootloader)
|
(bootloader grub-bootloader)
|
||||||
(device "/dev/sdX")))
|
(target "/dev/sdX")))
|
||||||
|
|
||||||
;; Specify a mapped device for the encrypted root partition.
|
;; Specify a mapped device for the encrypted root partition.
|
||||||
;; The UUID is that returned by 'cryptsetup luksUUID'.
|
;; The UUID is that returned by 'cryptsetup luksUUID'.
|
||||||
|
|
|
@ -15,7 +15,7 @@
|
||||||
;; Partition mounted on /boot/efi.
|
;; Partition mounted on /boot/efi.
|
||||||
(bootloader (bootloader-configuration
|
(bootloader (bootloader-configuration
|
||||||
(bootloader grub-efi-bootloader)
|
(bootloader grub-efi-bootloader)
|
||||||
(device "/boot/efi")))
|
(target "/boot/efi")))
|
||||||
|
|
||||||
;; Assume the target root file system is labelled "my-root".
|
;; Assume the target root file system is labelled "my-root".
|
||||||
(file-systems (cons* (file-system
|
(file-systems (cons* (file-system
|
||||||
|
|
|
@ -26,7 +26,7 @@ partprobe, and then 2) resizing the filesystem with resize2fs.\n"))
|
||||||
|
|
||||||
;; Assuming /dev/sdX is the target hard disk, and "my-root" is
|
;; Assuming /dev/sdX is the target hard disk, and "my-root" is
|
||||||
;; the label of the target root file system.
|
;; the label of the target root file system.
|
||||||
(bootloader (grub-configuration (device "/dev/sda")
|
(bootloader (grub-configuration (target "/dev/sda")
|
||||||
(terminal-outputs '(console))))
|
(terminal-outputs '(console))))
|
||||||
(file-systems (cons (file-system
|
(file-systems (cons (file-system
|
||||||
(device "my-root")
|
(device "my-root")
|
||||||
|
|
|
@ -299,8 +299,7 @@ Use Alt-F2 for documentation.
|
||||||
(host-name "gnu")
|
(host-name "gnu")
|
||||||
(timezone "Europe/Paris")
|
(timezone "Europe/Paris")
|
||||||
(locale "en_US.utf8")
|
(locale "en_US.utf8")
|
||||||
(bootloader (grub-configuration
|
(bootloader (grub-configuration (target "/dev/sda")))
|
||||||
(device "/dev/sda")))
|
|
||||||
(file-systems
|
(file-systems
|
||||||
;; Note: the disk image build code overrides this root file system with
|
;; Note: the disk image build code overrides this root file system with
|
||||||
;; the appropriate one.
|
;; the appropriate one.
|
||||||
|
|
|
@ -206,7 +206,7 @@ the system under test."
|
||||||
(timezone "Europe/Berlin")
|
(timezone "Europe/Berlin")
|
||||||
(locale "en_US.UTF-8")
|
(locale "en_US.UTF-8")
|
||||||
|
|
||||||
(bootloader (grub-configuration (device "/dev/sdX")))
|
(bootloader (grub-configuration (target "/dev/sdX")))
|
||||||
(file-systems (cons (file-system
|
(file-systems (cons (file-system
|
||||||
(device "my-root")
|
(device "my-root")
|
||||||
(title 'label)
|
(title 'label)
|
||||||
|
|
|
@ -59,7 +59,7 @@
|
||||||
(timezone "Europe/Paris")
|
(timezone "Europe/Paris")
|
||||||
(locale "en_US.UTF-8")
|
(locale "en_US.UTF-8")
|
||||||
|
|
||||||
(bootloader (grub-configuration (device "/dev/vdb")))
|
(bootloader (grub-configuration (target "/dev/vdb")))
|
||||||
(kernel-arguments '("console=ttyS0"))
|
(kernel-arguments '("console=ttyS0"))
|
||||||
(file-systems (cons (file-system
|
(file-systems (cons (file-system
|
||||||
(device "my-root")
|
(device "my-root")
|
||||||
|
@ -98,7 +98,7 @@
|
||||||
|
|
||||||
(bootloader (bootloader-configuration
|
(bootloader (bootloader-configuration
|
||||||
(bootloader extlinux-bootloader-gpt)
|
(bootloader extlinux-bootloader-gpt)
|
||||||
(device "/dev/vdb")))
|
(target "/dev/vdb")))
|
||||||
(kernel-arguments '("console=ttyS0"))
|
(kernel-arguments '("console=ttyS0"))
|
||||||
(file-systems (cons (file-system
|
(file-systems (cons (file-system
|
||||||
(device "my-root")
|
(device "my-root")
|
||||||
|
@ -326,7 +326,7 @@ per %test-installed-os, this test is expensive in terms of CPU and storage.")
|
||||||
(timezone "Europe/Paris")
|
(timezone "Europe/Paris")
|
||||||
(locale "en_US.utf8")
|
(locale "en_US.utf8")
|
||||||
|
|
||||||
(bootloader (grub-configuration (device "/dev/vdb")))
|
(bootloader (grub-configuration (target "/dev/vdb")))
|
||||||
(kernel-arguments '("console=ttyS0"))
|
(kernel-arguments '("console=ttyS0"))
|
||||||
(file-systems (cons* (file-system
|
(file-systems (cons* (file-system
|
||||||
(device "my-root")
|
(device "my-root")
|
||||||
|
@ -384,7 +384,7 @@ partition. In particular, home directories must be correctly created (see
|
||||||
(timezone "Europe/Paris")
|
(timezone "Europe/Paris")
|
||||||
(locale "en_US.UTF-8")
|
(locale "en_US.UTF-8")
|
||||||
|
|
||||||
(bootloader (grub-configuration (device "/dev/vdb")))
|
(bootloader (grub-configuration (target "/dev/vdb")))
|
||||||
(kernel-arguments '("console=ttyS0"))
|
(kernel-arguments '("console=ttyS0"))
|
||||||
(file-systems (cons* (file-system
|
(file-systems (cons* (file-system
|
||||||
(device "root-fs")
|
(device "root-fs")
|
||||||
|
@ -460,7 +460,7 @@ where /gnu lives on a separate partition.")
|
||||||
(timezone "Europe/Paris")
|
(timezone "Europe/Paris")
|
||||||
(locale "en_US.utf8")
|
(locale "en_US.utf8")
|
||||||
|
|
||||||
(bootloader (grub-configuration (device "/dev/vdb")))
|
(bootloader (grub-configuration (target "/dev/vdb")))
|
||||||
(kernel-arguments '("console=ttyS0"))
|
(kernel-arguments '("console=ttyS0"))
|
||||||
(initrd (lambda (file-systems . rest)
|
(initrd (lambda (file-systems . rest)
|
||||||
;; Add a kernel module for RAID-0 (aka. "stripe").
|
;; Add a kernel module for RAID-0 (aka. "stripe").
|
||||||
|
@ -543,7 +543,7 @@ by 'mdadm'.")
|
||||||
(timezone "Europe/Paris")
|
(timezone "Europe/Paris")
|
||||||
(locale "en_US.UTF-8")
|
(locale "en_US.UTF-8")
|
||||||
|
|
||||||
(bootloader (grub-configuration (device "/dev/vdb")))
|
(bootloader (grub-configuration (target "/dev/vdb")))
|
||||||
|
|
||||||
;; Note: Do not pass "console=ttyS0" so we can use our passphrase prompt
|
;; Note: Do not pass "console=ttyS0" so we can use our passphrase prompt
|
||||||
;; detection logic in 'enter-luks-passphrase'.
|
;; detection logic in 'enter-luks-passphrase'.
|
||||||
|
@ -670,7 +670,7 @@ build (current-guix) and then store a couple of full system images.")
|
||||||
(timezone "Europe/Paris")
|
(timezone "Europe/Paris")
|
||||||
(locale "en_US.UTF-8")
|
(locale "en_US.UTF-8")
|
||||||
|
|
||||||
(bootloader (grub-configuration (device "/dev/vdb")))
|
(bootloader (grub-configuration (target "/dev/vdb")))
|
||||||
(kernel-arguments '("console=ttyS0"))
|
(kernel-arguments '("console=ttyS0"))
|
||||||
(file-systems (cons (file-system
|
(file-systems (cons (file-system
|
||||||
(device "my-root")
|
(device "my-root")
|
||||||
|
|
|
@ -41,7 +41,7 @@
|
||||||
(timezone "Europe/Berlin")
|
(timezone "Europe/Berlin")
|
||||||
(locale "en_US.UTF-8")
|
(locale "en_US.UTF-8")
|
||||||
|
|
||||||
(bootloader (grub-configuration (device "/dev/sdX")))
|
(bootloader (grub-configuration (target "/dev/sdX")))
|
||||||
(file-systems %base-file-systems)
|
(file-systems %base-file-systems)
|
||||||
(users %base-user-accounts)
|
(users %base-user-accounts)
|
||||||
(packages (cons*
|
(packages (cons*
|
||||||
|
|
|
@ -612,17 +612,16 @@ and TARGET arguments."
|
||||||
(define* (perform-action action os
|
(define* (perform-action action os
|
||||||
#:key install-bootloader?
|
#:key install-bootloader?
|
||||||
dry-run? derivations-only?
|
dry-run? derivations-only?
|
||||||
use-substitutes? device target
|
use-substitutes? bootloader-target target
|
||||||
image-size file-system-type full-boot?
|
image-size file-system-type full-boot?
|
||||||
(mappings '())
|
(mappings '())
|
||||||
(gc-root #f))
|
(gc-root #f))
|
||||||
"Perform ACTION for OS. INSTALL-BOOTLOADER? specifies whether to install
|
"Perform ACTION for OS. INSTALL-BOOTLOADER? specifies whether to install
|
||||||
bootloader; DEVICE is the target devices for bootloader; TARGET is the target
|
bootloader; BOOTLOADER-TAGET is the target for the bootloader; TARGET is the
|
||||||
root directory; IMAGE-SIZE is the size of the image to be built, for the
|
target root directory; IMAGE-SIZE is the size of the image to be built, for
|
||||||
'vm-image' and 'disk-image' actions.
|
the 'vm-image' and 'disk-image' actions. The root filesystem is created as a
|
||||||
The root filesystem is created as a FILE-SYSTEM-TYPE filesystem.
|
FILE-SYSTEM-TYPE filesystem. FULL-BOOT? is used for the 'vm' action; it
|
||||||
FULL-BOOT? is used for the 'vm' action;
|
determines whether to boot directly to the kernel or to the bootloader.
|
||||||
it determines whether to boot directly to the kernel or to the bootloader.
|
|
||||||
|
|
||||||
When DERIVATIONS-ONLY? is true, print the derivation file name(s) without
|
When DERIVATIONS-ONLY? is true, print the derivation file name(s) without
|
||||||
building anything.
|
building anything.
|
||||||
|
@ -662,7 +661,7 @@ output when building a system derivation, such as a disk image."
|
||||||
(target (or target "/")))
|
(target (or target "/")))
|
||||||
(bootloader-installer-derivation installer
|
(bootloader-installer-derivation installer
|
||||||
bootloader-package
|
bootloader-package
|
||||||
device target)))
|
bootloader-target target)))
|
||||||
|
|
||||||
;; For 'init' and 'reconfigure', always build BOOTCFG, even if
|
;; For 'init' and 'reconfigure', always build BOOTCFG, even if
|
||||||
;; --no-bootloader is passed, because we then use it as a GC root.
|
;; --no-bootloader is passed, because we then use it as a GC root.
|
||||||
|
@ -895,8 +894,9 @@ resulting from command-line parsing."
|
||||||
(target (match args
|
(target (match args
|
||||||
((first second) second)
|
((first second) second)
|
||||||
(_ #f)))
|
(_ #f)))
|
||||||
(device (and bootloader?
|
(bootloader-target
|
||||||
(bootloader-configuration-device
|
(and bootloader?
|
||||||
|
(bootloader-configuration-target
|
||||||
(operating-system-bootloader os)))))
|
(operating-system-bootloader os)))))
|
||||||
|
|
||||||
(with-store store
|
(with-store store
|
||||||
|
@ -929,7 +929,8 @@ resulting from command-line parsing."
|
||||||
(_ #f))
|
(_ #f))
|
||||||
opts)
|
opts)
|
||||||
#:install-bootloader? bootloader?
|
#:install-bootloader? bootloader?
|
||||||
#:target target #:device device
|
#:target target
|
||||||
|
#:bootloader-target bootloader-target
|
||||||
#:gc-root (assoc-ref opts 'gc-root)))))
|
#:gc-root (assoc-ref opts 'gc-root)))))
|
||||||
#:system system))))
|
#:system system))))
|
||||||
|
|
||||||
|
|
|
@ -36,7 +36,7 @@
|
||||||
(host-name "komputilo")
|
(host-name "komputilo")
|
||||||
(timezone "Europe/Berlin")
|
(timezone "Europe/Berlin")
|
||||||
(locale "en_US.utf8")
|
(locale "en_US.utf8")
|
||||||
(bootloader (grub-configuration (device "/dev/sdX")))
|
(bootloader (grub-configuration (target "/dev/sdX")))
|
||||||
(file-systems (cons %root-fs %base-file-systems))
|
(file-systems (cons %root-fs %base-file-systems))
|
||||||
|
|
||||||
(users %base-user-accounts)))
|
(users %base-user-accounts)))
|
||||||
|
@ -51,7 +51,7 @@
|
||||||
(host-name "komputilo")
|
(host-name "komputilo")
|
||||||
(timezone "Europe/Berlin")
|
(timezone "Europe/Berlin")
|
||||||
(locale "en_US.utf8")
|
(locale "en_US.utf8")
|
||||||
(bootloader (grub-configuration (device "/dev/sdX")))
|
(bootloader (grub-configuration (target "/dev/sdX")))
|
||||||
(mapped-devices (list %luks-device))
|
(mapped-devices (list %luks-device))
|
||||||
(file-systems (cons (file-system
|
(file-systems (cons (file-system
|
||||||
(inherit %root-fs)
|
(inherit %root-fs)
|
||||||
|
|
Loading…
Reference in New Issue