ODROID XU4

Aus FHEMWiki
Version vom 11. Februar 2023, 21:23 Uhr von AlanBlack (Diskussion | Beiträge)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

Beim ODROID XU4 handelt es sich um einen Einplatinencomputer von Hardkernel mit dem Exynos5422 Octa Core Prozessor bestehend aus 4x Cortex(TM) -A15 2Ghz und 4x Cortex(TM) -A7 1.4Ghz.
der XU4 ist der Nachfolger des XU3 und ist von der Systemebene kompatibel. Es sind aus diesem Grund viele System Images des XU4 mit der Endung XU3 versehen. Zum Vergleich ist in der Tabelle Cubieboard und Raspberry Pi 4b aufgeführt. Die Tabelle soll nur einen Überblick darstellen und erhebt keinen Anspruch auf Vollständigkeit.

Eigenschaft ODROID XU4 Cubieboard 3 Raspberry Pi 4 Model B
SOC Exynos5422 AllWinnerTech SOC A20 Broadcom BCM2711
ARM Cortex 4x A15 + 4x A7 A7 A72
Takt 2Ghz + 1.4Ghz 0.9GHz 1.5GHz
RAM 2Gbyte DDR 3 1GB/2GB DDR3@480MHz 4Gbyte
Arbeits­speicher eMMC 5.0 Slot
microSD Slot
NAND+MicroSD
TSD+ MicroSD
2x MicroSD
microSD
RTC Ja, Battery Buffered Ja, Battery Buffered Nein
Peripherie 2x USB 3.0 Host
1x USB 2 Host
Gigabit Ethernet
HDMI 1.4a
PWM für Lüfter
30 PIN GPIO/IRQ/SPI/ADC
12PIN GPIO/I2S/I2C
UART für serial console
4x USB 2 Host
2 x USB HOST
1 x OTG
HDMI&VGA 1080P
1 x Toslink (SPDIF Optical)
1 x IR
1 Headphone
Wifi+BT wireless
2x USB 2 Host
2x USB 3 Host
Stereo Ausgang und HDMI
Wifi+BT wireless
40-pin extended GPIO
Power 5V 4A
Stecker innen 2.1mm und außen 5.5mm
5V 2.5A 5V 2.5A micro USB
Preis ca. (Stand Februar 2023) ca 80€ ca 140€ 210€

Das XU4 Board gibt es in zwei Versionen. Einmal der XU4 mit PWM gesteuertem Lüfter auf einem Kühlkörper und dann die XU4Q Version ohne Lüfter aber dafür mit einem größeren Kühlkörper. Der Prozessor hat mehrere Profile zur Auswahl wie die einzelnen Kern Gruppen (A15 oder A7) Takten. Es kann dabei die maximale Taktfrequenz der BIG Cores (A15) eingestellt werden oder auch das Leistungsprofil der gesamten CPU (interactive, conservative, ondemand, powersave, performance). Der Prozessor bewegt sich bei beiden Hardware Versionen mehr auf der warmen Seite. Temperaturen bis 80°C sind unter last keine Seltenheit aber auch kein Problem da der Prozessor bei 105°C automatisch heruntertaktet oder wenn nötig die BIG Cores offline schaltet.


Vefügbare Betriebssysteme

Stand 12/2017
Im Odroid Forum oder direkt von der Hardkernel WIKI zu beziehen.
Zusätzlich gibt es noch ein monatlich erscheinendes Magazin mit Projekten und HowTo's

Offizielle Images

Android 4.4.4
Ubuntu 16.04 (Kernel 3.10.y), Ubuntu 16.04.2 (LTS Kernel 4.9.y), Ubuntu 16.04.2 (LTS Kernel 4.14.y)

Third Party

Debian/Jessie, DietPi, Armbian Ubuntu/Debian
Arch Linux, Kali Linux
Android 7.1 Nougat, LineageOS-14.1, Android TV OS
OpenmediaVault, RecalBox, Lakka
GameStation Turbo mit XBMC


Erste Inbetriebnahme

