I have rebuilt the kernel from release v2.6.0 and then v2.8.0 for cwt6 (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. The verisilicon framebuffer patched has been applied since cwt5, so you can use text console on HDMI. However, accessing the u-boot prompt and extlinux boot menu may still be useful in certain situations.
Changelog for the cwt6 image:
- The kernel is built from the VF2_v2.8.0 tag, which includes the latest benefits from Starfive (e.g. hibernation and perf), plus some additional patches (newer binutils, verisilicon framebuffer, and
_zba_zbb
extensions). - Security-oriented options are enabled by default, such as LSM, AppArmor, Audit, Tracing, and seccomp. AppArmor is up and running.
- Added Sound Sequencer and I2C/SPI RTC.
- Three preemption modes are available:
cwt6-server
(default),cwt6-desktop
, andcwt6-lowlatency
. You can select them from the boot menu or change the default in/boot/boot/extlinux/extlinux.conf
.
Here the links to download:
- Google Drive: VisionFive2 - Google 云端硬盘
- Naver MyBox: 네이버 MYBOX
make sure you got the corrected sha256sum:
-
The xz compressed file:
ArchLinux-VF2_515_v2.8.0-cwt6.img.xz
2ee255f9b7c343b2bb17cb017bb738ad3df8a365f4b97b41e636e6a735770ac9
-
The raw image file:
ArchLinux-VF2_515_v2.8.0-cwt6.img
0d0d8f497914187b52b60e2a98eca83b34452c9ac57f7db447235d1453e24fbb
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.
And if you’ve got a big enough SD or SSD, you can also create another subvolume and store the Debian Image 69 on it. But you’ll need to install dracut
and create an initramfs
from dracut
instead of using the provided initrd
. That way, you can add another option in the extlinux.conf
file, giving you the ability to boot into the Debian image.