From: Gabor Juhos Date: Thu, 29 Nov 2012 17:37:15 +0000 (+0000) Subject: build: Add TARGET_ROOTFS_RESERVED_PCT option to reduce wasted space X-Git-Url: http://git.openwrt.org/?p=openwrt%2Fsvn-archive%2Farchive.git;a=commitdiff_plain;h=5df8e544613d2bf42685ea9f8ca0382b93f72270 build: Add TARGET_ROOTFS_RESERVED_PCT option to reduce wasted space The genext2fs tool will 'reserve' 5% of the image size by default, apparently by creating a huge lost+found directory. In fact it seemed to be much more than 5% in practice — I saw an image with 8MiB used, and recovered about 2MiB of it by deleting the 'empty' lost+found directory: /dev/loop0 48377 8482 37438 19% /mnt/spare # rmdir lost+found/ /dev/loop0 48377 6014 39906 14% /mnt/spare This makes it configurable, but leaves it at the genext2fs default of 5% for now. It should probably be changed to default to zero, but that can be a separate patch. Signed-off-by: David Woodhouse Signed-off-by: Gabor Juhos SVN-Revision: 34408 --- diff --git a/Config.in b/Config.in index 46f7ce8385..76acbe5944 100644 --- a/Config.in +++ b/Config.in @@ -125,6 +125,13 @@ menu "Target Images" help Allows you to change the maximum number of inodes in the root filesystem + config TARGET_ROOTFS_RESERVED_PCT + int "Percentage of reserved blocks in root filesystem" + depends TARGET_ROOTFS_EXT4FS + default 5 + help + Allows you to change the percentage of reserved blocks in the root filesystem + endmenu menu "Global build settings" diff --git a/include/image.mk b/include/image.mk index 10850a6327..503115ddb0 100644 --- a/include/image.mk +++ b/include/image.mk @@ -124,7 +124,7 @@ ifneq ($(CONFIG_TARGET_ROOTFS_EXT4FS),) 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 + $(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) # convert it to ext4 $(STAGING_DIR_HOST)/bin/tune2fs -O extents,uninit_bg,dir_index $(KDIR)/root.ext4 # fix it up