I, too, "value your privacy" but unlike most I think it is priceless and fundamental. Privacy Policy

Notes: StarFive VisionFive2

SoC Mainlining status: JH7110 Upstream Status

bootchip

OpenSBI
https://github.com/riscv-software-src/opensbi
U-Boot
Obtaining the source ; VisionFive2 Documentation

In u-boot: make starfive_visionfive2_defconfig then make
If you want to configure how u-boot gets built, there is make menuconfig

In OpenSBI, create & execute a build script like this one, using u-boot as a payload for OpenSBI:

Then, back to u-boot:

  1. wget https://github.com/starfive-tech/Tools/raw/0747c0510e090f69bf7d2884f44903b77b3db5c5/uboot_its/visionfive2-uboot-fit-image.its
  2. ln -s ~/Sources/github.com/riscv-software-src/opensbi//build/platform/generic/firmware/fw_payload.bin ./
  3. ./tools/mkimage -f visionfive2-uboot-fit-image.its -A riscv -O u-boot -T firmware visionfive2_fw_payload.img

Finally, you can flash:

  1. flashcp -v spl/u-boot-spl.bin.normal.out mtd:spl
  2. flashcp -v visionfive2_fw_payload.img mtd:uboot

extlinux/extlinux.conf

No need to have anything flashed on SD/eMMC/NVMe like on x86-pc (MBR) or most other boards. U-Boot flashed on the bootchip will by default search for an (/boot)/extlinux/extlinux.conf file in a FAT or ext[34] filesystem.
See Standard Boot Overview - Das U-Boot documentation and Generic Distro Configuration Concept - Das U-Boot documentation.

For example with Alpine main system installed in a ZFS filesystem and /boot as ext4/fat/…: