Ubuntu 21.04

Ubuntu und der Raspberry Pi haben eine wechselhafte Geschichte hinter sich: Zuerst gab es gar kein Ubuntu für den Raspberry Pi, dann Ubuntu Mate, dann wieder nicht mehr. Aber zuletzt hat sich das Blatt gewendet: Die Desktop-Version von Ubuntu (inklusive Gnome) läuft auf den Modellen 4B und 400 ohne Einschränkungen. (Falls Sie den 4B verwenden, benötigen Sie aber ein Modell mit mindestens 4 GB RAM.) Für diesen Beitrag haben wir die Desktop-Version von Ubuntu 21.04 auf einem Raspberry Pi 400 ausprobiert.

Der Ubuntu-Desktop sieht wesentlich eleganter als der Pixel-Desktop von Raspberry Pi OS aus!

Alternativ steht auch Ubuntu Server zur Wahl. Dafür reichen ältere Raspberry-Pi-Modelle und weniger RAM aus, allerdings müssen Sie im Textmodus bzw. via SSH arbeiten. Für Server-Anwendungen ist das eigentlich keine große Einschränkung.

Installation

Um einfachsten gelingt die Installation, wenn Sie eine SD-Karte mit dem Raspberry Pi Imager initialisieren, wobei Sie als Betriebssystem Other General Purpose OS / Ubuntu°Ubuntu Desktop auswählen. Alternativ finden Sie Ubuntu-Images für den Raspberry Pi hier zum Download:

https://ubuntu.com/download/raspberry-pi

Kurz nach dem Start des Raspberry Pi mit der neuen SD-Karte erscheint ein Assistent zur Systemkonfiguration. In mehreren Schritten führen Sie nun eine Basiskonfiguration durch:

  • Sprache
  • Tastatur
  • WLAN-Verbindung
  • Zeitzone
  • Account-Name und Passwort

Danach brauchen Sie ca. eine viertel Stunde Geduld, wobei nicht ganz klar ist, weswegen das initiale Setup derart lange dauert. Schließlich erscheint eine Login-Box, in der Sie sich erstmalig bei Ubuntu anmelden können. Statt Ubuntu auszuprobieren, sollten Sie sofort einen Neustart durchführen. Damit erreichen Sie, dass hinter den Kulissen das modernere Grafiksystem Wayland zum Einsatz kommt. (Das Installationsprogramm und der erste Login verwendet dagegen das ältere Grafiksystem X.)

Sprachpakete installieren

Auch wenn Sie sich während der Basiskonfiguration als Sprache Deutsch gewählt haben, kann es passieren, dass auf dem frisch installierten Ubuntu-Desktop englische Menüs und Dialoge erscheinen. Der Grund besteht darin, dass zwar die Spracheinstellungen korrekt sind, aber die erforderlichen Pakete mit den deutschen Sprachdateien fehlen.

Dieser Mangel lässt sich zum Glück leicht beheben: Stellen Sie zuerst sicher, dass Sie über eine Internetverbindung verfügen, und starten Sie dann im Systemmenü (rechts oben im Panel beim Einschaltknopf) das Programm Einstellungen. Sobald Sie im Dialogblatt Region & Language auf den Button Manage Installed Languages klicken, erkennt Ubuntu auch schon, dass die Sprachpakete nicht installiert sind. Klicken Sie im angezeigten Dialog auf Installieren. Sobald dieser Vorgang abgeschlossen ist, melden Sie sich im Systemmenü ab und anschließend wieder neu an. Alle Programme und Dialoge sind nun der deutsche Sprache mächtig.

Raspberry Pi OS versus Ubuntu

