F2FS - Le système de fichiers pensé pour Raspberry Pi (et comment l'installer)
Aujourd’hui, je vous propose de continuer à jouer un peu avec votre Raspberry Pi en jetant un oeil au système de fichier F2FS conçu par un ingénieur de Samsung en 2012. Ce nouveau système de fichier tient compte des particularités des mémoires flash (NAND). F2FS repose sur un système de fichier journalisé et ses algos de nettoyage ou d’allocation de la donnée sont pensés pour respecter la “geométrie” interne des mémoires NAND. Vous pouvez avoir plus d’infos sur le F2FS ici.
Il parait que c’est le jour et la nuit pour le Raspberry Pi, donc je vous propose qu’on teste ça ensemble dans cet article que je vais rédiger en même temps que je fais les manips.
Première étape, prendre la carte mémoire du Raspberry Pi et la connecter à son ordinateur. Pour cela j’utilise un petit adaptateur USB.
Autre petit détail qui a son importance, vous devez être sous Linux pour faire les manips. Peut être que ça fonctionne avec le shell bash de Windows 10, mais je ne me drogue pas encore assez pour partir dans le délire.
Je vais donc me mettre sous Ubuntu pour faire ça. Ouvrez donc un terminal et créez un répertoire qui va servir à stocker temporairement les fichiers de votre Raspberry Pi, le temps de formater tout ça.
mkdir ~/backup_sd
Copiez ensuite le contenu de la partition de votre carte mémoire vers le dossier backup_sd
sudo cp -v -a /media/username/votrecartememoire/* ~/backup_sd
Une fois la copie terminée, on va installer le package f2fs-tools qui va nous permettre de formater en F2FS.
sudo apt-get install f2fs-tools
Puis repérez le chemin d’accès à la partition de votre carte mémoire avec la commande suivante :
df -h
Vous pouvez aussi faire un…
sudo fdisk -l
…pour trouver la même chose. Chez moi c’est /dev/sdb2 donc c’est ce que je mettrais dans les commandes suivantes, mais pensez bien à remplacer par votre chemin à vous et attention aux erreurs.
Pensez bien, aussi, à démonter la partition de la carte mémoire une fois que la copie des fichiers est terminée avec un petit :
sudo umount /media/username/votrecartememoire
On va maintenant formater la partition de votre carte mémoire avec la commande :
sudo mkfs.f2fs /dev/sdb2
Dès que c’est fait, il faut monter cette partition avec la commande suivante pour y recopier tous vos fichiers :
sudo mount -t f2fs /dev/sdb2 /media/username/votrecartememoire
Et faites une copie des fichiers dans l’autre sens :
sudo cp -v -a ~/backup_sd/* /media/username/votrecartememoire
Ensuite, il convient d’éditer le fichier /etc/fstab de la carte mémoire pour y modifier la ligne suivante.
sudo nano /media/username/votrecartememoire/etc/fstab
Et modifiez la ligne concernant mmcblk0p2 (La partoche de votre carte mémoire) pour remplacer ext4 par f2fs et mettre les paramètres “defaults,noatime,discard”
/dev/mmcblk0p2 / f2fs defaults,noatime,discard 0 1
Éditez ensuite le fichier suivant qui se trouve sur la partition boot de votre carte mémoire :
sudo nano /media/username/boot/cmdline.txt
et remplacez ext4 par f2fs dans le paramètre suivant :
rootfstype=f2fs
Puis démontez la carte mémoire OKLM avec les commandes :
sudo umount /dev/sdb2
sudo umount /dev/sdb1
Et voilà. Remettez ensuite votre carte mémoire dans votre Raspberry Pi, serrez les fesses et démarrez-le.
En ce qui me concerne, aucun souci, ça fonctionne parfaitement. Maintenant concernant les performances, je n’ai pas encore assez de recul mais j’éditerai surement cet article le moment venu. Faut que je refasse la manip sur ma Recalbox maintenant.