Tech Blog

VisionFive 2 に Debian 13 (trixie) を Install する

Debian 13 "trixie" のリリースで riscv64 が公式サポートされ、Kickstarter でも VisionFive 2 Lite が始まったので、手元にある VisionFive 2 に trixie をインストールしてみる

今回の環境

TL;DR

1. U-Boot firmware の更新

wget http://deb.debian.org/debian/pool/main/u/u-boot/u-boot-starfive_2025.01-3_riscv64.deb
--2025-08-21 19:46:53--  http://deb.debian.org/debian/pool/main/u/u-boot/u-boot-starfive_2025.01-3_riscv64.deb
Resolving deb.debian.org (deb.debian.org)... 151.101.2.132, 151.101.130.132, 151.101.194.132, ...
Connecting to deb.debian.org (deb.debian.org)|151.101.2.132|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 606264 (592K) [application/vnd.debian.binary-package]
Saving to: ‘u-boot-starfive_2025.01-3_riscv64.deb’

u-boot-starfive_2025.01-3_ 100%[========================================>] 592.05K  --.-KB/s    in 0.04s

2025-08-21 19:46:53 (14.7 MB/s) - ‘u-boot-starfive_2025.01-3_riscv64.deb’ saved [606264/606264]
dpkg -x u-boot-starfive_2025.01-3_riscv64.deb u-boot-starfive_2025.01-3_riscv64
cd u-boot-starfive_2025.01-3_riscv64/usr/lib/u-boot/starfive_visionfive2
tio  /dev/tty.usbmodem2102

[19:51:47.463] tio 3.9
[19:51:47.463] Press ctrl-t q to quit
[19:51:47.480] Connected to /dev/tty.usbmodem2102
(C)StarFive
^t-x
[19:51:55.164] Please enter which X modem protocol to use:
[19:51:55.164]  (0) XMODEM-1K send
[19:51:55.164]  (1) XMODEM-CRC send
[19:51:55.164]  (2) XMODEM-CRC receive
0
[19:51:55.928] Send file with XMODEM-1K
[19:51:55.928] Enter file name: 
u-boot-spl.bin.normal.out
[19:52:10.856] Sending file 'u-boot-spl.bin.normal.out'  
[19:52:10.856] Press any key to abort transfer
...…|
[19:52:24.880] Done

U-Boot SPL 2025.01-3 (Apr 08 2025 - 23:07:41 +0000)
DDR version: dc2e84f0.
Trying to boot from UART
CCC


^t-y
[19:52:42.978] Send file with YMODEM
[19:52:42.978] Enter file name: 
u-boot.itb
[19:53:13.244] Sending file 'u-boot.itb'  
[19:53:13.244] Press any key to abort transfer
...…|
[19:54:49.926] Done
Loaded 1024523 bytes

U-Boot 2025.01-3 (Apr 08 2025 - 23:07:41 +0000)

CPU:   sifive,u74-mc
Model: StarFive VisionFive 2 v1.3B
DRAM:  8 GiB
Core:  136 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 Bytes, erase size 4 KiB, total 16 MiB
OK
StarFive EEPROM format v2

--------EEPROM INFO--------
Vendor : PINE64
Product full SN: VF7110A1-XXXX-XXXXXXXX-XXXXXXXX
data version: 0x2
PCB revision: 0xb2
BOM revision: A
Ethernet MAC0 address: xx:xx:xx:xx:xx:xx
Ethernet MAC1 address: xx:xx:xx:xx:xx:xx
--------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
libfdt fdt_check_header(): FDT_ERR_BADMAGIC
Card did not respond to voltage select! : -110
Card did not respond to voltage select! : -110
bootmode flash device 0
Card did not respond to voltage select! : -110
Hit any key to stop autoboot:  2 1 0 

StarFive #
StarFive # sf probe
SF: Detected gd25lq128 with page size 256 Bytes, erase size 4 KiB, total 16 MiB
StarFive # loady $loadaddr && sf update $loadaddr 0 $filesize
## Ready for binary (ymodem) download to 0xA0000000 at 115200 bps...
CCC

