diff options
author | Yann E. MORIN <yann.morin.1998@free.fr> | 2015-10-29 21:10:36 +0100 |
---|---|---|
committer | Thomas Petazzoni <thomas.petazzoni@free-electrons.com> | 2015-10-31 15:56:56 +0100 |
commit | 301c18e1233a4e1bbbd5368496ddfe99480909bf (patch) | |
tree | b3affc85d806b0e6fa370bb63c287231adf10b7d | |
parent | 7057555d00a11b4fc8aa1a7c46c44d98442aa03c (diff) |
fs/ext2: add options for extra space and extra inodes
Add two options to the ext2 filesystem, one to add extra free space, one
to add extra free inodes.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Gustavo Zacarias <gustavo@zacarias.com.ar>
Tested-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Acked-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Cc: Martin Bark <martin@barkynet.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
-rw-r--r-- | fs/ext2/Config.in | 20 | ||||
-rw-r--r-- | fs/ext2/ext2.mk | 2 | ||||
-rwxr-xr-x | package/mke2img/mke2img | 8 |
3 files changed, 27 insertions, 3 deletions
diff --git a/fs/ext2/Config.in b/fs/ext2/Config.in index 5b1cd0cd9..1e7f719a8 100644 --- a/fs/ext2/Config.in +++ b/fs/ext2/Config.in @@ -45,13 +45,29 @@ config BR2_TARGET_ROOTFS_EXT2_LABEL string "filesystem label" config BR2_TARGET_ROOTFS_EXT2_BLOCKS - int "size in blocks (leave at 0 for auto calculation)" + int "exact size in blocks (leave at 0 for auto calculation)" default 0 config BR2_TARGET_ROOTFS_EXT2_INODES - int "inodes (leave at 0 for auto calculation)" + int "exact number of inodes (leave at 0 for auto calculation)" default 0 +config BR2_TARGET_ROOTFS_EXT2_EXTRA_BLOCKS + int "extra size in blocks" if BR2_TARGET_ROOTFS_EXT2_BLOCKS = 0 + default 0 + help + Enter here the number of extra blocks of free space you + want on your filesystem. By default, Buildroot will not + leave much space free. + +config BR2_TARGET_ROOTFS_EXT2_EXTRA_INODES + int "extra inodes" if BR2_TARGET_ROOTFS_EXT2_INODES = 0 + default 0 + help + Enter here the number of extra free inodes you want on + your filesystem. By default, Buildroot will not leave + many free inodes. + config BR2_TARGET_ROOTFS_EXT2_RESBLKS int "reserved blocks percentage" default 0 diff --git a/fs/ext2/ext2.mk b/fs/ext2/ext2.mk index cab66a5e2..7417f81cf 100644 --- a/fs/ext2/ext2.mk +++ b/fs/ext2/ext2.mk @@ -9,10 +9,12 @@ EXT2_OPTS = -G $(BR2_TARGET_ROOTFS_EXT2_GEN) -R $(BR2_TARGET_ROOTFS_EXT2_REV) ifneq ($(strip $(BR2_TARGET_ROOTFS_EXT2_BLOCKS)),0) EXT2_OPTS += -b $(BR2_TARGET_ROOTFS_EXT2_BLOCKS) endif +EXT2_OPTS += -B $(BR2_TARGET_ROOTFS_EXT2_EXTRA_BLOCKS) ifneq ($(strip $(BR2_TARGET_ROOTFS_EXT2_INODES)),0) EXT2_OPTS += -i $(BR2_TARGET_ROOTFS_EXT2_INODES) endif +EXT2_OPTS += -I $(BR2_TARGET_ROOTFS_EXT2_EXTRA_INODES) ifneq ($(strip $(BR2_TARGET_ROOTFS_EXT2_RESBLKS)),0) EXT2_OPTS += -r $(BR2_TARGET_ROOTFS_EXT2_RESBLKS) diff --git a/package/mke2img/mke2img b/package/mke2img/mke2img index 5e2f62f00..d772af5dd 100755 --- a/package/mke2img/mke2img +++ b/package/mke2img/mke2img @@ -17,12 +17,16 @@ main() { # Default values gen=2 rev=1 + nb_extra_blocks=0 + nb_extra_inodes=0 - while getopts :hb:i:r:d:o:G:R:l:u: OPT; do + while getopts :hb:B:i:I:r:d:o:G:R:l:u: OPT; do case "${OPT}" in h) help; exit 0;; b) nb_blocks=${OPTARG};; + B) nb_extra_blocks=${OPTARG};; i) nb_inodes=${OPTARG};; + I) nb_extra_inodes=${OPTARG};; r) nb_res_blocks=${OPTARG};; d) root_dir="${OPTARG}";; o) image="${OPTARG}";; @@ -58,6 +62,7 @@ main() { nb_inodes=$(find "${root_dir}" | wc -l) nb_inodes=$((nb_inodes+400)) fi + nb_inodes=$((nb_inodes+nb_extra_inodes)) # calculate needed blocks if [ -z "${nb_blocks}" ]; then @@ -73,6 +78,7 @@ main() { nb_blocks=$((nb_blocks+1300)) fi fi + nb_blocks=$((nb_blocks+nb_extra_blocks)) # Upgrade to rev1 if needed if [ ${rev} -ge 1 ]; then |