RISC-V: Lichee RV Allwinner D1

RISC-V ist der neue “heiße Scheiß”, der kommt/kommen wird/gekommen ist.

Es ist eine Open-Source Prozessor-Architektur, die in Zukunft den Computer Markt mitbestimmen soll. So wie vor 15-20 Jahren ARM Prozessoren über Smartphones eine große Verbreitung erlebten, so soll jetzt mit RISC-V ein weiterer Spieler hinzukommen.


Eine Geschichte rund um Patente

Was gab es nicht für Prozesse und Anfeindungen zwischen Intel und seinen Nachahmern, wenn es um den Bau von Prozessoren ging. Jede neue Technologie wurde mit Patenten zugekleistert um möglichst viel Profit aus den Ideen der Konkurrenz auf der eigenen Plattform herauszupressen.

Doch was wäre, wenn die allgemeine Funktionsweise von Prozessoren frei von solchen Patenten wären?

Dann könnte jede Chip-Fabrik anfangen Chips zu fertigen, ohne dass lange Verhandlungen, Prozesse und Lizenzzahlungen durchlaufen müssten.

Diese Idee wurde mit RISC-V geboren, bzw. RISC-V wurde für diese Idee geboren.

Lichee RV mit Allwinner D1

Im sipeed Store bei Aliexpress fand ich das “Lichee-RV D1” Starter Kit bestehend aus dem Prozessorboard und dem IO Dock für 37 Euro und erwarb somit:

  • 1GHz Single Core CPU (XuanTie C906 Risc-V-64bit)
  • 512 MB RAM (DDR3)
  • HDMI Display
  • SD-Kartenslot
  • WLAN
  • Bluetooth

Lichee RV D1

Das sind die Merkmale des Lichee-RV D1 RISC-V Entwicklerboards. Ungewöhnlicherweise wurde hier das “Mainboard” von der Peripherie getrennt. Der Prozessor+RAM Chip wird in ein eigenes Docking-Board eingespannt um ein vollwertiges System zu bilden. Auf dem Docking-Board befindet sich der HDMI-Anschluss, wie auch eine USB 2 und eine USB-C Buchse. Und neben dem 40-Pin IO Header sind noch 3 einzelne Buttons am Board angebracht.

Lichee RV D1 Front

Prebuild images

Man findet einige Links zu Debian-Risc-V-Images, doch wenn man die 1:1 auf eine SD-Karte überträgt, funktionieren sie nicht. Offenbar müssen die auf der Karte speziell ausgerichtet sein und benötigen dafür eine spezielle Software.

Zum Glück gibt es aber auch vollständig vorbereitete Images, die man direkt auf die SD-Karte übertragen kann, und ich konnte ein solches unter linux-sunxi.org finden. Die Datei trägt den Namen
20211230_LicheeRV_debian_d1_hdmi_8723ds.ddimg.xz.

Mit dem Win32DiskImager oder mit dd unter Linux werden die 16 GB auf eine minestens ebenso große SD-Karte übertragen. Und nach dem Einlegen in den SD-Slot am D1-Board, bootet das Gerät auch schon davon.

Schnell ist der Vorgang nicht, doch nach einiger Zeit landet man in der X11 Login-Maske und kann mit

  • User: sipeed
  • Passwort: licheepi

den UI Login und weiteren Start von LXDE durchführen.

Mit dem Datenträger-Verwaltungswerkzeug kann man nun die letzte leere “Füllpartition” der Karte löschen und die davor liegende Systempartition bis zum Ende des Datenträgers vergrößern. Es sind nämlich weniger als 8 GB benutzt und der Speicher ist schon ziemlich voll.

WLAN

Das WLAN Modul ist per Konfiguration deaktiviert und deshalb scheiterte ich auch daran, mit ip link oder ifup das Netzwerk hochzufahren.
Doch “wer lesen kann ist klar im Vorteil”, denn es stand ohnehin auf der Webseite beschrieben, dass das Netzwerk mit dem ConnMan, einem Netzwerkverwalter für Embedded Systeme betrieben wird, und im Startmenü befindet sich mit “ConnMan Settings” auch ein UI dafür.

