blob: 2f15e5e8e747d904a9bf161a57b529319aec2ea7 [file] [log] [blame]
Install Instructions
Btrfs uses libcrc32c in the kernel for file and metadata checksums. You need
to compile the kernel with:
CONFIG_LIBCRC32C=m
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
complete:
modprobe libcrc32c
insmod btrfs.ko
The Btrfs utility programs require libuuid to build. This can be found
in the e2fsprogs sources, and is usually available as libuuid or
e2fsprogs-devel from various distros.
The Btrfs utility programs also require libblkid (block device identification
library). This library is usually available as libblkid-dev or libblkid-devel.
Building the utilities is just make ; make install. The programs go
into /usr/local/bin. The mains commands available are:
mkfs.btrfs: create a filesystem
btrfs: control program to create snapshots and subvolumes:
# mount a btrfs filesystem
mount /dev/sda2 /mnt
# create a subvolume
btrfs subvolume create /mnt/new_subvol_name
# 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
# list of the subvolumes
ls /mnt
default snapshot_of_a_snapshot snapshot_of_new_subvol
new_subvol_name snapshot_of_default
# 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
btrfsck: do a limited check of the FS extent trees.</li>
btrfs-debug-tree: print all of the FS metadata in text form. Example:
btrfs-debug-tree /dev/sda2 >& big_output_file