F2FS (Flash-Friendly File System) is a file system intended for NAND-based flash memory equipped with Flash Transition Layer. Unlike JFFS or UBIFS it relies on FTL to handle write distribution. It is supported from kernel 3.8 onwards.
Creating a F2FS file system
In order to create a F2FS file system, install .
Create the file system:
# mkfs.f2fs -l mylabel /dev/sdxY
/dev/sdxY is the target volume to format in F2FS. See for all available options.
Mounting a F2FS file system
The file system can then be mounted manually or via other mechanisms:
# mount /dev/sdxY /mnt/foo
Grow an F2FS file system
When the filesystem is unmounted, it can be grown if the partition is expanded. Shrinking is not currently supported.
First use a partition tool to resize the partition. This can be done, for example, by deleting the old partition and creating a new one with with the same type, the same start sector, and a new end position.
Then expand the filesystem to fill the new partition using:
# resize.f2fs /dev/sdxY
/dev/sdxY is the target F2FS volume to grow. See for supported options.
/dev/disk/by-partuuid/) might change, but the filesystem UUID (seen in
/dev/disk/by-uuid/) should stay the same.
Checking and repair
Checking and repairs to f2fs file systems are accomplished with
fsck.f2fs provided by . See for available switches.
GRUB with root on F2FS
When using GRUB your freshly installed system might not boot after reboot. As GRUB does not support F2FS it is not able to extract the UUID of your drive so it uses classic non-persistent
/dev/sdXx names instead. In this case you might have to manually edit
/boot/grub/grub.cfg and replace
root=UUID=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX. You can use the
blkid command to get the UUID of your device, see Persistent block device naming.