Skip to main content

Install Orange Pi

Armbian auf den Orange Pi Zero installieren

Diese Anleitung schreibt ein Armbian-Image auf einen Datenträger, vergrößert anschließend Partition und Dateisystem und aktiviert SSH für den ersten Start.

Voraussetzungen:

  • Die Datei Armbian_community_26.8.0-trunk.7_Orangepizero_trixie_current_6.18.40_minimal.img.xz liegt im aktuellen Verzeichnis.
  • Die Befehle werden als root ausgeführt.
  • In dieser Anleitung ist /dev/sda der Ziel-Datenträger.

⚠ Achtung: Beim Schreiben mit dd wird der komplette Inhalt von /dev/sda überschrieben. Vorher unbedingt prüfen, ob wirklich der richtige Datenträger ausgewählt wurde.

1. Ziel-Datenträger prüfen

Zuerst anzeigen, welche Datenträger angeschlossen sind:

lsblk -o NAME,SIZE,MODEL,TRAN,MOUNTPOINTS
NAME   SIZE MODEL                TRAN MOUNTPOINTS
sda   29,8G USB Flash Drive      usb
└─sda1 ...

Bedeutung: Hier muss eindeutig erkennbar sein, welcher Datenträger beschrieben werden soll. Größe, Modell und Anschlussart helfen bei der Zuordnung.

Nur weitermachen, wenn /dev/sda sicher der richtige Datenträger ist.

2. Prüfsumme herunterladen

Die SHA-256-Prüfsumme zum Armbian-Image herunterladen:

wget -O Armbian-trixie.sha https://dl.armbian.com/orangepizero/Trixie_current_minimal.sha
Armbian-trixie.sha gespeichert

Bedeutung: Die Prüfsumme wurde heruntergeladen. Damit kann geprüft werden, ob das Image vollständig und unverändert angekommen ist.

3. Image überprüfen

Jetzt wird die Prüfsumme tatsächlich verwendet:

sha256sum -c Armbian-trixie.sha

Die wichtige erwartete Ausgabe lautet:

Armbian_community_26.8.0-trunk.7_Orangepizero_trixie_current_6.18.40_minimal.img.xz: OK

Bedeutung: OK bedeutet, dass die berechnete SHA-256-Prüfsumme des Images mit der von Armbian veröffentlichten Prüfsumme übereinstimmt.

⚠ Wichtig: Nur bei OK weitermachen. Bei FAILED oder einer nicht gefundenen Datei das Image nicht verwenden und erneut herunterladen.

4. Armbian-Image entpacken

Das komprimierte Image entpacken:

xz -dk Armbian_community_26.8.0-trunk.7_Orangepizero_trixie_current_6.18.40_minimal.img.xz
Keine Ausgabe.

Bedeutung: Das ist normal. xz gibt bei erfolgreichem Entpacken nichts aus.

Anschließend befindet sich zusätzlich folgende Datei im Verzeichnis:

Armbian_community_26.8.0-trunk.7_Orangepizero_trixie_current_6.18.40_minimal.img

5. Image auf den Datenträger schreiben

⚠ Noch einmal prüfen: Der folgende Befehl überschreibt /dev/sda vollständig.

dd if=Armbian_community_26.8.0-trunk.7_Orangepizero_trixie_current_6.18.40_minimal.img of=/dev/sda bs=16M status=progress conv=fsync

Am Ende sollte die Ausgabe ungefähr so aussehen:

84+1 Datensätze ein
84+1 Datensätze aus
1421869056 Byte (1,4 GB, 1,3 GiB) kopiert

Bedeutung: Das Image wurde vollständig auf den Datenträger geschrieben. Zeit und Geschwindigkeit können natürlich abweichen.

6. Partition vergrößern

Das Armbian-Image verwendet zunächst nur die ursprüngliche Image-Größe. Die erste Partition wird deshalb auf den gesamten verfügbaren Datenträger erweitert.

parted /dev/sda

Erwartete Ausgabe:

GNU Parted 3.6
Using /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted)

Bedeutung: parted wurde erfolgreich geöffnet und arbeitet auf /dev/sda.

Jetzt die erste Partition bis zum Ende des Datenträgers vergrößern:

resizepart 1 100%
quit

Beim Beenden kann folgende Meldung erscheinen:

Information: You may need to update /etc/fstab.

Bedeutung: Diese Meldung ist hier kein Fehler. parted weist lediglich allgemein darauf hin, dass sich durch Partitionsänderungen Einträge in /etc/fstab ändern könnten. In diesem Ablauf ist keine Änderung an /etc/fstab notwendig.

7. Dateisystem prüfen

Die Partition ist jetzt größer, das darin enthaltene ext4-Dateisystem aber noch nicht.

Vor dem Vergrößern wird es deshalb geprüft:

