install: Add a service to back the store with the target disk. Fixes <http://bugs.gnu.org/18061>. Reported by Adam Pribyl <pribyl@lowlevel.cz>. * gnu/services/dmd.scm (dmd-configuration-file)[config]: Import (guix build utils). * gnu/system/install.scm (make-cow-store, cow-store-service): New procedures. (installation-services): Use it. (%backing-directory): New variable. * doc/guix.texi (System Installation): Add the 'deco start cow-store /mnt' phase.
system: Add missing exports to (gnu system file-systems). * gnu/system/file-systems.scm (%pseudo-terminal-file-system) (%shared-memory-file-system): Add to export list.
system: Add /dev/shm. * gnu/system/file-systems.scm (%shared-memory-file-system): New variable. (%base-file-systems): Add it. * doc/guix.texi (File Systems): Document it.
system: Add 'file-system' decl. for /dev/pts, and use the right options. Fixes <http://bugs.gnu.org/18081>. * gnu/system/file-systems.scm (%devtmpfs-file-system): Add 'needed-for-boot?' field. (%tty-gid, %pseudo-terminal-file-system): New variables. (%base-file-systems): Add %PSEUDO-TERMINAL-FILE-SYSTEM. * gnu/services/base.scm (udev-service): Remove dependency on 'file-system-/dev'. * gnu/system/shadow.scm (%base-groups): Add 'id' field for group 'tty'. * guix/build/linux-initrd.scm (boot-system): Remove 'mount' call for /dev/pts. * doc/guix.texi (File Systems): Add %pseudo-terminal-file-system.
system: Add 'create-mount-point?' file system option. * gnu/system/file-systems.scm (<file-system>)[create-mount-point?]: New field. * gnu/services/base.scm (file-system-service): Add #:create-mount-point? parameter and honor it. * gnu/system.scm (other-file-system-services): Update 'file-system-service' call accordingly. * doc/guix.texi (File Systems): Document it.
system: Add '%devtmpfs-file-system' for udev, and '%base-file-systems'. Suggested by Adam Pribyl <pribyl@lowlevel.cz>. * gnu/services/base.scm (udev-service)[requirement]: Add 'file-system-/dev'. * gnu/system/file-systems.scm (%devtmpfs-file-system, %base-file-systems): New variables. * gnu/system/install.scm (installation-services)[file-systems]: Use %base-file-systems. * build-aux/hydra/demo-os.scm (file-systems): Likewise. * doc/guix.texi (System Installation): Show %BASE-FILE-SYSTEMS in the example. (Using the Configuration System): Likewise. (File Systems): Document %base-file-systems, %devtmpfs-file-system, %binary-format-file-system, and %fuse-control-file-system.
install: Add wireless-tools package. * gnu/system/install.scm (installation-os): Add wireless-tools to packages.
linux-initrd: Add AHCI modules. * gnu/system/linux-initrd (linux-modules): Add them.
install: Show the "System Installation" node. * gnu/system/install.scm (log-to-info): Go to the new 'System Installation' node.
doc: Add "Initial RAM Disk" section. * doc/guix.texi (Initial RAM Disk): New node. * gnu/system/linux-initrd.scm (expression->initrd): Adjust docstring.
services: Add 'console-font-service'. * gnu/services/base.scm (unicode-start, console-font-service): New procedures. (%base-services): Call 'console-font-service' for TTY1 to TTY6. * gnu/system/install.scm (installation-services): Add comment about the console font. Call 'console-font-service' for TTY1 to TTY6.
install: Remove GNU fdisk from the image. * gnu/system/install.scm (installation-os): Remove FDISK.
vm: Make sure disk image initrds load 'usb-storage.ko'. Reported by David Thompson <dthompson2@worcester.edu>. * gnu/system/vm.scm (system-disk-image): Add usb-storage.ko to the initrd.
linux-initrd: Allow extra modules to be passed to 'base-initrd'. * gnu/system/linux-initrd.scm (base-initrd): Add #:extra-modules parameter.
vm: Add support for i686. Partially fixes <http://bugs.gnu.org/18002>. Reported by David Thompson <dthompson2@worcester.edu>. * guix/build/vm.scm (qemu-command): Add optional 'system' parameter. Special-case "^i[3456]86$". * gnu/system/vm.scm (system-qemu-image/shared-store-script): Use it.
system: Allow root to use 'groupadd' & co. without authenticating. This fixes a bug whereby, if #:allow-root-passwords was #f, 'groupadd' would ask for a password. This is particularly problematic during activation. * gnu/system/linux.scm (rootok-pam-service): New procedure. (base-pam-services): Use it for all the user* and group* commands.
system: Add "netdev" group. * gnu/system/shadow.scm (%base-groups): Add "netdev".
vm: Enable QEMU support in the freestanding VM image. * gnu/system/vm.scm (system-qemu-image): Add 'initrd' field.
linux-initrd: Rename 'qemu-initrd' to 'base-initrd'. * gnu/system/linux-initrd.scm (qemu-initrd): Rename to... (base-initrd): ... this. * gnu/system.scm (<operating-system>)[initrd]: Update accordingly. * gnu/system/vm.scm (expression->derivation-in-linux-vm, system-disk-image, virtualized-operating-system): Likewise.
linux-initrd: Disable QEMU networking by default. * gnu/system/linux-initrd.scm (qemu-initrd): Remove default value for #:qemu-networking?. * gnu/system/vm.scm (expression->derivation-in-linux-vm): Pass #:qemu-networking? #t. (system-disk-image): Remove #:qemu-networking? #f. (virtualized-operating-system): Pass #:qemu-networking? #t.