Hi, On 2023-06-30 14:11, Manoj Sai wrote: > This patchset adds the support on Rockchip based RK3399 and RK3328 SOC's > that compress the U-BOOT proper along with dtb and ATF in FIT image format. > Second stage bootloader(SPL) loads the compressed binaries, uncompress them > and > handover control to the next stage. > > The size difference observed between uncompressed and compressed FIT images > is nearly 67 > to 70% and used two compression libraries,LZMA and GZIP.
How much does this size difference and decompression affect boot times? > > Patch 1/10 generate a GZIP-compressed raw U-boot binary using Makefile > Patch 2/10 address to store compressed U-BOOT raw binary using Kconfig > Patch 3/10 RAM location to store compressed U-BOOT raw binary for ROCKCHIP > based RK3399 and RK3328 SOC's > Patch 4/10 uncompress the gzip U-BOOT binary and load the binaries if gzip > compression supoort is enabled > Patch 5/10 generate a LZMA-compressed raw U-boot binary using Makefile > Patch 6/10 uncompress the lzma U-BOOT binary and load the binaries if lzma > compression supoort is enabled > Patch 7/10 add u-boot-nodtb.bin.gz as an input binary in binman > Patch 8/10 add the GZIP compressed uboot raw binary to FIT image > Patch 9/10 add u-boot-nodtb.bin.lzma as an input binary in binman > Patch 10/10 add the LZMA compressed uboot raw binary to FIT image Instead of adding Makefile targets and custom binman etypes adding support for on-the-fly compression to the fit etype if probably a better option. E.g. when fit node has compression <> none, compress the data content inside binman instead of relaying on binman nodes and Makefile output. Regards, Jonas > > Manoj Sai (10): > Makefile: Add support to generate GZIP compressed raw u-boot binary > spl: Kconfig: Address support for compressed U-BOOT raw binary > rockchip: RAM location for the compressed U-BOOT raw binary > spl: fit: support for booting a GZIP-compressed U-boot raw binary > Makefile: Add support to generate LZMA compressed raw u-boot binary > spl: fit: support for booting a LZMA-compressed U-boot raw binary > binman: Add support for u-boot-nodtb.bin.gz as an input binary > rockchip: Add GZIP compressed uboot raw binary to FIT image > binman: Add support for u-boot-nodtb.bin.lzma as an input binary > rockchip: Add LZMA compressed uboot raw binary to FIT image > > Makefile | 6 ++++ > arch/arm/dts/rockchip-u-boot.dtsi | 15 ++++++++ > arch/arm/mach-rockchip/Kconfig | 3 ++ > common/spl/Kconfig | 15 ++++++++ > common/spl/spl_fit.c | 36 +++++++++++++++----- > tools/binman/etype/283_u_boot_nodtb_lzma.dts | 11 ++++++ > tools/binman/etype/u_boot_nodtb_gzip.py | 28 +++++++++++++++ > tools/binman/etype/u_boot_nodtb_lzma.py | 28 +++++++++++++++ > tools/binman/ftest.py | 11 ++++++ > tools/binman/test/282_u_boot_nodtb_gzip.dts | 11 ++++++ > 10 files changed, 156 insertions(+), 8 deletions(-) > create mode 100644 tools/binman/etype/283_u_boot_nodtb_lzma.dts > create mode 100644 tools/binman/etype/u_boot_nodtb_gzip.py > create mode 100644 tools/binman/etype/u_boot_nodtb_lzma.py > create mode 100644 tools/binman/test/282_u_boot_nodtb_gzip.dts >