F2FS

F2FS (Flash-Friendly File System) is filesystem designed for NAND flash-based devices.]] It is available in Linux kernels 3.8.x and higher. This filesystem is a good choice when installing Gentoo on an eMMC, SSD, SDCard, or a flash-based USB device.

Note: F2FS is very useful for "dumb" flash storage (like a usb thumbdrive). Modern SSDs might be better off with ext4 or xfs. See the debate here.

Kernel
When enabling support to the filesystem in the Linux kernel, it is wise to enable at least the first four options in order to support extended filesystem attributes:


 * CONFIG_F2FS_FS
 * F2FS_FS_XATTR
 * CONFIG_F2FS_FS_POSIX_ACL
 * CONFIG_F2FS_FS_SECURITY

The fifth option in the list will enable F2FS's filesystem consistency checking. The checking will occur during run time and will decrease the filesystem's performance. This option provides an advantage when consistency is more important than speed.

The sixth, and final option, is encryption. If encryption is in the use case, then this option should be enabled as well. It does not hurt to enable this option even if encryption will not be used right away.

Emerge
Install the userspace tools for the F2FS filesystem:

Creation
After emerging the userspace tools, create a filesystem by running the command followed by the appropriate device and partition number:

Troubleshooting
When using f2fs as rootfs fails on boot. Solutions are either disabling in  (setting the last number to 0) or enabling the force-flag for  in. See.

External resources

 * F2FS (elinux.org)
 * F2FS on wiki.kernel.org