summary refs log tree commit diff
path: root/gnu/system
diff options
context:
space:
mode:
authorDavid Craven <david@craven.ch>2016-11-30 19:30:12 +0100
committerDavid Craven <david@craven.ch>2017-01-10 12:00:35 +0100
commitb1a505baf61cc771197eb44af9173f31d2bace46 (patch)
tree0ecb2ad049f90b2b9f5b0618944008d00f3031e4 /gnu/system
parentf3e44f5cd0a55304ab6058b87eb5a72a756f1fc9 (diff)
downloadguix-b1a505baf61cc771197eb44af9173f31d2bace46.tar.gz
system: Add btrfs file system support.
* gnu/build/file-systems.scm (%btrfs-endianness, btrfs-superblock?,
  read-btrfs-superblock, btrfs-superblock-uuid,
  btrfs-superblock-volume-name, check-btrfs-file-system): New variables.
  (%paritition-label-readers, %partition-uuid-readers): Add btrfs
  readers.
* gnu/system/linux-initrd.scm (linux-modules): Add btrfs modules when a
  btrfs file-system is used.
* gnu/tests/install.scm (%btrfs-root-os %btrfs-root-os-source,
  %btrfs-root-installation-script, %test-btrfs-root-os): New system
  test.
* doc/guix.texi: Adjust accordingly.

Fixes <http://bugs.gnu.org/19280>.
Diffstat (limited to 'gnu/system')
-rw-r--r--gnu/system/linux-initrd.scm6
1 files changed, 6 insertions, 0 deletions
diff --git a/gnu/system/linux-initrd.scm b/gnu/system/linux-initrd.scm
index a787072ba7..4a753cdadb 100644
--- a/gnu/system/linux-initrd.scm
+++ b/gnu/system/linux-initrd.scm
@@ -197,6 +197,9 @@ loaded at boot time in the order in which they appear."
       ,@(if (find (file-system-type-predicate "vfat") file-systems)
             '("nls_iso8859-1")
             '())
+      ,@(if (find (file-system-type-predicate "btrfs") file-systems)
+            '("btrfs")
+            '())
       ,@(if volatile-root?
             '("fuse")
             '())
@@ -214,6 +217,9 @@ loaded at boot time in the order in which they appear."
                   file-systems)
             (list fatfsck/static)
             '())
+      ,@(if (find (file-system-type-predicate "btrfs") file-systems)
+            (list btrfs-progs/static)
+            '())
       ,@(if volatile-root?
             (list unionfs-fuse/static)
             '())))