Como criar um sistema de arquivos F2FS – Elias Praciano
Categories
Android Tutoriais Ubuntu

Como criar um sistema de arquivos F2FS

O sistema de arquivos F2FS foi concebido para tirar o máximo dos recursos das memórias flash NAND, o que inclui vários dos mais novos dispositivos de armazenamento.
O sistema é totalmente suportado pelo kernel 3.8 ou superior, no Linux, o que inclui todas as principais distribuições atuais e o próprio Android.

icons of flash devices
Leia mais sobre sistemas de arquivos para dispositivos flash.

A necessidade de usar sistemas de arquivos diferentes em dispositivos de armazenamento NAND, vem de suas características, que são, em certos pontos, muito diferentes dos dispositivos de armazenamento magnético (como os discos rígidos e os velhos discos flexíveis).
flash memory iconAs memórias, do tipo NAND, são principalmente usadas na RAM do seu PC/notebook ou smartphone, nos cartões flash, em drives flash USB (pendrives), unidades SSD etc.

Com dispositivos NAND, há uma expectativa de encontrar blocos defeituosos e suscetíveis a falhas —. Isto requer que o sistema de arquivos tenha recursos específicos de gestão de bad blocks.

Como verificar se você tem suporte ao F2FS

Se você quiser verificar a versão do seu kernel — para saber se é igual ou superior ao 3.8 e, portanto, tem suporte ao sistema de arquivos F2FS, use o seguinte comando:

uname -r
3.13.0-36-generic

O resultado, acima, indica que a versão do kernel em uso tem suporte ao F2FS — o que não quer dizer que você já o possa usar.
O comando cat, de acordo com o exemplo abaixo, permite verificar quais sistemas de arquivos podem ser montados, neste momento, em seu sistema:

cat /proc/filesystems
nodev	sysfs
nodev	rootfs
nodev	ramfs
nodev	bdev
nodev	proc
nodev	cgroup
nodev	cpuset
nodev	tmpfs
nodev	devtmpfs
nodev	debugfs
nodev	securityfs
nodev	sockfs
nodev	pipefs
nodev	anon_inodefs
nodev	devpts
	ext3
	ext2
	ext4
nodev	hugetlbfs
	vfat
nodev	ecryptfs
	fuseblk
nodev	fuse
nodev	fusectl
nodev	pstore
nodev	mqueue

Infelizmente, o F2FS, não está listado, acima.
Neste caso, para poder usá-lo, é necessário carregar o seu módulo para dentro do kernel. Assim:

sudo modprobe -v f2fs

Se tudo der certo, o resultado do comando acima, deve ser parecido com o que se vê abaixo:

insmod /lib/modules/3.13.0-36-generic/kernel/fs/f2fs/f2fs.ko

Agora, já possível ver o f2fs na lista do arquivo /proc/filesystems

cat /proc/filesystems
nodev	sysfs
nodev	rootfs
nodev	ramfs
nodev	bdev
nodev	proc
nodev	cgroup
nodev	cpuset
nodev	tmpfs
nodev	devtmpfs
nodev	debugfs
nodev	securityfs
nodev	sockfs
nodev	pipefs
nodev	anon_inodefs
nodev	devpts
	ext3
	ext2
	ext4
nodev	hugetlbfs
	vfat
nodev	ecryptfs
	fuseblk
nodev	fuse
nodev	fusectl
nodev	pstore
nodev	mqueue
	f2fs

Agora, já é possível trabalhar com o sistema de arquivos F2FS.

O uso de módulos, no Linux, é uma das formas mais eficientes de se pensar um sistema operacional.
A ideia é carregar pro kernel apenas o que é necessário, enquanto for necessário.

Se você quiser descarregar o módulo, mais tarde, use o seguinte comando

sudo modprobe -rv f2fs
rmmod f2fs

É simples, assim.
Se você quiser que o módulo seja carregado toda vez que você iniciar o sistema, é necessário incluí-lo no arquivo /etc/modules (no Debian, Ubuntu etc) ou /etc/modules.conf (em outras distros).
Basta incluir o nome do módulo, ao final da lista, dentro do arquivo:

sudo nano /etc/modules
# /etc/modules: kernel modules to load at boot time.
#
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with "#" are ignored.
# Parameters can be specified after the module name.

lp
rtc
f2fs

Para poder criar e formatar partições com o sistema de arquivos F2FS, é necessário instalar o pacote de ferramentas f2fs-tools.
Ele está presente nos repositórios oficial das principais distribuições.
No Fedora, use o yum:

su -c 'yum install f2fs-tools'

No Debian, no Ubuntu e nas outros distros baseadas no Debian, use o apt-get:

sudo apt-get install f2fs-tools

Como criar uma partição F2FS, no Linux

Unidade SSD Samsung
Leia mais sobre sistemas de arquivos otimizados para mídias flash NAND

Para criar uma nova partição ou transformar uma já existente, use o comando mkfs. Fique atento, por que este comando apaga os dados do dispositivo de destino.
Veja um exemplo:

mkfs.f2fs -l meuDisco /dev/sdc1

No exemplo, acima, o parâmetro -l é usado para dar um rótulo ao meu novo drive.
Para montar a partição, use o comando mount:

mount -t f2fs /dev/sdc1 /mnt

Como você pode ver, é fácil usar o F2FS, no Linux.
Alguns smartphones e tablets mais modernos, já reconhecem este sistema de arquivos e, portanto, você pode usufruir de todos os seus recursos em seu dispositivo móvel.

LEIA MAIS
Referências

By Elias Praciano

Autor de tecnologia (livre, de preferência), apaixonado por programação e astronomia.
Fã de séries, como "Rick and Morty" e "BoJack Horseman".
Me siga no Twitter e vamos trocar ideias!

5 replies on “Como criar um sistema de arquivos F2FS”

Muito bom, a partir de que comando posso inserir no meu android paa pode usar na partições do dispositivo?

obrigado Elias, agora o comando deu certo 🙂
mas na hora de montar ele diz q é uma operação exclusiva de root, eu já usei sudo su e sudo -i, ae ele monta a unidade, mas não é possível fazer nada, não copia, não cola, não cria pasta, quando eu montei criando a pasta f2fs, a pasta ficou com cadeado

Inclua o comando para montar, no /etc/fstab.
Abaixo, segue 2 exemplos. Pegue um e insira no fstab (com as devidas alterações, para refletir a sua realidade).
/dev/sdc1 /media/part1 f2fs defaults 0 0/dev/fd0
/dev/sdc1 /media/sdcard f2fs rw,noauto,user,sync 0 0
use o comando sudo mount -a para montar todas as entradas do fstab.
Espero que isto ajude. 😉

eu digito o comando
sudo modprobe -v fsf2 e ele diz
Module fsf2 not found, já tentei com o kernel 3.13 e 3.17

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.