Configuration du noyau
Activez les options suivantes dans la configuration du noyau et
recompilez le noyau :
File systems --->
<*/M> Btrfs filesystem support [CONFIG_BTRFS_FS]
Note
CONFIG_BTRFS_FS_POSIX_ACL et CONFIG_REISERFS_FS_XATTR sont requis
pour certains tests. Les autres options Btrfs dans le noyau sont
facultatives.
Installation de btrfs-progs
Installez btrfs-progs en lançant
les commandes suivantes :
./configure --prefix=/usr \
--bindir=/bin \
--libdir=/lib \
--disable-zstd &&
make
Avant de lancer les tests, construisez un programme support et
désactivez certains qui échouent :
make fssum &&
sed -i '/found/s/^/: #/' tests/convert-tests.sh &&
mv tests/mkfs-tests/013-reserved-1M-for-single/test.sh{,.broken} &&
mv tests/convert-tests/010-reiserfs-basic/test.sh{,.broken} &&
mv tests/convert-tests/011-reiserfs-delete-all-rollback/test.sh{,.broken} &&
mv tests/convert-tests/012-reiserfs-large-hole-extent/test.sh{,.broken} &&
mv tests/convert-tests/013-reiserfs-common-inode-flags/test.sh{,.broken} &&
mv tests/convert-tests/014-reiserfs-tail-handling/test.sh{,.broken} &&
mv tests/misc-tests/004-shrink-fs/test.sh{,.broken} &&
mv tests/misc-tests/013-subvolume-sync-crash/test.sh{,.broken} &&
mv tests/misc-tests/025-zstd-compression/test.sh{,.broken} &&
mv tests/fuzz-tests/003-multi-check-unmounted/test.sh{,.broken} &&
mv tests/fuzz-tests/009-simple-zero-log/test.sh{,.broken}
Pour tester les résultats, lancez (en tant qu'utilisateur
root
) :
pushd tests
./fsck-tests.sh
./mkfs-tests.sh
./cli-tests.sh
./convert-tests.sh
./misc-tests.sh
./fuzz-tests.sh
popd
Installez le paquet en tant qu'utilisateur root
:
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
Explication des commandes
--disable-documentation
: Cette
option est requise si les dépendances recommandées ne sont pas
installées.
mv
tests/{cli,convert,misc,fuzz}-tests/ ... :
Désactive des tests qui échouent et empêchent la suite de tests de
se terminer.
ln -s ...
/usr/lib/libbtrfs.so : Crée un lien symbolique
dans le répertoire où il est attendu.
rm
/lib/libbtrfs.{a,so} : Supprime des entrées de
bibliothèques inutiles.