Merge branch 'version-0.15.0'
commit
c2808d4c67
|
@ -108,7 +108,9 @@ actually installing them. So that you can distinguish between your
|
|||
``end-user'' hat and your ``motley'' costume.
|
||||
|
||||
To that end, all the command-line tools can be used even if you have not
|
||||
run @code{make install}. To do that, prefix each command with
|
||||
run @code{make install}. To do that, you first need to have an environment
|
||||
with all the dependencies available (@pxref{Building from Git}), and then
|
||||
simply prefix each command with
|
||||
@command{./pre-inst-env} (the @file{pre-inst-env} script lives in the
|
||||
top build tree of Guix), as in@footnote{The @option{-E} flag to
|
||||
@command{sudo} guarantees that @code{GUILE_LOAD_PATH} is correctly set
|
||||
|
|
|
@ -96,6 +96,15 @@ Edition @value{EDITION} @*
|
|||
This document describes GNU Guix version @value{VERSION}, a functional
|
||||
package management tool written for the GNU system.
|
||||
|
||||
@c TRANSLATORS: You can replace the following paragraph with information on
|
||||
@c how to join your own translation team and how to report issues with the
|
||||
@c translation.
|
||||
This manual is also available in French (@pxref{Top,,, guix.fr, Manuel de
|
||||
référence de GNU Guix}). If you would like to translate it in your native
|
||||
language, consider joining the
|
||||
@uref{https://translationproject.org/domain/guix-manual.html, Translation
|
||||
Project}.
|
||||
|
||||
@menu
|
||||
* Introduction:: What is Guix about?
|
||||
* Installation:: Installing Guix.
|
||||
|
@ -8329,7 +8338,7 @@ More and more system services are provided (@pxref{Services}), but some
|
|||
may be missing.
|
||||
|
||||
@item
|
||||
More than 6,500 packages are available, but you might
|
||||
More than 7,500 packages are available, but you might
|
||||
occasionally find that a useful package is missing.
|
||||
|
||||
@item
|
||||
|
@ -8636,6 +8645,17 @@ must have the @code{esp} flag set. E.g., for @command{parted}:
|
|||
parted /dev/sda set 1 esp on
|
||||
@end example
|
||||
|
||||
@quotation Note
|
||||
@vindex grub-bootloader
|
||||
@vindex grub-efi-bootloader
|
||||
Unsure whether to use EFI- or BIOS-based GRUB? If the directory
|
||||
@file{/sys/firmware/efi} exists in the installation image, the you should
|
||||
probably perform an EFI installation, using @code{grub-efi-bootloader}.
|
||||
Otherwise you should use the BIOS-based GRUB, known as
|
||||
@code{grub-bootloader}. @xref{Bootloader Configuration}, for more info on
|
||||
bootloaders.
|
||||
@end quotation
|
||||
|
||||
Once you are done partitioning the target hard disk drive, you have to
|
||||
create a file system on the relevant partition(s)@footnote{Currently
|
||||
GuixSD only supports ext4 and btrfs file systems. In particular, code
|
||||
|
@ -8964,6 +8984,27 @@ Below we discuss the effect of some of the most important fields
|
|||
fields), and how to @dfn{instantiate} the operating system using
|
||||
@command{guix system}.
|
||||
|
||||
@unnumberedsubsubsec Bootloader
|
||||
|
||||
@cindex legacy boot, on Intel machines
|
||||
@cindex BIOS boot, on Intel machines
|
||||
@cindex UEFI boot
|
||||
@cindex EFI boot
|
||||
The @code{bootloader} field describes the method that will be used to boot
|
||||
your system. Machines based on Intel processors can boot in ``legacy'' BIOS
|
||||
mode, as in the example above. However, more recent machines rely instead on
|
||||
the @dfn{Unified Extensible Firmware Interface} (UEFI) to boot. In that case,
|
||||
the @code{bootloader} field should contain something along these lines:
|
||||
|
||||
@example
|
||||
(bootloader-configuration
|
||||
(bootloader grub-efi-bootloader)
|
||||
(target "/boot/efi"))
|
||||
@end example
|
||||
|
||||
@xref{Bootloader Configuration}, for more information on the available
|
||||
configuration options.
|
||||
|
||||
@unnumberedsubsubsec Globally-Visible Packages
|
||||
|
||||
@vindex %base-packages
|
||||
|
@ -9074,8 +9115,7 @@ management, power management, and more, would look like this:
|
|||
@include os-config-desktop.texi
|
||||
@end lisp
|
||||
|
||||
@cindex UEFI
|
||||
A graphical UEFI system with a choice of lightweight window managers
|
||||
A graphical system with a choice of lightweight window managers
|
||||
instead of full-blown desktop environments would look like this:
|
||||
|
||||
@lisp
|
||||
|
@ -20697,21 +20737,34 @@ The type of a bootloader configuration declaration.
|
|||
The bootloader to use, as a @code{bootloader} object. For now
|
||||
@code{grub-bootloader}, @code{grub-efi-bootloader},
|
||||
@code{extlinux-bootloader} and @code{u-boot-bootloader} are supported.
|
||||
@code{grub-efi-bootloader} allows to boot on modern systems using the
|
||||
@dfn{Unified Extensible Firmware Interface} (UEFI).
|
||||
|
||||
@vindex grub-efi-bootloader
|
||||
@code{grub-efi-bootloader} allows to boot on modern systems using the
|
||||
@dfn{Unified Extensible Firmware Interface} (UEFI). This is what you should
|
||||
use if the installation image contains a @file{/sys/firmware/efi} directory
|
||||
when you boot it on your system.
|
||||
|
||||
@vindex grub-bootloader
|
||||
@code{grub-bootloader} allows you to boot in particular Intel-based machines
|
||||
in ``legacy'' BIOS mode.
|
||||
|
||||
@cindex ARM, bootloaders
|
||||
@cindex AArch64, bootloaders
|
||||
Available bootloaders are described in @code{(gnu bootloader @dots{})}
|
||||
modules.
|
||||
modules. In particular, @code{(gnu bootloader u-boot)} contains definitions
|
||||
of bootloaders for a wide range of ARM and AArch64 systems, using the
|
||||
@uref{http://www.denx.de/wiki/U-Boot/, U-Boot bootloader}.
|
||||
|
||||
@item @code{target}
|
||||
This is a string denoting the target onto which to install the
|
||||
bootloader. The exact interpretation depends on the bootloader in
|
||||
question; for @code{grub-bootloader}, for example, it should be a device
|
||||
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.
|
||||
bootloader.
|
||||
|
||||
The interpretation depends on the bootloader in question. For
|
||||
@code{grub-bootloader}, for example, it should be a device name 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}, it should be the mount point of the EFI file
|
||||
system, usually @file{/boot/efi}.
|
||||
|
||||
@item @code{menu-entries} (default: @code{()})
|
||||
A possibly empty list of @code{menu-entry} objects (see below), denoting
|
||||
|
@ -20736,7 +20789,7 @@ The output terminals used for the bootloader boot menu, as a list of
|
|||
symbols. GRUB accepts the values: @code{console}, @code{serial},
|
||||
@code{serial_@{0-3@}}, @code{gfxterm}, @code{vga_text},
|
||||
@code{mda_text}, @code{morse}, and @code{pkmodem}. This field
|
||||
corresponds to the GRUB variable GRUB_TERMINAL_OUTPUT (@pxref{Simple
|
||||
corresponds to the GRUB variable @code{GRUB_TERMINAL_OUTPUT} (@pxref{Simple
|
||||
configuration,,, grub,GNU GRUB manual}).
|
||||
|
||||
@item @code{terminal-inputs} (default: @code{'()})
|
||||
|
@ -20745,7 +20798,7 @@ symbols. For GRUB, the default is the native platform terminal as
|
|||
determined at run-time. GRUB accepts the values: @code{console},
|
||||
@code{serial}, @code{serial_@{0-3@}}, @code{at_keyboard}, and
|
||||
@code{usb_keyboard}. This field corresponds to the GRUB variable
|
||||
GRUB_TERMINAL_INPUT (@pxref{Simple configuration,,, grub,GNU GRUB
|
||||
@code{GRUB_TERMINAL_INPUT} (@pxref{Simple configuration,,, grub,GNU GRUB
|
||||
manual}).
|
||||
|
||||
@item @code{serial-unit} (default: @code{#f})
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
# htmlxref.cnf - reference file for free Texinfo manuals on the web.
|
||||
# Modified by Ludovic Courtès <ludo@gnu.org> for the GNU Guix manual.
|
||||
|
||||
htmlxrefversion=2016-08-03.13; # UTC
|
||||
htmlxrefversion=2018-07-05.20; # UTC
|
||||
|
||||
# Copyright 2010, 2011, 2012, 2013, 2014, 2015 Free Software Foundation, Inc.
|
||||
#
|
||||
|
@ -219,7 +219,7 @@ emacs node ${EMACS}/html_node/emacs/
|
|||
easejs mono ${GS}/easejs/manual/easejs.html
|
||||
easejs node ${GS}/easejs/manual/
|
||||
|
||||
EMACS_GUIX = https://alezost.github.io/guix.el/manual/latest
|
||||
EMACS_GUIX = https://emacs-guix.gitlab.io/website/manual/latest
|
||||
emacs-guix mono ${EMACS_GUIX}/emacs-guix.html
|
||||
emacs-guix node ${EMACS_GUIX}/html_node/
|
||||
|
||||
|
@ -391,6 +391,8 @@ guile-rpc node ${GS}/guile-rpc/manual/html_node/
|
|||
|
||||
guix mono ${GS}/guix/manual/guix.html
|
||||
guix node ${GS}/guix/manual/html_node/
|
||||
guix.fr mono ${GS}/guix/manual/fr/guix.html
|
||||
guix.fr node ${GS}/guix/manual/fr/html_node/
|
||||
|
||||
gv mono ${GS}/gv/manual/gv.html
|
||||
gv node ${GS}/gv/manual/html_node/
|
||||
|
|
|
@ -105,7 +105,13 @@ the #:references-graphs parameter of 'derivation'."
|
|||
;; hardware virtualization to still use these commands. KVM support is
|
||||
;; still buggy on some ARM32 boards. Do not use it even if available.
|
||||
,@(if (and (file-exists? "/dev/kvm")
|
||||
(not target-arm32?))
|
||||
(not target-arm32?)
|
||||
|
||||
;; XXX: 32-bit 'qemu-system-i386 -enable-kvm' segfaults on
|
||||
;; x86_64 hosts running Linux-libre 4.17:
|
||||
;; <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=31380#18> and
|
||||
;; <https://lists.gnu.org/archive/html/qemu-devel/2018-07/msg01166.html>.
|
||||
(not (string-suffix? "-i386" qemu)))
|
||||
'("-enable-kvm")
|
||||
'())
|
||||
|
||||
|
|
|
@ -100,9 +100,9 @@
|
|||
;; Latest version of Guix, which may or may not correspond to a release.
|
||||
;; Note: the 'update-guix-package.scm' script expects this definition to
|
||||
;; start precisely like this.
|
||||
(let ((version "0.14.0")
|
||||
(commit "7af5c2a248b6c229187fc850517c84b0917c452b")
|
||||
(revision 13))
|
||||
(let ((version "0.15.0")
|
||||
(commit "4876bc8234095e2af191b0c6470455ce67d9f5f7")
|
||||
(revision 1))
|
||||
(package
|
||||
(name "guix")
|
||||
|
||||
|
@ -118,7 +118,7 @@
|
|||
(commit commit)))
|
||||
(sha256
|
||||
(base32
|
||||
"06kjimcln4ydirgl05qy98kxjyx3l6brxnq1ly7wb85f73s97gix"))
|
||||
"0qw0ffrxzxfk76pp38kx222ndpsv9mbhlmfycagyipgypgjdd9lq"))
|
||||
(file-name (string-append "guix-" version "-checkout"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
|
|
|
@ -1113,7 +1113,14 @@ the tty to run, among other things."
|
|||
|
||||
(start #~(make-forkexec-constructor
|
||||
(list #$(file-append mingetty "/sbin/mingetty")
|
||||
"--noclear" #$tty
|
||||
"--noclear"
|
||||
|
||||
;; Avoiding 'vhangup' allows us to avoid 'setfont'
|
||||
;; errors down the path where various ioctls get
|
||||
;; EIO--see 'hung_up_tty_ioctl' in driver/tty/tty_io.c
|
||||
;; in Linux.
|
||||
"--nohangup" #$tty
|
||||
|
||||
#$@(if auto-login
|
||||
#~("--autologin" #$auto-login)
|
||||
#~())
|
||||
|
|
|
@ -10,8 +10,9 @@
|
|||
(timezone "Europe/Berlin")
|
||||
(locale "en_US.utf8")
|
||||
|
||||
;; Assuming /dev/sdX is the target hard disk, and "my-root" is
|
||||
;; the label of the target root file system.
|
||||
;; Boot in "legacy" BIOS mode, assuming /dev/sdX is the
|
||||
;; target hard disk, and "my-root" is the label of the target
|
||||
;; root file system.
|
||||
(bootloader (bootloader-configuration
|
||||
(bootloader grub-bootloader)
|
||||
(target "/dev/sdX")))
|
||||
|
|
|
@ -11,11 +11,11 @@
|
|||
(timezone "Europe/Paris")
|
||||
(locale "en_US.utf8")
|
||||
|
||||
;; Assuming /dev/sdX is the target hard disk, and "my-root"
|
||||
;; is the label of the target root file system.
|
||||
;; Use the UEFI variant of GRUB with the EFI System
|
||||
;; Partition mounted on /boot/efi.
|
||||
(bootloader (bootloader-configuration
|
||||
(bootloader grub-bootloader)
|
||||
(target "/dev/sdX")))
|
||||
(bootloader grub-efi-bootloader)
|
||||
(target "/boot/efi")))
|
||||
|
||||
;; Specify a mapped device for the encrypted root partition.
|
||||
;; The UUID is that returned by 'cryptsetup luksUUID'.
|
||||
|
|
|
@ -703,6 +703,8 @@ MANIFEST."
|
|||
(module-ref (resolve-interface '(gnu packages texinfo)) 'texinfo))
|
||||
(define gzip ;lazy reference
|
||||
(module-ref (resolve-interface '(gnu packages compression)) 'gzip))
|
||||
(define glibc-utf8-locales ;lazy reference
|
||||
(module-ref (resolve-interface '(gnu packages base)) 'glibc-utf8-locales))
|
||||
|
||||
(define build
|
||||
(with-imported-modules '((guix build utils))
|
||||
|
@ -720,11 +722,31 @@ MANIFEST."
|
|||
(map (cut string-append infodir "/" <>)
|
||||
(or (scandir infodir info-file?) '()))))
|
||||
|
||||
(define (info-file-language file)
|
||||
(let* ((base (if (string-suffix? ".gz" file)
|
||||
(basename file ".info.gz")
|
||||
(basename file ".info")))
|
||||
(dot (string-rindex base #\.)))
|
||||
(if dot
|
||||
(string-drop base (+ 1 dot))
|
||||
"en")))
|
||||
|
||||
(define (install-info info)
|
||||
(setenv "PATH" (string-append #+gzip "/bin")) ;for info.gz files
|
||||
(let ((language (info-file-language info)))
|
||||
;; We need to choose a valid locale for $LANGUAGE to be honored.
|
||||
(setenv "LC_ALL" "en_US.utf8")
|
||||
(setenv "LANGUAGE" language)
|
||||
(zero?
|
||||
(system* (string-append #+texinfo "/bin/install-info") "--silent"
|
||||
info (string-append #$output "/share/info/dir"))))
|
||||
(system* #+(file-append texinfo "/bin/install-info")
|
||||
"--silent" info
|
||||
(apply string-append #$output "/share/info/dir"
|
||||
(if (string=? "en" language)
|
||||
'("")
|
||||
`("." ,language)))))))
|
||||
|
||||
(setenv "PATH" (string-append #+gzip "/bin")) ;for info.gz files
|
||||
(setenv "GUIX_LOCPATH"
|
||||
#+(file-append glibc-utf8-locales "/lib/locale"))
|
||||
|
||||
(mkdir-p (string-append #$output "/share/info"))
|
||||
(exit (every install-info
|
||||
|
|
|
@ -722,6 +722,7 @@ Create a bundle of PACKAGE.\n"))
|
|||
(if (assoc-ref opts 'bootstrap?)
|
||||
%bootstrap-guile
|
||||
(canonical-package guile-2.2))
|
||||
(assoc-ref opts 'system)
|
||||
#:graft? (assoc-ref opts 'graft?))))
|
||||
(let* ((dry-run? (assoc-ref opts 'dry-run?))
|
||||
(relocatable? (assoc-ref opts 'relocatable?))
|
||||
|
|
|
@ -28,6 +28,11 @@ fi
|
|||
|
||||
guix pack --version
|
||||
|
||||
# FIXME: Starting from commit 66e9944e078cbb9e0d618377dd6df6e639640efa,
|
||||
# '--bootstrap' is mostly ineffective since 'guix pack' produces derivations
|
||||
# that refer to guile-sqlite3 and libgcrypt. For now we just skip the test.
|
||||
exit 77
|
||||
|
||||
# Use --no-substitutes because we need to verify we can do this ourselves.
|
||||
GUIX_BUILD_OPTIONS="--no-substitutes"
|
||||
export GUIX_BUILD_OPTIONS
|
||||
|
|
Reference in New Issue