I have rebuilt the kernel from release v2.6.0 (GitHub - starfive-tech/VisionFive2) to include Btrfs and various other USB, network, and WiFi drivers. Additionally, it includes almost everything in the “Networking” section as I intend to use this board as a home server in the future. As such, I did not focus much on the GUI and GPU. However, I also built the JPU, VENC, and VDEC modules for this kernel.
I then used the rootfs from https://riscv.mirror.pkgbuild.com/ to create my own initial image and subsequently updated all packages and installed NetworkManager, OpenSSH and other necessary components to make it ready for use. To access the IP address, the kernel must be run with a USB serial console. Once the IP address is obtained, it can be easily accessed via SSH. (Accessing the IP address is no longer necessary on cwt5, however, accessing the u-boot prompt and extlinux boot menu may still be useful in certain situations.)
Changelog for the cwt5 image:
- The kernel has been built on VF2 Arch Linux with gcc12 (patch for newer binutils applied).
- The verisilicon framebuffer patch has been applied, resulting in the availability of text console on HDMI.
- The kernel has been enabled with the capability to load compressed firmware, allowing it to directly use .bin.xz firmwares from Arch Linux packages. The firmware files that were copied over from the Debian Image 69 have also been compressed.
- The NVMe hardware monitor has been enabled, allowing you to view the NVMe temperature via the
sensors
command. - Chrony has been installed and enabled, allowing the board to synchronize with NTP at boot time.
- The issue of incorrect ownership of the
/home/user
directory has been resolved and the permissions have been set to 750. - The root history from the build time has been cleared.
Here the links to download:
- Google Drive: VisionFive2 - Google 云端硬盘
- Naver MyBox: 네이버 MYBOX
make sure you got the corrected sha256sum:
-
The bz2 compressed file:
ArchLinux-VF2_515_v2.6.0-cwt5.img.bz2
98a15f56650a87f32bbcb33310485273c515d9d436ff0ac2802e3b75df75b3e0
-
The raw image file:
ArchLinux-VF2_515_v2.6.0-cwt5.img
5a7636e35d461b94e47879d3542990995e45e2b8aa6e91e930011e8d10a181ef
root
password is starfive
user
password is user
user
is sudoer, and it can run sudo without password.
It can be used as a base building block for your project.
After flashing the image to an SD card of at least 32 GB, please edit partition 3 and expand it to the rest of the available space. Then use the following command to maximize the partition.
btrfs filesystem resize max /
If you wish to mount NVMe as the root partition, please format it as btrfs and then create a subvolume with the desired name. Mount the path /mnt
which already in the /etc/fstab
(so just run mount /mnt
as root), then use rsync to copy the contents of /mnt/arch-minimal
to the new subvolume on the NVMe. Finally, edit the /boot/boot/extlinux/extlinux.conf
and the /etc/fstab
on the new subvolume.
The kernel source and other necessary components such as GPU drivers are already included in the /home/user/VisionFive2
directory.
Additionally, if you have a large enough SD or SSD, you can also create another subvolume and place the contents of the Debian Image 69 on it. This will allow you to create another menu option in the extlinux.conf file, enabling you to boot into the Debian image. This can be done using a SD card reader. (I am currently doing this on my VF2)