Conversation

How to create a bootable SD-card for VisionFive2 :

1) Partition the card. In this example I use /dev/sde. WARNING: Make sure you have the right device.

doas parted /dev/sde --script mklabel gpt \
mkpart primary 2MiB 4MiB set 1 bios_grub on \
mkpart primary 4MiB 6MiB \
mkpart primary 6MiB 100% set 3 boot on

1
0
0

2) Create vfat filesystem on 3rd partition:

doas mkfs.vfat /dev/sde3

1
0
0

3) Mount the boot partition and extract Alpine tarball:

doas mount /dev/sde3 /mnt
curl -s https://dl-cdn.alpinelinux.org/alpine/v3.21/releases/riscv64/alpine-uboot-3.21.1-riscv64.tar.gz | doas tar -C /mnt -zxv

1
0
0

4) Install U-Boot

Write SPL to partition 1 and ITB to partition 2:

doas dd if=/mnt/u-boot/starfive_visionfive2/u-boot-spl.bin.normal.out of=/dev/sde1
doas dd if=/mnt/u-boot/starfive_visionfive2/u-boot.itb of=/dev/sde2

1
0
0

5) Unmount the SD card and boot it.

doas umount /mnt

You should be able to see it boot from a debug UART

-V

1
0
0
The very first thing with this board is set the dip switches to SDIO mode ;-) Figure 4-10 in https://doc-en.rvspace.org/VisionFive2/PDF/VisionFive2_QSG.pdf
1
1
3
@ncopa It's really my recommended board for testing RISC-V kernel. And the reason for this is that it is aging ;-) Also BuildRoot upstream boots it nicely.
1
0
0

@jarkko it is the only board I know that runs nicely with vanilla 6.12 kernel, which is also why we officially can support it

1
0
2
@ncopa Yeah, I know, I test my own kernel tree on it. Otherwise, I test on QEMU but if I want to give a shot with real HW, this is my pick.

With SBC's you gotta know the gems ;-) For ARM the overally best choice is obviously Raspberry Pi 3B+. What makes this board special is broken TrustZone so you can deploy fTPM on it.
0
0
0