Noticed that the 2013.10 upstream u-boot release will contain support for the Visionfive 2. I’m trying the current RC2 build. This build fails at the very end. Cross-compiling on Debian bookworm. The error report is:
binman: Filename 'fw_dynamic.bin' not found in input path (.,.,./board/starfive/visionfive2,arch/riscv/dts) (cwd='/home/vf2build/u-boot')
make: *** [Makefile:1111: .binman_stamp] Error 1
This is odd: opensbi needs u-boot to build, and u-boot needs opensbi to build. Building opensbi with the partial u-boot build works, and then copying ‘fw_dynamic.bin’ to the u-boot root allows the u-boot build to complete without errors on second try.
Is this supposed to work like this?
Related to this: is the 2023.10 upstream u-boot build interchangeable with the u-boot build in v3.4.5 ?
All tips for correctly building upstream u-boot for VF2 are welcome.
I can reply to my own question. Just tried RC3 which was released today. The error report now is more informative:
Image 'itb' is missing external blobs and is non-functional: opensbi
See the documentation for your board. The OpenSBI git repo is at
You may need to build fw_dynamic.bin first and re-build u-boot with
Some images are invalid
make: *** [Makefile:1115: .binman_stamp] Error 103
So, yes, it is supposed to work like this.
You need to clone&build opensbi to get that bin… It is needed to make system work correctly. Besides, currently there’s a bug need to fix through this patch series, please apply or boot would fail. Also you could check this series if you want to try to use usb/nvme in u-boot.
I have placed my build notes & scripts up on gitlab: pnr / VF2_boot · GitLab
As the patch is accepted, probably by the time RC4 arrives the separate patch step in the script can be dropped.