Blog background

Anleitung zur Installation und Konfiguration von Armbian auf einem Orange Pi 5 Plus und zur Verwendung der i2c- und SPI-Schnittstellen

Dieser Blogbeitrag beschreibt, wie Sie Armbian auf einem Orange PI 5 Plus installieren (UNVERSCHLÜSSELTER HTTP-LINK!). Leider bietet das chinesische Unternehmen hinter Orange PI keine httpS-Website an.

Dieser Blogpost wurde von einer Maschine aus dem Englischen übersetzt. Die Originalversion finden Sie hier: Howto install and configure armbian on an Orange Pi 5 Plus and using the i2c and SPI interfaces

Bitte kontaktieren Sie uns , falls etwas unklar ist, nicht funktioniert oder Sie Hilfe benötigen.

WICHTIGER SICHERHEITSHINWEIS! Die Website orangepi.org bietet kein httpS. Das bedeutet, dass der gesamte Datenverkehr von Ihrem Computer zu dieser Website nicht verschlüsselt ist und potenziell durch einen Man-in-the-Middle-Angriff manipuliert werden kann. Dieser Blogbeitrag enthält mehrere Links zu dieser Website.

Einleitung

Der Orange PI 5 Plus ist ein schnellerer und stärkerer Konkurrent des Raspberry PI 5 - er verfügt über mehr Ressourcen und Anschlüsse mit bis zu 32 GB RAM, einer Octa-Core-ARM-CPU Rockchip RK3588, bis zu 256 GB eMMC-Speicher und zwei 2,5-G-Ethernet-Ports, mit denen er die Leistung des Raspberry Pi 5 mühelos übertrifft. Der Nachteil im Vergleich zum Raspberry Pi 5 ist, dass er viel weniger öffentliche Inhalte hat, von Forumsfragen und -antworten über Blog-Posts, Online-Chatrooms bis hin zu Github-Bibliotheken und -Tools. Er ist daher eher für fortgeschrittene Benutzer geeignet. Das vom Unternehmen Orange Pi bereitgestellte Betriebssystem , das zu unserer Freude mit httpS heruntergeladen werden kann, basiert auf Arch Linux und wurde von uns nicht weiter untersucht. Für eine auf Debian Linux basierende Lösung haben wir uns für Armbian entschieden.

Armbian installieren

armbian website screenshot for Orange Pi 5 Plus download link

Armbian bietet Images speziell für den Orange Pi 5 Plus . Der Download-Link oben auf der Seite mit der Bezeichnung “Armbian 23.11.1 Bookworm CLI” ist jedoch für die Orange Pi 5 und nicht für die 5 Plus-Version des Boards. Um das richtige Image für das 5 Plus-Board zu erhalten, müssen Sie etwas nach unten scrollen und auf den Link klicken, der besagt: “For Orange Pi 5 Plus model, images can be downloaded here”: Das Image kann wie folgt heruntergeladen und über die Befehlszeile auf die Micro-SD-Karte geschrieben werden.

Laden Sie das Image mit wget herunter und überprüfen Sie die Prüfsumme:

wget https://mirror-eu-de1.armbian.airframes.io/dl/orangepi5-plus/archive/Armbian_23.11.1_Orangepi5-plus_bookworm_legacy_5.10.160.img.xz

Vergleichen Sie die Prüfsumme:

wget https://mirror-eu-de1.armbian.airframes.io/dl/orangepi5-plus/archive/Armbian_23.11.1_Orangepi5-plus_bookworm_legacy_5.10.160.img.xz.sha

user@workstation:~$ sha256sum Armbian_23.11.1_Orangepi5-plus_bookworm_legacy_5.10.160.img.xz
3b8f8ace0c4ca62d87fad4f83392ebb7d0412a45891d7c2e4f5d15e6a8c22e5c

user@workstation:~$ cat Armbian_23.11.1_Orangepi5-plus_bookworm_legacy_5.10.160.img.xz.sha
3b8f8ace0c4ca62d87fad4f83392ebb7d0412a45891d7c2e4f5d15e6a8c22e5c Armbian_23.11.1_Orangepi5-plus_bookworm_legacy_5.10.160.img.xz

Entpacken Sie das .xz-komprimierte Archiv:

unxz Armbian_23.11.1_Orangepi5-plus_bookworm_legacy_5.10.160.img.xz

Schreiben Sie das Image auf die SD-Karte:

sudo dd if=Armbian_23.11.1_Orangepi5-plus_bookworm_legacy_5.10.160.img of=/dev/mmcblk0 status=progress && sudo sync

Wir haben festgestellt, dass der OpenSSH-Server beim Booten nicht gestartet ist, was einen externen Monitor erfordert, der über einen der beiden verfügbaren HDMI-Anschlüsse angeschlossen werden kann. Die vier USB-Anschlüsse oder der einzelne USB-C-Anschluss ermöglichen den Anschluss einer Maus und einer Tastatur. Die Standard-Anmeldeinformationen für Armbian sind: Benutzername: root Passwort: 1234

Kernel-Panic nach wenigen Minuten beheben

Wir haben festgestellt, dass die frische Installation oft wenige Minuten nach dem Booten des Orange Pi mit einer Kernel-Panic abstürzte. Die Lösung dafür ist in diesem Github-Issue beschrieben:

dd if=/dev/zero of=/dev/mtdblock0 count=4096 bs=512

Wir haben festgestellt, dass das von Orange PI bereitgestellte Betriebssystem auf Basis von Arch Linux ohne Stabilitätsprobleme sofort läuft. Sie können den dd-Befehl aus dieser Distribution ausführen, bevor Sie Armbian installieren.

