开发板介绍
RISC-V(发音为 “risk-five”)是一种基于精简指令集(RISC)原则的开源指令集架构(ISA),是一种区别于ARM架构的较新的架构,其主要特点如下:
•开放与免费:与传统的指令集架构(如 x86 和 ARM)不同,RISC-V 是开源且免费的,这大大降低了芯片设计的门槛和成本,允许任何人使用其指令集进行芯片设计和软件开发,吸引了众多企业和开发者参与。
•精简:具有简洁的指令集,指令数量相对较少,易于实现和优化,能够提高处理器的性能和效率。
•模块化与可扩展性:其指令集采用模块化设计,开发者可以根据具体需求选择不同的模块进行组合,还可以添加自定义的指令集,以适应特定的应用场景,具有很强的灵活性和可扩展性。
•可移植性强:可以在不同的硬件平台上实现,方便开发者将代码在不同的 RISC-V 处理器上进行移植和优化。
StarFive VisionFive 2(昉·星光 2 )是一款基于RISC-V架构的开发板,它由赛昉科技推出,是全球首款集成 3D GPU 的高性能量产 RISC-V 单板计算机。
它搭载了昉·惊鸿-7110(JH-7110)RISC-V多媒体处理器,采用64位四核RISC-V CPU,工作频率高达1.5GHz。VisionFive 2不仅性能强劲,而且接口丰富、可扩展性强,软件资源丰富,为开发者提供了一个高效、易用、安全的数据存储和管理平台。以下是关于StarFive VisionFive 2的详细介绍:
主要规格参数
- CPU:昉·惊鸿-7110,64位四核RISC-V CPU,工作频率1.5GHz。 - GPU:Imagination IMG BXE-4-32 MC1,支持3D图形处理。 - 内存:可选2GB/4GB/8GB LPDDR4 SDRAM。 - 存储:支持MicroSD卡和eMMC模块,以及M.2 2280接口。 - 接口:4个USB 3.0接口,2个千兆网口,HDMI 2.0接口,40针GPIO接口。
软件生态支持
- 操作系统:官方适配 Debian 操作系统,同时通过社区合作适配了各种 Linux 发行版,包括 Ubuntu、OpenSUSE、OpenKylin、OpenEuler、Deepin 等。据说VisionFive 2 还是全球首款支持开源鸿蒙(OpenHarmony)的 RISC-V 单板电脑,后续会加入OpenHarmony 主线支持。 - 开发工具:提供编译工具链和常用开发工具,支持ROS2等机器人操作系统。
应用场景
- 家庭NAS:适用于数据备份、媒体服务器、远程访问等家庭存储需求。 - 教育和开发:适合教育机构、开发者进行RISC-V架构的教学和开发工作。
StarFive VisionFive 2凭借其高性能、丰富的接口和软件生态支持,成为RISC-V领域的一款重要产品,尤其适合对RISC-V架构感兴趣的开发者和个人用户。
庐山真面目
物理规格
100mm x 74mm 的板卡尺寸略小于飞腾派的 119mm x 93.1mm,作为对比树莓派4B尺寸为85mm x 56mm
在使用昉·星光 2时,避免硬物接触以免造成开发板损坏,官方建议使用单头六角铜柱(尺寸:M2.5*10 + 6mm)
双通六角铜螺柱(尺寸:M2.5*4)进行隔离。这里建议官方可以在包装盒内附赠以上规格螺柱,提升体验感🤭
板载资源
芯片展示
前期准备
启动模式开关:
RGPIO_1:0 RGPIO_0:0 启动模式:flash
RGPIO_1:0 RGPIO_0:1 启动模式:TF Card
RGPIO_1:1 RGPIO_0:0 启动模式:eMMC
RGPIO_1:1 RGPIO_0:1 启动模式:UART
调试接口:复用 40PIN 引脚上的第 8、10 脚(物理地址标号),提供 UART TX 和 UART RX 功能
固件下载
官方Debian系统:StarFiveTech
最新版本202405,需要吐槽的是百度网盘连接,没有SVIP会员根本下载不动,作为一款广受好评的开发板,提供这么一种下载服务太不应该了。有人说OneDrive网盘下载很快,我尝试时链接失效,另外OneDrive在国内访问也不是那么顺畅。
依旧是技术预览版本,镜像贼大,比X86和ARM构架的镜像大多了。
openKylin镜像:https://mirrors.hust.edu.cn/openkylin-cdimage/2.0/openKylin-Embedded-V2.0-Release-visionfive2-riscv64.img.xz
去年还是1.0版本的时候,下载在飞腾派上使用过,当时镜像相当简陋,不知道2.0版本是否改观,后续烧录体验。
Ubuntu镜像:
英文版网站入口隐藏比较深,中文版下载站版本不是最新,链接点击报错,但是可以右键复制到下载地址。
Armbian镜像:Vision Five 2 - Armbian
https://dl.armbian.com/visionfive2/Noble_edge_xfce
https://dl.armbian.com/visionfive2/Noble_edge_minimal
Armbian 是一个轻量级的基于 Debian 或 Ubuntu 的 Linux 发行版,专门为 ARM 开发板进行优化和定制,当然目前也支持RISC-V架构。个人更倾向于使用Armbian系统,很多小伙伴都用斐讯N1、玩客云、树莓派这些设备跑Armbian,提供的一些Armbian config等什么的命令还是非常方便的。
Ubuntu镜像刷写可能需要注意硬件版本号,不同的版本略有不同。
镜像烧录
使用balenaEtcher进行镜像烧录
尴尬,数据验证进度迟迟不动,跳过也没有反应,换了低版本又烧录了一次,直接跳过验证。
经过多次反复验证,发现img.xz压缩包需要解压成为.img镜像烧录校验才能通过。
固件启动
U-Boot SPL 2021.10 (Feb 28 2023 - 21:44:53 +0800)
DDR version: dc2e84f0.
Trying to boot from SPI
OpenSBI v1.2
____ _____ ____ _____
/ __ \ / ____| _ \_ _|
| | | |_ __ ___ _ __ | (___ | |_) || |
| | | | '_ \ / _ \ '_ \ \___ \| _ < | |
| |__| | |_) | __/ | | |____) | |_) || |_
\____/| .__/ \___|_| |_|_____/|____/_____|
| |
|_|
Platform Name : StarFive VisionFive V2
Platform Features : medeleg
Platform HART Count : 5
Platform IPI Device : aclint-mswi
Platform Timer Device : aclint-mtimer @ 4000000Hz
Platform Console Device : uart8250
Platform HSM Device : jh7110-hsm
Platform PMU Device : ---
Platform Reboot Device : pm-reset
Platform Shutdown Device : pm-reset
Firmware Base : 0x40000000
Firmware Size : 292 KB
Runtime SBI Version : 1.0
Domain0 Name : root
Domain0 Boot HART : 1
Domain0 HARTs : 0*,1*,2*,3*,4*
Domain0 Region00 : 0x0000000002000000-0x000000000200ffff (I)
Domain0 Region01 : 0x0000000040000000-0x000000004007ffff ()
Domain0 Region02 : 0x0000000000000000-0xffffffffffffffff (R,W,X)
Domain0 Next Address : 0x0000000040200000
Domain0 Next Arg1 : 0x0000000042200000
Domain0 Next Mode : S-mode
Domain0 SysReset : yes
Boot HART ID : 1
Boot HART Domain : root
Boot HART Priv Version : v1.11
Boot HART Base ISA : rv64imafdcbx
Boot HART ISA Extensions : none
Boot HART PMP Count : 8
Boot HART PMP Granularity : 4096
Boot HART PMP Address Bits: 34
Boot HART MHPM Count : 2
Boot HART MIDELEG : 0x0000000000000222
Boot HART MEDELEG : 0x000000000000b109
U-Boot 2021.10 (Feb 28 2023 - 21:44:53 +0800), Build: jenkins-VF2_515_Branch_SDK_Release-31
CPU: rv64imacu
Model: StarFive VisionFive V2
DRAM: 4 GiB
MMC: sdio0@16010000: 0, sdio1@16020000: 1
Loading Environment from SPIFlash... SF: Detected gd25lq128 with page size 256 Bytes, erase size 4 KiB, total 16 MiB
*** Warning - bad CRC, using default environment
StarFive EEPROM format v2
--------EEPROM INFO--------
Vendor : StarFive Technology Co., Ltd.
Product full SN: VF7110B1-2310-D004E000-00002400
data version: 0x2
PCB revision: 0xb2
BOM revision: A
Ethernet MAC0 address: 6c:cf:39:00:57:2e
Ethernet MAC1 address: 6c:cf:39:00:57:2f
--------EEPROM INFO--------
In: serial@10000000
Out: serial@10000000
Err: serial@10000000
Model: StarFive VisionFive V2
Net: eth0: ethernet@16030000, eth1: ethernet@16040000
switch to partitions #0, OK
mmc1 is current device
found device 1
bootmode flash device 1
GUID Partition Table Entry Array CRC is wrong: 0xbc1dd373 != 0xab54d286
find_valid_gpt: *** ERROR: Invalid GPT ***
find_valid_gpt: *** Using Backup GPT ***
** Invalid partition 3 **
Couldn't find partition mmc 1:3
Can't set block device
GUID Partition Table Entry Array CRC is wrong: 0xbc1dd373 != 0xab54d286
find_valid_gpt: *** ERROR: Invalid GPT ***
find_valid_gpt: *** Using Backup GPT ***
** Invalid partition 3 **
Couldn't find partition mmc 1:3
Can't set block device
Hit any key to stop autoboot: 2 1 0
GUID Partition Table Entry Array CRC is wrong: 0xbc1dd373 != 0xab54d286
find_valid_gpt: *** ERROR: Invalid GPT ***
find_valid_gpt: *** Using Backup GPT ***
** Invalid partition 3 **
Couldn't find partition mmc 1:3
Can't set block device
Importing environment from mmc1 ...
## Info: input data size = 838 = 0x346
GUID Partition Table Entry Array CRC is wrong: 0xbc1dd373 != 0xab54d286
find_valid_gpt: *** ERROR: Invalid GPT ***
find_valid_gpt: *** Using Backup GPT ***
** Invalid partition 3 **
Couldn't find partition mmc 1:3
Can't set block device
## Warning: defaulting to text format
## Error: "boot2" not defined
switch to partitions #0, OK
mmc1 is current device
GUID Partition Table Entry Array CRC is wrong: 0xbc1dd373 != 0xab54d286
find_valid_gpt: *** ERROR: Invalid GPT ***
find_valid_gpt: *** Using Backup GPT ***
GUID Partition Table Entry Array CRC is wrong: 0xbc1dd373 != 0xab54d286
find_valid_gpt: *** ERROR: Invalid GPT ***
find_valid_gpt: *** Using Backup GPT ***
GUID Partition Table Entry Array CRC is wrong: 0xbc1dd373 != 0xab54d286
find_valid_gpt: *** ERROR: Invalid GPT ***
find_valid_gpt: *** Using Backup GPT ***
GUID Partition Table Entry Array CRC is wrong: 0xbc1dd373 != 0xab54d286
find_valid_gpt: *** ERROR: Invalid GPT ***
find_valid_gpt: *** Using Backup GPT ***
GUID Partition Table Entry Array CRC is wrong: 0xbc1dd373 != 0xab54d286
find_valid_gpt: *** ERROR: Invalid GPT ***
find_valid_gpt: *** Using Backup GPT ***
GUID Partition Table Entry Array CRC is wrong: 0xbc1dd373 != 0xab54d286
find_valid_gpt: *** ERROR: Invalid GPT ***
find_valid_gpt: *** Using
尝试了好几个镜像无法正常启动
U-Boot SPL 2021.10 (May 09 2024 - 22:45:24 +0800)
LPDDR4: 4G version: g8ad50857.
Trying to boot from MMC2
OpenSBI v1.2
____ _____ ____ _____
/ __ \ / ____| _ \_ _|
| | | |_ __ ___ _ __ | (___ | |_) || |
| | | | '_ \ / _ \ '_ \ \___ \| _ < | |
| |__| | |_) | __/ | | |____) | |_) || |_
\____/| .__/ \___|_| |_|_____/|___/_____|
| |
|_|
Platform Name : StarFive VisionFive V2
Platform Features : medeleg
Platform HART Count : 5
Platform IPI Device : aclint-mswi
Platform Timer Device : aclint-mtimer @ 4000000Hz
Platform Console Device : uart8250
Platform HSM Device : ---
Platform PMU Device : ---
Platform Reboot Device : pm-reset
Platform Shutdown Device : pm-reset
Platform Suspend Device : ---
Firmware Base : 0x40000000
Firmware Size : 392 KB
Firmware RW Offset : 0x40000
Runtime SBI Version : 1.0
Domain0 Name : root
Domain0 Boot HART : 1
Domain0 HARTs : 0*,1*,2*,3*,4*
Domain0 Region00 : 0x0000000002000000-0x000000000200ffff M: (I,R,W) S/U: ()
Domain0 Region01 : 0x0000000040000000-0x000000004003ffff M: (R,X) S/U: ()
Domain0 Region02 : 0x0000000040040000-0x000000004007ffff M: (R,W) S/U: ()
Domain0 Region03 : 0x0000000000000000-0xffffffffffffffff M: (R,W,X) S/U: (R,W,X)
Domain0 Next Address : 0x0000000040200000
Domain0 Next Arg1 : 0x0000000042200000
Domain0 Next Mode : S-mode
Domain0 SysReset : yes
Domain0 SysSuspend : yes
Boot HART ID : 1
Boot HART Domain : root
Boot HART Priv Version : v1.11
Boot HART Base ISA : rv64imafdcbx
Boot HART ISA Extensions : none
Boot HART PMP Count : 8
Boot HART PMP Granularity : 4096
Boot HART PMP Address Bits: 34
Boot HART MHPM Count : 2
Boot HART MIDELEG : 0x0000000000000222
Boot HART MEDELEG : 0x000000000000b109
U-Boot 2021.10 (May 09 2024 - 22:45:24 +0800), Build: jenkins-github_visionfive2_6.6-1
CPU: rv64imacu_zba_zbb
Model: StarFive VisionFive V2
DRAM: 4 GiB
MMC: sdio0@16010000: 0, sdio1@16020000: 1
Loading Environment from SPIFlash... SF: Detected gd25lq128 with page size 256 Bytes, erase size 4 KiB, total 16 MiB
OK
StarFive EEPROM format v2
--------EEPROM INFO--------
Vendor : StarFive Technology Co., Ltd.
Product full SN: VF7110B1-2310-D004E000-00002400
data version: 0x2
PCB revision: 0xb2
BOM revision: A
Ethernet MAC0 address: 6c:cf:39:00:57:2e
Ethernet MAC1 address: 6c:cf:39:00:57:2f
--------EEPROM INFO--------
In: serial
Out: serial
Err: serial
Model: StarFive VisionFive V2
Net: eth0: ethernet@16030000, eth1: ethernet@16040000
bootmode sd device 1
Card did not respond to voltage select! : -110
Hit any key to stop autoboot: 0
1235 bytes read in 10 ms (120.1 KiB/s)
Importing environment from mmc1 ...
Failed to load '/uEnv.txt'
## Warning: defaulting to text format
Couldn't find partition 1:1:3 0xa0000000
Can't set block device
Wrong Image Format for bootm command
ERROR: can't get kernel image!
libfdt fdt_setprop(): FDT_ERR_NOSPACE
XIP Invalid Image
libfdt fdt_check_header(): FDT_ERR_BADMAGIC
libfdt fdt_path_offset() returned FDT_ERR_NOTFOUND
Booting kernel in
Bad Linux RISCV Image magic!
switch to partitions #0, OK
mmc1 is current device
Scanning mmc 1:3...
Found /extlinux/extlinux.conf
Retrieving file: /extlinux/extlinux.conf
829 bytes read in 14 ms (57.6 KiB/s)
U-Boot menu
1: openKylin 2.0 6.6.20
2: openKylin 2.0 6.6.20 (rescue target)
Enter choice: 1: openKylin 2.0 6.6.20
Retrieving file: /initrd.img-6.6.20
35774983 bytes read in 1685 ms (20.2 MiB/s)
Retrieving file: /vmlinuz-6.6.20
9322518 bytes read in 446 ms (19.9 MiB/s)
append: root=LABEL=rootfs root=/dev/mmcblk1p4 rw console=tty0 console=ttyS0,115200 earlycon rootwait stmmaceth=chain_mode:1 selinux=0
Retrieving file: /dtbs/starfive/jh7110-starfive-visionfive-2-v1.3b.dtb
54960 bytes read in 22 ms (2.4 MiB/s)
kernel_comp_addr_r or kernel_comp_size is not provided!
2: openKylin 2.0 6.6.20 (rescue target)
Retrieving file: /initrd.img-6.6.20
35774983 bytes read in 1685 ms (20.2 MiB/s)
Retrieving file: /vmlinuz-6.6.20
9322518 bytes read in 447 ms (19.9 MiB/s)
append: root=LABEL=rootfs root=/dev/mmcblk1p4 rw console=tty0 console=ttyS0,115200 earlycon rootwait stmmaceth=chain_mode:1 selinux=0 single
Retrieving file: /dtbs/starfive/jh7110-starfive-visionfive-2-v1.3b.dtb
54960 bytes read in 22 ms (2.4 MiB/s)
kernel_comp_addr_r or kernel_comp_size is not provided!
SCRIPT FAILED: continuing...
Card did not respond to voltage select! : -110
No EFI system partition
ethernet@16030000 Waiting for PHY auto negotiation to complete......... TIMEOUT !
phy_startup() failed: -110FAILED: -110ethernet@16040000 Waiting for PHY auto negotiation
U-Boot SPL 2024.01+dfsg-1ubuntu5 (Apr 04 2024 - 16:22:45 +0000)
DDR version: dc2e84f0.
Trying to boot from MMC2
U-Boot 2024.01+dfsg-1ubuntu5 (Apr 04 2024 - 16:22:45 +0000)
CPU: rv64imafdc_zba_zbb
Model: StarFive VisionFive 2 v1.3B
DRAM: 4 GiB
Core: 135 devices, 26 uclasses, devicetree: board
WDT: Not starting watchdog@13070000
MMC: mmc@16010000: 0, mmc@16020000: 1
Loading Environment from SPIFlash... SF: Detected gd25lq128 with page size 256 B ytes, erase size 4 KiB, total 16 MiB
OK
StarFive EEPROM format v2
--------EEPROM INFO--------
Vendor : StarFive Technology Co., Ltd.
Product full SN: VF7110B1-2310-D004E000-00002400
data version: 0x2
PCB revision: 0xb2
BOM revision: A
Ethernet MAC0 address: 6c:cf:39:00:57:2e
Ethernet MAC1 address: 6c:cf:39:00:57:2f
--------EEPROM INFO--------
starfive_7110_pcie pcie@2b000000: Starfive PCIe bus probed.
starfive_7110_pcie pcie@2c000000: Starfive PCIe bus probed.
In: serial@10000000
Out: serial@10000000
Err: serial@10000000
Net: eth0: ethernet@16030000, eth1: ethernet@16040000
No FDT memory address condivd. Please condiv
the FDT address via "fdt addr <address>" command.
Aborting!
No FDT memory address condivd. Please condiv
the FDT address via "fdt addr <address>" command.
Aborting!
No FDT memory address condivd. Please condiv
the FDT address via "fdt addr <address>" command.
Aborting!
No FDT memory address condivd. Please condiv
the FDT address via "fdt addr <address>" command.
Aborting!
No FDT memory address condivd. Please condiv
the FDT address via "fdt addr <address>" command.
Aborting!
No FDT memory address condivd. Please condiv
the FDT address via "fdt addr <address>" command.
Aborting!
No FDT memory address condivd. Please condiv
the FDT address via "fdt addr <address>" command.
Aborting!
No FDT memory address condivd. Please condiv
the FDT address via "fdt addr <address>" command.
Aborting!
Card did not respond to voltage select! : -110
Card did not respond to voltage select! : -110
bootmode device 0
Card did not respond to voltage select! : -110
Hit any key to stop autoboot: 0
Card did not respond to voltage select! : -110
** Bad device specification mmc 0 **
Couldn't find partition mmc 0:3
Can't set block device
Importing environment from mmc0 ...
## Warning: Input data exceeds 1048576 bytes - truncated
## Info: input data size = 1048578 = 0x100002
Card did not respond to voltage select! : -110
** Bad device specification mmc 0 **
Couldn't find partition mmc 0:3
Can't set block device
## Warning: defaulting to text format
## Error: "boot2" not defined
Card did not respond to voltage select! : -110
ethernet@16030000 Waiting for PHY auto negotiation to complete......... TIMEOUT !
phy_startup() failed: -110FAILED: -110ethernet@16040000 Waiting for PHY auto neg otiation to complete......... TIMEOUT !
phy_startup() failed: -110FAILED: -110ethernet@16030000 Waiting for PHY auto neg otiation to complete......... TIMEOUT !
phy_startup() failed: -110FAILED: -110ethernet@16040000 Waiting for PHY auto neg otiation to complete......... TIMEOUT !
phy_startup() failed: -110FAILED: -110StarFive #
经历过N次失败后,终于在使用官方Debian镜像情况下,成功进入了系统!
root@starfive:~# df -h
Filesystem Size Used Avail Use% Mounted on
udev 1.7G 0 1.7G 0% /dev
tmpfs 388M 3.2M 385M 1% /run
/dev/mmcblk1p4 3.7G 3.0G 760M 80% /
tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs 5.0M 12K 5.0M 1% /run/lock
tmpfs 388M 44K 388M 1% /run/user/110
tmpfs 388M 24K 388M 1% /run/user/0
root@starfive:~# fdisk /dev/mmcblk1
Welcome to fdisk (util-linux 2.38.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
GPT PMBR size mismatch (8191999 != 122138623) will be corrected by write.
The backup GPT table is not on the end of the device. This problem will be corrected by write.
This disk is currently in use - repartitioning is probably a bad idea.
It's recommended to umount all file systems, and swapoff all swap
partitions on this disk.
Command (m for help): d
Partition number (1-4, default 4): 4
Partition 4 has been deleted.
Command (m for help): n
Partition number (4-128, default 4): 4
First sector (34-122138590, default 221184):
Last sector, +/-sectors or +/-size{K,M,G,T,P} (221184-122138590, default 122136575):
Created a new partition 4 of type 'Linux filesystem' and of size 58.1 GiB.
Partition #4 contains a ext4 signature.
Do you want to remove the signature? [Y]es/[N]o: N
Command (m for help): w
The partition table has been altered.
Syncing disks.
root@starfive:~# resize2fs /dev/mmcblk1p4
resize2fs 1.46.6-rc1 (12-Sep-2022)
Filesystem at /d[ 3149.655302] EXT4-fs (mmcblk1p4): resizing filesystem from 996091 to 15239424 blocks
ev/mmcblk1p4 is mounted on /; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 8
[ 3152.269607] EXT4-fs (mmcblk1p4): resized filesystem to 15239424
The filesystem on /dev/mmcblk1p4 is now 15239424 (4k) blocks long.
root@starfive:~# df -h
Filesystem Size Used Avail Use% Mounted on
udev 1.7G 0 1.7G 0% /dev
tmpfs 388M 3.2M 385M 1% /run
/dev/mmcblk1p4 58G 3.0G 55G 6% /
tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs 5.0M 12K 5.0M 1% /run/lock
tmpfs 388M 44K 388M 1% /run/user/110
tmpfs 388M 24K 388M 1% /run/user/0
root@starfive:~#
使用命令查看磁盘挂载情况
df -h
根据上述提示完成SD卡的重新分区与扩展空间进行挂载,64G存储卡写完镜像后/dev/mmcblk1p4
只有3.7G,通过以上操作后,充分利用存储卡空间变为58G。
软件安装
赛昉科技提供的软件仓库:https://github.com/starfive-tech/Debian/releases
最新版本:v0.13.0-engineering-release-wayland - 202405
What's New:
libcamera: Fix start camera session failure issue on kernel 6.6
Linux : Support kernel 5.15/6.6 switch at bootmenu
Current List of Packages Provided: Chromium 103 Clutter-gst codec (OpenMax) cogl FFmpeg Firefox 105.0 gnome-shell GStreamer libcamera-apps libcamera Libreoffice 7.5 libsdl2 Mesa multimedia Node.js 18.0.0 NW.js OpenCV OpenPLC Qt 5.15.2 v4l2test (CSI camera script) v8 10.2.154.13 VLC VF2_Components(5.15/6.6)
软件安装脚本如下:
wget https://github.com/starfive-tech/Debian/releases/download/v0.13.0-engineering-release-wayland/install_package_and_dependencies.sh
chmod +x install_package_and_dependencies.sh
sudo ./install_package_and_dependencies.sh
避免运行apt upgrade
在登录Debian后,在当前状态下,避免运行apt upgrade
命令,因为它将覆盖掉赛昉科技提供的现有自定义包。
sudo apt install docker.io
使用以上命令安装Docker后无法正常启动,官方提供的安装示例和脚本又很老和繁琐,建议官方可以参考https://github.com/ophub/amlogic-s9xxx-armbian 制作个一键安装脚本,上面罗列了常用的一些软件,如Docker、HomeAssistant、Openwrt、Qinglong、Jellyfin、Alist、Emby-Server等等。
更新SPL和U-Boot
wget https://github.com/starfive-tech/VisionFive2/releases/download/JH7110_VF2_515_v5.12.0/u-boot-spl.bin.normal.out
wget https://github.com/starfive-tech/VisionFive2/releases/download/JH7110_VF2_515_v5.12.0/visionfive2_fw_payload.img
dd if=u-boot-spl.bin.normal.out of=/dev/mmcblk1p1 conv=fsync
dd if=visionfive2_fw_payload.img of=/dev/mmcblk1p2 conv=fsync
后续编译安装Docker,进而尝试安装HomeAssistant或者CasaOS
另一个小疑问,什么情况下需要更新U-boot和SPL,烧录了最新版本的Debian镜像是否还需要更新?支持哪些系统,还有更加便捷的方式吗?这里更新U-boot有点类似路由器更新Breed,电脑更新Bios,在Windos系统下更新比较麻烦,搭建了TFTP服务器但是更新失败……
另外手头没有合适的显示器(没有HDMI接口),系统下预安装一个xrdp用来实现windows系统下访问Debian系统桌面,方便没有显示设备的情况下。后续继续尝试linuxdeepin。
还有就是Armbian镜像因该是基于balbes150大佬原来的脚本自动构建的( VisionFive-2 (jh7110) - RISC-V - Armbian Community Forums ),大佬退坑后现在自动构建的版本需要进行一些修改才能正常启动(方法参照: Vision Five 2上的Armbian Linux (2024.8.29) - 昉·星光 2(中文论坛) - RVspace Forum ),官方是否可以修正构建脚本。