Im Gegensatz zu Raspbian gibt es Ubuntu Server 19.10 für den Raspberry Pi in einer reinen 64-Bit-Version. In der Praxis bietet Ubuntu dadurch allerdings keinen Vorteil: Dem System fehlen wichtige Tools.
Das Gleichnis der auf den Schultern von Riesen stehenden Zwerge trifft nicht nur in der Wissenschaft zu, sondern gilt auch in vielen anderen Lebensbereichen – etwa bei Linux-Distributionen. So gäbe es ohne die Giganten Debian, Slackware und Red Hat kein Ubuntu oder Linux Mint, kein OpenSuse und auch kein Fedora. Die meisten der im Netz verfügbaren Distributionsprojekte setzten auf einem der drei Linux-Urgesteine auf. So basiert auch Raspbian, die offizielle Linux-Distribution für den Raspberry Pi, auf dem ARM-Zweig von Debian.
Mit dem im Oktober veröffentlichten Ubuntu 19.10 hat Canonical, das Unternehmen hinter Ubuntu, nun auch erstmals ein offizielles Image für Raspberry Pi 2, 3 und den aktuellen RasPi 4 veröffentlicht [1]. Im Gegensatz zu Raspbian gibt es Ubuntu 19.10 lediglich in Form eines Server-Images, das in der Standardinstallation auf eine grafische Umgebung verzichtet. Bei Bedarf lässt sich allerdings ein bunter Strauß an Desktop-Umgebungen aus der Paketverwaltung nachinstallieren. Andererseits gibt es Ubuntu Server 19.10 für den RasPi sowohl in einer 32-Bit-Variante als auch als reines 64-Bit-System, dann allerdings nur für den RasPi 3 und 4.
Installation
Canonical sortiert die Ubuntu-Variante für den Raspberry Pi in die Rubrik Internet of Things ein. Das Image findet sich daher nicht direkt im Download-Bereich der Distribution, sondern unter IoT. Die komprimierten Images fallen recht schlank aus, weil auf eine grafische Umgebung verzichtet wird: 611 MByte in der 32-Bit- und 630 MByte in der 64-Bit-Version. Entpackt belegen die Images 2,6 respektive 2,9 GByte auf dem Datenträger. Theoretisch genügt daher eine 4 GByte große SD-Speicherkarte. Da aber später noch Daten hinzukommen, sollten Sie das System besser auf einer 8 GByte großen Karte installieren.
Das Einrichten von Ubuntu 19.10 unterscheidet sich nicht von dem eines Raspbian-Systems: Image herunterladen, entpacken und auf den Datenträger schreiben. Linux-Anwender greifen dazu meist auf Terminalkommandos zurück, wie Listing 1 zeigt. Das Ziel zum Schreiben des Images /dev/sdXY lässt sich dabei zum Beispiel mit dem Kommandozeilentool Lsblk ermitteln. Alternativ gibt es Programme wie Rufus [3] oder BalenaEtcher [4], die zum einen eine grafische Oberfläche bieten und zum anderen auch auf Betriebssystemen wie Mac OS X oder Windows laufen.
Listing 1
$ xz --decompress ubuntu-19.10*.img.xz $ sudo dd if=ubuntu-19.10*.img of=/dev/sdXY bs=1M; sync
Böse Überraschung
Der erste Start von der Speicherkarte führt dann allerdings noch nicht zu einem laufenden System. Auf dem im Test verwendeten Raspberry Pi 4 mit 4 GByte Arbeitsspeicher bleibt das System nach dem Erstellen der SSH-Schlüssel mit der Meldung Reached target Cloud-init target komplett hängen. Erst nach dem Ziehen und Wiederanstecken der Stromversorgung bootet Ubuntu dann in die Kommandozeile durch, diesmal ohne Fehler – zumindest auf den ersten Blick.
Versucht man nämlich, etwas auf der Kommandozeile einzugeben, passiert rein gar nichts. Die angeschlossene USB-Tastatur bleibt tot. Der Grund liegt in einem bereits gemeldeten Bug [5]: Ein Fehler im Kernel blockiert bei Systemen mit mehr als 3072 MByte Arbeitsspeicher das Erkennen von USB-Geräten. Die Ausgabe von Lsusb etwa listet lediglich den USB-Hub auf, nicht aber die angeschlossenen USB-Geräte. Bis Canonical den Fehler behebt, bleibt als Workaround nur übrig, den vom System genutzten Arbeitsspeicher zu beschränken.
Dazu fügen Sie die Zeile total_mem=3072 ans Ende der Konfigurationsdatei /boot/firmware/usercfg.txt an und booten das System neu. Da Eingaben über die Tastatur wegen des Bugs flachfallen, muss dies entweder wie in Listing 2 über SSH erfolgen – im Gegensatz zu Raspbian aktiviert Ubuntu den OpenSSH-Server von Haus aus –, oder Sie binden die Speicherkarte an einem anderen Rechner ein und bearbeiten die Datei dort. Login und Passwort lauten jeweils “ubuntu”. Direkt beim ersten Login fordert das Ubuntu-System auf, ein individuelles Passwort zu setzen.
Listing 2
### Ubuntu erkennt auf RasPi 4 mit 4 GByte RAM keine USB-Geräte: $ grep MemTotal /proc/meminfo MemTotal: 3884460 kB $ lsusb Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub $ echo "total_mem=3072" | sudo tee -a /boot/firmware/usercfg.txt ### Nach einem Neustart, nur noch 3 GByte RAM dafür USB: $ grep MemTotal /proc/meminfo MemTotal: 2921664 kB $ lsusb Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 001 Device 003: ID 045e:0800 Microsoft Corp. USB2.0 Hub Bus 001 Device 002: ID 2109:3431 VIA Labs, Inc. Hub Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Oberflächlich
Wie der Ubuntu-Server für PCs bringt auch der für den Raspberry Pi keinen grafischen Desktop mit. Trotzdem müssen Sie nicht auf einen solchen verzichten: Die Ubuntu-Homepage liefert bereits im Download-Portal Hinweise zur Installation eines Desktops.
Canonical empfiehlt das Qt-Pendant LXQt des bei Raspbian zum Einsatz kommenden LXDE (lubuntu-desktop), das ein klein wenig leistungshungrigere XFCE (xubuntu-desktop) sowie das Schwergewicht KDE in Form des kubuntu-desktop. Die Installation erfolgt jeweils über ein Kommando (Listing 3). Für den Test konzentrieren wir uns auf LXQt und LXDE, da man KDE eher selten auf dem Raspberry Pi antrifft.
Listing 3
$ sudo apt install xubuntu-desktop $ sudo apt install lubuntu-desktop $ sudo apt install kubuntu-desktop