^t-y
[19:56:10.630] Send file with YMODEM
[19:56:10.630] Enter file name: u-boot-spl.bin.normal.out
[19:56:24.803] Sending file 'u-boot-spl.bin.normal.out'
[19:56:24.803] Press any key to abort transfer
...…|
[19:56:42.619] Done
## Total Size      = 0x00023f4a = 147274 Bytes
## Start Addr      = 0xA0000000
device 0 offset 0x0, size 0x23f4a
147274 bytes written, 0 bytes skipped in 0.783s, speed 191868 B/s
StarFive # loady $loadaddr && sf update $loadaddr 100000 $filesize
147274 bytes written, 0 bytes skipped in 0.783s, speed 191868 B/s
StarFive # loady $loadaddr && sf update $loadaddr 100000 $filesize
## Ready for binary (ymodem) download to 0xA0000000 at 115200 bps...
CCC

^t-y
[19:57:40.296] Send file with YMODEM
[19:57:40.296] Enter file name: u-boot.itb
[19:58:01.384] Sending file 'u-boot.itb'
[19:58:01.384] Press any key to abort transfer
...…|
[19:59:37.930] Done
## Total Size      = 0x000fa20b = 1024523 Bytes
## Start Addr      = 0xA0000000
device 0 offset 0x100000, size 0xfa20b
925696 bytes written, 98827 bytes skipped in 7.517s, speed 139509 B/s
StarFive # env erase
Erasing Environment on SPIFlash... OK
StarFive # reset
resetting ...

2. Debian のインストール

wget https://deb.debian.org/debian/dists/trixie/main/installer-riscv64/current/images/netboot/mini.efi
--2025-08-21 20:03:48--  https://deb.debian.org/debian/dists/trixie/main/installer-riscv64/current/images/netboot/mini.efi
Resolving deb.debian.org (deb.debian.org)... 151.101.194.132, 151.101.66.132, 151.101.130.132, ...
Connecting to deb.debian.org (deb.debian.org)|151.101.194.132|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 75640320 (72M) [application/efi]
Saving to: ‘mini.efi’

mini.efi               100%[===========================>]  72.14M  17.1MB/s    in 4.3s    

2025-08-21 20:03:53 (16.7 MB/s) - ‘mini.efi’ saved [75640320/75640320]
tio /dev/tty.usbmodem2102

[20:03:57.463] tio 3.9
[20:03:57.463] Press ctrl-t q to quit
[20:03:57.480] Connected to /dev/tty.usbmodem2102
U-Boot 2025.01-3 (Apr 08 2025 - 23:07:41 +0000)

CPU:   sifive,u74-mc
Model: StarFive VisionFive 2 v1.3B
DRAM:  8 GiB
Core:  136 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 Bytes, erase size 4 KiB, total 16 MiB
OK
StarFive EEPROM format v2

--------EEPROM INFO--------
Vendor : PINE64
Product full SN: VF7110A1-XXXX-XXXXXXXX-XXXXXXXX
data version: 0x2
PCB revision: 0xb2
BOM revision: A
Ethernet MAC0 address: xx:xx:xx:xx:xx:xx
Ethernet MAC1 address: xx:xx:xx:xx:xx:xx
--------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
libfdt fdt_check_header(): FDT_ERR_BADMAGIC
Card did not respond to voltage select! : -110
Card did not respond to voltage select! : -110
bootmode flash device 0
Card did not respond to voltage select! : -110
Hit any key to stop autoboot:  2 1 0

StarFive #
StarFive # loady $loadaddr && bootefi $loadaddr
## Ready for binary (ymodem) download to 0x82000000 at 115200 bps...
CCC
[20:04:02.232] Send file with YMODEM
[20:04:02.232] Enter file name: mini.efi
[20:04:06.255] Sending file 'mini.efi'
[20:04:06.255] Press any key to abort transfer
...…|
[20:24:51.511] Done
## Total Size      = 0x047cba00 = 75282944 Bytes
## Start Addr      = 0x82000000
Card did not respond to voltage select! : -110
Card did not respond to voltage select! : -110
Cannot persist EFI variables without system partition
Booting /MemoryMapped(0x0,0x82000000,0x867cba00)
EFI stub: Booting Linux Kernel...
EFI stub: Loaded initrd from LINUX_EFI_INITRD_MEDIA_GUID device path
EFI stub: Using DTB from configuration table
EFI stub: Exiting boot services...

Installing the base system

GNU Grub version 2.12-9

3. Fastfetch

Fastfetch

参考にしたページ