Orange PI Setup
- Einleitung
- Linux Image auf SD Karte bringen
- Serielle Verbindung für die ersten Einstellungen
- Datenpartition vergrößern
- WLAN und LAN einrichten
- Updates installieren
Einleitung
OrangePI Module sind System-on-Chip Kleincomputer
die je nach Modell als Desktop-Ersatz oder IOT
Steuergerät benutzt werden können.
Die meisten Geräte nutzen eine AllWinner
ARM CPU und haben
unterschiedlich von 256 MB bis mehrere Gigabyte Arbeitsspeicher verbaut.
Sie bieten wegen höherer Taktraten teilweise mehr Rechenkraft als viele
Raspberry PI Modelle, brauchen dafür aber auch um einiges mehr Strom, den
sie über einen USB Port oder eine alternative Buchse mit 5 Volt aufnehmen.
Ein Netzteil mit mindestens 2 Ampere ist hier Voraussetzung.
Einige Modelle beihalten Grafikchips und HDMI Ausgänge, während andere nur
headless per Netzwerk oder serieller Verbindung bedient werden können.
Auch sind neben WLAN
und Bluetooth teilweise auch
2G und neuere Breitbandtechnologien vom
Chip aus unterstützt.
Diese Zusammenfassung bezieht sich primär auf Headless-System, die nicht per
Monitor, Tastatur und Maus konfiguriert werden können.
Als Referenz nutze ich meinen OrangePi Zero.
Linux Image auf SD Karte bringen
Download Links auf orangepi.org
Das richtige Linux Image für einen Orange PI findet man am besten auf der
Homepage unter Resources - Downloads.
Es werden neben Android meist Images für Ubuntu, Debian und Armbian angeboten.
Ich wähle meist Ubuntu, da es hierfür einen großen Community Support gibt.
Für meinen Orange PI ist es ubuntu-server.
Die Image werden leider nicht auf der Homepage selbst gehostet, sondern liegen
auf Diensten wie Google Drive oder
der Baidu Cloud.
Ich würde also empfehlen solche Images bei sich zu sichern, falls diese
Dienste ihre Pforten schließen.
Die Linux Versionen sind leider auch nicht immer die neuesten
(z.B. Ubuntu Xenial von 2016), doch zum Glück existieren meist Upgrade-Szenarios,
womit man sein System auf den neuesten Stand heben kann.
MicroSD Karte mit binärem Image beschreiben
8 GB ist genug, mehr ist aber besser. Die Images benötigen in der Regel
zwischen 500 MB und bis maximal 2 GB. Damit passen sie quasi auf jede Karte.
Doch um weitere Software darauf zu installieren, sollten ein paar Gigabyte
mehr zur Verfügung stehen und außerdem lebt die SD-Karte auch länger, wenn sie
ihre Schreibvorgänge auf viele Zellen verteilen kann und nicht immer die
gleichen verbrauchen muss.
Unter Linux kann das entpackte Image mit dd
direkt auf die SD Karte geschrieben werden und unter Windows kann der
Win32 Disk Imager genützt
werden.
Sobald das Image geschrieben ist, ist es startklar und kann in den Slot des
OrangePI eingeschoben werden.
Serielle Verbindung für die ersten Einstellungen
Die drei Pins für die serielle TTL Verbindung liegen direkt neben dem LAN Port
und sind von außen nach innen so belegt:
- GROUND
- TX Senden
- RX Empfangen
Diese drei Pins verbindet man mit einem TTL-Serial-to-USB Adapter und schließt
ihn an den PC an.
Unter Windows helfen uns Tools wie PuTTY
um die serielle Verbindung zu nutzen und gleichzeitig die VT-100 Kommandos von
Linux richtig anzuzeigen.
Man wählt die Option Serial
im Konfigurationsdialog und trägt bei
Serial line den COM-Port des USB-Adapters ein, z.B.: COM4
.
Als Geschwindigkeit nutzt der OrangePI die vollen 115200
Baud, also wird
dieser Wert unter Speed in PuTTY eingetragen.
Nun kann die Verbindung seitens PuTTY aufgebaut werden.
Im Idealfall schließt man jetzt noch ein LAN Kabel an, welches IP Adressen per
DHCP bereitstellt.
Nun wird der OrangePI mit Strom versorgt.
Schon sieht man in der seriellen Konsole wie der Linux Kernel gestartet wird
und die ersten Systemdienste hochfahren.
Kurze Zeit später erwartet Linux bereits den Login, den man in der Regel mit
dem Benutzer root
und dem Passwort orangepi
durchführt.
(Manche Images können davon abweichen, was in entsprechenden Readme-Dateien
oder auf der Downloadseite erwähnt sein sollte.)
Mit dem guten alten ifconfig
lässt sich der Zustand des LAN-Adapters
überprüfen, ob er eine IP erhalten hat.
Bevor wir nun Updates herunterladen können, sollte die Datenpartition
vergrößert werden, da diese fast voll ist und sich nicht bis zum Ende der
SD-Karte erstreckt.
Datenpartition vergrößern
Hinweis: Manche Images führen beim ersten hochfahren bereits einen
Prozess aus, der die Datenpartition bis ans Ende der SD-Karte
erweitert.
Das erkannt man durch den wiederholten Aufruf von df
, welches die
Speicherplatzbelegung anzeigt und die Datenpartition immer größer
wird, bis sie die maximal Kapazität erreicht hat.
In diesem Fall kann der nachfolgende Abschnitt übersprungen werden!
Dieser Teil ist etwas kniffliger und erfordert die Eingabe der genauen
Adressen und Größen für die Datenpartition.
- Wir benutzen das Tool
fdisk
um die genaue Größe der SD-Karte
herauszufinden.
- Dann löschen wir die Datenpartition und legen an der gleichen
Beginnposition eine neue größere an. Die Daten innerhalb der
alten Partition bleiben dabei unberührt und sind dann automatisch Teil
der neuen Partition.
- Nach einem Neustart nutzen wir das Tool
resize2fs
um das Dateisystem
der Partition ebenfalls auf die neue Größe zu heben.
Der genaue Ablauf sieht wie folgt aus:
fdisk /dev/mmcblk0
startet fdisk für die SD-Karte mit Gerätenamen “mmcblk0”.
1 root@orangepi:~# fdisk /dev/mmcblk0
2 Welcome to fdisk (util-linux 2.25.2).
3 Changes will remain in memory only, until you decide to write them.
4 Be careful before using the write command.
5
6 Command (m for help):
p
zeigt die aktuellen Partitionsinformationen an. Besonders wichtig
ist dabei der Start-Sektor der Partition Nr. 2 namens “mmcblk0p2”.
Diesen Wert müssen wir nachfolgend erneut eintragen. Hier im Beispiel
ist er “135168”
1 Command (m for help): p
2 Disk /dev/mmcblk0: 7.5 GiB, 8053063680 bytes, 15728640 sectors
3 Units: sectors of 1 * 512 = 512 bytes
4 Sector size (logical/physical): 512 bytes / 512 bytes
5 I/O size (minimum/optimal): 512 bytes / 512 bytes
6 Disklabel type: dos
7 Disk identifier: 0x1c3cb8c1
8
9 Device Boot Start End Sectors Size Id Type
10 /dev/mmcblk0p1 4096 135167 131072 64M 83 Linux
11 /dev/mmcblk0p2 135168 4329471 4194304 2G 83 Linux
- Mit
d
stoßen wir die Löschung an und tippen darauf 2
um die zweite
Partition zu löschen
1 Command (m for help): d
2 Partition number (1,2, default 2): 2
3
4 Partition 2 has been deleted.
- Anschließend nutzen wir die Zeichen
n
, p
und 2
um eine
neue primäre Partition mit Nummer 2 zu erstellen.
Nun müssen wir den Start-Sektor Wert von vorhin eintragen.
Hier im Beispiel lautet er auf 135168
.
Nachfolgend können wir den End-Sektor angeben.
Drücken wir einfach ENTER
wird der letzte Sektor der SD-Karte benutzt
und die Partition erhält die maximale Größe.
Man kann aber auch Größen angeben wie z.B.:
+7G
und würde damit genau 7 Gigabyte für die Partition reservieren.
1 Command (m for help): n
2 Partition type
3 p primary (1 primary, 0 extended, 3 free)
4 e extended (container for logical partitions)
5 Select (default p): p
6 Partition number (2-4, default 2): 2
7 First sector (2048-15728639, default 2048): 135168
8 Last sector, +sectors or +size{K,M,G,T,P} (135168-15728639, default 15728639):
9
10 Created a new partition 2 of type 'Linux' and of size 7.4 GiB.
- Mit
w
wird die Änderung auf die Karte geschrieben und das Programm beendet.
Man jedoch mit q
abbrechen ohne eine Änderung durchgeführt zu haben.
1 Command (m for help): w
2 The partition table has been altered.
reboot
lässt den OrangePI neu starten, damit die neue größere Partition
vom System genutzt werden kann.
- Nach dem Neustart wird noch final das Kommando
resize2fs /dev/mmcblk0p2
gestartet um das Dateisystem auszudehnen.
- Das System sollte nun genügen Platz für Updates und Software haben,
was mit dem Aufruf
df
prüfen kann.
WLAN und LAN einrichten
WLAN
Das WLAN-Modul ist als Gerät “wlan0” bereits vorhanden aber noch nicht
konfiguriert. Ubuntu nutzt NetworkManager um seine Netzadapter zu verwalten.
Mit dem Textuserinterface des Tools nmtui
kann die Verbindung mit einem
WLAN Accesspoint hergestellt werden.
Dazu wählt man im Menü Activate a connection
wo bereits die gefundenen WLANs
aufgelistet sind. Selektiert man eines mit den Pfeiltasten und drückt ENTER
wird zur Eingabe des Passwortes aufgefordert.
Nach dessen Eingabe wird die Verbindung hergestellt und man kann das Netzwerk
nutzen, nachdem man mit ESC
das Programm beendet hat.
LAN und WLAN konfigurieren
Mit nmtui
lassen sich im ersten Menüpunkt Edit a connection
die aktuellen
LAN (Ethernet) und WLAN (WI-FI) Einstellungen abändern.
Man selektiert ebenfalls die gewünscht Verbindung per Pfeiltasten und öffnet
den Konfigurationsdialog mit ENTER
.
Hier kann man jede Einstellung mit den Pfeiltasten ansteuern mit ENTER
öffnen oder mit ESC
zum vorhergehenden Bildschirm zurückkehren.
Also alles ganz einfach.
Nachdem der SSH
Dienst ebenfalls bereits laufen sollte, kann die weitere
Administration nach Wunsch bereits über das Netzwerk erfolgen.
Updates herunterladen
Updates für die installierte Distribution installieren.
Wie auf allen Debian Systemen nutzt man hier einfach:
apt-get update
um eine Liste aller verfügbaren Updates herunterzuladen und danach:
apt-get upgrade
um alle Sicherheitsaktualisierungen herunterzuladen.
Neue Softwarepaket können mit
apt-get install PACKNAME
heruntergeladen und installiert werden, womit man hilfreiche
Konsolen Tools wie mc
oder nano
integrieren kann.
Da bei den fertigen Images häufig ein chinesischer Mirror-Server
konfiguriert ist, kann es unter Umständen sehr lange dauern
Pakete von dort zu beziehen.
Man kann daher zu anderen näheren Server wechseln oder zum
originalen Ubuntu-Ports Repository umsteigen, in dem man die
Daten /etc/apt/sources.list
editiert und die eingetragenen
URL-Token durch andere Mirrors oder http://ports.ubuntu.com/ubuntu-ports
ersetzen.
Nach einem erneuten apt-get update
lädt man weitere Updates vom
neu konfigurieren Server.
Neue Distribution installieren
Für eine Aktualisierung müssen alle URLs für die Update-Downloads auf die
Pfade der neuen Distribution umgestellt werden.
Die installierte Ubuntu 16.04 Version trägt den Namen xenial
, und die
nächste Version ist 18.04 mit dem Namen bionic
.
Zur Zeit der Verfassung des Artikels ist 20.4 namens focal
aktuell.
Man editiert also die Datei /etc/apt/sources.list
und ersetzt jeden Token,
der auf xenial
lautet durch bionic
oder focal
(ja nach gewünschter
Zielversion) und speichert die Änderung.
Danach wird
apt-get update
ausgeführt um die neuen Softwarelisten herunterzuladen. Ist dieser Vorgang
abgeschlossen, wird
apt-get dist-upgrade
aufgerufen. Nun lädt apt
alle neuen Softwarepakete herunter und installiert
sie über das lokale System.
Jetzt heißt es warten und parallel sicherstellen, dass die Netzwerkverbindung
nicht abreißt, denn dieser Vorgang kann einige Zeit in Anspruch nehmen.
Sollte das Netzwerk dennoch ausfallen, lässt sich apt-get dist-upgrade
in
der Regel problemlos neu starten und setzt dort fort, wo es zuvor unterbrochen
wurde.
Ist die Aktion erfolgreich abgeschlossen, so hat man nach dem Neustart eine
neuere Ubuntu Distribution auf seinem OrangePI System laufen.
Ich konnte im Test durchaus Versionen überspringen, also direkt von
xenial
zu focal
upgraden. Wer aber auf Nummer sicher gehen will, kann
auch mehrere Upgrades hintereinander durchführen.