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:
wget https://github.com/starfive-tech/Tools/raw/0747c0510e090f69bf7d2884f44903b77b3db5c5/uboot_its/visionfive2-uboot-fit-image.its
ln -s ~/Sources/github.com/riscv-software-src/opensbi//build/platform/generic/firmware/fw_payload.bin ./
./tools/mkimage -f visionfive2-uboot-fit-image.its -A riscv -O u-boot -T firmware visionfive2_fw_payload.img
Finally, you can flash:
flashcp -v spl/u-boot-spl.bin.normal.out mtd:spl
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/…: