[Buildroot] [PATCH] support: Allow compression of sdcard.img

Yann E. MORIN yann.morin.1998 at free.fr
Sun Jan 7 23:00:52 UTC 2018


Evgeniy, All,

On 2017-12-18 16:51 +0300, Evgeniy Didin spake thusly:
> In image files, generated by genimage.sh, there
> are tens of megabytes most of which might be filled
> with zeros as partitions are made a bit larger than
> needed for minimalictic rootfs (which allows users to
> add more libs and aps later on without messign with
> partition sizes).
> 
> So adding an option for genimage.sh script, setting which
> we gzip image file and greatly reduce it size.

Sorry, I am not in favour if this.

Today you're adding gzip compression (and by the way, -g is really
unusual for a compresion option, it usually is called -z), but tomorrow
someone will want xz compression, then another one will want lzo or lzip
or whatever...

And then someone will want to add gpg signature and encryption or
whatnot...

So, in such situation, I would argue that one should provide their
post-image script, that does whatever last-minute tweaks on the
generated image(s).

And by the way, this patch compreses the image, but does not remove the
original, so this is actually a loss of space.

So I am not in favour of this patch, sorry.

Regards,
Yann E. MORIN.

> Signed-off-by: Evgeniy Didin <didin at synopsys.com>
> Cc: Alexey Brodkin <abrodkin at synopsys.com>
> Cc: arc-buildroot at synopsys.com
> Cc: Thomas Petazzoni <thomas.petazzoni at free-electrons.com>
> ---
>  support/scripts/genimage.sh | 13 +++++++++++--
>  1 file changed, 11 insertions(+), 2 deletions(-)
> 
> diff --git a/support/scripts/genimage.sh b/support/scripts/genimage.sh
> index 039b3fef1d..fa00e12855 100755
> --- a/support/scripts/genimage.sh
> +++ b/support/scripts/genimage.sh
> @@ -1,16 +1,17 @@
>  #!/usr/bin/env bash
> +# -g option gzips IMAGE_FILE to reduce it size
>  
>  die() {
>    cat <<EOF >&2
>  Error: $@
>  
> -Usage: ${0} -c GENIMAGE_CONFIG_FILE
> +Usage: ${0} -c GENIMAGE_CONFIG_FILE -g IMAGE_FILE
>  EOF
>    exit 1
>  }
>  
>  # Parse arguments and put into argument list of the script
> -opts="$(getopt -n "${0##*/}" -o c: -- "$@")" || exit $?
> +opts="$(getopt -n "${0##*/}" -o c:g: -- "$@")" || exit $?
>  eval set -- "$opts"
>  
>  GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp"
> @@ -23,6 +24,9 @@ while true ; do
>  	--) # Discard all non-option parameters
>  	  shift 1;
>  	  break ;;
> +        -g)
> +	  GENIMAGE_NAME="${2}";
> +          shift 2;;
>  	*)
>  	  die "unknown option '${1}'" ;;
>  	esac
> @@ -38,3 +42,8 @@ genimage \
>  	--inputpath "${BINARIES_DIR}"  \
>  	--outputpath "${BINARIES_DIR}" \
>  	--config "${GENIMAGE_CFG}"
> +if [ ${GENIMAGE_NAME} ]
> +then
> +echo ${GENIMAGE_NAME}
> +gzip < ${BINARIES_DIR}/${GENIMAGE_NAME} > ${BINARIES_DIR}/${GENIMAGE_NAME}.gz
> +fi
> -- 
> 2.11.0
> 
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'


More information about the buildroot mailing list