[PATCH 00/10] support for booting the compressed U-boot binary on Rockchip based SOC's
Jonas Karlman
jonas at kwiboo.se
Fri Jun 30 17:45:21 CEST 2023
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
>
More information about the U-Boot
mailing list