
Look the following benchmark (qemu-mips board):
U-Boot Vanilla 179600 bytes u-boot.bin
Bootstrap code w/o compresion (memcpy) 189224 bytes u-boot-bootstrap.bin --> size 105%
Bootstrap code using BZIP2 compression 114388 bytes u-boot-bootstrap.bin -->size 64%
Bootstrap code using GZIP compression 114204 bytes u-boot-bootstrap.bin -->size 64%
Bootstrap code using LZMA compression 89456 bytes u-boot-bootstrap.bin -->size 50% <-- BEST
Bootstrap code using LZO compression 104388 bytes u-boot-bootstrap.bin -->size 58%
ciao ciao
luigi
martedì 30 novembre 2010 11:30 luigi.mantellini@idf-hit.com ha scritto:
From: Luigi 'Comio' Mantellini luigi.mantellini@idf-hit.com
Hi All,
The following patches introduce the bootstrap support that enable to have a compressed U-Boot image. The bootstrap code supports the uncompressed as well as compressed payloads, using LZMA, GZIP, BZIP2 and LZO.
Actually I developed just the mips version (using qemu-mips board)...
Please see the Patch #1 for the required defines to enable the required features.
Of course, any suggestion is welcome.
ciao
luigi
Luigi 'Comio' Mantellini (2): Add support for bootstrap stage that allows to have a compressed U-Boot image. The final image will named "u-boot-bootstrap". Add support for bootstrap stage to QEMU-MIPS board.
.gitignore | 24 ++- Makefile | 172 ++++++++++++- arch/mips/config.mk | 2 +- arch/mips/cpu/Makefile | 28 ++- arch/mips/cpu/cpu.c | 12 - arch/mips/cpu/reset.c | 39 +++ arch/mips/cpu/reset_bootstrap.c | 39 +++ arch/mips/cpu/start_bootstrap.S | 452 +++++++++++++++++++++++++++++++++ arch/mips/lib/Makefile | 15 +- arch/mips/lib/board_bootstrap.c | 261 +++++++++++++++++++ board/qemu-mips/Makefile | 15 +- board/qemu-mips/config.mk | 7 +- board/qemu-mips/qemu-mips_bootstrap.c | 48 ++++ board/qemu-mips/u-boot-bootstrap.lds | 73 ++++++ common/Makefile | 15 +- common/console_bootstrap.c | 85 ++++++ config.mk | 19 ++- include/common.h | 21 ++ include/configs/qemu-mips.h | 14 +- lib/Makefile | 28 ++- lib/bootstrap.c | 89 +++++++ lib/lzma/Makefile | 4 +- lib/lzo/Makefile | 4 +- 23 files changed, 1434 insertions(+), 32 deletions(-) create mode 100644 arch/mips/cpu/reset.c create mode 100644 arch/mips/cpu/reset_bootstrap.c create mode 100644 arch/mips/cpu/start_bootstrap.S create mode 100644 arch/mips/lib/board_bootstrap.c create mode 100644 board/qemu-mips/qemu-mips_bootstrap.c create mode 100644 board/qemu-mips/u-boot-bootstrap.lds create mode 100644 common/console_bootstrap.c create mode 100644 lib/bootstrap.c