From db17ae5c27c614731b849cc4acc6a2857060c771 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 23 Jul 2014 01:25:01 +0200 Subject: 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. --- doc/guix.texi | 6 ++++++ gnu/system/file-systems.scm | 14 +++++++++++++- 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/doc/guix.texi b/doc/guix.texi index 42e62d4648..7bc10dc566 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -3084,6 +3084,12 @@ Manual}). Pseudo-terminals are used by terminal emulators such as @command{xterm}. @end defvr +@defvr {Scheme Variable} %shared-memory-file-system +This file system is mounted as @file{/dev/shm} and is used to support +memory sharing across processes (@pxref{Memory-mapped I/O, +@code{shm_open},, libc, The GNU C Library Reference Manual}). +@end defvr + @defvr {Scheme Variable} %binary-format-file-system The @code{binfmt_misc} file system, which allows handling of arbitrary executable file types to be delegated to user space. This requires the diff --git a/gnu/system/file-systems.scm b/gnu/system/file-systems.scm index 76460d95af..8700530a76 100644 --- a/gnu/system/file-systems.scm +++ b/gnu/system/file-systems.scm @@ -108,10 +108,22 @@ (define %pseudo-terminal-file-system (create-mount-point? #t) (options (string-append "gid=" (number->string %tty-gid) ",mode=620")))) +(define %shared-memory-file-system + ;; Shared memory. + (file-system + (device "tmpfs") + (mount-point "/dev/shm") + (type "tmpfs") + (check? #f) + (flags '(no-suid no-dev)) + (options "size=50%") ;TODO: make size configurable + (create-mount-point? #t))) + (define %base-file-systems ;; List of basic file systems to be mounted. Note that /proc and /sys are ;; currently mounted by the initrd. (list %devtmpfs-file-system - %pseudo-terminal-file-system)) + %pseudo-terminal-file-system + %shared-memory-file-system)) ;;; file-systems.scm ends here -- cgit v1.2.3