From fe20272ab16068765a191f3a846f30f977bc7669 Mon Sep 17 00:00:00 2001 From: John Crispin Date: Mon, 2 Jun 2014 12:44:04 +0000 Subject: image: ext4: allow to choose a block size for the rootfs Signed-off-by: Michael Heimpold SVN-Revision: 40924 --- 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 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 -- cgit v1.1