Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
226 changes: 186 additions & 40 deletions Unmatched/openEuler/README.md
Original file line number Diff line number Diff line change
@@ -1,70 +1,134 @@
---
sys: openeuler
sys_ver: "24.09"
sys_var: null
sys_ver: "24.03-LTS-SP2"
sys_var: LTS

status: good
last_update: 2025-04-11
status: basic
last_update: 2025-10-24
---

# openEuler RISC-V 24.09 HiFive Unmatched Test Report
# openEuler RISC-V 24.03 LTS SP2 HiFive Unmatched Test Report

## Test Environment

### Operating System Information

- System Version: openEuler 24.09 testing, 20241105 (Xfce)
- Download Link: https://mirror.iscas.ac.cn/openeuler-sig-riscv/openEuler-RISC-V/testing/20241105/v0.1/Unmatched/
- Reference Installation Document: https://mirror.iscas.ac.cn/openeuler-sig-riscv/openEuler-RISC-V/testing/20241105/v0.1/Unmatched/README.Unmatched.txt
- System Version: openEuler 24.03 LTS SP2
- Download Link: https://www.openeuler.openatom.cn/en/download/#openEuler%2024.03%20LTS%20SP2
- Reference Installation Document
- https://ruyisdk.cn/t/topic/1525
- https://wiki.debian.org/InstallingDebianOn/SiFive/HiFiveUnmatched