Der ROCK 5-Chip verfügt über ein integriertes SPI-Flash-Gerät, das als /dev/mtdblock0 dargestellt wird:

user@orange-pi-5-plus:~$ sudo fdisk -l /dev/mtdblock0
Disk /dev/mtdblock0: 16 MiB, 16777216 bytes, 32768 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

Dieses MTD (Memory Technology Devices) Blockgerät speichert einen Bootloader für zusätzliche Bootzwecke. Dies ermöglicht es dem Gerät, von Medientypen zu booten, die nicht direkt vom Maskrom-Modus des SoC unterstützt werden, einschließlich NVMe oder USB 3. Damit kann eine fingernagelgroße NVMe-SSD mit bis zu 256 GB Größe direkt an das Orange Pi 5 Plus-Board angeschlossen werden:

user@orange-pi-5-plus:~$ sudo fdisk -l /dev/mmcblk0
Disk /dev/mmcblk0: 232.96 GiB, 250139901952 bytes, 488554496 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

Weitere Informationen zur Verwaltung des SPI finden Sie unter wiki.radxa.com/Rock5/install/spi .

Erste Schritte und Basiskonfiguration

Nach dem ersten Login empfehlen wir, die folgenden grundlegenden Aufgaben durchzuführen. Ersetzen Sie zunächst alle standardmäßig für http konfigurierten apt-Repositories durch httpS:

sed -i 's@http://@https://@g' /etc/apt/sources.list
sed -i 's@http://@https://@g' /etc/apt/sources.list.d/*list
apt update
apt upgrade

Konfigurieren Sie die automatischen Sicherheitsupdates:

apt install unattended-upgrades
dpkg-reconfigure unattended-upgrades

Zusätzlich sollten Sie sich die armbian-Version von Raspberry PIs raspi-config ansehen:

armbian-config

i2c-Geräte konfigurieren

Orange Pi 5 Plus 40 PIN description

Der Orange Pi 5 Plus verfügt über einen 40-Pin-Header zum Anschluss aller Arten von Geräten und Sensoren:

Das Board verfügt über vier Gruppen von i2c-Bussen, aber I2C2_M0 und I2C2_M4 sind mit demselben Bus verbunden und können nicht gleichzeitig verwendet werden. Glücklicherweise können Sie mehrere Geräte an einen i2c-Bus anschließen. Um den ersten i2c-Bus zu aktivieren, öffnen Sie armbian-config und wählen Sie System -> Hardware -> rk3588-i2c2-m0, speichern Sie und starten Sie das Gerät neu. Diese Änderungen werden in /boot/armbianEnv.txt gespeichert, zum Beispiel overlays=rk3588-i2c2-m0. Das i2c-dev-Modul muss ebenfalls beim Booten geladen werden:

user@orange-pi-5-plus:~$ cat /etc/modules
i2c-dev
user@orange-pi-5-plus:~$ modprobe i2c-dev

Um i2cdetect für alle Geräte auszuführen, die auf /dev/i2c* passen, verwenden Sie den folgenden Befehl:

ls /dev/i2c* | while read line; do
    id="$(echo $line | cut -d '-' -f 2)"
    echo -e "\n## Detecting i2c ID: $id"
    sudo i2cdetect -y $id
done

Auf unserem Gerät sind zwei i2c-Geräte angeschlossen und erkannt - in unserem Beispiel ist 68 ein BME 280 Thermometer und 76 ein MPU 5060 Gyroskop:

## Detecting i2c ID: 2
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:                         -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- 68 -- -- -- -- -- -- --
70: -- -- -- -- -- -- 76 --

Sie können die Sensoren dann beispielsweise in Python mit smbus ansprechen:

import smbus

bus = smbus.SMBus(2)
Device_Address = 0x68

Weitere Informationen zur Konfiguration von i2c finden Sie auf der Orange Pi Wiki-Seite .

Die SPI-Schnittstelle konfigurieren

Zuerst wird das apt-Paket spi-tools benötigt:

sudo apt install spi-tools

Fügen Sie die folgenden Zeilen zu /boot/armbianEnv.txt hinzu:

overlays=rk3588-i2c2-m0 rk3588-spi4-m2-cs0-spidev
param_spidev_spi_bus=0
param_spidev_max_freq=100000000

Laden Sie das spidev-Kernelmodul:

sudo modprobe -r spidev
sudo modprobe spidev

Erstellen Sie udev-Regeln in /etc/udev/rules.d/50-spi.rules, um Gerätedateien für SPI-Geräte wie /dev/spidev4.0 zu erstellen:

SUBSYSTEM=="spidev", GROUP="spiuser", MODE="0660"

Und laden Sie die udev-Regeln neu:

sudo udevadm control --reload-rules

Fügen Sie dann eine Linux-Gruppe hinzu, um den Zugriff auf die Verwaltung von SPI-Geräten zu gewähren, und fügen Sie Ihren aktuellen Linux-Benutzer hinzu. Stellen Sie sicher, dass Sie diesen Befehl nicht als Root-Benutzer, sondern als Ihr regulärer Benutzer ausführen:

sudo groupadd spiuser
sudo adduser "$USER" spiuser

Beachten Sie, dass Sie eine neue Anmelde-Shell öffnen müssen (ausloggen und wieder einloggen), damit die Gruppenänderungen wirksam werden. Sie können dann die verfügbaren SPI-Busse wie folgt auflisten:

user@orange-pi-5-plus:~$ ls /dev/spi*
/dev/spidev4.0

Das Github-Repository github.com/mcgurk/Arduino-WS2811-rotary-RGB-led-strip/ bietet weitere Beispiele zur Einrichtung eines WS2811-RGB-LED-Streifens auf einem Orange Pi.