18 Debian (Bullseye or later) and Ubuntu (20.04 or later): you can install these with
19 apt install -y pkg-config libaio-dev libblkid-dev libkeyutils-dev \
20 liblz4-dev libscrypt-dev libsodium-dev liburcu-dev libzstd-dev \
21 uuid-dev zlib1g-dev valgrind libudev-dev
23 Fedora: install the "Development tools" group along with:
24 dnf install -y libaio-devel libsodium-devel \
25 libblkid-devel libzstd-devel zlib-devel userspace-rcu-devel \
26 lz4-devel libuuid-devel valgrind-devel keyutils-libs-devel \
27 libscrypt-devel findutils
29 Arch: install bcachefs-tools-git from the AUR.
30 Or to build from source, install libscrypt from the AUR along with,
31 pacman -S base-devel libaio keyutils libsodium liburcu zstd valgrind
33 Then, just make && make install
37 In order to perform extra checks on bcachefs tools, abort on any unforeseen warning and include support for valgrind, use 'make debug'.
38 This target will decrease performance and is specifically meant for developers
40 -- Experimental features --
42 Experimental fuse support is currently disabled by default. Fuse support is at
43 an early stage and may corrupt your filesystem, so it should only be used for
44 testing. To enable, you'll also need to add:
48 On Debian/Ubuntu (Bullseye/20.04 or later needed for libfuse >= 3.7):
49 apt install -y libfuse3-dev
51 On Fedora (32 or later needed for lbifuse >= 3.7):
52 dnf install -y fuse3-devel
57 Then, make using the BCACHEFS_FUSE environment variable (make clean first if
58 previously built without fuse support):
60 BCACHEFS_FUSE=1 make && make install
65 Some tests are available to validate the "bcachefs" binary. The tests depend
69 apt install -u python3-pytest
71 Then, you can run the tests via:
74 # or if pytest has a different name
75 make check PYTEST=pytest
77 Optionally, you may wish to run tests in parallel using python3-pytest-xdist:
79 cd tests; pytest-3 -n4