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.
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.
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.
Die drei Pins für die serielle TTL Verbindung liegen direkt neben dem LAN Port und sind von außen nach innen so belegt:
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.
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.
fdisk
um die genaue Größe der SD-Karte
herauszufinden.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”.
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
d
stoßen wir die Löschung an und tippen darauf 2
um die zweite
Partition zu löschen
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.+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.
w
wird die Änderung auf die Karte geschrieben und das Programm beendet.
Man jedoch mit q
abbrechen ohne eine Änderung durchgeführt zu haben.
reboot
lässt den OrangePI neu starten, damit die neue größere Partition
vom System genutzt werden kann.resize2fs /dev/mmcblk0p2
df
prüfen kann.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.
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.
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.
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.
opengate.at
.