Images erstellen und Programme kompilieren unter OE 2.0: Unterschied zwischen den Versionen
Mfgeg (Diskussion | Beiträge) |
Mfgeg (Diskussion | Beiträge) |
||
(20 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
− | Der Beitrag beschreibt das | + | {{Achtung| Dieser Artikel erfordert mehr Erfahrung im Umgang mit der Dreambox / Linux und ist daher nur für fortgeschrittene Benutzer gedacht.}} |
+ | Der Beitrag beschreibt das Einrichten der [[OE 2.0]] Entwicklungsumgebung unter [http://de.wikipedia.org/wiki/Linux Linux], um [[CVS / OE - Image|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) | ||
+ | |||
+ | == Unterstützte Betriebssysteme == | ||
+ | Für das erstellen der Entwicklungsumgebung wird zwingend Linux vorausgesetzt. In der Theorie können verschiedene Linux Distributionen eingesetzt werden. Aber nicht viele sind fähig OpenDreambox zu bauen. Die folgenden Distributionen können es ;) | ||
+ | * Arch Linux 2011.08.19 [amd64] | ||
+ | * Debian 6.0 (Squeeze) [i386] | ||
+ | * Debian "Testing" (Wheezy) [i386] | ||
+ | * Fedora 16 [i386, amd64] | ||
+ | * Ubuntu 10.04 LTS (Lucid Lynx) [i386] | ||
+ | * Ubuntu 11.10 (Oneiric Ocelot) [amd64] | ||
+ | * Ubuntu 12.04 LTS (Precise Pangolin) [i386, amd64] | ||
+ | * Debian 7.6 "Wheezy" [i386, amd64] | ||
+ | * Ubuntu 14.04.1 LTS "Trusty Tahr" [amd64] | ||
+ | * Mint Linux 17 [amd64] | ||
== Abhängigkeiten installieren == | == Abhängigkeiten installieren == | ||
− | Das | + | 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. Der folgende Absatz beschreibt die Installation der Abhängigkeiten für verschiedene Linux Distributionen: |
=== Ubuntu / Mint === | === Ubuntu / Mint === | ||
− | Installiert die Abhängigkeiten mit folgendem Befehl | + | Installiert die Abhängigkeiten mit folgendem Befehl: |
<syntaxhighlight> | <syntaxhighlight> | ||
− | sudo apt-get install git build-essential diffstat texi2html texinfo subversion chrpath cvs gawk gettext-lint | + | sudo apt-get install git build-essential diffstat texi2html texinfo subversion chrpath cvs gawk gettext-lint autopoint |
</syntaxhighlight> | </syntaxhighlight> | ||
− | Fehlen Pakete, | + | Fehlen Pakete, bricht später die Wunschimageerstellung mit einer Fehlermeldung ab. Wenn z.B. <code>wget</code> nicht installiert ist, mit: |
<syntaxhighlight> | <syntaxhighlight> | ||
ERROR: OE-core's config sanity checker detected a potential misconfiguration. | ERROR: OE-core's config sanity checker detected a potential misconfiguration. | ||
Zeile 17: | Zeile 36: | ||
Please install following missing utilities: wget | Please install following missing utilities: wget | ||
</syntaxhighlight> | </syntaxhighlight> | ||
+ | |||
+ | === andere Distributionen === | ||
+ | Im englischsprachigen Wikibeitrag [http://www.openembedded.org/wiki/Getting_started Getting started] des Openembeddedprojekts werden die Abhängigkeiten für andere Distributionen beschrieben. | ||
== Entwicklungsumgebung erstellen == | == Entwicklungsumgebung erstellen == | ||
− | Öffnet das Terminal und wechselt in euer Wunschverzeichnis, wo das Grundgerüst der Entwicklungsgebung abgelegt werden soll. Die Daten aus dem [http://de.wikipedia.org/wiki/Git git] Repository sind nach | + | Öffnet das Terminal und wechselt in euer Wunschverzeichnis, wo das Grundgerüst der Entwicklungsgebung abgelegt werden soll. Die Daten aus dem [http://de.wikipedia.org/wiki/Git git] Repository sind nach Ausführen des folgenden Befehls im Verzeichnis <code>opendreambox</code> zu finden. |
<syntaxhighlight> | <syntaxhighlight> | ||
git clone -b denzil git://git.opendreambox.org/git/opendreambox.git | git clone -b denzil git://git.opendreambox.org/git/opendreambox.git | ||
Zeile 29: | Zeile 51: | ||
=== Entwicklungsumgebung aktualisieren === | === Entwicklungsumgebung aktualisieren === | ||
− | Aktualisiert nun die OE 2.0 Entwicklungsumgebung (Dreambox SDK) mit folgendem Befehl und wartet geduldig, bis der Vorgang mit der Meldung <code>[*] The Dreambox SDK is now up-to-date</code> abgeschlossen ist. | + | Aktualisiert nun die OE 2.0 Entwicklungsumgebung (Dreambox [http://de.wikipedia.org/wiki/Software_Development_Kit SDK]) mit folgendem Befehl und wartet geduldig, bis der Vorgang mit der Meldung <code>[*] The Dreambox SDK is now up-to-date</code> abgeschlossen ist. |
<syntaxhighlight> | <syntaxhighlight> | ||
make update | make update | ||
Zeile 35: | Zeile 57: | ||
=== git Benutzerinformationen === | === git Benutzerinformationen === | ||
− | Gebt eure Email Adresse und | + | Gebt eure Email Adresse und den Benutzernamen mit folgenden Befehlen ein. |
<syntaxhighlight> | <syntaxhighlight> | ||
git config --global user.email "you@example.com" | git config --global user.email "you@example.com" | ||
Zeile 44: | Zeile 66: | ||
=== Informationen zur Entwicklungsumgebung === | === Informationen zur Entwicklungsumgebung === | ||
− | Mit | + | Mit folgendem Befehl können hilfreiche Informationen zu der Entwicklungsumgebung angezeigt werden. |
<syntaxhighlight> | <syntaxhighlight> | ||
make help | make help | ||
Zeile 50: | Zeile 72: | ||
=== Wunschimage bauen === | === Wunschimage bauen === | ||
− | Das Wunschimage könnt ihr für | + | Das Wunschimage könnt ihr für folgende Dreamboxtypen bauen. |
* dm800, dm8000, dm500hd, dm800se, dm7020hd, dm7020hdv2, dm800sev2, dm500hdv2 | * dm800, dm8000, dm500hd, dm800se, dm7020hd, dm7020hdv2, dm800sev2, dm500hdv2 | ||
− | Startet das | + | Startet das Erstellen mit folgendem Befehl für den gewünschten [[Dreambox-Varianten|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. |
<syntaxhighlight> | <syntaxhighlight> | ||
make image MACHINE=dm8000 | make image MACHINE=dm8000 | ||
Zeile 66: | Zeile 88: | ||
/opendreambox/tmp/deploy/ipk | /opendreambox/tmp/deploy/ipk | ||
</syntaxhighlight> | </syntaxhighlight> | ||
+ | |||
+ | == Entwicklungsumgebung aktualisieren == | ||
+ | Aktualisiert die Entwicklungsumgebung mit folgendem Befehl in eurem <code>opendreambox</code> Verzeichnis. So werden neue Änderungen im git in euer Dreambox SDK einfliessen. | ||
+ | <syntaxhighlight> | ||
+ | make update | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | === Aktuelles Image erstellen === | ||
+ | Startet die Imageerstellung für eure Wunschbox (z.B. DM 8000 HD PVR) mit dem Befehl: | ||
+ | <syntaxhighlight> | ||
+ | make image MACHINE=dm8000 | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | == Pakete mit BitBake erstellen == | ||
+ | Mit den vorhandenen Recipes (Rezepten) im Dreambox-SDK könnt ihr mit dem [http://en.wikipedia.org/wiki/BitBake bitbake] Befehl Pakete (*.ipk) erstellen. Zuerst muss mit folgendem Befehl die Umgebung für <code>bitbake</code> geschaffen werden. Wechselt in das <code>opendreambox</code> Verzeichnis und gebt folgenden Befehl ein. | ||
+ | <syntaxhighlight> | ||
+ | source bitbake.env | ||
+ | </syntaxhighlight> | ||
+ | Öffnet das <code>build</code> Verzeichnis von eurem Dreamboxtyp. Für die DM 8000 HD PVR wäre der Befehl wie folgt. | ||
+ | <syntaxhighlight> | ||
+ | cd build/dm8000 | ||
+ | </syntaxhighlight> | ||
+ | Das Erstellen von einem Paket erfolgt mit dem Befehl. | ||
+ | <syntaxhighlight> | ||
+ | bitbake $Paketname | ||
+ | </syntaxhighlight> | ||
+ | Für die [http://de.wikipedia.org/wiki/OpenSSH OpenSSH] Suite ist der Befehl: | ||
+ | <syntaxhighlight> | ||
+ | bitbake openssh | ||
+ | </syntaxhighlight> | ||
+ | Die erstellten Pakete sind nach erfolgreichem Bauen im folgenden Verzeichnis zu finden. | ||
+ | <syntaxhighlight> | ||
+ | /opendreambox/tmp/deploy/ipk | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | === Verfügbare Rezepte anzeigen === | ||
+ | Die verfügbaren Rezepte für das Bauen mittels <code>bitbake</code> können mit folgendem Befehl aufgelistet werden. | ||
+ | <syntaxhighlight> | ||
+ | bitbake -s | ||
+ | </syntaxhighlight> | ||
+ | Da die Liste relativ lang ist, könnt ihr das Suchergebnis einschränken: | ||
+ | <syntaxhighlight> | ||
+ | bitbake -s | grep $wunschpaket | ||
+ | </syntaxhighlight> | ||
+ | Wird das gewünschte Paket gefunden, kann es wieder mit dem Befehl <code>"bitbake $paketname"</code> erstellt werden. Erscheint das Wunschpaket nicht, muss es mit einem eigenen oder angepassten Rezept erstellt werden. Oder man benutzt den [http://de.wikipedia.org/wiki/Cross-Compiler Cross-Compiler] (<code>cross-compile.env</code> Skript), um den Quellcode einer Anwendung / Bibliothek zu kompilieren. | ||
+ | |||
+ | == Tipps und Tricks == | ||
+ | === OE 2.0 auf neueren Ubuntu Versionen bauen === | ||
+ | Wollt ihr auf aktuellen Ubuntu Versionen Images bauen oder Programme kompilieren, dann schaut in diesen [https://www.i-have-a-dreambox.com/wbb2/thread.php?threadid=198084 Thread] rein. | ||
== Weblinks == | == Weblinks == | ||
* [http://opendreambox.org/ opendreambox.org] | * [http://opendreambox.org/ opendreambox.org] | ||
+ | * [http://git.opendreambox.org/?p=opendreambox.git;a=blob_plain;f=doc/opendreambox.txt Dokumentation zu opendreambox] | ||
+ | * [http://git.opendreambox.org/?p=opendreambox.git;a=summary opendreambox git Repository] | ||
* [http://www.openembedded.org/wiki/Main_Page OpenEmbedded] | * [http://www.openembedded.org/wiki/Main_Page OpenEmbedded] | ||
* [http://docs.openembedded.org/usermanual/usermanual.html Openembedded Anleitung] | * [http://docs.openembedded.org/usermanual/usermanual.html Openembedded Anleitung] | ||
Zeile 74: | Zeile 147: | ||
[[Kategorie:Anleitungen]] | [[Kategorie:Anleitungen]] | ||
+ | [[Kategorie:Software]] |
Aktuelle Version vom 5. November 2018, 12:27 Uhr
Dieser Artikel erfordert mehr Erfahrung im Umgang mit der Dreambox / Linux und ist daher nur für fortgeschrittene Benutzer gedacht. |
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)
Inhaltsverzeichnis
Unterstützte Betriebssysteme
Für das erstellen der Entwicklungsumgebung wird zwingend Linux vorausgesetzt. In der Theorie können verschiedene Linux Distributionen eingesetzt werden. Aber nicht viele sind fähig OpenDreambox zu bauen. Die folgenden Distributionen können es ;)
- Arch Linux 2011.08.19 [amd64]
- Debian 6.0 (Squeeze) [i386]
- Debian "Testing" (Wheezy) [i386]
- Fedora 16 [i386, amd64]
- Ubuntu 10.04 LTS (Lucid Lynx) [i386]
- Ubuntu 11.10 (Oneiric Ocelot) [amd64]
- Ubuntu 12.04 LTS (Precise Pangolin) [i386, amd64]
- Debian 7.6 "Wheezy" [i386, amd64]
- Ubuntu 14.04.1 LTS "Trusty Tahr" [amd64]
- Mint Linux 17 [amd64]
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. Der folgende Absatz beschreibt die Installation der Abhängigkeiten für verschiedene Linux Distributionen:
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 autopoint
Fehlen 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: wget
andere 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.git
Wechselt nun in das opendreambox
Verzeichnis mit folgendem Befehl.
cd opendreambox
Entwicklungsumgebung 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 update
git 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 help
Wunschimage 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=dm8000
Images und Pakete
Die erstellten Images findet ihr im opendreambox
Verzeichnis unter folgendem Pfad.
/opendreambox/tmp/deploy/images
Pakete (ipk) sind im folgenden Verzeichnis zu finden.
/opendreambox/tmp/deploy/ipk
Entwicklungsumgebung aktualisieren
Aktualisiert die Entwicklungsumgebung mit folgendem Befehl in eurem opendreambox
Verzeichnis. So werden neue Änderungen im git in euer Dreambox SDK einfliessen.
make update
Aktuelles Image erstellen
Startet die Imageerstellung für eure Wunschbox (z.B. DM 8000 HD PVR) mit dem Befehl:
make image MACHINE=dm8000
Pakete 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/dm8000
Das Erstellen von einem Paket erfolgt mit dem Befehl.
bitbake $Paketname
Für die OpenSSH Suite ist der Befehl:
bitbake openssh
Die erstellten Pakete sind nach erfolgreichem Bauen im folgenden Verzeichnis zu finden.
/opendreambox/tmp/deploy/ipk
Verfügbare Rezepte anzeigen
Die verfügbaren Rezepte für das Bauen mittels bitbake
können mit folgendem Befehl aufgelistet werden.
bitbake -s
Da die Liste relativ lang ist, könnt ihr das Suchergebnis einschränken:
bitbake -s | grep $wunschpaket
Wird 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.
Tipps und Tricks
OE 2.0 auf neueren Ubuntu Versionen bauen
Wollt ihr auf aktuellen Ubuntu Versionen Images bauen oder Programme kompilieren, dann schaut in diesen Thread rein.