summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYann E. MORIN <yann.morin.1998@free.fr>2017-07-04 00:51:01 +0200
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>2017-07-04 08:50:40 +0200
commit221808810d546e6808c48ec09383bd161d995be5 (patch)
tree88038a94d17a42c0024debf2083856ac34f33513
parentddecc7dcb2fb584540b4160b7a1e89e5d75b47ea (diff)
downloadbuildroot-221808810d546e6808c48ec09383bd161d995be5.tar.gz
buildroot-221808810d546e6808c48ec09383bd161d995be5.zip
package/mke2img: add option to specify block size
ext filesystems can use a block size of 1024, 2048, or 4096 bytes, the former being interesting to store small files, while the latter being more intersting to store bigger files. So far, we were using the default, which was to use a 1024-byte block. Continue doing so (for now...). Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Samuel Martin <s.martin49@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
-rw-r--r--fs/ext2/ext2.mk1
-rwxr-xr-xpackage/mke2img/mke2img10
2 files changed, 9 insertions, 2 deletions
diff --git a/fs/ext2/ext2.mk b/fs/ext2/ext2.mk
index 16e14777c3..0d5fc7f118 100644
--- a/fs/ext2/ext2.mk
+++ b/fs/ext2/ext2.mk
@@ -12,6 +12,7 @@ EXT2_LABEL := $(subst ",,$(BR2_TARGET_ROOTFS_EXT2_LABEL))
EXT2_OPTS = \
-G $(BR2_TARGET_ROOTFS_EXT2_GEN) \
-R $(BR2_TARGET_ROOTFS_EXT2_REV) \
+ -B 1024 \
-b $(BR2_TARGET_ROOTFS_EXT2_BLOCKS) \
-i $(BR2_TARGET_ROOTFS_EXT2_INODES) \
-I $(BR2_TARGET_ROOTFS_EXT2_EXTRA_INODES) \
diff --git a/package/mke2img/mke2img b/package/mke2img/mke2img
index 266df483aa..399012a2be 100755
--- a/package/mke2img/mke2img
+++ b/package/mke2img/mke2img
@@ -19,9 +19,10 @@ main() {
rev=1
nb_extra_inodes=0
- while getopts :hb:i: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) block_size="${OPTARG}";;
b) nb_blocks=${OPTARG};;
i) nb_inodes=${OPTARG};;
I) nb_extra_inodes=${OPTARG};;
@@ -47,6 +48,11 @@ main() {
if [ -z "${nb_blocks}" ]; then
error "you must specify the size of the output image with '-b'\n"
fi
+ case "${block_size}" in
+ 1024|2048|4096) ;; # Sole valid values
+ '') error "you must specify the size of a block with -B\n";;
+ *) error "invalid block size '%s' (valid: 1024. 2048, 4096)\n" "${block_size}";;
+ esac
case "${gen}:${rev}" in
2:0|2:1|3:1|4:1)
;;
@@ -91,7 +97,7 @@ main() {
fi
# Generate the filesystem
- genext2fs_opts=( -z -b ${nb_blocks} -N ${nb_inodes} -d "${root_dir}" )
+ genext2fs_opts=( -z -B ${block_size} -b ${nb_blocks} -N ${nb_inodes} -d "${root_dir}" )
if [ -n "${nb_res_blocks}" ]; then
genext2fs_opts+=( -m ${nb_res_blocks} )
fi
OpenPOWER on IntegriCloud