Overall Status

Core Components


Boot Standard Kernel:


LAN network card ():


Detect hard drives (NVMe):


Detect hard drives (microSD):




Extra Features

CPU Frequency Scaling




Sleep / Suspend


Power Off / Reboot


Legend :
{OK} = OK ; {X} Unsupported(No Driver) ; /!\ = Error (Couldn't get it working); [?] Unknown, Not Test ; [-] Not-applicable
{i} = Configuration Required; X-( = Only works with a non-free driver and or firmware

Current support state could be followed at RVSpace JH7110 Upstream Status page.

Important Notes

Be sure to set the DIP switches correctly for your boot medium! The default with my unit was UART. The DIP switches are helpfully ordered right to left if you look at the boot table.

If you want to boot Debian sid image on vf2, you can refer to vf2-debian-image, which from mmdebstrap and upstream kernel with several upstream patches. (by 2023/12/27)

Upstream have updated their Debian images, maybe the install process can be simplified with them. These images are based on Debian snapshot from 2022 (at time of writing), but it does work.

Beware, if you need to boot from NVMe, be sure you update u-boot and firmware. Pay extra attention to setting correct XMODEM parity. You can follow this minicom HOWTO. Sources of the binaries are: for recovery for u-boot and firmware.

An alternative option is to boot from microSD and update u-boot and firmware using *flashcp* command as described at RVSpace Quick Start Guide.

You can mostly follow the instructions given for InstallingDebianOn/StarFive/VisionFiveV1.

However, at least some u-boot versions expect uEnv.txt to be named vf2_uEnv.txt instead.

Suggested vf2_uEnv.txt for this board:

boot2=echo "HELLO WORLD"
bootcmd_mmc1=devnum=1; run mmc_boot
bootcmd=run distro_bootcmd

When manually partitioning, do not forget to set the "BIOS legacy boot" flag on partition 3 (= "fatbootpart").

Note: these uboot settings have been tested with U-boot from VF2 release 2.8.0, version string "U-Boot 2021.10 (Jan 19 2023 - 04:09:41 +0800)".

Known working partitioning scheme:

Device         Start    End Sectors Type-UUID                            UUID                                 Name  Attrs
/dev/mmcblk1p1  4096   8191    4096 2E54B353-1271-4842-806F-E436D6AF6985 D2584873-5D66-4D78-B3AE-59FEF7490893 spl
/dev/mmcblk1p2  8192  16383    8192 5B193300-FC78-40CD-8002-E86C45580B47 BCD0A0B9-6868-453A-A68D-F6101DA0F64B uboot
/dev/mmcblk1p3 16384 614399  598016 C12A7328-F81F-11D2-BA4B-00A0C93EC93B 42069F16-59F6-40F2-9669-F2E631C7F3E3 boot  LegacyBIOSBootable

The starfive image has this:

Disklabel type: gpt

Device      Start     End Sectors  Size Type
/dev/sda1    4096    8191    4096    2M HiFive BBL
/dev/sda2    8192   16383    8192    4M HiFive FSBL
/dev/sda3   16384  221183  204800  100M EFI System
/dev/sda4  221184 5527518 5306335  2,5G Linux filesystem

Obviously, GPT has no such thing as boot flags for partitions,

Partition 4 and onwards can be your linux partitions.

LUA Support

At the moment (Feb 10th, 2024), LUA JIT compilation support is not implemented for RISC-V, see Add support for RISC-V issue for the current state. A work in progress JIT support is available at LuaJIT.