[PATCH 11/16] lib: enable lzma decompression support for SPL build

Weijie Gao weijie.gao at mediatek.com
Thu Jan 9 09:10:12 CET 2020


On Wed, 2020-01-08 at 08:22 +0100, Heinrich Schuchardt wrote:
> 
> On 1/8/20 4:01 AM, Weijie Gao wrote:
> > This patch enables LZMA decompression support for SPL build
> >
> > Signed-off-by: Weijie Gao <weijie.gao at mediatek.com>
> > ---
> >   lib/Kconfig  | 5 +++++
> >   lib/Makefile | 1 +
> >   2 files changed, 6 insertions(+)
> >
> > diff --git a/lib/Kconfig b/lib/Kconfig
> > index 965cf7bc03..2f38e37802 100644
> > --- a/lib/Kconfig
> > +++ b/lib/Kconfig
> > @@ -418,6 +418,11 @@ config SPL_LZ4
> >   	  fast compression and decompression speed. It belongs to the LZ77
> >   	  family of byte-oriented compression schemes.
> >
> > +config SPL_LZMA
> > +	bool "Enable LZMA decompression support for SPL build"
> > +	help
> > +	  This enables support for LZMA compression altorithm for SPL boot.
> 
> %s/altorithm/algorithm/g
> 
> Why do we need yet another algorithm for compression?
> 
> Doesn't Zstandard provide a much faster decompression?
> Cf. https://sites.google.com/site/powturbo/home/web-compression
> 
> Best regards
> 
> Heinrich
> 
> > +
> >   config SPL_LZO
> >   	bool "Enable LZO decompression support in SPL"
> >   	help
> > diff --git a/lib/Makefile b/lib/Makefile
> > index 1fb650cd90..8e51eec01c 100644
> > --- a/lib/Makefile
> > +++ b/lib/Makefile
> > @@ -64,6 +64,7 @@ obj-$(CONFIG_$(SPL_)ZLIB) += zlib/
> >   obj-$(CONFIG_$(SPL_)ZSTD) += zstd/
> >   obj-$(CONFIG_$(SPL_)GZIP) += gunzip.o
> >   obj-$(CONFIG_$(SPL_)LZO) += lzo/
> > +obj-$(CONFIG_$(SPL_)LZMA) += lzma/
> >   obj-$(CONFIG_$(SPL_)LZ4) += lz4_wrapper.o
> >
> >   obj-$(CONFIG_LIBAVB) += libavb/
> >

Hi Heinrich,

I need an algorithm with the maximum compression ratio to reduce the
size of the u-boot payload as much as possible.

I believe currently lzma and xz are the best choices.
Refer to:
https://catchchallenger.first-world.info/wiki/Quick_Benchmark:_Gzip_vs_Bzip2_vs_LZMA_vs_XZ_vs_LZ4_vs_LZO

Although they will take longer time for compression and decompression,
considering that the u-boot payload is usually small (<= 1MiB), there
will not be significant effect on decompression time.

Best Regards,

Weijie



More information about the U-Boot mailing list