@@ -68,6 +68,24 @@ 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 then manual page ext4(5).
+
+ The default is "-O ^64bit", i.e. disable the 64-bit filesystem.
+ This is chosen because U-Boot versions before 2017.02 don't
+ support that filesystem option, which may render the system
+ unbootable if it is used.
+
choice
prompt "Compression method"
default BR2_TARGET_ROOTFS_EXT2_NONE
@@ -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