Template Ubuntu Server 20.04.3 LTS

template-ubuntu-server-20-beitragsbild

Was benötigen wir zum Starten mit dem ersten SmartHome-Baustein? Natürlich einen Raspberry Pi, hier in der Version 2B, zusammen mit einer Micro-SD-Karte:

linux-72-template-raspi-20-001

Der Raspberry Pi 2B ist in das Netzwerk integriert. Für die Inbetriebnahme reichen neben einer Tastatur ein Ethernet- und HDMI-Kabel. Der Normalbetrieb ist später über WLAN abgewickelt – zu empfehlen ist u.a. der USB-Wireless-Adapter Edimax EW-7811UN. Im August 2018 lag der Preis noch bei 8,49 EUR, im Dezember 2021 sind es bereits stolze 17 EUR. Es ist keine grafische Oberfläche geplant, damit entfällt eine Maus. Der Raspi benötigt Strom in der Größenordnung 5 Volt / 2 Ampere und abschließend ein Gehäuse.

linux-72-template-raspi-20-003
Abbildung 2: Zubehör: USB-Wireless-Adapter, Kabel, Stromversorgung

Der Raspberry Pi 2B besitzt einen 64-Bit-Prozessor, damit sind nicht alle Distributionen hierfür verfügbar. Es ist eine Philosophiefrage, ich setze wegen der langfristigen Verfügbarkeit von Patchen die Longtime-Versionen von Ubuntu Server ein. Die Recherche auf den Ubuntuseiten zeigt, dass für das Modell 2B ein 32-Bit-Paket von Ubuntu Server 20.04.3 LTS (Focal Fossa) verfügbar ist. Für das Nachfolgemodell gibt es ein 64-Bit-Paket von Ubuntu Server 20.04.5 LTS (Stand Dezember 2021).

Also von der Website http://cdimage.ubuntu.com/ubuntu/releases/20.04.3/release/ über den Link Raspberry Pi Generic (Hard-Float) preinstalled server image das Paket ubuntu-20.04.3-preinstalled-server-armhf+raspi.img.xz herunterladen und mit einem geeigneten Programm (z. B. 7-Zip) das Paket zu einem bootfähigen Image entpacken. Mit einem weiteren Tool (z. B. Win32DiskImager) wird dieses Image jetzt auf eine Micro-SD-Karte geschrieben, um damit den Raspberry Pi booten zu können. Das entpackte Paket hat eine Größe von ca. 3 GB, eine 16-GB-Karte hat genug Reserven für die ersten Tests.
Das Schreiben des Image geht am Einfachsten mit einem USB-Cardreader …

linux-72-template-raspi-20-002
Abbildung 3: USB-Cardreader

… und den folgenden Arbeitsschritten.

Installationsschritte

  • Starten des Win32DiskImagers
  • Suchen der Imagedatei im Filesystem
  • Einstellen des Laufwerks der Micro-SD-Karte
  • Starten des Kopiervorgangs über die Schaltfläche Schreiben
  • Bestätigen der Überschreiben-Warnung
  • Die neu beschriebene Micro-SD-Karte generiert ein neues Laufwerk im Filesystem, dieses ist unter Windows nicht ansprechbar. Eine daraus resultierende Fehlermeldung ist zu ignorieren.
  • Einsetzen der Micro-SD-Karte in den Raspberry und Starten des Rechners
  • Für die Erstinbetriebnahme wird nur die Stromversorgung, ein Ethernet- und HDMI-Kabel incl. Monitor und eine Tastatur benötigt.
  • Unter Windows ist es schwierig, in der GUI eine einmal installierte Micro-SD-Karte noch einmal zu beschreiben.

Es gibt die Möglichkeit, mit dem Kommandozeilentool diskpart die Karte wieder in den Ausgangszustand zurückzuversetzen. Hierzu sind folgende Arbeitsschritte und Kommandos auszuführen:

  • Starten von diskpart in der Kommandozeile
  • Eingeben der folgenden Kommandos:
list disk   --> hier feststellen, welche Datenträgernummer die Micro-SC-Karte hat (hier als Beispiel die Nummer 3)
select disk 3
clean
create partition primary
list part   --> Partition 1 ist aktiv
active
format fs=Fat32 quick
assign   --> Zuweisen des Laufwerksbuchstaben

Jetzt kann das Image neu und problemlos geschrieben werden. Nach dem Start des Raspis hat dieser zunächst den Hostnamen ubuntu, Default-Account und -Passwort lauten ebenfalls ubuntu. Bei der ersten Anmeldung muss das Initialpasswort geändert werden. Mit sudo su können Rootrechte erlangt werden.

Das Kommando ip zeigt, dass der Raspi bereits über DHCP mit dem Netzwerk verbunden ist:

