Hi Alper, Alper Nebi Yasak <[email protected]> 于2022年1月29日周六 23:28写道: > > 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 <[email protected]>
Reviewed-by: Kever Yang <[email protected]> Thanks, - Kever > --- > 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(+) > > diff --git a/arch/arm/mach-rockchip/Kconfig b/arch/arm/mach-rockchip/Kconfig > index 92f35309e4a6..308dc09b0389 100644 > --- a/arch/arm/mach-rockchip/Kconfig > +++ b/arch/arm/mach-rockchip/Kconfig > @@ -390,6 +390,9 @@ config ROCKCHIP_SPI_IMAGE > containing U-Boot. The image is built by binman. U-Boot sits near > the start of the image. > > +config LNX_KRNL_IMG_TEXT_OFFSET_BASE > + default SYS_TEXT_BASE > + > source "arch/arm/mach-rockchip/px30/Kconfig" > source "arch/arm/mach-rockchip/rk3036/Kconfig" > source "arch/arm/mach-rockchip/rk3128/Kconfig" > -- > 2.34.1 >