e2fsck -f /dev/sda1

Eine normale Ausgabe sieht ungefähr so aus:

e2fsck 1.47.2
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
armbi_root: 29399/86592 files, 304133/346112 blocks

Bedeutung: Alle fünf Prüfungen wurden durchgeführt. Wenn anschließend keine schwerwiegende Fehlermeldung erscheint, kann das Dateisystem vergrößert werden.

8. Dateisystem vergrößern

resize2fs /dev/sda1

Erwartete Ausgabe:

resize2fs 1.47.2
Resizing the filesystem on /dev/sda1 to 7793664 (4k) blocks.
The filesystem on /dev/sda1 is now 7793664 (4k) blocks long.

Bedeutung: Das ext4-Dateisystem wurde erfolgreich auf die neue Größe der Partition erweitert. Die angezeigte Blockanzahl kann je nach Größe des Datenträgers abweichen.

9. Armbian-System einhängen

Mount-Verzeichnis erstellen:

mkdir -p /mnt/Temp/1
Keine Ausgabe.

Bedeutung: Keine Ausgabe ist hier normal.

Armbian-Partition einhängen:

mount /dev/sda1 /mnt/Temp/1
Keine Ausgabe.

Bedeutung: Keine Ausgabe bedeutet normalerweise, dass die Partition erfolgreich eingehängt wurde.

10. SSH für den ersten Start aktivieren

SSH kann direkt im installierten Armbian-System aktiviert werden. Ein chroot ist dafür nicht notwendig.

systemctl --root=/mnt/Temp/1 enable ssh

Je nach aktuellem Zustand erscheint beispielsweise:

Created symlink /mnt/Temp/1/etc/systemd/system/multi-user.target.wants/ssh.service → /usr/lib/systemd/system/ssh.service.

Bedeutung: SSH wurde für den Systemstart aktiviert. Beim späteren Start des Orange Pi wird der SSH-Dienst automatisch gestartet.

Kontrollieren, ob SSH aktiviert ist:

systemctl --root=/mnt/Temp/1 is-enabled ssh

Erwartete Ausgabe:

enabled

Bedeutung: enabled bestätigt, dass SSH beim Booten automatisch gestartet wird.

11. Datenträger sauber aushängen

Alle noch ausstehenden Schreibvorgänge auf den Datenträger schreiben:

sync
Keine Ausgabe.

Bedeutung: Keine Ausgabe ist normal. sync stellt sicher, dass gepufferte Änderungen auf den Datenträger geschrieben wurden.

Danach die Partition aushängen:

umount /mnt/Temp/1
Keine Ausgabe.

Bedeutung: Der Datenträger wurde erfolgreich ausgehängt und kann anschließend entfernt werden.

12. Orange Pi starten und serielle Konsole öffnen

Den vorbereiteten Datenträger in den Orange Pi einsetzen und den seriellen Adapter mit /dev/ttyUSB0 verbinden.

picocom -b 115200 --omap delbs /dev/ttyUSB0

Die Ausgabe sieht ungefähr so aus:

picocom v3.x
port is        : /dev/ttyUSB0
baudrate is    : 115200

Terminal ready

Bedeutung: Terminal ready bedeutet, dass die serielle Verbindung geöffnet wurde. Beim Einschalten bzw. Booten des Orange Pi sollten anschließend die Bootmeldungen erscheinen.

Warum die alten Warnungen verschwunden sind

In der ursprünglichen Vorgehensweise wurde mit folgendem Befehl in das Armbian-System gewechselt:

chroot /mnt/Temp/1 /bin/bash

Anschließend führte systemctl enable ssh unter anderem zu:

⚠ /proc/ is not mounted. This is not a supported mode of operation.

Bedeutung: Diese Warnung entstand, weil innerhalb des einfachen Chroot weder /proc noch /sys bereitgestellt waren. Sie war in diesem Fall zwar nicht gleichbedeutend mit einem fehlgeschlagenen SSH-Enable, aber der Aufbau war unnötig unsauber.

Mit:

systemctl --root=/mnt/Temp/1 enable ssh

wird die SSH-Konfiguration direkt im Zielsystem geändert. Dadurch sind für diesen Schritt weder ein Chroot noch ein gemountetes /proc oder /sys erforderlich.

Optional: Download-Dateien löschen

Wenn das Image erfolgreich geschrieben wurde und die Dateien nicht mehr benötigt werden:

rm Armbian_community_26.8.0-trunk.7_Orangepizero_trixie_current_6.18.40_minimal.img.xz Armbian_community_26.8.0-trunk.7_Orangepizero_trixie_current_6.18.40_minimal.img Armbian-trixie.sha
Keine Ausgabe.

Bedeutung: Bei erfolgreichem Löschen gibt rm keine Ausgabe zurück.