Merge branch 'master' into core-updates Conflicts: gnu/packages/image.scm
linux-initrd: Store Linux modules in a normal store directory. * gnu/system/linux-initrd.scm (expression->initrd): Remove #:linux and #:linux-modules parameters. Remove call to 'float-linux-module-directory'. (base-initrd): Add call to 'float-linux-module-directory'. Use it in #:linux-modules argument in the gexp. Remove #:linux and #:linux-modules arguments to 'expression->initrd'. * gnu/build/linux-initrd.scm (build-initrd): Remove #:linux-module-directory parameter. Don't create 'modules' sub-directory. * gnu/build/linux-boot.scm (boot-system): Mentin that LINUX-MODULES is a list of absolute file names. Don't prepend "/modules/" to LINUX-MODULES. * doc/guix.texi (Initial RAM Disk): Adjust accordingly.
linux-initrd: Move initrd creation code to (guix build linux-initrd). * gnu/build/linux-initrd.scm (cache-compiled-file-name, compile-to-cache, build-initrd): New procedures. * gnu/system/linux-initrd.scm (expression->initrd)[builder]: Remove code now moved above. Use 'build-initrd'.
Merge branch 'master' into core-updates
linux-initrd: Build cpio archives without '--no-absolute-filenames'. * gnu/build/linux-initrd.scm (write-cpio-archive): Remove '--no-absolute-filenames'.
linux-initrd: Factorize cpio archive creation. * gnu/build/linux-initrd.scm: New file. * gnu-system.am (GNU_SYSTEM_MODULES): Add it. * gnu/system/linux-initrd.scm (expression->initrd): Use (gnu build linux-initrd) and 'write-cpio-archive' instead of the inlined code.
Move operating system helpers from (guix build …) to (gnu build …). * guix/build/activation.scm, guix/build/install.scm, guix/build/linux-initrd.scm, guix/build/vm.scm: Move to... * gnu/build: ... here. * Makefile.am (MODULES): Remove the above guix/build/ files. * gnu-system.am (GNU_SYSTEM_MODULES): Add the above gnu/build/ files here. * gnu/services/base.scm, gnu/services/dmd.scm, gnu/system.scm, gnu/system/linux-initrd.scm, gnu/system/vm.scm, guix/scripts/system.scm: Adjust to the new module names.
Merge branch 'master' into core-updates Conflicts: gnu/packages/base.scm
linux-initrd: Wait a bit longer for partitions to appear. Reported by Sveltana on #guix. * guix/build/linux-initrd.scm (canonicalize-device-spec): Increase MAX-TRIALS. Add "waiting for partition" 'format' call.
Merge branch 'master' into core-updates
linux-initrd: Do not create /etc/resolv.conf. * guix/build/linux-initrd.scm (configure-qemu-networking): Don't create /etc/resolv.conf.
Merge branch 'master' into core-updates
system: Recognize more file system flags. * guix/build/linux-initrd.scm (MS_NOSUID, MS_NODEV, MS_NOEXEC): New variables. (mount-flags->bit-mask): New procedure. (mount-file-system)[flags->bit-mask]: Remove. Use 'mount-flags->bit-mask' instead. In /etc/mtab, use the empty string when OPTIONS is false. * gnu/services/base.scm (file-system-service): Add #:flags parameter and honor it. * gnu/system.scm (other-file-system-services): Pass FLAGS to 'file-system-service'.
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.
linux-initrd: Use 'call-with-error-handling' when booting. * guix/build/linux-initrd.scm (canonicalize-device-spec): When label resolution fails, call 'error' instead of 'format' + 'start-repl'. (boot-system): Wrap most of body in 'call-with-error-handling'. Remove 'catch' around 'primitive-load' call.
linux-initrd: Remove unused local procedure. * guix/build/linux-initrd.scm (boot-system)[resolve]: Remove.
linux-initrd: Gracefully handle lack of or invalid ext2 superblocks. Reported by David Thompson <dthompson2@worcester.edu>. * guix/build/linux-initrd.scm (read-ext2-superblock): Add 'superblock-size' variable. Read with 'get-bytevector-n!' instead of 'getbytevector-n', and make sure we read exactly SUPERBLOCK-SIZE bytes.
linux-initrd: Allow unionfs to have a large number of open files. Fixes <http://bugs.gnu.org/17827>. * guix/build/linux-initrd.scm (mount-root-file-system) [volatile-root?]: Pass unionfs '-o max_file=65536'.
Merge branch 'master' into core-updates
system: File system sources can be marked as labels or devices. * gnu/system/file-systems.scm (<file-system>)[title]: New field. * gnu/services/base.scm (file-system-service): Add #:title parameter. In 'start' gexp, use 'canonicalize-device-spec' and honor TITLE. * gnu/system.scm (other-file-system-services, operating-system-root-file-system, operating-system-initrd-file): Adjust accordingly. * gnu/system/linux-initrd.scm (file-system->spec): Likewise. * gnu/system/vm.scm (system-disk-image): Add 'title' field for the root file system. * guix/build/linux-initrd.scm (mount-file-system): Expect the second element of SPEC to be the title. (boot-system)[root-mount-point?, root-fs-type]: Likewise. * gnu/services/dmd.scm (dmd-configuration-file): Select 'canonicalize-device-spec'.