fs/f2fs: add support for creating a f2fs image
This patch makes possible to create rootfs image using f2fs filesystem. Signed-off-by: Grzegorz Blach <grzegorz@blach.pl> [Thomas: - keep only the minimal functionality, as suggested by Yann E. Morin - use truncate -s instead of dd to create the initial empty image file, as suggested by Yann E. Morin] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
This commit is contained in:
parent
a879a6bc28
commit
6f727ce1fe
@ -6,6 +6,7 @@ source "fs/cloop/Config.in"
|
||||
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"
|
||||
|
21
fs/f2fs/Config.in
Normal file
21
fs/f2fs/Config.in
Normal file
@ -0,0 +1,21 @@
|
||||
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
|
30
fs/f2fs/f2fs.mk
Normal file
30
fs/f2fs/f2fs.mk
Normal file
@ -0,0 +1,30 @@
|
||||
################################################################################
|
||||
#
|
||||
# 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))
|
Loading…
Reference in New Issue
Block a user