summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--fs/ext2/Config.in19
-rw-r--r--fs/ext2/ext2.mk5
2 files changed, 23 insertions, 1 deletions
diff --git a/fs/ext2/Config.in b/fs/ext2/Config.in
index 493f6c930c..05c9e48098 100644
--- a/fs/ext2/Config.in
+++ b/fs/ext2/Config.in
@@ -68,6 +68,25 @@ config BR2_TARGET_ROOTFS_EXT2_RESBLKS
Traditionally, this has been 5%, and all ext-related tools still
default to reserving 5% when creating a new ext filesystem.
+config BR2_TARGET_ROOTFS_EXT2_MKFS_OPTIONS
+ string "additional mke2fs options"
+ default "-O ^64bit"
+ help
+ Specify a space-separated list of mke2fs options, including any
+ ext2/3/4 filesystem features.
+
+ For more information about the mke2fs options, see the manual
+ page mke2fs(8).
+
+ For more information about the ext2/3/4 features which can be
+ set, see the manual page ext4(5).
+
+ The default is "-O ^64bit", i.e. disable 64-bit filesystem
+ support. This default value has been chosen because U-Boot
+ versions before 2017.02 don't support this filesystem
+ option: using it may make the filesystem unreadable by
+ U-Boot.
+
choice
prompt "Compression method"
default BR2_TARGET_ROOTFS_EXT2_NONE
diff --git a/fs/ext2/ext2.mk b/fs/ext2/ext2.mk
index fdd4a389a0..902e6639ee 100644
--- a/fs/ext2/ext2.mk
+++ b/fs/ext2/ext2.mk
@@ -9,6 +9,8 @@ ifeq ($(BR2_TARGET_ROOTFS_EXT2)-$(EXT2_SIZE),y-)
$(error BR2_TARGET_ROOTFS_EXT2_SIZE cannot be empty)
endif
+EXT2_MKFS_OPTS = $(call qstrip,$(BR2_TARGET_ROOTFS_EXT2_MKFS_OPTIONS))
+
# 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.
EXT2_LABEL := $(subst ",,$(BR2_TARGET_ROOTFS_EXT2_LABEL))
@@ -19,7 +21,8 @@ EXT2_OPTS = \
-r $(BR2_TARGET_ROOTFS_EXT2_REV) \
-N $(BR2_TARGET_ROOTFS_EXT2_INODES) \
-m $(BR2_TARGET_ROOTFS_EXT2_RESBLKS) \
- -L "$(EXT2_LABEL)"
+ -L "$(EXT2_LABEL)" \
+ $(EXT2_MKFS_OPTS)
ROOTFS_EXT2_DEPENDENCIES = host-e2fsprogs
OpenPOWER on IntegriCloud