Wenn Sie bisher mit unter Raspberry Pi OS gearbeitet haben, müssen Sie sich unter Ubuntu in einigen Punkten umstellen:

  • Zum Start von Programmen, die sich nicht im vertikalen Dock befinden, klicken Sie auf Aktivitäten links oben im Panel. Alternativ können Sie auch die Windows-Taste bzw. beim Raspberry Pi 400 die Raspberry-Pi-Taste (Himbeere) drücken. Durch die Eingabe der Anfangsbuchstaben können Sie nun das gewünschte Programm auswählen.

  • Eine zweite Möglichkeit zum Programmstart bietet das Gitter-Icon rechts unten im Dock. Es zeigt eine Übersicht aller installierten Programme auf dem Bildschirm an.

  • Laufende Programme können Sie über den Kontextmenüeintrag Zu Favoriten hinzufügen dauerhaft im Dock verankern.

  • Zur Konfiguration von Ubuntu verwenden Sie das Programm Einstellungen, das Sie am schnellsten über das Systemmenü rechts oben im Panel starten. In diesem Menü können Sie den Rechner auch herunterfahren bzw. neu starten.

  • In den Dialogblättern von Einstellungen fehlen sämtliche Raspberry-Pi-spezifischen Optionen, z.B. zur Steuerung von GPIO-Funktionen. Abhilfe schafft das Kommando raspi-config, das Sie aber zuerst mit apt install raspi-config installieren müssen. raspi-config läuft zwar nur im Textmodus, bietet aber ansonsten ähnliche Funktionen wie das grafische Konfigurationsprogramm von Raspberry Pi OS. Setzen Sie raspi-config aber mit Vorsicht ein: Nicht alle Optionen sind kompatibel zu Ubuntu! Sie sollten das Kommando ausschließlich für Hardware-nahe Funktionen verwenden.

  • Das Programm Einstellungen bietet nur wenige Optionen, um das Aussehen des Desktops zu verändern. Diesbezüglich mehr Konfigurationsmöglichkeiten bietet das Programm Optimierungen, das Sie aber vorweg installieren müssen (apt install gnome-tweaks). Empfehlenswert ist die Option Allgemein°Animationen, dank der Sie Animationen ausschalten können. Manche Vorgänge (z.B. das Öffnen und Schließen von Fenstern) werden damit deutlich schneller.

  • Die Verwendung von sudo erfordert Ihr Passwort, wobei sich sudo die Authentifizierung fünf Minuten lang merkt. Deswegen können Sie oft einige sudo-Kommandos ausführen, bevor Sie neuerlich nach Ihrem Passwort gefragt werden.

  • Zur Installation zusätzlicher Programme verwenden Sie am besten das von Raspberry Pi OS vertraute Kommando apt. Wenn Sie eine grafische Oberfläche vorziehen, starten Sie das Programm Software.
    Beachten Sie, dass manche Programme unter Ubuntu nicht zur Verfügung stehen (z.B. Mathematica, RealVNC-Server), andere nur nach der manuellen Einrichtung zusätzlicher Paketquellen (z.B. Visual Studio Code).

Im Vergleich zu Raspberry Pi OS glänzt Ubuntu 21.04 durch eine sehr moderne Software-Ausstattung:

Basis             Desktop             Programmierung   Server
---------------   ------------------  --------------   --------------
Kernel     5.11   Gnome        3.38   bash       5.1   Apache     2.4
glibc      2.33   Firefox        87   docker   20.10   CUPS       2.3
X-Server   1.20   Gimp         2.10   gcc       10.3   MySQL      8.0
Wayland    1.18   LibreOffice   7.1   Java        11   OpenSSH    8.4
Mesa       21.0   Thunderbird    78   PHP        7.4   Postfix    3.5
Systemd     247                       Python     3.9   Samba     4.13
NetworkMan 1.30                                        

Dem steht natürlich der Nachteil gegenüber, dass es für Ubuntu 21.04 nur bis Anfang 2022 Software-Updates geben wird. Eine Raspberry-Pi-taugliche LTS-Version gibt es zu Zeit noch nicht — darauf müssen wir wohl noch ein Jahr warten.

GPIO-Zugriff

Standardmäßig haben die unter Ubuntu eingerichteten Benutzer keine Zugriffsrechte auf die GPIOs. Deswegen müssen Sie GPIO-Kommandos oder -Scripts immer sudo voranstellen. Zum Glück lässt sich dieses Problem leicht beheben. Sie müssen lediglich Ihren Account zur Gruppe dialout hinzuzufügen:

sudo adduser <accountname> dialout

Diese Einstellung wird erst nach einem Neustart wirksam. In der Folge können Sie GPIO-Funktionen ohne sudo nutzen.

Beachten Sie auch, dass unter Ubuntu 21.04 der GPIO 7 (Pin 26 des J8-Headers) und GPIO 8 (Pin 24) per Default zur SPI-Nutzung reserviert sind. Die beiden Pins können deswegen nicht für andere GPIO-Aufgaben verwendet werden. Das Kommando gpioinfo (Paket gpiod) liefert für die beiden GPIOs den Status used. Wenn Sie selbst über die beiden GPIOs verfügen wollen, müssen Sie die Zeile dtparam=spi=on aus der Datei /boot/firmware/config.txt entfernen und den Rechner neustarten.