Dort kann man den WLAN Adapter grafisch einschalten und sich zum nächsten WLAN Accesspoint verbinden.
Bisher hatte ich noch nie mit ConnMan gearbeitet … war also wieder mal eine neues MAN Erlebnis für mich.

Interessant war, dass ich meinen normalen USB-LAN-Adapter auch nicht einfach anschließen konnte. Für diesen wurde kein Treiber geladen, was ich so nicht gewohnt war.

Neue Schlüssel für apt

Als nächstes standen Updates an, doch Aufrufe von apt update und apt upgrade scheiterten mit der Meldung:

Failed to fetch … The following signatures couldn’t be verified because the public key is not available: NO_PUBKEY …

Die offizielle Lösung des Problems lautete auf:
curl https://www.ports.debian.org/archive_2022.key | apt-key add -
doch leider waren weder curl noch wget im Linux Image enthalten.

Ich musste also https://www.ports.debian.org/archive_2022.key auf meinem PC herunterladen, auf einen USB Stick kopieren und diesen am Lichee-RV anschließen. Von dort konnte ich den Import mit
apt-key add /path/to/archive_2022.key erfolgreich durchführen und im Anschluss das Update starten.

Upgrade

Fast 1000 Update-Pakete wurden vorgeschrieben, und so startete eine stundenlange Download- und Installationsprozedur.

Am Ende erkannte ich, dass meine Debian 11 Installation durch das sich noch in Entwicklung befindliche Debian 12 (Name Bookworm) ersetzt wurde. Warum das ungefragt geschehen war, weiß ich nicht, denn /etc/apt/sources.list verwies auf die allgemeine Debian Backports Pfade.

Wer dieses Upgrade also nicht möchte, sollte Maßnahmen dagegen ergreifen.
Denn leider kam es ab dem Upgrade immer wieder mal zu Hängern beim Neustart. Hier muss man Board entweder per Reset-Taste oder Stromentzug so lange neu starten, bis der Startvorgang wieder vollständig bis zur UI durchläuft. Das war vor dem Update in meinen Tests nämlich nicht so.

Fazit

Das Lichee RV D1 Board ist in etwa auf dem Niveau eines originalen Raspberry Pi Zero W.

Als Desktop Ersatz sind weder das D1 noch der Pi Zero geeignet, denn mit 512 MB RAM braucht man an einen Webbrowser gar nicht erst zu denken.

Das Kompilieren des GATE-Frameworks lief wie erwartet träge und brach wegen zu wenig RAM beim LTO Linkvorgang ab, doch ohne LTO erhält man feine RISC-V Binaries, die auch sogleich ausgeführt werden können.

Als nächstes werde ich mich den GPIO Funktionen widmen. Wie schön, dass die auf der Rückseite beschrieben sind.
Lichee RV D1 Back

Wer einige Euros mehr investiert, erhält natürlich auch mehr Kerne und mehr RAM in anderen Modellen und Produkten, doch aktuell liegen diese noch weit hinter ARM basierten Modellen zurück.
Aber vergessen wir nicht, wie lange ARM hinter X86 zurück lag und heute ist ARM auf der Überholspur, vor allem in Sachen Energieeffizienz.

Ich erwarte bzw. erhoffe mir also, dass RISC-V in den kommenden Jahren einen ähnlichen Sprint hinlegt, damit wir in Zukunft endlich auch mal einen OpenSource-Prozessor in unseren Geräten eingebaut bekommen.

Der erste Eindruck war also “OK”, ich darauf kompilieren und ich bin gespannt wie es dort weitergehen wird.
Denn immer weitere Boards wie MangoPI oder Nezha werden auf den Markt geworfen.