Sign inSign up

mdzio/rm-build-env

By mdzio

•Updated over 1 year ago

Build-Umgebung für RaspberryMatic

Image
4

10K+

mdzio/rm-build-env repository overview

⁠Build-Umgebung für RaspberryMatic

Mit RaspberryMatic⁠ ist es möglich eine HomeMatic CCU auf einem RaspberryPi oder anderen Kleinstrechnern zu betreiben. Für das Bauen von RaspberryMatic werden etliche Werkzeuge auf dem Entwicklungsrechner vorausgesetzt. Hier wird nun ein fertiges Docker-Image zur Verfügung gestellt, das alle nötigen Werkzeuge enthält und direkt die RaspberryMatic-Quellen übersetzen und ein fertiges SD-Karten-Image bauen kann. Es wird natürlich eine lauffähige Docker Umgebung⁠ benötigt.

Erfahrungen mit Docker und der Linux-Konsole sollten vorhanden sein.


⁠Installation des Images

Das Docker-Image kann mit folgendem Befehl aus dem öffentlichen Docker-Repository installiert werden:

docker pull mdzio/rm-build-env

⁠Starten des Containers

Es muss ein Volume erstellt und eingehängt werden (s.a. Option -v). Auf dem Volume wird später RaspberryMatic mit allen Zwischendateien gebaut. Mindestens 35 GByte freier Festplattenplatz und 4 GB Arbeitsspeicher sollten für das Bauen eines einzigen Build-Zieles (z.B. raspmatic_rpi2) zur Verfügung stehen.

Eine Konsole innerhalb des Containers kann dann wie folgt geöffnet werden:

docker run -it --rm -v rmbuild:/rmbuild mdzio/rm-build-env

Bedeutung der Optionen:

OptionBedeutung
-itContainer interaktiv und mit Konsole starten.
--rmBeim Beenden wird der Container verworfen. (Die Dateien im Volume bleiben erhalten!)
-vVolume einhängen.

⁠RaspberryMatic bauen

Hinweis: Die folgenden Befehle müssen auf einer Konsole innerhalb des Docker-Containers ausgeführt werden.

Die aktuellen Quellen vom RaspberryMatic GitHub-Repository herunterladen:

git clone https://github.com/jens-maus/RaspberryMatic
cd RaspberryMatic

Eine Liste der unterstützten Build-Ziele wird mit folgendem Befehl ausgegeben:

make help

Das Image für ein Raspberry Pi 2 wird beispielsweise mit folgendem Befehlen gebaut:

make raspmatic_rpi2-release

Je nach Rechnerleistung bewegt sich die Build-Dauer zwischen einer und mehreren Stunden. Eine SSD hilft viel. Das fertige Image ist dann im Container unter /rmbuild/RaspberryMatic/release/RaspberryMatic-...-rpi2.zip zu finden (... ist ein Platzhalter für die Versionsnr. und das Datum).

Das SD-Karten-Image kann mit Docker Desktop vom Volume rmbuild auf den lokalen Rechner kopiert werden (Volumes → rmbuild → Zum Image durchklicken → Rechte Maustaste → Save As... auswählen).

Alternativ kann ein lokales Verzeichnis eingehängt werden. Im folgenden Beispiel wird der Container kurz gestartet um cp auszuführen, das die Datei nach /home/Mathias (im Container) bzw. /c/Users/Mathias (auf dem lokalen Rechner) kopiert:

docker run -it --rm -v rmbuild:/rmbuild -v /c/Users/Mathias:/home/Mathias mdzio/rm-build-env cp /rmbuild/RaspberryMatic/release/RaspberryMatic-...-rpi2.zip /home/Mathias

⁠Erstellen des Docker-Images

Die Quellen zum Erstellen des Docker-Images sind auf GitHub⁠ zu finden. In das Verzeichnis der Datei Dockerfile wechseln und dann folgenden Befehl ausführen:

docker build -t rm-build-env .

Tag summary

Content type

Image

Digest

sha256:c891f4395…

Size

255 MB

Last updated

over 1 year ago

docker pull mdzio/rm-build-env