Welcome to StarFive's VisionFive 2 - Debian Wiki!
Your VisionFive 2 will need an operating system to work.
Currently, StarFive provides a pre-built Debian image for users to flash into SD/eMMC and NVME.
Debian is an open-source GNU/Linux distribution created by the Debian community.
Debian Official WebPage: Debian
From this release onwards, we will be using Gnome Wayland as the default windowing system. We've also included by default, FFmpeg, Firefox and VLC in the image.
Note: Although 4K resolution is supported and we have improved the desktop performance, there is still frame drop issue during video playback . Thus, it is recommended to switch to 1080p60 resolution for a smooth video playback experience.
Linux Kernel: 5.15.0 (VisionFive2 kernel tag v3.8.2)
U-boot: StarFive uboot tag v3.8.2
Debian Snapshot date: 20221225T084846Z (sid)
Note: Please avoid running
apt upgrade as it will override the existing customized mesa and linux-libc-dev versions provided.、
Note: For new packages, please refer to ‘StarFive Packages’ section below for installation details.
Link for Image Download: VisionFive v2 Debian
As of now 2023, the latest release is the 202310 Release, which can be found in
Engineering Release/202310 in the link above.
For this release, we will releasing SD boot, eMMC boot and NVME boot version.
On VisionFive 2, there are several boot modes available, which include:
The following figure displays the location and the pin definitions of the boot mode settings:
The Debian image provided is a rather clean image with minimal package installation for having a small image size. Hence, you will need to download the packages with
Some packages particular are not available to download via apt/apt-get, and is provided by StarFive, which includes:
Debian Repo for StarFive Packages: Github Link
There is a script prepared so that you can install the packages (and its runtime dependencies) with the run of a script. You will just need to run:
wget https://github.com/starfive-tech/Debian/releases/download/v0.10.0-engineering-release-wayland/install_package_and_dependencies.sh chmod +x install_package_and_dependencies.sh ./install_package_and_dependencies.sh
This script will help to install the packages provided by StarFive. Feel free to customize the script to suit your needs.
When you initially boot into the image, the rootfs partition will not be fully utilized. Hence, you will need to extend the partition size.
You can use terminal tools such as ‘fdisk’ and ‘resize2fs’ commands to resize the rootfs partition.
Please refer to this document: Extending Partition
Refer to Quick start Guide for updating u-boot
Install dependencies to build kernel
apt-get install build-essential linux-source bc kmod cpio flex libncurses5-dev libelf-dev libssl-dev dwarves bison git
Clone the kernel from StarFive Github
git clone https://github.com/starfive-tech/linux
Checkout the desired kernel version
git checkout <tag version>
Build the kernel with bindeb-pkg
cd linux/ cp arch/riscv/configs/starfive_visionfive2_defconfig .config make ARCH=riscv olddefconfig make ARCH=riscv -j$(nproc) bindeb-pkg
Once the compile is finished, install the .deb kernel packages
dpkg -i *.deb
Note: currently the dtbs are not synced once you installed a different version of kernel, you'll need to copy over the dtbs from /usr/lib/linux-image-<custom version>/ to /boot/dtbs/
Please refer to Debian User Guide for your reference
Please refer to Build Debian Image for your reference
Please refer to VisionFive 2 Doc space for more details