赛昉科技 昉·星光 2 / StarFive VisionFive 2 初上手
这篇文章创建于 2023-03-27 日,距今已有 565 天,请注意甄别内容是否已经过时!
出于某些原因,需要用到 RISC-V 的 CPU 进行测试,手头没有,加之钱包紧张,一时只能靠 QEMU 救急。此时某位友人提出他那边有一块暂时吃灰的 StarFive VisionFive 2(以下简称 VF2),闻之即刻骑车出门
开发板配置(官网表格):
0. 系统安装 ~ basic installation.
由于某些需求,需要安装 openEuler 23.03 RISC-V preview 镜像。(下载链接)下载镜像后,用 zstd 解压:
zstd -d openEuler-23.03-V1-base-visionfive2-preview.img.zst
然后写入镜像,这点取决于你的操作系统,Windows 下我通常会使用 Rufus,当然用 Win32DiskImager 也行。至于 BalenaEtcher 那个空间占用巨大还是 Electron 写的东西,也行,就是没必要。Linux 的话,直接 dd 写入即可,be like:
sudo dd if=openEuler-23.03-V1-base-visionfive2-preview.img of=/dev/sdb bs=1M status=progress
写入完成后,将存储卡插到板子上,上电开机。1. 用 NVMe 硬盘启动 ~ 曲线救国。
由于 VF2 当前版本的 U-Boot 暂不支持从 NVMe 硬盘驱动,插存储卡/eMMC 仍然是必须的。但我们可以将 rootfs 安装到 NVMe 硬盘,存储卡仅存储引导必须的文件,大大提升使用体验,避免存储卡过早暴毙。Fun fact: 存储卡 / U 盘用的都是 SSD 挑剩下的 NAND,基本上没好的,不要指望着它们寿命很长。首先 SSH 连接进开发板,用户名
openeuler
,密码 openEuler12#$
。首先看看存储卡的分区布局:
[openeuler@openeuler-riscv64 ~]$ sudo fdisk -l /dev/mmcblk1
GPT PMBR size mismatch (16777215 != 125370367) will be corrected by write.
Disk /dev/mmcblk1: 59.78 GiB, 64189628416 bytes, 125370368 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: B739D020-6A5B-429F-8509-DCA9567D7E11
Device Start End Sectors Size Type
/dev/mmcblk1p1 34 4129 4096 2M Linux filesystem
/dev/mmcblk1p2 4130 12321 8192 4M Linux filesystem
/dev/mmcblk1p3 12322 1060897 1048576 512M EFI System
/dev/mmcblk1p4 1060898 16777182 15716285 7.5G unknown
看上去共有四个分区,第四个最大的显然就是 rootfs,前三个都是引导所需要的。那么下一步对 NVMe 硬盘进行重新分区。
- 使用
cfdisk
或fdisk
等工具删除硬盘上所有分区。 - 重新创建一个 Linux 分区。
- 对新创建的分区进行格式化,
sudo mkfs.ext4 /dev/nvme0n1p1
sudo dd if=/dev/mmcblk1p4 of=/dev/nvme0n1p1 bs=1M status=progress
sudo resize2fs /dev/nvme0n1p1
然后需要对 extlinux
参数进行修改:sudo sed -i 's/mmcblk1p4/nvme0n1p1/g' extlinux.conf
至此,所有准备工作已经完成。可以放心 sudo reboot
了。重启后,开发板将会从 NVMe 硬盘加载 rootfs
。2. 简单性能测试
时间有限,暂时只测试了 GeekBench 5 Beta 的(测试结果),单核心 81,多核心 279。这个性能,高情商点说,未来可期。3. 整板功耗
使用维简 C0+ 测得。待机状态、安装了一块 NVMe 硬盘(Kingspec NE-128 128G,主控 SMI 2263XT,颗粒 Intel B16A *2)的情况下:
四个核心满载跑编译的情况下:
满载功率基本上很难超过 7W,还算节能,而且 SoC 温度很低,散热片完全不烫手。
TBD: USB-TTL 调试、系统测试(oErv 23.03)
以及,我暂且放一张图在这里镇场: