diff --git a/gnu/system/file-systems.scm b/gnu/system/file-systems.scm index db861baed2..05c77fe3e8 100644 --- a/gnu/system/file-systems.scm +++ b/gnu/system/file-systems.scm @@ -39,6 +39,7 @@ %pseudo-terminal-file-system %devtmpfs-file-system %immutable-store + %control-groups %base-file-systems @@ -152,13 +153,31 @@ file system." (check? #f) (flags '(read-only bind-mount)))) +(define %control-groups + (cons (file-system + (device "cgroup") + (mount-point "/sys/fs/cgroup") + (type "tmpfs") + (check? #f)) + (map (lambda (subsystem) + (file-system + (device "cgroup") + (mount-point (string-append "/sys/fs/cgroup/" subsystem)) + (type "cgroup") + (check? #f) + (options subsystem) + (create-mount-point? #t))) + '("cpuset" "cpu" "cpuacct" "memory" "devices" "freezer" + "blkio" "perf_event" "hugetlb")))) + (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 - %shared-memory-file-system - %immutable-store)) + (append (list %devtmpfs-file-system + %pseudo-terminal-file-system + %shared-memory-file-system + %immutable-store) + %control-groups))