Tech Blog

VisionFive 2 に Ubuntu 23.10 を Live Install する

Cover Image for VisionFive 2 に Ubuntu 23.10 を Live Install する

Ubuntu 23.10 (Mantic Minotaur) が リリース されたので VisionFive 2 に Live Install して動かしてみる

今回の環境

TL;DR

1. 環境構築

picocomXZ Utils をインストールする

brew install picocom xz
==> Pouring picocom--3.1_1.arm64_ventura.bottle.tar.gz
🍺  /opt/homebrew/Cellar/picocom/3.1_1: 7 files, 153KB
==> Pouring xz--5.4.3.arm64_ventura.bottle.tar.gz
🍺  /opt/homebrew/Cellar/xz/5.4.3: 162 files, 2.6MB

DIP スイッチを RGPIO_0 = 0, RGPIO_1 = 0 に設定し UART-TTL USB アダプターを PIN 8 (GPIO5 UART TX) , PIN 10 (GPIO6 - UART RX), GND に接続する

PINs

picocom を起動する

$ ls /dev/tty.*
/dev/tty.Bluetooth-Incoming-Port    /dev/tty.usbmodem2102
picocom -b 115200 /dev/tty.usbmodem2102
picocom v3.1

Type [C-a] [C-h] to see available commands
Terminal ready

2.U-Boot の更新

VisionFive2 リリース から sdcard.img をダウンロードし SD カードに書き込み起動する

diskutil list
/dev/disk0 (internal, physical):
  #:                   TYPE NAME         SIZE       IDENTIFIER
  0:  GUID_partition_scheme             *1000.6 GB  disk0
  1:    Apple_APFS_ISC Container disk1   524.3 MB   disk0s1
  2:      Apple_APFS Container   disk2   999.8 GB   disk0s2
/dev/diskX (internal, physical):
  #:                 TYPE NAME           SIZE       IDENTIFIER
  0:  GUID_partition_scheme             *62.6 GB    diskX
diskutil unmountDisk /dev/diskX
Unmount of all volumes on disk4 was successful
sudo dd bs=1M if=sdcard.img of=/dev/rdiskX
800+1 records in
800+1 records out
838881280 bytes transferred in 53.206866 secs (15766410 bytes/sec)

Ubuntu RISC-V リリース から u-boot-spl.bin.normal.out, u-boot.itb をにコピーする

curl -sSLO https://launchpad.net/~ubuntu-risc-v-team/+archive/ubuntu/release/+files/u-boot-starfive_2023.09.22-next-5d2fae79c7d6-0ubuntu1~ppa5_riscv64.deb
dpkg -x u-boot-starfive*.deb u-boot-starfive
find u-boot-starfive/
u-boot-starfive/
u-boot-starfive/usr
u-boot-starfive/usr/share
u-boot-starfive/usr/share/doc
u-boot-starfive/usr/share/doc/u-boot-starfive
u-boot-starfive/usr/share/doc/u-boot-starfive/README.Debian
u-boot-starfive/usr/share/doc/u-boot-starfive/visionfive2.rst.gz
u-boot-starfive/usr/share/doc/u-boot-starfive/configs
u-boot-starfive/usr/share/doc/u-boot-starfive/configs/config.starfive_visionfive2.gz
u-boot-starfive/usr/share/doc/u-boot-starfive/copyright
u-boot-starfive/usr/share/doc/u-boot-starfive/changelog.Debian.gz
u-boot-starfive/usr/lib
u-boot-starfive/usr/lib/u-boot
u-boot-starfive/usr/lib/u-boot/starfive_visionfive2
u-boot-starfive/usr/lib/u-boot/starfive_visionfive2/u-boot.itb
u-boot-starfive/usr/lib/u-boot/starfive_visionfive2/u-boot-spl.bin.normal.out

SPL, U-Boot を更新する

cat /proc/mtd
dev:    size   erasesize  name
mtd0: 00040000 00001000 "spl"
mtd1: 00300000 00001000 "uboot"
mtd2: 00100000 00001000 "data"
flashcp -v u-boot-starfive/usr/lib/u-boot/starfive_visionfive2/u-boot-spl.bin.normal.out /dev/mtd0
Erasing blocks: 33/33 (100%)
Writing data: 140k/140k (100%)
Verifying data: 140k/140k (100%)
flashcp -v u-boot-starfive/usr/lib/u-boot/starfive_visionfive2/u-boot.itb /dev/mtd1
Erasing blocks: 722/722 (100%)
Writing data: 984k/984k (100%)
Verifying data: 984k/984Kk (100%)
reset

U-Boot を初期化

env default -f -a
env save

3.Ubuntu 23.10 のインストール

Ubuntu リリース から Server install image - RISC-V server install image をダウンロードする
SD カードに書き込み起動する

gzcat ubuntu-23.10-live-server-riscv64.img.gz | sudo dd bs=1M conv=fsync of=/dev/rdiskX
0+383385 records in
4608+0 records out
4831838208 bytes transferred in 323.323853 secs (14944268 bytes/sec)

サーバーインストール手順に従う

pci enum
nvme scan
efidebug boot add -b 0001 'Ubuntu' nvme 0:1 /EFI/ubuntu/grubriscv64.efi
efidebug boot order 0001
bootefi bootmgr

更新する

sudo apt update
sudo apt full-upgrade -y
sudo shutdown -r now

4.バージョン確認

neofetch

参考にしたページ