(Aspeed2600) Booting with a SPL loading U-boot fitImage
Klaus Heinrich Kiwi
klaus at linux.vnet.ibm.com
Wed Mar 3 00:21:42 AEDT 2021
On 3/2/2021 4:54 AM, Dan Zhang wrote:
> I think within A FIT image, the u-boot binary is not located at your entry point 0x81000000,
> it is behind the fit header, somewhere. This means the entry_point and load_addr is not the same as spl_boot.c defined.
> spl_image->entry_point= CONFIG_ASPEED_UBOOT_DRAM_BASE;
> spl_image->load_addr= CONFIG_ASPEED_UBOOT_DRAM_BASE;
> Also, the u-boot code itself before relocation is position aware ( SYS_TEXT_BASE must be set to 0x81000000, as your second try works). This means the entry_point shall be the same as SYS_TEXT_BASE.
I think it's not that simple. See my answer (to myself) in this same thread with new information.
> In fb/OpenBMC, verified boot implementation, use mkimage option:
> -p => place external data at a static position,
> thus we specify the somewhere to a static offset , then you can set the entry_point = load_addr + offset.
Verified boot should work if you are having u-boot proper validating the Linux Kernel fitimage, but I don't see how the Aspeed 2600 SPL would be able to load and verify the u-boot proper fitimage - the code simply isn't there..
It seems to me that the SPL_LOAD_FIT code should handle recognizing the fitimage, moving it's 'loadables' images into memory and setting the entry point accordingly.
-Klaus
More information about the openbmc
mailing list