path: root/INSTALL
diff options
authorDavid Sterba <>2015-02-27 18:17:45 +0100
committerDavid Sterba <>2015-02-27 18:54:20 +0100
commitc8e3b06b80aa9512ed01340b3ce1eaf451a8475b (patch)
treefb574f7eaa34170b26a85149f8113ac1a4381187 /INSTALL
parent7bf6343fa17f1dc37216a88f92a50127eaff514b (diff)
btrfs-progs: update INSTALL
Signed-off-by: David Sterba <>
Diffstat (limited to 'INSTALL')
1 files changed, 31 insertions, 43 deletions
diff --git a/INSTALL b/INSTALL
index 9a4ab649..cc482177 100644
@@ -1,61 +1,49 @@
-Install Instructions
+Installation instructions
-Btrfs uses libcrc32c in the kernel for file and metadata checksums. You need
-to compile the kernel with:
-libcrc32c can be static as well. Once your kernel is setup, typing make in the
-btrfs module sources will build against the running kernel. When the build is
+The Btrfs utility programs require the following libraries/tools to build:
-modprobe libcrc32c
-insmod btrfs.ko
+- libuuid - provided by util-linux, e2fsprogs/e2fslibs or libuuid
+- libblkid - block device id library
+- liblzo2 - LZO data compression library
+- zlib - ZLIB data compression library
-The Btrfs utility programs require the following libraries/tools to build:
+For the btrfs-convert utility:
-- libuuid (This can be found in the e2fsprogs sources, and is usually available
- as libuuid or e2fsprogs-devel from various distros).
-- libattr (Extended attribute library - Development files)
-- libblkid (Block device id library - Development files)
-- liblzo2 (LZO data compression library - Development files)
-- libacl (Access control list library - Development files)
-- e2fslibs (ext2/ext3/ext4 file system libraries - Development files)
-- asciidoc (Text document format tool - For documentation)
+- e2fsprogs - ext2/ext3/ext4 file system libraries, or called e2fslibs
-Building the utilities is just make ; make install. The programs go
-into /usr/local/bin. The mains commands available are:
+Generating documentation:
-mkfs.btrfs: create a filesystem
+- asciidoc - text document format tool
+- xmlto - text document format tool
-btrfs: control program to create snapshots and subvolumes:
- # mount a btrfs filesystem
- mount /dev/sda2 /mnt
+XATTR and ACL libraries should be provided by the standard C library or by
- # create a subvolume
- btrfs subvolume create /mnt/new_subvol_name
+- libattr - extended attribute library
+- libacl - access control list library
- # snapshot of a subvolume
- btrfs subvolume snapshot /mnt/default /mnt/snapshot_of_default
- btrfs subvolume snapshot /mnt/snapshot_of_default \
- /mnt/snapshot_of_a_snapshot
+Please note that the package names may differ according to the distribution.
+See .
- # list of the subvolumes
- ls /mnt
- default snapshot_of_a_snapshot snapshot_of_new_subvol
- new_subvol_name snapshot_of_default
+To build from git sources you need to generate the confiture script using the
- # removal of a subvolume or a snapshot
- btrfs subvolume delete /mn/snapshot_of_a_snapshot
+ $ ./
- # look a the btrfs man page for further information
- man btrfs
+To build from the released tarballs:
-btrfsck: do a limited check of the FS extent trees.</li>
+ $ ./configure
+ $ make
+ $ make install
-btrfs-debug-tree: print all of the FS metadata in text form. Example:
+You may disable building some parts like documentation, btrfs-convert or
+backtrace support. See ./configure --help for more.
- btrfs-debug-tree /dev/sda2 >& big_output_file
+Specific CFLAGS or LDFLAGS should be set like
+ $ CFLAGS=... LDFLAGS=... ./configure --prefix=/usr
+and not as arguments to make.