Hallo zusammen,
da ich nun seit einigen Tagen mit dem Rock64 am testen bin, hier mal für alle "Mitstreiter" meine Variante um das System aufzusetzen. Als Basis nehme ich die aktuelle Version stretch-minimal von ayufan (aktuell 0.7.9), das lief bei allen Tests bislang am besten. Dietpi ist zwar schlanker und echt flott, lief bei mit im Test aber nicht stabil.
Also, nachdem das Image mit Etcher o.ä. geschrieben wurde muss man sich über die Konsole einloggen (Netzwerk oder über Putty/seriell).
Damit es keine Probleme mit den Berechtigungen gibt, habe ich dem Benutzer "root" erstmal die Rechte erteilt sich per SSH an der Console anzumelden.
sudo passwd root
sudo sed -i 's/#PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config
sudo service ssh restart
Ab hier bin habe ich mich dann als root am System angemeldet.
Da leider es leider zu einigen Problemen mit der 64bit Architektur gibt, habe ich mich dazu entschlossen Java als 32bit zu installieren.
dpkg --add-architecture armhf
apt-get update
apt-get install -y libc6:armhf libncurses5:armhf libstdc++6:armhf
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 0x219BD9C9
echo 'deb http://repos.azulsystems.com/debian stable main' > /etc/apt/sources.list.d/zulu.list
apt-get update -qq
apt-get install -y zulu-embedded-8
java -version
update-alternatives --config java
Damit es bei der eigentlichen Installation von ioBroker zu keinen Problemen kommt, müssen noch ein paar Pakete installiert und auf passende Versionen gebracht werden. Hierzu hat sich bei mir folgendes bewährt..
apt-get install -y python2.7
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install -y build-essential libpcap-dev libavahi-compat-libdnssd-dev libudev-dev libpam0g-dev nodejs
reboot
sudo npm install -g npm@latest
reboot
Python sollte nun in der Version 2.7 auf dem System installiert sein und Node+Nodejs in der Version 8.x (aktuell 8.11.4), npm wird mit der aktuellsten Version (derzeit 6.4.0) installiert. Wenn man eine bestimmte Version bevorzugt, kann man das "latest" einfach durch die Versionsnummer ersetzen.
Die eingentliche Installation von ioBroker erfolgt dann wie immer mit den bekannten Befehlen.
sudo mkdir /opt/iobroker
sudo chmod 777 /opt/iobroker
cd /opt/iobroker
sudo npm install iobroker --unsafe-perm
Wenn alle Befehle wie oben beschrieben ausgeführt wurden, sollte ioBroker installiert sein und das System sauber laufen (inkl. Autostart).
Sobald ich meinen USB->eMMC Adapter erhalten habe, werde ich mich auch mal näher mit dem Thema eMMC beschäftigen.
Da es hier im Forum bzw. auch auf der zugehörigen Facebookseite hin und wieder die Frage gab wo man die Teile für den Rock(pro)64 beziehen kann.
Ich selbst muss sagen ich habe meine ersten Teile direkt bei Pine bestellt, dies dauert zum einen recht lange und ich durfte bei der letzten Lieferung die Erfahrung machen, dass der Zoll auch gerne mal die Netzteile zerstört und nicht aushändigt.
Aus diesem Grund habe ich meine eMMC Module und den Adapter jetzt bei http://www.Humberg.de bestellt.
Die Preise sind natürlich höher als bei Direktbestellung, jedoch sind die Teile (wenn auf Lager) innerhalb von 2-3 Tagen da und man muss sich nicht mit dem Zoll um die Teile streiten.
Bedenkt man jedoch, dass bei einer Einfuhr zu dem Warenwert noch die Portokosten dazugerechnet werden und man dann den Sendungswert verzollen darf, sind die Preise schon wieder viel freundlicher 
Sprich, wenn man was für 30 Euro bestellt und 10 Euro Porto dazukommen, darf man 40 Euro verzollen und man hat am Ende 48 Euro dafür bezahlt, 2 Wochen gewartet und musste dafür zum Zoll… Aber gut, ich war selbst ja auch so doof :roll:
Wenn jemand dort anfragen/bestellen möchte, bitte auf das Forum hier hinweisen, darum hatte Herr Dr. Humberg gebeten.
Als Anmerkung am Ende, wer der RPI2 Adapter nutzen möchte, der sollte die io-package.json noch wie folgt abändern.
{
"common": {
"name": "rpi2",
"title": "RPI-Monitor",
"desc": {
"en": "RPI-Monitor for ioBroker Installations",
"de": "RPI-Monitor für ioBroker",
"ru": "RPI-Монитор для ioBroker"
},
"version": "0.3.2",
"news": {
"0.3.2": {
"en": "fixed Mem available readings on Stretch",
"de": "mem available bei strech gefixt",
"ru": "fixed Mem available readings on Stretch"
},
"0.3.1": {
"en": "Fixup swap_used calculation.",
"de": "Korrigiere swap_used Kalkulation",
"ru": "Исправлено вычисление swap_used"
},
"0.3.0": {
"en": "Add GPIO direction indication",
"de": "GPIO Richtung States hinzugefügt",
"ru": "Добавлены состояния для индикации направления GPIO"
},
"0.2.2": {
"en": "Use BCM enumeration",
"de": "Benutze BCM Numerierung",
"ru": "Используется BCM нумерация"
},
"0.2.1": {
"en": "fix start of adapter",
"de": "Korrigiert Adapterstart",
"ru": "Исправлен старт драйвера"
},
"0.2.0": {
"en": "implement GPIOs control",
"de": "Implementiert die Steuerung von GPIOs",
"ru": "Добавлено управление GPIOs"
}
},
"mode": "daemon",
"platform": "javascript/Node.js",
"os": ["linux"],
"loglevel": "info",
"keywords": ["ioBroker", "monitoring", "raspberry", "orangepi", "odroid", "bananapi", "gpio"],
"main": "main.js",
"authors": [
"Christian Baumgartner", "husky-koglhof <husky.koglhof@icloud.com>"
],
"license": "MIT",
"singletonHost": true,
"readme": "https://github.com/ioBroker/ioBroker.rpi2/blob/master/README.md",
"icon": "rpi.png",
"type": "hardware",
"enabled": true,
"config":{
"minWidth": 650,
"width": 700,
"minHeight": 600,
"height": 600
},
"extIcon": "https://raw.githubusercontent.com/ioBroker/ioBroker.rpi2/master/admin/rpi.png"
},
"native": {
"c_cpu": true,
"c_raspberry": false,
"c_memory": true,
"c_network": true,
"c_sdcard": true,
"c_swap": true,
"c_temperature": true,
"c_uptime": true,
"c_wlan": true,
"interval": 60000,
"cpu": {
"cpu_frequency": {
"command": "cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq",
"regexp": "(.*)",
"post": "$1/1000"
},
"load1,load5,load15": {
"command": "cat /proc/loadavg",
"regexp": "^(\\S+)\\s(\\S+)\\s(\\S+)",
"post": ""
},
"scaling_governor": {
"command": "cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor",
"regexp": "(.*)",
"post": ""
}
},
"raspberry": {
"cpu_voltage": {
"command": "vcgencmd measure_volts core",
"regexp": "(\\d+.\\d+)V",
"post": ""
},
"mem_arm": {
"command": "vcgencmd get_mem arm",
"regexp": "(\\d+)",
"post": ""
},
"mem_gpu": {
"command": "vcgencmd get_mem gpu",
"regexp": "(\\d+)",
"post": ""
}
},
"memory": {
"memory_total": {
"command": "cat /proc/meminfo",
"regexp": "MemTotal:\\s+(\\d+)",
"post": "$1/1024"
},
"memory_free": {
"command": "cat /proc/meminfo",
"regexp": "MemFree:\\s+(\\d+)",
"post": "$1/1024"
},
"memory_available": {
"command": "cat /proc/meminfo",
"regexp": "MemAvailable:\\s+(\\d+)",
"post": "$1/1024",
"multiline": true
}
},
"network": {
"net_received": {
"command": "cat /sys/class/net/eth0/statistics/rx_bytes",
"regexp": "(.*)",
"post": "$1*-1"
},
"net_send": {
"command": "cat /sys/class/net/eth0/statistics/tx_bytes",
"regexp": "(.*)",
"post": ""
}
},
"sdcard": {
"sdcard_root_total": {
"command": "df /",
"regexp": "\\S+\\s+(\\d+).*\\/$",
"post": "$1/1024",
"multiline": true
},
"sdcard_boot_total": {
"command": "df /boot/efi",
"regexp": "\\S+\\s+(\\d+).*\\/boot/efi$",
"post": "$1/1024",
"multiline": true
},
"sdcard_root_used": {
"command": "df /",
"regexp": "\\S+\\s+\\d+\\s+(\\d+).*\\/$",
"post": "$1/1024",
"multiline": true
},
"sdcard_boot_used": {
"command": "df /boot/efi",
"regexp": "\\S+\\s+\\d+\\s+(\\d+).*\\/boot/efi$",
"post": "$1/1024",
"multiline": true
}
},
"swap": {
"swap_total": {
"command": "cat /proc/meminfo",
"regexp": "SwapTotal:\\s+(\\d+)",
"post": "$1/1024",
"multiline": true
},
"swap_used": {
"command": "cat /proc/meminfo",
"regexp": "SwapFree:\\s+(\\d+)",
"post": "(rpi.swap_total - $1)/1024",
"multiline": true
}
},
"temperature": {
"soc_temp": {
"command": "cat /sys/devices/virtual/thermal/thermal_zone0/temp",
"regexp": "(.*)",
"post": "$1/1000"
}
},
"uptime": {
"uptime": {
"command": "cat /proc/uptime",
"regexp": "(^\\S+)",
"post": "$1/3600"
}
},
"wlan": {
"wifi_received": {
"command": "cat /sys/class/net/wlan0/statistics/rx_bytes",
"regexp": "(.*)",
"post": "$1*-1"
},
"wifi_send": {
"command": "cat /sys/class/net/wlan0/statistics/tx_bytes",
"regexp": "(.*)",
"post": ""
}
},
"gpios": [
]
},
"objects": [
],
"instanceObjects": [
]
}</husky.koglhof@icloud.com>
MfG
Muetzli