Die GPIO-Programmierung in Python funktioniert wie unter Raspberry Pi OS. Neben den Modulen RPi.gpio und gpiozero steht auch das ganz neue Modul lgpio zur Auswahl (siehe auch die Links am Ende des Artikels).

Auf Kommandoebene bzw. in bash-Scripts müssen Sie umlernen: raspi-gpio steht nicht zur Verfügung. Das Paket wiringpi mit dem Kommando gpio können Sie zwar installieren, aber der Einsatz von gpio ist nicht mehr empfohlen. Das Kommando ist veraltet, wird nicht mehr gewartet und funktioniert nur eingeschränkt.

Stattdessen sollten Sie das neue Paket gpiod installieren, das die Kommandos gpioinfo, gpioset, gpioget usw. zur Verfügung stellt. Die Besonderheit dieser Kommandos besteht darin, dass Sie intern die relativ neue Schnittstelle /dev/gpiochip verwenden. Das folgende Listing zeigt einige Anwendungen der Kommandos:

gpiodetect
  gpiochip0 [pinctrl-bcm2711] (58 lines)
  gpiochip1 [raspberrypi-exp-gpio] (8 lines)

gpioinfo
  gpiochip0 - 58 lines:
   line  0:     "ID_SDA"       unused   input  active-high 
   line  1:     "ID_SCL"       unused   input  active-high 
   line  2:       "SDA1"       unused   input  active-high 
   line  3:       "SCL1"       unused   input  active-high 
   line  4:  "GPIO_GCLK"       unused   input  active-high 
   line  5:      "GPIO5"       unused   input  active-high 
   line  6:      "GPIO6"       unused   input  active-high 
   line  7:  "SPI_CE1_N"   "spi0 CS1"  output  active-low [used]
   line  8:  "SPI_CE0_N"   "spi0 CS0"  output  active-low [used]
   line  9:   "SPI_MISO"       unused   input  active-high 
   line 10:   "SPI_MOSI"       unused   input  active-high 
   ...
   line 56: "RGMII_TXD2"       unused   input  active-high 
   line 57: "RGMII_TXD3"       unused   input  active-high 
  gpiochip1 - 8 lines:
   line  0:      "BT_ON"       unused  output  active-high 
   line  1:      "WL_ON"       unused  output  active-high 
   line  2: "PWR_LED_OFF"      "led1"  output  active-low [used]
   line  3: "GLOBAL_RESET"     unused  output  active-high 
   line  4: "VDD_SD_..."  "vdd-sd-io"  output  active-high [used]
   line  5:   "CAM_GPIO" "power_ctrl"  output  active-high [used]
   line  6:  "SD_PWR_ON" "sd_vcc_reg"  output  active-high [used]
   line  7:    "SD_OC_N"       unused   input  active-high 

gpioset 0 7=1   # GPIO 7 (Pin 26) auf High stellen

gpioset 0 7=0   # GPIO 7 (Pin 26) auf Low stellen

gpioget 0 9   # Zustand von GPIO 9 (Pin 21) auslesen
0

Fazit

Aktuell fällt es uns schwer, Ubuntu uneingeschränkt für den Desktop-Einsatz zu empfehlen. Wenn Sie vor haben, Ihren Raspberry Pi primär für Steuerungsaufgaben oder zum Basteln zu verwenden, ist Raspberry Pi OS definitiv die bessere Wahl. Wenn Ihr Raspberry Pi dagegen primär als Bürorechner oder für den Schuleinsatz dient, hat Ubuntu durchaus Charme. Ja, Ubuntu läuft aufgrund des üppigeren Software-Angebots und der aufwendigeren Grafikfunktionen etwas langsamer als Raspberry Pi OS, aber es ist schnell genug. Für einen längerfristigen Einsatz sollten Sie aber die erste Raspberry-Pi-taugliche Version mit LTS abwarten. Die wird es voraussichtlich erst im April 2022 geben. (Von Ubuntu 20.04 gibt es keine Raspberry-Pi-Variante.)

Quellen und Links

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Wenn Sie hier einen Kommentar absenden, erklären Sie sich mit der folgenden Datenschutzerklärung einverstanden.