# 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 `<span class="editor-theme-code">Armbian_community_26.8.0-trunk.7_Orangepizero_trixie_current_6.18.40_minimal.img.xz</span>` liegt im aktuellen Verzeichnis.
- Die Befehle werden als `<span class="editor-theme-code">root</span>` ausgeführt.
- In dieser Anleitung ist `<span class="editor-theme-code">/dev/sda</span>` der Ziel-Datenträger.

**⚠ Achtung:** Beim Schreiben mit `<span class="editor-theme-code">dd</span>` wird der komplette Inhalt von `<span class="editor-theme-code">/dev/sda</span>` ü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 `<strong class="editor-theme-bold editor-theme-code">/dev/sda</strong>` 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:** `<span class="editor-theme-code">OK</span>` bedeutet, dass die berechnete SHA-256-Prüfsumme des Images mit der von Armbian veröffentlichten Prüfsumme übereinstimmt.

**⚠ Wichtig:** Nur bei `<span class="editor-theme-code">OK</span>` weitermachen. Bei `<span class="editor-theme-code">FAILED</span>` 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. `<span class="editor-theme-code">xz</span>` 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 `<span class="editor-theme-code">/dev/sda</span>` 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:** `<span class="editor-theme-code">parted</span>` wurde erfolgreich geöffnet und arbeitet auf `<span class="editor-theme-code">/dev/sda</span>`.

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**. `<span class="editor-theme-code">parted</span>` weist lediglich allgemein darauf hin, dass sich durch Partitionsänderungen Einträge in `<span class="editor-theme-code">/etc/fstab</span>` ändern könnten. In diesem Ablauf ist keine Änderung an `<span class="editor-theme-code">/etc/fstab</span>` 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 `<span class="editor-theme-code">chroot</span>` 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:** `<span class="editor-theme-code">enabled</span>` 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. `<span class="editor-theme-code">sync</span>` 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 `<span class="editor-theme-code">/dev/ttyUSB0</span>` 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:** `<span class="editor-theme-code">Terminal ready</span>` 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 `<span class="editor-theme-code">systemctl enable ssh</span>` 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 `<span class="editor-theme-code">/proc</span>` noch `<span class="editor-theme-code">/sys</span>` 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 `<span class="editor-theme-code">/proc</span>` oder `<span class="editor-theme-code">/sys</span>` 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 `<span class="editor-theme-code">rm</span>` keine Ausgabe zurück.