
On Sat, 29 Jan 2022 at 08:28, Alper Nebi Yasak alpernebiyasak@gmail.com wrote:
U-Boot can be chainloaded from vendor firmware on ARM64 chromebooks from a GPT partition (roughly the same as in doc/chromium/chainload.rst), but an appropriate image header must be built-in to the U-Boot binary by enabling LINUX_KERNEL_IMAGE_HEADER.
This header has a field for an image load offset from 2MiB alignment which must also be customized through LNX_KRNL_IMG_TEXT_OFFSET_BASE. Set it equal to SYS_TEXT_BASE by default for Rockchip boards, which happens to make this offset zero and works fine on chromebook_kevin both for chainloading and bare-metal use.
Signed-off-by: Alper Nebi Yasak alpernebiyasak@gmail.com
Looks like ARM64 chromebooks also need POSITION_INDEPENDENT=y to chainload that way, but I'm not enabling the configs here. I'm thinking of selecting these from new configs that also enable binman definitions for the kernel partition and legacy boot images.
arch/arm/mach-rockchip/Kconfig | 3 +++ 1 file changed, 3 insertions(+)
Reviewed-by: Simon Glass sjg@chromium.org