source "fs/cpio/Config.in"
source "fs/cramfs/Config.in"
source "fs/ext2/Config.in"
+source "fs/f2fs/Config.in"
source "fs/initramfs/Config.in"
source "fs/iso9660/Config.in"
source "fs/jffs2/Config.in"
--- /dev/null
+config BR2_TARGET_ROOTFS_F2FS
+ bool "f2fs root filesystem"
+ select BR2_PACKAGE_HOST_F2FS_TOOLS
+ help
+ Build a f2fs root filesystem. If you enable this option, you
+ probably want to enable the f2fs-tools package too.
+
+if BR2_TARGET_ROOTFS_F2FS
+
+config BR2_TARGET_ROOTFS_F2FS_LABEL
+ string "filesystem label"
+
+config BR2_TARGET_ROOTFS_F2FS_SIZE
+ string "filesystem size"
+ default "100M"
+ help
+ The size of the filesystem image in bytes.
+ Suffix with K, M, G or T for power-of-two kilo-, mega-, giga-
+ or terabytes.
+
+endif # BR2_TARGET_ROOTFS_F2FS
--- /dev/null
+################################################################################
+#
+# Build the f2fs root filesystem image
+#
+################################################################################
+
+F2FS_SIZE = $(call qstrip,$(BR2_TARGET_ROOTFS_F2FS_SIZE))
+ifeq ($(BR2_TARGET_ROOTFS_F2FS)-$(F2FS_SIZE),y-)
+$(error BR2_TARGET_ROOTFS_F2FS_SIZE cannot be empty)
+endif
+
+# qstrip results in stripping consecutive spaces into a single one. So the
+# variable is not qstrip-ed to preserve the integrity of the string value.
+F2FS_LABEL := $(subst ",,$(BR2_TARGET_ROOTFS_F2FS_LABEL))
+# ")
+
+F2FS_OPTS = \
+ -f \
+ -l "$(F2FS_LABEL)"
+
+ROOTFS_F2FS_DEPENDENCIES = host-f2fs-tools
+
+define ROOTFS_F2FS_CMD
+ $(RM) -f $@
+ truncate -s $(F2FS_SIZE) $@
+ $(HOST_DIR)/sbin/mkfs.f2fs $(F2FS_OPTS) $@
+ $(HOST_DIR)/sbin/sload.f2fs -f $(TARGET_DIR) $@
+endef
+
+$(eval $(rootfs))