I haven’t bothered to use a UART-USB dongle as for both the buildroot image and the full debian (69) you can ssh in with ssh user@$IP and do the firmware update from there. Trying to avoid the firmware update is a dead-end. (Finding the $IP depends on your setup. My router shows the DHCP assignments, but worst case you can just run nmap to find open ssh ports on your network).
There are multiple postings about that, but here’s the summary I wrote for myself:
# commands are run on the SBC, $ are run on your host
1. $ wget https://github.com/starfive-tech/VisionFive2/releases/download/VF2_v2.5.0/sdcard.img
2. Use your favorite method to write that image a µSDcard
3. Power-on with that in
4. Find with $IP and ssh root@$IP (pw: starfive)
5. get u-boot-spl.bin.normal.out and visionfive2_fw_payload.img from https://github.com/starfive-tech/VisionFive2/releases and scp from the SBC (it has very few binaries)
6. # flashcp -v u-boot-spl.bin.normal.out /dev/mtd0
7. # flashcp -v visionfive2_fw_payload.img /dev/mtd1
8. # shutdown -h now
9. Download starfive-jh7110-VF2_515_v2.5.0-69.img.bz2 from https://debian.starfivetech.com/ (use Google Cloud Disk)
10. $ bunzip2 starfive-jh7110-VF2_515_v2.5.0-69.img.bz2 and, again, use your favorite method to write that image a µSDcard
11. Insert in the board and power on.
12. Optional: if it fails to display on your monitor, you can log in over the network with ssh user@starfive (pw: starfive)
ADD: good thing I wrote the notes as I forget you have to log in as root to the buildroot image. Anyway, I hope it helps.
I was too lazy to log into my router to find the IP address. I booted the VF2 with Debian image 55 and found the ip address with: ip route get 1.2
As an example, it was 192.168.178.32
After I shut it down and booted with minimal image version 69, I was hoping it was still the same IP address, but it turned out it got assigned the next IP address: 192.168.178.33
Otherwise you have to use other tricks to find it.
If possible, write minimal image version 69 on a micro SD card and copy the two firmware files onto the micro SD card. Otherwise you can also use a USB stick and mount it.
ssh from another machine into the VF2 and follow the procedure as described in the PDF file.
You can skip the step to install the mtd-utils, as flashcp is already installed.
flashcp -v u-boot-spl.bin.normal.out /dev/mtd0
flashcp -v visionfive2_fw_payload.img /dev/mtd1
Yes, but they are correct from factory and you needn’t touch them. For the record, both white plastic “tabs” needs to be shifted towards the CPU, which is the “boot from SPI” option. (The silk screen is ambigious IMO). No other setting works at the moment (well, UART might work, but that won’t help you).
Would it be possible to remove the giant StarFive watermark splashed across each page of the manual? It makes it a real pain to read with grey blobs all over diagrams and text.
What’s the difference between the full and minimal desktop image?
It’d be nice to have a developer image that doesn’t contain the huge amount of desktop bloat, or even GUI, but just a set of development tools alongside the CLI. I assume most users are going to be using it for RISC-V development work rather than as a desktop system, so having a minimal image + dev tools would be useful here.
Ah, thanks! So for non-GUI work it’d be the basic dev-system I asked about in another post, looks like minimal is the way to go unless you’re running it as a full desktop system or doing video development work.
root@starfive:~# apt update
Hit:1 https://snapshot.debian.org/archive/debian-ports/20220616T194833Z unstable InRelease
Err:1 https://snapshot.debian.org/archive/debian-ports/20220616T194833Z unstable InRelease
The following signatures were invalid: EXPKEYSIG E852514F5DF312F6 Debian Ports Archive Automatic Signing Key (2022) <ftpmaster@ports-master.debian.org>
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
All packages are up to date.
W: An error occurred during the signature verification. The repository is not updated and the previous index files will be used. GPG error: https://snapshot.debian.org/archive/debian-ports/20220616T194833Z unstable InRelease: The following signatures were invalid: EXPKEYSIG E852514F5DF312F6 Debian Ports Archive Automatic Signing Key (2022) <ftpmaster@ports-master.debian.org>
W: Failed to fetch https://snapshot.debian.org/archive/debian-ports/20220616T194833Z/dists/unstable/InRelease The following signatures were invalid: EXPKEYSIG E852514F5DF312F6 Debian Ports Archive Automatic Signing Key (2022) <ftpmaster@ports-master.debian.org>
W: Some index files failed to download. They have been ignored, or old ones used instead.
root@starfive:~#