From b095792f9b8676411f7b5eb6c768d28ae123449b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sat, 24 Aug 2013 11:08:01 +0200 Subject: doc: Mention what's in the chroot, and add a caveat about /dev/shm. * doc/guix.texi (Setting Up the Daemon): Document the default content of the chroot, and the /dev/shm caveat. --- doc/guix.texi | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'doc') diff --git a/doc/guix.texi b/doc/guix.texi index 684382720e..57b6412939 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -244,6 +244,17 @@ The @code{guix-daemon} program may then be run as @code{root} with: # guix-daemon --build-users-group=guix-builder @end example +@noindent +This way, the daemon starts build processes in a chroot, under one of +the @code{guix-builder} users. On GNU/Linux, by default, the chroot +environment contains nothing but the @code{/dev} and @code{/proc} +directories@footnote{On some systems @code{/dev/shm}, which supports +shared memory, is a symlink to another directory such as +@code{/run/shm}, that is @emph{not} is the chroot. When that is the +case, shared memory support is unavailable in the chroot environment. +The workaround is to make sure that @file{/dev/shm} is directly a +@code{tmpfs} mount point.}. + Guix may also be used in a single-user setup, with @command{guix-daemon} running as an unprivileged user. However, to maximize non-interference of build processes, the daemon still needs to perform certain operations -- cgit v1.2.3