Als Betriebssystem eignet sich, wegen die Nähe zum RaspberryPi System, ein Debian Betriebssystem. Ein gut gepflegtes System das auch für Anfänger geeignet sein sollte (Viele Scrpits die per SSH alle konfiguartionen und installationen automatisieren) ist DietPi.
Momentan ist DietPi in der Version 6.15 und enthält den Stretch Kernel in der Version 4.14.66+. In diesem Artikel wird die Installation auf SD Karte mit hilfe eines Windown PC beschrieben.

Download von DietPi und Vorbereitung der SD Karte

Von der DietPi Homapage kann nach Auswahl der XU4 das System heruntergeladen werden. Nach dem Auspacken unter Windows wird das Image mit dem Win32Diskmanager (bei Hardkernel gibt es eine extra Version mit Verify Funktion) oder mit der Software Etcher auf die SD Karte geschrieben.

Falls direkt mit einem WIFI USB Stick gearbeitet werden soll kann das System vor dem ersten Boot darauf vorbereitet werden:

Die SD karte in den Kartenleser am PC stecken (Warnungen der nicht lesbaren Partition ignorieren)
Die lesbare Partition öffnen und darin die datei dietpi.txt öffnen
Darin (Kommentar Zeichen # vor den zeilen entfernen):

Wifi_Enabled=1
Wifi_SSID=DeineSSID
Wifi_KEY=DeinWIFIKey

Vor dem ersten Start den USB Wifi Adapter einstecken
SD karte in die XU4 stecken.
Stromversorgung einschalten.
Warten bis DietPi das Dateisystem vorbereitet hat, es kommt dabei auch zwei mal zu einem Reboot.

Weiteres bearbeiten des Systems über SSH

DietPi kommt mit Dropbear SSH Server vorinstalliert. Man sollte sich nach der installation über Putty mit dem System verbinden können.

username = root
password = dietpi

Über den Befehl:
dietpi-config
Hat man auf umfangreiche Einstellungen zugriff.
z.B. 
Zeitzone einstellen
Router Verbindungen einstellen DHCP/Static etc.

Installation von FHEM

Die FHEM installation kann danach von der Bash aus gestartet werden. Dazu über Putty Verbindung aufbauen und FHEM Installieren. Laut der FHEM for Debian Seite ist folgendes zu tun.

wget -qO - http://debian.fhem.de/archive.key | apt-key ad

Zu der Datei /etc/apt/sources.list folgendes anfügen:

deb http://debian.fhem.de/nightly/ /

danach

apt-get update
apt-get install fhem
reboot now

Danach sollte FHEM unter eurer XU4 IP erreichbar sein. Als erstes in die FHEM Commandozeile folgendes eingeben

update all

Weitere Konfiguartion

Zusätzlich zu der Grundinstallation lassen sich noch weitere Einstellungen vornhemen. Grundsätzlich sind alle Änderungen auch mit der Linux bash und spt-get etc. durchzuführen. Da DietPi aber viele scripte mitbringt die auch in allen Parameter an das System angepasst sind sollte zuerst die Installation oder Einrichtung darüber durchgeführt werden.
Alle Scripts von DietPi sind über folgenden Befehl zu erreichen

dietpi-launcher

Ich gehe hier nur auf einige Module direkt ein, die anderen können je nach Aufbau des Heimsystems auch noch nützlich sein.

Backup

Nach erfolgreicher Installation kann von dem komplette System (Linux inklusive aller User dateien) ein Backup angelegt werden.
Dazu per SSH verbinden und folgendes starten

dietpi-backup

Danach kann dort der Speicherort, der Umfang (System oder System und User data) oder ob ein Backup bzw. ein Restore gemacht werden soll, ausgewählt werden. Im Falle eines System crash, einfach DietPi neu installieren und über das Dietpi-backup ein restore durchführen. Das Backup ist inkrementell und ändert bei erneutem durchführen nur die veränderten oder neuen Dateien ab.
Möchten man ein komplett neues Backup anlegen so ist ein anderer Speicherort (Ordner) zu wählen. Beim Restore kann dann die Version (Ordner) ausgesucht werden.

RootFS auslagern

Ein angeschlossene HDD/SSD oder auch ein USB Stick können dazu benutzt werden das RootFS darauf auszulagern. Die SD karte ist dann leider immer noch notwendig wird aber nur zum Bootvorgang benutzt
Zum Start der Umlagerung gibt man folgendes ein

dietpi-drive_manager

Es wird dann eine Auflistung der mounted drives angezeigt.

Von der SD Karte
/dev/mmcblklp1 ist das Boot Drive
/deb/mmcblklp2 ist die System Partition

und

/dev/sda/1 ist zum Beispiel dann eine angeschlossene HDD/SSD

Dann wählt man das Drive aus auf den man das RootFS auslagern möchte
Es werden dann einige Details der Partition angezeigt, zusätzlich gibt es noch mal ein Auswahlmenü.

Unmount         : Allows you to physically remove the drive
Move User data  : Move your DietPi user data to this drive
Mount Method    : Change from UUID to dev/sd
Read only       : Disabled | Select to set read only
Format          : Wipe all data and format drive with ext4
Transfer RootFS : Transfer RootFS to this drive

Um den Transer zu starten wird das letzte Menu ausgewählt und mit return gestartet. sollte das Drive noch zu formatieren sein kann dies ebenso im Drive Manager geschehen. Das Menu ist ja oben schon aufgeführt.
Alle Menüs sund Dialog geführt und geben einen Hinweiß wenn etwas nicht funktionieren sollte bzw. noch etwas zu ändern ist.
Nach dem Ende des Vorgangs und einem Reboot startet das System nun von der Platte.
Falls nötig kann jederzeit das System wieder auf die SD Karte umgelagert werden. Dazu im Drive manager Menü als zu bearbeitende Partition die SD System Partition auswählen. Ein Backup danach nicht vergessen.

Zusätzliche Perl Module

Falls, je nach Nutzung von FHEM, noch zusätzliche FHEM Module installiert werden müssen konnte ich dies immer mit den Debian Paket Manager nach den Anleitungen aus dem FHEM Forum oder der WIKI für debian-jessie tun.
Zum Beispiel

JSON
apt-get install libjson-perl

AES
apt-get install libcrypt-cbc-perl
apt-get install libcrypt-rijndael-perl
apt-get install libssl-dev
apt-get install libcrypt-openssl-rsa-perl
apt-get install make
apt-get install gcc
apt-install libc6-dev
cpan Crypt/OpenSSL/AES.pm

Einige Module sind schon vorhanden andere müssen eben wie gezeigt nachinstalliert werden.

Fehlersuche

Hier noch der eine oder andere Tip für die Fehlersuche am XU4

Heartbeat

Das Board hat eine rote und eine blaue LED. Die rote LED ist die Anzeige für die Stromversorgung. Diese Leuchtet sobald der Strom verfügbar ist. Auch wenn das Board nicht aktiv ist.
Die blaue LED Leuchtet dauerhaft während des Boot Vorgangs und fängt dann im Sekundentakt (Heartbeat) an zu zu blinken sobald der Kernel läuft.

blink-blink -> 1 sec pause -> blink-blink usw.

Sollte die LED nicht blinken wurde der Bootvorgang nicht sauber durchgeführt un der Kernel nicht gestartet.
Dies kann verschiedene Ursachen haben.
Unter anderem

Stromversorgung defekt
SD karte defekt

Die Stromversorgung MUSS 5V und mindestens 4A haben, falls weniger Leistung zur Verfügung steht kommt es zu Boot Problemen.
Es kann aber auch ein Problem mit der SD karte existieren (System, Boot Partition, SD defekt). Abhilfe bringt meist ein flashen der SD Karte. Wenn ein Backup erstellt wurde ist dies natürlich kein Problem.

SD karte neu flashen
eventuell RootFS wieder auslagern

FHEM neu Aufspielen
FHEM Backup einspielen
Rechte anpassen
 oder
Komplettes XU4 Backup über dietpi-backup wieder einspielen.


Links

Link zum Ordoid Forum
Link zur Odroid WIKI
Link zum Odroid Magazin
Link zur FHEM for Debian Seite
Link zu DietPi [1]