Signed-off-by: Michael Heimpold <[email protected]>
---
 config/Config-images.in |   24 ++++++++++++++++++++++++
 include/image.mk        |    4 ++--
 2 files changed, 26 insertions(+), 2 deletions(-)

diff --git a/config/Config-images.in b/config/Config-images.in
index b71a0d6..2deee67 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
-- 
1.7.10.4
_______________________________________________
openwrt-devel mailing list
[email protected]
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel

Reply via email to