Theory: where I can learn more about U-boot and its payload?

Recently I updated the bootloader on my VisionFive 2 according to this post. It worked fine but while doing this I realized that I have no idea what am I doing exactly.

The update looks like this:

flashcp -v u-boot-spl.bin.normal.out /dev/mtd0
flashcp -v visionfive2_fw_payload.img /dev/mtd1

So there are two images, one seems to be U-boot per se, and the second one is something called “payload”. My amateur understanding is that U-boot executes the payload and the payload know how to load the OS on the given hardware. Or perhaps payload is merely some sort of config for U-boot? I honestly don’t know.

All in all I would like to learn a bit more theory in this area. Could you please explain what “payload” is exactly and also direct me to a place where I can learn more about U-boot and VisionFive 2 booting process?

1 Like

fw_payload is actual a intergration method of opensbi. More information here: