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.11 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 \
            --bindir=/bin \
            --libdir=/lib \
            --with-pkgconfigdir=/usr/lib/pkgconfig &&
make
        
          ![[Note]](../images/note.png) 
          
            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.44.
          
         
        
          To test the results, first disable one test that fails and prevents
          the other ones to run:
        
        
mv tests/fsck-tests/012-leaf-corruption/test.sh{,.broken}
        
          To test the results, run (as the root user):
        
        
make -j1 -k test
        
          ![[Note]](../images/note.png) 
          
            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.
          
         
        
          Two tests fail for unknown reasons in the test-libbtrfsutil section. Tests
          take a very long time, and it may be interesting to run only part
          of them. Running tests only in one directory can be done with
          make TEST=<DIR>
          test.
        
        
          Install the package as the root
          user:
        
        
make install &&
ln -sfv ../../lib/$(readlink /lib/libbtrfs.so) /usr/lib/libbtrfs.so &&
ln -sfv ../../lib/$(readlink /lib/libbtrfsutil.so) /usr/lib/libbtrfsutil.so &&
rm -fv /lib/libbtrfs.{a,so} /lib/libbtrfsutil.{a,so} &&
mv -v /bin/{mkfs,fsck}.btrfs /sbin
       
      
        
          Command Explanations
        
        
          --disable-documentation: This option is
          needed if the recommended dependencies are not installed.
        
        
          ln -s ...
          /usr/lib/libbtrfs.so: Creates a symbolic link in
          the directory where it is expected.
        
        
          rm
          /lib/libbtrfs.{a,so}: Removes unneeded library
          entries.