~ruther/guix-local

d4da1f26e1c3fdb2b5d1d8f67ebd195d119fa964 — Nicolas Graves 2 years ago d2a751c
gnu: file-systems: Add variable %base-live-file-systems.

* gnu/system/file-systems.scm (%base-live-file-systems): New variable.
* gnu/system/install.scm (installation-os): Use %base-live-file-systems.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2 files changed, 22 insertions(+), 16 deletions(-)

M gnu/system/file-systems.scm
M gnu/system/install.scm
M gnu/system/file-systems.scm => gnu/system/file-systems.scm +21 -0
@@ 85,6 85,7 @@
            %elogind-file-systems

            %base-file-systems
            %base-live-file-systems
            %container-file-systems

            <file-system-mapping>


@@ 495,6 496,26 @@ TARGET in the other system."
        %efivars-file-system
        %immutable-store))

(define %base-live-file-systems
  ;; This is the bare minimum to use live file-systems.
  ;; Used in installation-os.
  (list (file-system
          (mount-point "/")
          (device (file-system-label "Guix_image"))
          (type "ext4"))

        ;; Make /tmp a tmpfs instead of keeping the overlayfs.  This
        ;; originally was used for unionfs because FUSE creates
        ;; '.fuse_hiddenXYZ' files for each open file, and this confuses
        ;; Guix's test suite, for instance (see
        ;; <http://bugs.gnu.org/23056>).  We keep this for overlayfs to be
        ;; on the safe side.
        (file-system
          (mount-point "/tmp")
          (device "none")
          (type "tmpfs")
          (check? #f))))

;; File systems for Linux containers differ from %base-file-systems in that
;; they impose additional restrictions such as no-exec or need different
;; options to function properly.

M gnu/system/install.scm => gnu/system/install.scm +1 -16
@@ 517,22 517,7 @@ Access documentation at any time by pressing Alt-F2.\x1b[0m
    (file-systems
     ;; Note: the disk image build code overrides this root file system with
     ;; the appropriate one.
     (cons* (file-system
              (mount-point "/")
              (device (file-system-label "Guix_image"))
              (type "ext4"))

            ;; Make /tmp a tmpfs instead of keeping the overlayfs.  This
            ;; originally was used for unionfs because FUSE creates
            ;; '.fuse_hiddenXYZ' files for each open file, and this confuses
            ;; Guix's test suite, for instance (see
            ;; <http://bugs.gnu.org/23056>).  We keep this for overlayfs to be
            ;; on the safe side.
            (file-system
              (mount-point "/tmp")
              (device "none")
              (type "tmpfs")
              (check? #f))
     (append %base-live-file-systems

            ;; XXX: This should be %BASE-FILE-SYSTEMS but we don't need
            ;; elogind's cgroup file systems.