aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohn Crispin <john@openwrt.org>2014-06-02 12:44:04 +0000
committerJohn Crispin <john@openwrt.org>2014-06-02 12:44:04 +0000
commitfe20272ab16068765a191f3a846f30f977bc7669 (patch)
tree599165e267d14ab4f496c46097610e5fb56deffb
parentfbb05ce06320075ebfd062c5220c399fd45409ed (diff)
downloadupstream-fe20272ab16068765a191f3a846f30f977bc7669.tar.gz
upstream-fe20272ab16068765a191f3a846f30f977bc7669.tar.bz2
upstream-fe20272ab16068765a191f3a846f30f977bc7669.zip
image: ext4: allow to choose a block size for the rootfs
Signed-off-by: Michael Heimpold <mhei@heimpold.de> SVN-Revision: 40924
-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 49569006e9..368f14768d 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 53919052e9..e9cb0cc8f0 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