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 cards.
Debian is an open-source GNU/Linux distribution created by the Debian community.
Debian Official WebPage: Debian
For this release, it is a preview release to showcase Gnome Windowing system.
Linux Kernel: 5.15.0 (StarFive kernel tag v2.11.5)
U-boot: StarFive uboot tag v2.11.5
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.、
Link for Image Download: VisionFive v2 Debian
As of March 2023, the latest release is the 202303 Release, which can be found in
Engineering Release/202303 in the link above.
March 2023 has a preview release for Gnome windowing system.
For this preview release, we will only be releasing SPI boot/SD boot version.
VisionFive 2 provides pins to determine the boot mode before it is powered up. The following are the available boot modes and details.
The minimal image is a 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.7.1-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 JH7110 Technical Documents for your reference