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.
linux-initrd: Make the virtio kernel modules optional. * gnu/system/linux-initrd.scm (qemu-initrd): Add #:virtio? parameter. Use it. * gnu/system/vm.scm (expression->derivation-in-linux-vm): Pass 'qemu-initrd' #:virtio?. (virtualized-operating-system): Likewise.
system: Add a 'system?' field to user accounts. * gnu/system/shadow.scm (<user-account>)[system?]: New field. * gnu/system.scm (user-account->gexp): Add it. * guix/build/activation.scm (add-user): Add #:system? parameter and honor it. (activate-users+groups): Handle the 'system?' part of user tuples. Pass it to 'add-user'. Don't create PROFILE-DIR when SYSTEM? is true. * gnu/services/dbus.scm (dbus-service): Add 'system?' field for "messagebus" account. * gnu/services/base.scm (guix-build-accounts): Likewise. * gnu/services/avahi.scm (avahi-service): Likewise.
system: Install /var/guix/profiles/system-1-link on new systems. * guix/build/install.scm (directives): Add /var/guix/profiles/system. (populate-root-file-system): Add 'system' parameter. Create /var/guix/profiles/system-1-link. * guix/scripts/system.scm (install): Pass OS-DIR to 'populate-root-file-system'. * guix/build/vm.scm (initialize-root-partition): Add #:system-directory parameter, and pass it to 'populate-root-file-system'. (initialize-hard-disk): Add #:system-directory parameter, and pass it to 'initialize-root-partition'. * gnu/system/vm.scm (qemu-image): Add #:os-derivation parameter and pass it to 'initialize-hard-disk'. (system-disk-image, system-qemu-image, system-qemu-image/shared-store): Pass #:os-derivation to 'qemu-image.
system: Support the addition of old entries in the GRUB menu. * gnu/system.scm (operating-system-grub.cfg): Add 'old-entries' parameter. Pass it to 'grub-configuration-file'. * gnu/system/grub.scm (grub-configuration-file): Add #:old-entries parameter. Honor it.
install: Use udev. * gnu/system/install.scm (installation-services): Call 'udev-service'.
system: Use the default 'groups' field. * gnu/system/install.scm (installation-os): Remove 'groups' field. * build-aux/hydra/demo-os.scm: Likewise.