ip address show
2: eth0: mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether b8:27:eb:8c:64:a2 brd ff:ff:ff:ff:ff:ff
inet 172.24.12.116/24 brd 172.24.12.255 scope global dynamic eth0

Prinzipiell gibt es ab dieser Stelle zwei mögliche Vorgehensweisen bei der weiteren Konfiguration:
Es kann direkt an der Konsole gearbeitet werden oder remote über einen SSH-Client, wie z. B. Putty. Hier ist ein markanter Unterschied zu sehen: Remote über Putty ist ein deutsches Tastaturlayout verfügbar. Direkt an der Konsole hat der Raspi ein englisches Tastaturlayout – für viele sicher nicht optimal. Bevor es mit der Netzwerkinstallation weitergeht, ist deshalb zunächst das Konsolenlayout auf deutsch zu ändern.

Tastaturlayout der Konsole und Zeitzone ändern

Folgende Befehle ändern das Tastaturlayout auf deutsch, gleichzeitig ist es sinnvoll, die Zeitzone auf Berlin zu stellen. Der Raspi ist am Ende zu rebooten:

sudo apt update
sudo apt install language-pack-de

sudo dpkg-reconfigure keyboard-configuration

   Auswahl Keyboard-Modell:     Generic 105-key PC (intl.)
   Land des Ursprung-Keyboards: German
   Tastaturlayout:              German
   Taste für AltGr-Funktion:    The default for the keyboard layout
   Compose key:                 No compose key

sudo dpkg-reconfigure tzdata

   Geographic area:             Europe
   Time zone:                   Berlin

sudo reboot

Remoteanmeldung

ssh ist per default installiert, damit kann sich der non-root-Benutzer ubuntu bereits remote anmelden. Soll sich auch root remote anmelden können, ist die Datei /etc/ssh/sshd_config anzupassen. Da root bislang noch kein Passwort besitzt, ist dieses zu setzen. (Ich bin mir bewusst, dass diese Listingzeilen die Community in Geht überhaupt nicht und Mache ich immer so teilt. Tatsache ist aber, dass es für produktive Umgebungen tabu ist.)

sudo vi /etc/ssh/sshd_config

   Zeile 34: PermitRootLogin yes

sudo systemctl restart ssh
sudo su
passwd

Netzwerkkarte (LAN) statisch einstellen

Selbstverständlich ist es möglich, den Raspi mit einer DHCP-Adresse zu betreiben. Auf dem Raspi ist aber ein Serverbetriebssystem installiert, hier macht es Sinn, eine statische IP-Adresse (im Beispiel 172.24.12.207) einzurichten. Canonical nutzt seit Ubuntu 17.10 das Netplan-Paket, es richtet mit Hilfe einer YAML-Konfigurationsdatei die Netzwerkkarte ein. Für die Übernahme der Netzwerkkarteneinstellungen reicht ein netplan apply aus.

sudo vi /etc/netplan/50-cloud-init.yaml

   network:
     version: 2
     renderer: networkd
     ethernets:
       eth0:
         dhcp4: no
         dhcp6: no
         addresses: [172.24.12.205/24]
         gateway4: 172.24.12.1
         nameservers:
           addresses: [172.24.12.1]

sudo netplan generate
sudo netplan apply

Netzwerkkarte (WLAN) statisch einstellen

Der Raspberry Pi 2B hat noch keinen integrierten WLAN-Controller, hier empfiehlt sich der USB-Wireless-Adapter Edimax EW-7811Un – ein sehr kleiner Adapter ohne eine zusätzliche Antenne. Der benötigte Treiber ist durch Ubuntu bereits mit installiert. Um auf WLAN umzuschalten, ist im Konfigurationsblock nur die Netzwerkkarte auszutauschen und um die Parameter der Funkstrecke (SSID und Passwort) zu ergänzen. Normalerweise reicht ein netplan apply aus, in ganz harten Fällen kommt die Verbindung aber nach einem Reboot zustande.

sudo vi /etc/netplan/50-cloud-init.yaml

   network:
     version: 2
     renderer: networkd
     wifis:
       wlan0:
         dhcp4: no
         dhcp6: no
         addresses: [172.24.12.207/24]
         gateway4: 172.24.12.1
         nameservers:
           addresses: [172.24.12.1]
         access-points:
           "RASPI":
             password: <password>

sudo netplan generate
sudo netplan apply

An dieser Stelle ist die Basisinstallation des Raspis prinzipiell abgeschlossen. Es können nun die ersten Sensoren und Aktoren angeschlossen werden. Der Raspi selbst benötigt nur noch eine Stromversorgung, über die WLAN-Verbindung ist er im Netzwerk z. B. über Putty erreichbar, damit kann er komplett remote administriert werden.

Schreib einen Kommentar

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