Bereits Mitte Mai haben wir berichtet, dass das freie Betriebssystem Haiku auf die RISC-V CPU Architektur portiert wurde. Seitdem wurde noch viel daran gearbeitet. Zum Beispiel wurde das System auf echter Hardware getestet, dazu bekam der Entwickler ein HiFive Unmatched RISC-V Mainboard von der Haiku Inc. zur Verfügung gestellt.
Die Änderungen dazu hat der verantwortliche Entwickler zunächst in einem eigenen Fork des Haiku Quellcodes vorgenommen. In der Zwischenzeit wurden viele Stellen im Code optimiert und er wurde in den Master Branch von Haiku selbst übernommen. Das bedeutet, dass die Nightly Builds jetzt funktionsfähig sind und ausprobiert werden können.
Man sollte dabei im Hinterkopf behalten, dass zunächst nur die x86 Architektur voll unterstützt wird, RISC-V zählt weiterhin als experimentell. Auch sind noch keine Paket-Repositorys für die RISC-V Variante vorhanden, sodass alle Pakete selbst über den Haikuporter und das Haikuports Quellcode-Repository kompiliert werden müssen.
Wer das Experiment trotzdem wagen möchte, kann Haiku jetzt auf RISC-V ausprobieren. Als echte Hardware wird bislang nur das HiFive Unmatched unterstützt. Wer dieses nicht besitzt, kann auch mittels QEMU auf einem ganz normalen x86 Computer ein RISC-V System emulieren. Und so funktioniert es:
HiFive Unmatched:
- Anforderungen:
- HiFive Unmatched Mainboard
- Eine AMD Radeon Grafikkarte, die von Haikus radeon_hd Treiber unterstützt wird
- Eine SD-Karte, die als u-boot uefi bios vorbereitet wurde
- Haiku RISC-V Nightly Build auf einem USB-Stick
- Vorgehensweise:
- SD-Karte in das HiFive Unmatched einstecken
- USB-Stick in das HiFive Unmatched einstecken
- Das HiFive Unmatched einschalten
- Ein Desktop sollte innerhalb von einer bis zwei Minuten erscheinen
Serielles Debugging: Sollte es hierbei Probleme geben, kann ein Micro-USB-Kabel mit dem HiFive Unmatched verbunden werden. Dadurch sieht man serielles Output während des Bootvorgangs. (minicom, 115200 8N1, no flow control)
QEMU:
- Anforderungen:
- QEMU 6.0.0 oder neuer
- Haiku RISC-V Nightly Build
- u-boot binary für QEMU riscv64
Haiku kann mit dem folgenden Befehl in QEMU gestartet werden:
qemu-system-riscv64 -M virt -m 1G -device ati-vga -kernel u-boot.bin \
-drive file=haiku-mmc.image,format=raw,if=virtio \
-usb -device usb-ehci,id=echi -device usb-kbd -device usb-tablet
Serielles Output kann auf unter view → serial0 angeschaut werden.
Der Haiku Desktop erscheint auf view → ati-vga. Achtung: Eine Boot-Animation gibt es nicht. Hier erscheint erst etwas, wenn der Bootvorgang abgeschlossen ist.
Vorsicht vor Bugs: Es gibt einige bekannte Probleme mit RISC-V in Verbindung mit QEMU. Wenn der Bildschirm über längere Zeit schwarz bleibt, sollte man es einfach noch einmal versuchen. Relevante Bugs: #17379 und #17380
RISC-V ist Haikus erster funktionierender Port auf eine andere CPU Architektur. Es ist für das Projekt eine grosse Chance, die Hardwareunterstützung zu erweitern. Viel Arbeit ist allerdings noch zu tun. So kann Haiku auf RISC-V beispielsweise aktuell nur einen einzigen CPU Kern nutzen.
Auch interessant: In letzter Zeit wird wieder vermehrt an den Portierungen auf ARM gearbeitet, sowohl an 32Bit als auch 64Bit. Diese Ports sind noch lange nicht so weit wie RISC-V und sind zum aktuellen Zeitpunkt nicht nutzbar, aber in ein paar Monaten könnten die ersten funktionierenden Builds für Experimentierfreudige bereitstehen.
Quelle: https://www.haiku-os.org/blog/kallisti5/2021-11-07_booting_our_risc-v_images/