summaryrefslogtreecommitdiff
path: root/doc/guix.texi
diff options
context:
space:
mode:
Diffstat (limited to 'doc/guix.texi')
-rw-r--r--doc/guix.texi70
1 files changed, 56 insertions, 14 deletions
diff --git a/doc/guix.texi b/doc/guix.texi
index 2bfff7c2ff..96d545698f 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -103,6 +103,7 @@ Copyright @copyright{} 2021 Josselin Poiret@*
Copyright @copyright{} 2022 Remco van 't Veer@*
Copyright @copyright{} 2022 Aleksandr Vityazev@*
Copyright @copyright{} 2022 Philip M@sup{c}Grath@*
+Copyright @copyright{} 2022 Karl Hallsby@*
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
@@ -324,8 +325,8 @@ Invoking @command{guix build}
* Debugging Build Failures:: Real life packaging experience.
Foreign Architectures
-* Using cross-compilation:: Build for foreign architecture using cross-compilation.
-* Using native builds:: Build for foreign architectures natively.
+* Cross-Compilation:: Cross-compiling for another architecture.
+* Native Builds:: Targeting another architecture through native builds.
System Configuration
@@ -3457,7 +3458,7 @@ The typical use case is to define these environment variables in the
shell:
@example
-$ eval `guix package --search-paths`
+$ eval $(guix package --search-paths)
@end example
@var{kind} may be one of @code{exact}, @code{prefix}, or @code{suffix},
@@ -12473,8 +12474,8 @@ If a log is unavailable locally, and unless @option{--no-substitutes} is
passed, the command looks for a corresponding log on one of the
substitute servers (as specified with @option{--substitute-urls}).
-So for instance, imagine you want to see the build log of GDB on MIPS,
-but you are actually on an @code{x86_64} machine:
+So for instance, imagine you want to see the build log of GDB on
+@code{aarch64}, but you are actually on an @code{x86_64} machine:
@example
$ guix build --log-file gdb -s aarch64-linux
@@ -15238,12 +15239,12 @@ requires emulation, using the QEMU program for instance.
@end enumerate
@menu
-* Using cross-compilation:: Build for foreign architecture using cross-compilation.
-* Using native builds:: Build for foreign architectures natively.
+* Cross-Compilation:: Cross-compiling for another architecture.
+* Native Builds:: Targeting another architecture through native builds.
@end menu
-@node Using cross-compilation
-@section Using cross-compilation
+@node Cross-Compilation
+@section Cross-Compilation
@cindex foreign architectures
The commands supporting cross-compilation are proposing the
@@ -15290,8 +15291,8 @@ penaly compared to emulation using QEMU. There are however higher risks
that some packages fail to cross-compile because few users are using
this mechanism extensively.
-@node Using native builds
-@section Using native builds
+@node Native Builds
+@section Native Builds
The commands that support impersonating a specific system have the
@option{--list-systems} and @option{--system} options.
@@ -36270,8 +36271,8 @@ The type of a bootloader configuration declaration.
@cindex BIOS, bootloader
The bootloader to use, as a @code{bootloader} object. For now
@code{grub-bootloader}, @code{grub-efi-bootloader},
-@code{grub-efi-netboot-bootloader}, @code{extlinux-bootloader} and
-@code{u-boot-bootloader} are supported.
+@code{grub-efi-netboot-bootloader}, @code{grub-efi-removable-bootloader},
+@code{extlinux-bootloader} and @code{u-boot-bootloader} are supported.
@cindex ARM, bootloaders
@cindex AArch64, bootloaders
@@ -36340,6 +36341,20 @@ NFS servers, you also need a properly configured DHCP server to make the booting
over netboot possible. For all this we can currently only recommend you to look
for instructions about @acronym{PXE, Preboot eXecution Environment}.
+@vindex grub-efi-removable-bootloader
+@code{grub-efi-removable-bootloader} allows you to boot your system from
+removable media by writing the GRUB file to the UEFI-specification location of
+@file{/EFI/BOOT/BOOTX64.efi} of the boot directory, usually @file{/boot/efi}.
+This is also useful for some UEFI firmwares that ``forget'' their configuration
+from their non-volatile storage. Like @code{grub-efi-bootloader}, this can only
+be used if the @file{/sys/firmware/efi} directory is available.
+
+@quotation Note
+This @emph{will} overwrite the GRUB file from any other operating systems that
+also place their GRUB file in the UEFI-specification location; making them
+unbootable.
+@end quotation
+
@item @code{targets}
This is a list of strings denoting the targets onto which to install the
bootloader.
@@ -36348,7 +36363,8 @@ The interpretation of targets depends on the bootloader in question.
For @code{grub-bootloader}, for example, they should be device names
understood by the bootloader @command{installer} command, such as
@code{/dev/sda} or @code{(hd0)} (@pxref{Invoking grub-install,,, grub,
-GNU GRUB Manual}). For @code{grub-efi-bootloader}, they should be mount
+GNU GRUB Manual}). For @code{grub-efi-bootloader} and
+@code{grub-efi-removable-bootloader} they should be mount
points of the EFI file system, usually @file{/boot/efi}. For
@code{grub-efi-netboot-bootloader}, @code{targets} should be the mount
points corresponding to TFTP root directories served by your TFTP
@@ -36603,6 +36619,19 @@ As for @command{guix package --search}, the result is written in
@code{recutils} format, which makes it easy to filter the output
(@pxref{Top, GNU recutils databases,, recutils, GNU recutils manual}).
+@cindex service type definition, editing
+@cindex editing, service type definition
+@item edit
+Edit or view the definition of the given service types.
+
+For example, the command below opens your editor, as specified by the
+@env{EDITOR} environment variable, on the definition of the
+@code{openssh} service type:
+
+@example
+guix system edit openssh
+@end example
+
@item reconfigure
Build the operating system described in @var{file}, activate it, and
switch to it@footnote{This action (and the related actions
@@ -39439,6 +39468,19 @@ guix home container config.scm -- herd status
The command to run in the container must come after @code{--} (double
hyphen).
+@cindex service type definition, editing
+@cindex editing, service type definition
+@item edit
+Edit or view the definition of the given Home service types.
+
+For example, the command below opens your editor, as specified by the
+@env{EDITOR} environment variable, on the definition of the
+@code{home-mcron} service type:
+
+@example
+guix home edit home-mcron
+@end example
+
@item reconfigure
Build the home environment described in @var{file}, and switch to it.
Switching means that the activation script will be evaluated and (in