[U-Boot] supported image compression types?
Tom Rini
trini at konsulko.com
Mon Jul 18 17:52:47 CEST 2016
On Mon, Jul 18, 2016 at 06:16:15AM -0400, Robert P. J. Day wrote:
>
> reading u-boot wiki page on image formats:
>
> http://www.denx.de/wiki/view/DULG/UBootImages
>
> wherein one reads:
>
> "Compression Type (Provisions for uncompressed, gzip, bzip2, lzo;
> Currently supported: uncompressed, gzip, bzip2, lzo)."
>
> clearly, that wiki page list is incomplete, but there's more here.
>
> first, the full list appears to live in include/image.h:
>
> /*
> * Compression Types
> */
> enum {
> IH_COMP_NONE = 0, /* No Compression Used */
> IH_COMP_GZIP, /* gzip Compression Used */
> IH_COMP_BZIP2, /* bzip2 Compression Used */
> IH_COMP_LZMA, /* lzma Compression Used */
> IH_COMP_LZO, /* lzo Compression Used */
> IH_COMP_LZ4, /* lz4 Compression Used */
>
> IH_COMP_COUNT,
> };
>
> but how those types are selected seems a bit inconsistent.
>
> first, gzip appears to be automatic(?) for everyone, from
> include/config_defaults.h:
>
> #define CONFIG_GZIP 1
>
> however, of all 5 types of compression, only one has a Kconfig file
> entry, LZ4, in lib/Kconfig:
>
> menu "Compression Support"
>
> config LZ4
> bool "Enable LZ4 decompression support"
> help
> If this option is set, support for LZ4 compressed images
> is included. The LZ4 algorithm can run in-place as long as the
> compressed image is loaded to the end of the output buffer, and
> trades lower compression ratios for much faster decompression.
>
> NOTE: This implements the release version of the LZ4 frame
> format as generated by default by the 'lz4' command line tool.
> This is not the same as the outdated, less efficient legacy
> frame format currently (2015) implemented in the Linux kernel
> (generated by 'lz4 -l'). The two formats are incompatible.
>
> endmenu
>
> for consistency, isn't it standard for any CONFIG_* settings to be
> defined in Kconfig files? the other compression types seem to be
> selectable simply by manually setting them in config files, as in:
>
> $ grep -r "define CONFIG_LZMA" *
> include/configs/bfin_adi_common.h:#define CONFIG_LZMA
> include/configs/VCMA9.h:#define CONFIG_LZMA
> include/configs/ap143.h:#define CONFIG_LZMA
> include/configs/qemu-mips.h:#define CONFIG_LZMA
> include/configs/iconnect.h:#define CONFIG_LZMA
> include/configs/ap121.h:#define CONFIG_LZMA
> include/configs/nsa310s.h:#define CONFIG_LZMA
> include/configs/mv-plug-common.h:#define CONFIG_LZMA
> include/configs/ib62x0.h:#define CONFIG_LZMA
> include/configs/qemu-mips64.h:#define CONFIG_LZMA
> include/configs/tplink_wdr4300.h:#define CONFIG_LZMA
> include/configs/sandbox.h:#define CONFIG_LZMA
> include/configs/smdk2410.h:#define CONFIG_LZMA
> $
>
> should not all compression types get their own entries in lib/Kconfig?
> anyway, i'll at least update the wiki page.
Yes, these should be converted over to Kconfig. A patch sometime after
say -rc2 (when all new boards really really better be in..) would be
good :) Thanks!
--
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20160718/33f38005/attachment.sig>
More information about the U-Boot
mailing list