Der Hypervisor Xen läuft auf dem Raspberry Pi 4. Den Weg dorthin und warum das bislang nicht ging, beschreiben die Xen-Entwickler auf Linux.com.
Der Raspberry Pi lief schon immer auf einer ARM-Plattform, Xen unterstützt die ARM-Plattform ebenfalls seit mehr als zehn Jahren. Dennoch kamen Xen und die Raspberry-Plattform bislang nie zusammen. Fragt sich also: Was lief da schief? Den Grund dafür erklärt der Blogpost von Linux.com: Offenbar verwendete der Raspberry Pi bislang einen nicht-standardisierten Interrupt Controller ohne Virtualisierungs-Support.
Das hat sich nun mit dem Raspberry Pi 4 geändert, der den GIC-400-Interrupt-Cotroller mitbringt, den das Xen-Projekt Out of the Box unterstützt. Dennoch ließ Xen nicht einfach ohne Probleme auf dem Raspi 4 installieren. Tatsächlich gab es, wie in vielen klassischen Märchen der Gebrüder Grimm, drei große Hürden zu überwinden, um ans Ziel zu gelangen.
Drei Hürden
Zunächst gesteht der Raspberry seinen Geräten nur weniger als 1 GByte RAM zu. Das reichte für die DOM0 von Xen nicht aus und wurde daher über eine Erhöhung der Memory Allocation behoben. Weiterhin funtionierte das Übersetzen von virtuellen in physische Adressen mit “virt_to_phys” nicht immer reibungslos. Einige virtuelle Adressen überging der Raspberry Pi 4 einfach, was zu schweren Fehlern führte. Als Lösung kommt nun bei Bedarf eine andere Übersetzungsfunktion zum Einsatz. Drittens trennte der Raspberry Pi zur Überraschung des Projekts und anders als andere ARM-Geräte DMA-Adressen (für das Programmieren von Geräten) von physischen Adressen. Vor allem hier waren dann größere Umbauten möglich, um Xen für den Raspberry Pi zum Laufen zu bringen.
Laut dem Artikel läuft Xen nun aber flüssig und reibungslos auf dem Raspberry Pi 4. Die dafür nötigen Änderungen fließen in den Linux-Kernel 5.9 ein, von dem schon bald die finale Version erscheinen wird. Wer dann den neuen Kernel auf dem Raspberry Pi 4 installiert, kann auch Xen als Hypervisor verwenden. Eine Anleitung für Nutzer, die nicht warten können, liefert der erwähnte Artikel ebenfalls.




