Introduction
- F2FS ("flash-friendly file system") est un système de fichiers (filesystem) conçu pour les mémoires Flash. Sa conception lui permet d'être réputé plus rapide en écriture que les autres systèmes de fichiers (NTFS, ext4, zfs) sur les mémoires flash (SSD, eMMC, etc). La différence est significative sur raspberry pi.
Note : je vous conseil de d'abord tester sur une seconde carte mémoire
Note Bis : vous pouvez suivre exactement la même procédure pour formater la carte mémoire de votre appareil Android, arrêtez-vous juste après "Injection des fichiers précédemment sauvegardé"
Résumé de la procédure :
- Copie sur PC (Linux) de TOUS les fichiers de la carte SD/microSD du Raspberry Pi
- Formatage de la carte SD/microSD en F2FS
- Ré-injection des fichiers précédemment sauvegardés
- Édition des fichiers de démarrage du système
Farm Link
- Wikipedia EN - F2FS
- F2FS : un système de fichiers pour NAND
- developpez.com - Samsung crée F2FS
- raspberrypi.org - [HOWTO] F2FS
- [Tuto/HowTo] [GNU/Linux] Raspberry Pi installer F2FS comme filesystem
Mise en place en ligne de commande
Note : la carte mémoire du Raspberry Pi est divisée en deux partitions, une pour le boot (dont nous éditerons juste un fichier) et la seconde qui est celle que nous allons formater en F2FS et qui contient le Système de Fichier.
Branchez votre carte mémoire à votre ordinateur
Ouvrez un Terminal de commande (shell)
-
Créez le dossier où ranger les fichiers du Raspberry Pi pendant le formatage
mkdir /tmp/backup_sd
- Ici j'ai choisi de créer un dossier dans /tmp/ ainsi le dossier et son contenu seront supprimés au redémarrage de la machine.
-
Copiez les fichiers de votre carte mémoire vers un dossier sur votre ordinateur
sudo cp -v -a /mnt/cartememoire/* /tmp/backup_sd
- Où /mnt/cartememoire/ est le path du point de montage de votre carte mémoire (l'option -a est nécessaire). Sur Ubuntu par défaut le montage s'effectue dans /media/$USER/identifiant-partition-sur-carte-memoire/
-
Installez le package f2fs-tools
sudo apt-get install f2fs-tools
-
Récupérez le path de la partition à formater. (par exemple /dev/sdf2)
df -h
-
Démontez la partition que nous allons formater
sudo umount /media/$USER/identifiant-partition-sur-carte-memoire
-
Formatage de la partition root de la carte mémoire
sudo mkfs.f2fs /dev/sdf2
-
Montage de la partition créée (sur ubuntu la partition s'auto-monte automatiquement)
sudo mount -t f2fs /dev/sdf2 /media/raspberrypi
-
Injection des fichiers précédemment sauvegardé
sudo cp -v -a /tmp/backup_sd/* /mnt/cartememoire
-
Éditez le fichier /etc/fstab sur la partition précédemment formatée de notre carte mémoire. La ligne correspondant à / (la racine) doit ressembler à quelque chose du style :
/dev/mmcblk0p2 / f2fs defaults,noatime,discard 0 0
Enfin remplacez rootfstype=ext4 par rootfstype=f2fs (en minuscule) dans le fichier cmdline.txt lui-même dans la partition intitulée "boot" de votre carte mémoire
-
Démontez la carte SD
sudo umount /dev/sdf1 & sudo umount /dev/sdf2
C'est terminé !
# Participez
Posté par EauFroide . Évalué à 1 (+0/-0).
La page wikipedia francophone traitant de F2FS est quasi vide, n'hésitez pas à y contribuer svp :) (voila l'anglophone)
Donation Bitcoin : 1N8QGrhJGWdZNQNSspm3rSGjtXaXv9Ngat
# Question
Posté par Graveen . Évalué à 4 (+0/-0).
Merci, très intéressant.
Quelles sont sommairement les qualités de f2fs par rapport à ext4 par exemple ?
De manière plus précise, voici mes questions:
- est ce que f2fs est moins sensible à la corruption des cartes SD sur un RPi ?
- est ce que f2fs est un meilleur choix pour un mobile Android si la ROM de ce dernier le supporte ?
[^] # Re: Question
Posté par EauFroide . Évalué à 1 (+0/-0).
Il va falloir l'expertise des autres LinuxFRiens car pour le moment je suis hélas dans l'incapacité de répondre à tes questions et je m'en excuse.
J'ai découvert F2FS hier en lisant la dépêche sur le dernier kernel qui m'a donné envie de tester ce FS, voir se qu'il a dans le ventre :) (le fait que Samsung soit derrière a aussi participé à ma motivation: pour mes RPI j'ai testé des cartes microSD de chez Samsung, Kingston et Sandisk et pour le moment les samsung sont celles qui m'ont le mieux marqué (sans vouloir faire de pub)).
Donation Bitcoin : 1N8QGrhJGWdZNQNSspm3rSGjtXaXv9Ngat
# réflexe
Posté par steph1978 . Évalué à 2 (+0/-0). Dernière modification le 12 mars 2017 à 22:43.
Par habitude j'aurai utilise tar (+gz) au lieu de cp.
Je dirai que c'est plus rapide, plus fiable et que ça prend moins de place.
J'ai pas vraiment benché…
[^] # Re: réflexe
Posté par EauFroide . Évalué à 0 (+0/-0). Dernière modification le 17 mars 2017 à 00:23.
Ici cp est utilisé avec l'argument -a qui signifie "conserve les droits/permissions des fichiers/dossiers". tar permet de faire ça?
Tite question : cp vérifie-t-il les fichiers après copie (par exemple via hash)?
Donation Bitcoin : 1N8QGrhJGWdZNQNSspm3rSGjtXaXv9Ngat
[^] # Re: réflexe
Posté par steph1978 . Évalué à 2 (+0/-0).
Le "a" de cp signifie "archive" et tar signifie "tape archive" donc oui, ça conserve tout ça.
cp ne vérifie rien, pas plus que tar. zip le ferai.
Ce que j'aime bien avec tar (valable avec zip) c'est que:
Tar permet de sauvegarder directement par le réseau, sans passer par un disque local (un peu comme rsync). Sur la destination :
netcat -l -p port | tar x
. Puis sur la source :tar c . > /dev/tcp/ipdestination/port
Attention, aucune confidentialité avec ses commandes, tout passe en clair sur le réseau. Il serai possible de combiner ça avec du
gpg -c
pour avoir de la confidentialité.[^] # Re: réflexe
Posté par EauFroide . Évalué à 0 (+0/-0).
C'est intéressant: on pourrait sauvegarder un système à chaud en utilisant ce procédé?
scp serait sûrement plus intéressant que netcat :)
Si zip vérifie la cohérence des fichiers, alors je penses que la prochaine édition du tuto utilisera cette commande :)
Réduire la taille du stockage oui, pour les performances je sais pas (il faut créer l'archive + compresser, je suppose que ça fait plus bosser le processeur qu'une simple copie)
PS: merci pour ta participation ;)
Donation Bitcoin : 1N8QGrhJGWdZNQNSspm3rSGjtXaXv9Ngat
Envoyer un commentaire
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.