> [!NOTE]
> This is not an official release image, but one of the CI/dev version images by openEuler RISC-V SIG we found directly on their server, which is NOT listed on oERV SIG's [image download website](https://images.oerv.ac.cn/).
> oERV SIG is working on a newer release, while this is the last known bootable image on a real Unmatched board so far as we've tested.
> More information [here](https://github.com/ruyisdk/support-matrix/issues/228#issuecomment-2785789283).
> This is the official mainline openEuler riscv64 DVD ISO.
> You'll need mainline U-Boot with EFI support to boot.
> In this test report there's no GPU installed. In theory, you should be able to use GUI if there is a GPU.

### Hardware Information

- HiFive Unmatched Rev A
- A microUSB cable (included with HiFive Unmatched)
- An ATX power supply
- A microSD card (Sandisk Extreme Pro 64G UHS-I)
- A microSD card or USB drive (large enough to store the openEuler ISO image)
- M.2 NVMe SSD (Optional, follow the installation document)
- Internet connection

The following are for users expecting a desktop experience:
- A PCIe video card
- A PCIe graphics card
- USB Keyboard & Mouse
- HDMI Display / Capture Card & Cable
- M.2 NVMe SSD (Optional, follow the installation document)
- Display (and its cables)

## Installation Steps

### Build and flash U-Boot to SPI Flash

Need a running OS on the Unmatched.

You can obtain U-Boot binary from Debian.

```shell
wget http://deb.debian.org/debian/pool/main/u/u-boot/u-boot-sifive_2025.01-3_riscv64.deb
dpkg -x u-boot-sifive_2025.01-3_riscv64.deb .
# If you're not on Debian, you may try 7-Zip
# 7z x u-boot-sifive_2025.01-3_riscv64.deb
# tar xvf data.tar
# Or with ar
# ar x u-boot-sifive_2025.01-3_riscv64.deb
# tar xvf data.tar.xz
cd usr/lib/u-boot/sifive_unmatched
sudo modprobe mtdblock
sgdisk --clear -a 1 \
--new=1:40:2087 --change-name=1:spl --typecode=1:5B193300-FC78-40CD-8002-E86C45580B47 \
--new=2:2088:10279 --change-name=2:uboot --typecode=2:2E54B353-1271-4842-806F-E436D6AF6985 \
--new=3:10280:10535 --change-name=3:env --typecode=3:3DE21764-95BD-54BD-A5C3-4ABE786F38A8 \
/dev/mtdblock0
dd if=u-boot-spl.bin of=/dev/mtdblock0 bs=4096 seek=5 conv=sync
dd if=u-boot.itb of=/dev/mtdblock0 bs=4096 seek=261 conv=sync
```

After flashing, poweroff the board normally.

### Boot Device Selection

Ensure the dip switch is set to boot from the microSD card. If not changed, the factory default is to boot from the microSD card.
Ensure the dip switch is set to boot from SPI Flash. If not changed, the factory default is to boot from the microSD card.

The dip switch should be set as follows: `MSEL[3:0]=1011`

### Use `dd` to Flash the Image to the microSD Card

```shell
wget https://mirror.iscas.ac.cn/openeuler-sig-riscv/openEuler-RISC-V/testing/20241105/v0.1/Unmatched/openEuler-24.09-V1-xfce-unmatched-testing.img.zst
zstd -T0 -dkv openEuler-24.09-V1-xfce-unmatched-testing.img.zst
sudo dd if=openEuler-24.09-V1-xfce-unmatched-testing.img of=/dev/sdX bs=1M status=progress; sync
wget https://dl-cdn.openeuler.openatom.cn/openEuler-24.03-LTS-SP2/ISO/riscv64/openEuler-24.03-LTS-SP2-netinst-riscv64-dvd.iso
sudo wipefs -af /dev/sdX
sudo dd if=openEuler-24.03-LTS-SP2-netinst-riscv64-dvd.iso of=/dev/sdX bs=1M status=progress
sync; sudo eject /dev/sdX
```

### Notes
Unplug the USB drive/microSD card, and insert it into any USB ports/microSD slot on Unmatched.

### OS Installation

There are 2 serial ports on Unmatched, the second of which is the CPU serial.

If there's no GPU installed, openEuler's Anaconda installer will fallback to output on serial.

See the installation document for instructions on booting with SSD. If U-Boot is flashed into the onboard SPI Flash, microSD-free boot setups could be achieved by editing the drive configurations in `extlinux.conf`.
In this report we're using serial terminal, with the text installer.

Remember to toggle the DIP switch (boot mode) accordingly.
(This is not the most convenient way however, it's more recommended to plug in a GPU and use the GUI installer instead.)

Refer to the U-Boot official documentation for flashing instructions: https://docs.u-boot.org/en/latest/board/sifive/unmatched.html
See [this](<https://asciinema.org/a/HncsUaCkyzLLomdo1rmwFT7hF)>) screen record for installation process.

Some notable issues:

1. You'll need to fill in the network install source manually, e.g. https://repo.openeuler.org/openEuler-24.03-LTS-SP2/OS/riscv64/
2. You may have troubles installing GRUB, when prompting as below, choose yes:
```
Question

The following error occurred while installing the boot loader. The system will
not be bootable. Would you like to ignore this and continue with installation?

Failed to set new efi boot target. This is most likely a kernel or firmware bug.

Please respond 'yes' or 'no'
```
3. By default U-Boot can't pick up GRUB EFI. After the installation finished and rebooted, remove the installation media, enters U-Boot, interrupt autoboot and run the following commands to boot temporarily:
```shell
nvme scan
load nvme 0:1 $kernel_addr_r /EFI/openEuler/grubriscv64.efi
bootefi $kernel_addr_r
```
4. After entering the system, you'll need to install GRUB as `--removable` to make U-Boot pick up GRUB automatically and boot:
```shell
dnf install -y grub2-efi-riscv64-modules
grub2-install --removable
grub2-mkconfig -o /boot/grub2/grub.cfg
```

### Logging into the System

Log into the system via the onboard serial port (using the microUSB cable connected to another computer).

Default username: `openeuler` or `root`
Default password: `openEuler12#$`
Default username and password are set during the installation process.

## Expected Results

Expand All @@ -77,23 +141,105 @@ The system booted successfully and login through the onboard serial port was suc
### Boot Log

```log
Welcome to 6.6.0-41.0.0.51.oe2409.riscv64

System information as of time: Fri Jan 24 09:09:15 PM CST 2025

System load: 2.36
Memory used: 2.5%
Swap used: 0.0%
Usage On: 22%
IP address: 10.0.0.120
Users online: 2
To run a command as administrator(user "root"),use "sudo <command>".
[openeuler@openeuler-riscv64 ~]$
Welcome to 6.6.0-98.0.0.103.oe2403sp2.riscv64

System information as of time: Fri Sep 19 09:43:03 PM CST 2025

System load: 3.39
Memory used: 1.6%
Swap used: 0%
Usage On: 3%
IP address: 10.0.0.116
Users online: 1


[root@localhost ~]# cat /etc/os-release
NAME="openEuler"
VERSION="24.03 (LTS-SP2)"
ID="openEuler"
VERSION_ID="24.03"
PRETTY_NAME="openEuler 24.03 (LTS-SP2)"
ANSI_COLOR="0;31"

[root@localhost ~]# cat[ 70.739081][ T5034] Btrfs loaded, zoned=yes, fsverity=no
/sys/firmware/[ 72.697419][ T5276] systemd-rc-local-generator[5276]: /etc/rc.d/rc.local is not marked executable, skipping.

devicetree/ efi/ fdt
[root@localhost ~]# cat /sys/firmware/[ OK ] Reached target Multi-User System.
Starting Record Runlevel Change in UTMP...
[ OK ] Finished openEuler Security Tool.
[ OK ] Finished Record Runlevel Change in UTMP.
devicetree/base/
#address-cells config/ memory@80000000/ serial-number
aliases/ cpus/ model #size-cells
binman/ fit-images/ name soc/
chosen/ gpio-poweroff/ reserved-memory/
compatible hfclk/ rtcclk/
[root@localhost ~]# cat /sys/firmware/devicetree/base/model
SiFive HiFive Unmatched A00[root@localhost ~]# cat /proc/cpuinfo
processor : 0
hart : 2
isa : rv64imafdc_zicntr_zicsr_zifencei_zihpm_zca_zcd
mmu : sv39
uarch : sifive,bullet0
mvendorid : 0x489
marchid : 0x8000000000000007
mimpid : 0x20181004

processor : 1
hart : 1
isa : rv64imafdc_zicntr_zicsr_zifencei_zihpm_zca_zcd
mmu : sv39
uarch : sifive,bullet0
mvendorid : 0x489
marchid : 0x8000000000000007
mimpid : 0x20181004

processor : 2
hart : 3
isa : rv64imafdc_zicntr_zicsr_zifencei_zihpm_zca_zcd
mmu : sv39
uarch : sifive,bullet0
mvendorid : 0x489
marchid : 0x8000000000000007
mimpid : 0x20181004

processor : 3
hart : 4
isa : rv64imafdc_zicntr_zicsr_zifencei_zihpm_zca_zcd
mmu : sv39
uarch : sifive,bullet0
mvendorid : 0x489
marchid : 0x8000000000000007
mimpid : 0x20181004

[root@localhost ~]# cat /sys/firmware/devicetree/base/model
SiFive HiFive Unmatched A00[root@localhost ~]#
[root@localhost ~]# uname -a
Linux localhost.localdomain 6.6.0-98.0.0.103.oe2403sp2.riscv64 #1 SMP PREEMPT Fri Jun 27 10:45:15 UTC 2025 riscv64 riscv64 riscv64 GNU/Linux
[root@localhost ~]# cat /etc/os-release
NAME="openEuler"
VERSION="24.03 (LTS-SP2)"
ID="openEuler"
VERSION_ID="24.03"
PRETTY_NAME="openEuler 24.03 (LTS-SP2)"
ANSI_COLOR="0;31"

[root@localhost ~]# cat /etc/openEuler-release
openEuler release 24.03 (LTS-SP2)
[root@localhost ~]# lscpu
Architecture: riscv64
Byte Order: Little Endian
CPU(s): 4
On-line CPU(s) list: 0-3
NUMA:
NUMA node(s): 1
NUMA node0 CPU(s): 0-3
[root@localhost ~]#
```

![](image/2025-01-24-21-44-34.png)

See https://github.com/QA-Team-lo/oscompare/blob/main/openEuler/Unmatched/README.md for our report on its desktop experience.
Screen record:
[![asciicast](https://asciinema.org/a/HncsUaCkyzLLomdo1rmwFT7hF.svg)](https://asciinema.org/a/HncsUaCkyzLLomdo1rmwFT7hF)

## Test Criteria

Expand Down
106 changes: 106 additions & 0 deletions Unmatched/openEuler/README_testing.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,106 @@
---
sys: openeuler
sys_ver: "24.09"
sys_var: null

status: good
last_update: 2025-04-11
---

# openEuler RISC-V 24.09 HiFive Unmatched Test Report

## Test Environment

### Operating System Information

- System Version: openEuler 24.09 testing, 20241105 (Xfce)
- Download Link: https://mirror.iscas.ac.cn/openeuler-sig-riscv/openEuler-RISC-V/testing/20241105/v0.1/Unmatched/
- Reference Installation Document: https://mirror.iscas.ac.cn/openeuler-sig-riscv/openEuler-RISC-V/testing/20241105/v0.1/Unmatched/README.Unmatched.txt

> [!NOTE]
> This is not an official release image, but one of the CI/dev version images by openEuler RISC-V SIG we found directly on their server, which is NOT listed on oERV SIG's [image download website](https://images.oerv.ac.cn/).
> oERV SIG is working on a newer release, while this is the last known bootable image on a real Unmatched board so far as we've tested.
> More information [here](https://github.com/ruyisdk/support-matrix/issues/228#issuecomment-2785789283).

### Hardware Information

- HiFive Unmatched Rev A
- A microUSB cable (included with HiFive Unmatched)
- An ATX power supply
- A microSD card (Sandisk Extreme Pro 64G UHS-I)

The following are for users expecting a desktop experience:
- A PCIe video card
- USB Keyboard & Mouse
- HDMI Display / Capture Card & Cable
- M.2 NVMe SSD (Optional, follow the installation document)

## Installation Steps

### Boot Device Selection

Ensure the dip switch is set to boot from the microSD card. If not changed, the factory default is to boot from the microSD card.

The dip switch should be set as follows: `MSEL[3:0]=1011`

### Use `dd` to Flash the Image to the microSD Card

```shell
wget https://mirror.iscas.ac.cn/openeuler-sig-riscv/openEuler-RISC-V/testing/20241105/v0.1/Unmatched/openEuler-24.09-V1-xfce-unmatched-testing.img.zst
zstd -T0 -dkv openEuler-24.09-V1-xfce-unmatched-testing.img.zst
sudo dd if=openEuler-24.09-V1-xfce-unmatched-testing.img of=/dev/sdX bs=1M status=progress; sync
```

### Notes

See the installation document for instructions on booting with SSD. If U-Boot is flashed into the onboard SPI Flash, microSD-free boot setups could be achieved by editing the drive configurations in `extlinux.conf`.

Remember to toggle the DIP switch (boot mode) accordingly.

Refer to the U-Boot official documentation for flashing instructions: https://docs.u-boot.org/en/latest/board/sifive/unmatched.html

### Logging into the System

Log into the system via the onboard serial port (using the microUSB cable connected to another computer).

Default username: `openeuler` or `root`
Default password: `openEuler12#$`

## Expected Results

The system should boot normally and allow login through the onboard serial port.

## Actual Results

The system booted successfully and login through the onboard serial port was successful.

### Boot Log

```log
Welcome to 6.6.0-41.0.0.51.oe2409.riscv64

System information as of time: Fri Jan 24 09:09:15 PM CST 2025

System load: 2.36
Memory used: 2.5%
Swap used: 0.0%
Usage On: 22%
IP address: 10.0.0.120
Users online: 2
To run a command as administrator(user "root"),use "sudo <command>".
[openeuler@openeuler-riscv64 ~]$
```

![](image/2025-01-24-21-44-34.png)

See https://github.com/QA-Team-lo/oscompare/blob/main/openEuler/Unmatched/README.md for our report on its desktop experience.

## Test Criteria

Successful: The actual result matches the expected result.

Failed: The actual result does not match the expected result.

## Test Conclusion

Test successful.
Loading