Images erstellen und Programme kompilieren unter OE 2.0
Der Beitrag beschreibt das Einrichten der OE 2.0 Entwicklungsumgebung unter Linux, um Images und Programme für die Dreambox zu bauen. Unterstützt werden folgende Modelle:
- DM 800 HD PVR
- DM 8000 HD PVR
- DM 500 HD (v2)
- DM 800 HD se (v2)
- DM 7020 HD (v2)
Abhängigkeiten installieren
Das Einrichten der OE 2.0 Entwicklungsumgebung und das spätere Erstellen von Images und der einzelnen Pakete (ipk) benötigt weitere Pakete, welche nachfolgend beschrieben sind
Ubuntu / Mint
Installiert die Abhängigkeiten mit folgendem Befehl:
sudo apt-get install git build-essential diffstat texi2html texinfo subversion chrpath cvs gawk gettext-lint autopointFehlen Pakete, bricht später die Wunschimageerstellung mit einer Fehlermeldung ab. Wenn z.B. wget nicht installiert ist, mit:
ERROR: OE-core's config sanity checker detected a potential misconfiguration.
Either fix the cause of this error or at your own risk disable the checker (see sanity.conf).
Following is the list of potential problems / advisories:
Please install following missing utilities: wgetandere Distributionen
Im englischsprachigen Wikibeitrag Getting started des Openembeddedprojekts werden die Abhängigkeiten für andere Distributionen beschrieben.
Entwicklungsumgebung erstellen
Öffnet das Terminal und wechselt in euer Wunschverzeichnis, wo das Grundgerüst der Entwicklungsgebung abgelegt werden soll. Die Daten aus dem git Repository sind nach Ausführen des folgenden Befehls im Verzeichnis opendreambox zu finden.
git clone -b denzil git://git.opendreambox.org/git/opendreambox.gitWechselt nun in das opendreambox Verzeichnis mit folgendem Befehl.
cd opendreamboxEntwicklungsumgebung aktualisieren
Aktualisiert nun die OE 2.0 Entwicklungsumgebung (Dreambox SDK) mit folgendem Befehl und wartet geduldig, bis der Vorgang mit der Meldung [*] The Dreambox SDK is now up-to-date abgeschlossen ist.
make updategit Benutzerinformationen
Gebt eure Email Adresse und den Benutzernamen mit folgenden Befehlen ein.
git config --global user.email "you@example.com"git config --global user.name "Your Name"Informationen zur Entwicklungsumgebung
Mit folgendem Befehl können hilfreiche Informationen zu der Entwicklungsumgebung angezeigt werden.
make helpWunschimage bauen
Das Wunschimage könnt ihr für folgende Dreamboxtypen bauen.
- dm800, dm8000, dm500hd, dm800se, dm7020hd, dm7020hdv2, dm800sev2, dm500hdv2
Startet das Erstellen mit folgendem Befehl für den gewünschten Dreamboxtyp (z.B. für die DM 8000 HD PVR). Das Herunterladen mit anschließendem Erstellen des Images und Paketen benötigt seine Zeit. Seid also bitte bei dem Vorgang sehr geduldig. Das Bauen benötigt je nach Rechnerleistung mehrere Stunden und der Speicherplatz pro Image beträgt ca. 25GB.
make image MACHINE=dm8000Images und Pakete
Die erstellten Images findet ihr im opendreambox Verzeichnis unter folgendem Pfad.
/opendreambox/tmp/deploy/imagesPakete (ipk) sind im folgenden Verzeichnis zu finden.
/opendreambox/tmp/deploy/ipkEntwicklungsumgebung aktualisieren
Aktualisiert die Entwicklungsumgebung mit folgendem Befehl in eurem opendreambox Verzeichnis. So werden neue Änderungen im git in euer Dreambox SDK einfliessen.
make updateAktuelles Image erstellen
Startet die Imageerstellung für eure Wunschbox (z.B. DM 8000 HD PVR) mit dem Befehl:
make image MACHINE=dm8000Pakete mit BitBake erstellen
Mit den vorhandenen Recipes (Rezepten) im Dreambox-SDK könnt ihr mit dem bitbake Befehl Pakete (*.ipk) erstellen. Zuerst muss mit folgendem Befehl die Umgebung für bitbake geschaffen werden. Wechselt in das opendreambox Verzeichnis und gebt folgenden Befehl ein.
source bitbake.envÖffnet das build Verzeichnis von eurem Dreamboxtyp. Für die DM 8000 HD PVR wäre der Befehl wie folgt.
cd build/dm8000Das Erstellen von einem Paket erfolgt mit dem Befehl.
bitbake $PaketnameFür die OpenSSH Suite ist der Befehl:
bitbake opensshDie erstellten Pakete sind nach erfolgreichem Bauen im folgenden Verzeichnis zu finden.
/opendreambox/tmp/deploy/ipkVerfügbare Rezepte anzeigen
Die verfügbaren Rezepte für das Bauen mittels bitbake können mit folgendem Befehl aufgelistet werden.
bitbake -sDa die Liste relativ lang ist, könnt ihr das Suchergebnis einschränken:
bitbake -s | grep $wunschpaketWird das gewünschte Paket gefunden, kann es wieder mit dem Befehl "bitbake $paketname" erstellt werden. Erscheint das Wunschpaket nicht, muss es mit einem eigenen oder angepassten Rezept erstellt werden. Oder man benutzt den Cross-Compiler (cross-compile.env Skript), um den Quellcode einer Anwendung / Bibliothek zu kompilieren.