linux-initrd: Make more device nodes for SCSI disks and CD-ROM devices. * guix/build/linux-initrd.scm (make-disk-device-nodes): New procedure. (make-essential-device-nodes): Use it. Make more devices nodes for SCSI disks and CD-ROM devices.
linux-initrd: Gracefully handle missing /dev nodes. * guix/build/linux-initrd.scm (partition-label-predicate): Catch 'system-error' around 'read-ext2-superblock'; return #f upon ENOENT.
hydra: Build the installation image. * build-aux/hydra/gnu-system.scm (demo-os): New procedure. (qemu-jobs): Build for both x86_64-linux and i686-linux. Add 'usb-image' job that builds INSTALLATION-OS.
Add (gnu system install). * gnu/system/install.scm: New file. * gnu-system.am (GNU_SYSTEM_MODULES): Add it.
system: Add 'issue' field. * gnu/system.scm (<operating-system>)[issue]: New field. (%default-issue): New variable. (etc-directory): Add #:issue parameter and honor it. (operating-system-etc-directory): Adjust call accordingly. * build-aux/hydra/demo-os.scm: Add 'issue' field.
system: Add more options for 'mingetty-service'. * gnu/services/base.scm (mingetty-service): Add #:auto-login, #:login-program, and #:login-pause? parameters and honor them.
linux-initrd: Gracefully deal with partitions with no label. * guix/build/linux-initrd.scm (partition-label-predicate): Check whether 'ext2-superblock-volume-name' returns #f, and return #f if it does.
gnu: Move libarchive to (gnu packages backup). * gnu/packages/compression.scm (libarchive): Move to... * gnu/packages/backup.scm (libarchive): ... here. Import (guix licenses) with #:renamer to avoid conflicting 'zlib' bindings.
vm: disk-image: Specify the root file system using a label. * gnu/system/vm.scm (system-disk-image)[root-label]: New variable. Use it for the root file system, and pass it as #:file-system-label to 'qemu-image'.
linux-initrd: Allow use of volume labels in 'file-system' declarations. * guix/build/linux-initrd.scm (%ext2-endianness, %ext2-sblock-magic, %ext2-sblock-creator-os, %ext2-sblock-uuid, %ext2-sblock-volume-name): New macros. (read-ext2-superblock, ext2-superblock-uuid, ext2-superblock-volume-name, disk-partitions, partition-label-predicate, find-partition-by-label, canonicalize-device-spec): New procedures. (mount-file-system): Use 'canonicalize-device-spec' on SOURCE. (boot-system): Likewise for ROOT. * doc/guix.texi (Using the Configuration System): Adjust 'file-system' declaration accordingly.
gnu: Add rdiff-backup. * gnu/packages/backup.scm (rdiff-backup): New variable.
gnu: Add btar. * gnu/packages/backup.scm (btar): New variable.
gnu: Add rdup. * gnu/packages/backup.scm (rdup): New variable.
gnu: Add libarchive. * gnu/packages/compression.scm (libarchive): New variable.
gnu: Add hdup. * gnu/packages/backup.scm (hdup): New variable.
hydra: Don't cross-build from MIPS to MIPS. * build-aux/hydra/gnu-system.scm (hydra-jobs)[same?, either]: New procedure. Use it in 'remove' call.
system: Add 'fusermount' to the default setuid programs. * gnu/system.scm (%setuid-programs): Add 'fusermount'.
vm: Allow a volume name to be specified for the root partition. * guix/build/vm.scm (format-partition): Add #:label parameter, and honor it. (initialize-hard-disk): Add #:file-system-label parameter, and pass it to 'format-partition'. * gnu/system/vm.scm (qemu-image): Add #:file-system-label parameter and pass it to 'initialize-hard-disk'.
gnu: libgnome: Correct source file name. * gnu/packages/gnome.scm (libgnome): Correct source file name.
hydra: Build for mips64el-linux. * build-aux/hydra/gnu-system.scm (hydra-jobs)[systems]: Add mips64el-linux.