#### Beyond Linux® From Scratch (systemd Edition) - Version 11.1

### Chapter 5. File Systems and Disk Management

- Prev

  About initramfs

- Next

  dosfstools-4.2

- Up
- Home

# btrfs-progs-5.16.2

## Introduction to btrfs-progs

The btrfs-progs package contains administration and debugging tools for the B-tree file system (btrfs).

This package is known to build and work properly using an LFS-11.1 platform.

### Package Information

- Download (HTTP): https://www.kernel.org/pub/linux/kernel/people/kdave/btrfs-progs/btrfs-progs-v5.16.2.tar.xz

- Download MD5 sum: 31112fa4de9b9286b2bb1a560addc0f4

- Download size: 2.2 MB

- Estimated disk space required: 51 MB (up to 8.2 GB are used during tests)

- Estimated build time: 0.2 SBU (add 5.7 SBU for tests, but will be longer on slow disks)

### Btrfs-progs Dependencies

#### Required

LZO-2.10

#### Recommended

asciidoc-10.1.1 (or asciidoctor-2.0.17) and xmlto-0.0.28 (both required to generate man pages)

#### Optional

LVM2-2.03.15 (dmsetup is used in tests) and reiserfsprogs-3.6.27 (for tests)

User Notes: https://wiki.linuxfromscratch.org/blfs/wiki/btrfs-progs

## Kernel Configuration

Enable the following option in the kernel configuration and recompile the kernel:

    File systems --->
      <*/M> Btrfs filesystem support [CONFIG_BTRFS_FS]

In addition to the above and to the options required for LVM2-2.03.15 and reiserfsprogs-3.6.27, the following options must be enabled for running tests:

    File systems  --->
      [*]   Btrfs POSIX Access Control Lists      [CONFIG_BTRFS_FS_POSIX_ACL]
      [*]   ReiserFS extended attributes          [CONFIG_REISERFS_FS_XATTR]
      [*]     ReiserFS POSIX Access Control Lists [CONFIG_REISERFS_FS_POSIX_ACL]

## Installation of btrfs-progs

Install btrfs-progs by running the following commands:

    ./configure --prefix=/usr &&
    make

### Note

Some tests require grep built with perl regular expressions. To obtain this, rebuild grep with the LFS Chapter 8 instructions after installing PCRE-8.45.

Before running tests, build a support program:

    make fssum

To test the results, issue (as the `root` user):

    pushd tests
       ./fsck-tests.sh
       ./mkfs-tests.sh
       ./cli-tests.sh
       ./convert-tests.sh
       ./misc-tests.sh
       #./fuzz-tests.sh
    popd

The fuzz-tests are currently broken.

### Note

If the above mentioned kernel options are not enabled, some tests fail, and prevent all the remaining tests to run, because the test disk image is not cleanly unmounted.

Install the package as the `root` user:

    make install

## Command Explanations

`--disable-documentation`: This option is needed if the recommended dependencies are not installed.

## Contents

Installed Programs: btrfs, btrfs-convert, btrfs-find-root, btrfs-image, btrfs-map-logical, btrfs-select-super, btrfsck (link to btrfs), btrfstune, fsck.btrfs, and mkfs.btrfs
Installed Libraries: libbtrfs.so and libbtrfsutil.so
Installed Directories: /usr/include/btrfs

### Short Descriptions

btrfs | is the main interface into btrfs filesystem operations
btrfs-convert | converts from an ext2/3/4 or reiserfs filesystem to btrfs
btrfs-find-root | is a filter to find btrfs root
btrfs-map-logical | maps btrfs logical extent to physical extent
btrfs-select-super | overwrites the primary superblock with a backup copy
btrfstune | tunes various filesystem parameters
fsck.btrfs | does nothing, but is present for consistency with fstab
mkfs.btrfs | creates a btrfs file system

Last updated on

- Prev

  About initramfs

- Next

  dosfstools-4.2

- Up
- Home