今天在starfive的公众号上看到riscv有新板子,按耐不住好奇的心,去淘宝看看价格。却偶然发现ubuntu对我现在的StarFive VisionFive2是支持的,于是又开始了折腾之路。
首先说要点,ubuntu对于VisionFive2的支持有专门的网页:
https://wiki.ubuntu.com/RISC-V/StarFive%20VisionFive%202
上面大体介绍了如何安装ubuntu。通读多便,总计如下。这里以1.2A的板子来说,因为我自己的板子就是1.2A的。
首先,由于官方的SPI启动程序不支持ubuntu,所以要自己刷SPI相关的启动程序,也就是文中的如下代码
sf probe
load mmc 1:1 $kernel_addr_r /usr/lib/u-boot/starfive_visionfive2/u-boot-spl.bin.normal.out
sf update $kernel_addr_r 0 $filesize
load mmc 1:1 $kernel_addr_r /usr/lib/u-boot/starfive_visionfive2/u-boot.itb
sf update $kernel_addr_r 0x100000 $filesize
上面的代码怎么刷,文中说的很简略。其实是要用UART的,所以要有相关设备。
sudo picocom -b 115200 /dev/ttyUSB0
我自己用的fedora40,装好picocom就可以通过UART连接了,然后执行上面的代码,刷固件。
接下来点击板子上的开关按钮,机器重启就能够进入ubuntu了,要注意网口名称是end0和end1,我在这里了一些时间。还有,因为板子是1.2A的,所以下面的代码在启动ubuntu后也要执行,用以执行正确的设备树。
echo 'StarFive VisionFive 2 v1.2A' | sudo tee /etc/flash-kernel/machine
sudo flash-kernel $(uname -r)
sudo update-grub
sudo reboot
以上大体就能够启动ubuntu了。当然具体问题还要具体分析。
HINT:Ctrl+A然后Ctrl+X可以结束picocom会话。很方便。