summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--config/Config-images.in24
-rw-r--r--include/image.mk4
2 files changed, 26 insertions, 2 deletions
diff --git a/config/Config-images.in b/config/Config-images.in
index 4956900..368f147 100644
--- a/config/Config-images.in
+++ b/config/Config-images.in
@@ -86,6 +86,30 @@ menu "Target Images"
help
Allows you to change the percentage of reserved blocks in the root filesystem
+ choice
+ prompt "Root filesystem block size""
+ default TARGET_EXT4_BLOCKSIZE_4K
+ depends TARGET_ROOTFS_EXT4FS
+ help
+ Allows you to change the block size of the root filesystem
+
+ config TARGET_EXT4_BLOCKSIZE_4K
+ bool "4k"
+
+ config TARGET_EXT4_BLOCKSIZE_2K
+ bool "2k"
+
+ config TARGET_EXT4_BLOCKSIZE_1K
+ bool "1k"
+ endchoice
+
+ config TARGET_EXT4_BLOCKSIZE
+ int
+ default 4096 if TARGET_EXT4_BLOCKSIZE_4K
+ default 2048 if TARGET_EXT4_BLOCKSIZE_2K
+ default 1024 if TARGET_EXT4_BLOCKSIZE_1K
+ depends TARGET_ROOTFS_EXT4FS
+
config TARGET_ROOTFS_ISO
bool "iso"
default n
diff --git a/include/image.mk b/include/image.mk
index 5391905..e9cb0cc 100644
--- a/include/image.mk
+++ b/include/image.mk
@@ -184,11 +184,11 @@ ifneq ($(CONFIG_TARGET_ROOTFS_TARGZ),)
endif
ifneq ($(CONFIG_TARGET_ROOTFS_EXT4FS),)
- E2SIZE=$(shell echo $$(($(CONFIG_TARGET_ROOTFS_PARTSIZE)*1024)))
+ E2SIZE=$(shell echo $$(($(CONFIG_TARGET_ROOTFS_PARTSIZE)*1024*1024/$(CONFIG_TARGET_EXT4_BLOCKSIZE))))
define Image/mkfs/ext4
# generate an ext2 fs
- $(STAGING_DIR_HOST)/bin/genext2fs -U -b $(E2SIZE) -N $(CONFIG_TARGET_ROOTFS_MAXINODE) -d $(TARGET_DIR)/ $(KDIR)/root.ext4 -m $(CONFIG_TARGET_ROOTFS_RESERVED_PCT) $(MKFS_DEVTABLE_OPT)
+ $(STAGING_DIR_HOST)/bin/genext2fs -U -B $(CONFIG_TARGET_EXT4_BLOCKSIZE) -b $(E2SIZE) -N $(CONFIG_TARGET_ROOTFS_MAXINODE) -d $(TARGET_DIR)/ $(KDIR)/root.ext4 -m $(CONFIG_TARGET_ROOTFS_RESERVED_PCT) $(MKFS_DEVTABLE_OPT)
# convert it to ext4
$(STAGING_DIR_HOST)/bin/tune2fs -O extents,uninit_bg,dir_index $(KDIR)/root.ext4
# fix it up