[PATCH 0/3] save prev bootloader data, when u-boot chainloaded

Dzmitry Sankouski dsankouski at gmail.com
Sun Feb 13 20:39:03 CET 2022


When u-boot is used as a chain-loaded bootloader (replacing OS kernel),
previous bootloader leaves data in RAM, that can be reused.

For example, on recent arm linux system, when chainloading u-boot,
there are initramfs and fdt in RAM prepared for OS booting. Initramfs
may be modified to store u-boot's payload, thus providing the ability to
use chainloaded u-boot to boot OS without any storage support.

Two config options added:
- SAVE_PREV_BL_INITRAMFS_START_ADDR
  saves initramfs start address to 'prevbl_initrd_start_addr' environment
  variable
- SAVE_PREV_BL_FDT_ADDR
  saves fdt address to 'prevbl_fdt_addr' environment variable

This feature will be used for axy17lte and starqltechn boards for now,
and more phones in future.

Dzmitry Sankouski (3):
  arm: init: save previous bootloader data
  board: starqltechn: get board usable - add bootcmd and docs
  board: axy17lte: get board usable - add bootcmd and docs

 arch/arm/dts/starqltechn-uboot.dtsi |  9 ++-
 arch/arm/dts/starqltechn.dts        | 13 ++++-
 arch/arm/lib/Makefile               |  5 ++
 arch/arm/lib/save_prev_bl_data.c    | 91 +++++++++++++++++++++++++++++
 boot/Kconfig                        | 79 ++++++++++++++++---------
 common/board_r.c                    |  5 ++
 configs/a3y17lte_defconfig          | 12 ++--
 configs/a5y17lte_defconfig          | 13 +++--
 configs/a7y17lte_defconfig          | 13 +++--
 configs/starqltechn_defconfig       | 18 +++++-
 doc/board/qualcomm/sdm845.rst       | 47 ++++++++++++++-
 doc/board/samsung/axy17lte.rst      | 15 +----
 include/configs/exynos78x0-common.h |  4 ++
 include/configs/sdm845.h            |  8 +++
 include/init.h                      | 13 +++++
 15 files changed, 282 insertions(+), 63 deletions(-)
 create mode 100644 arch/arm/lib/save_prev_bl_data.c

-- 
2.20.1



More information about the U-Boot mailing list