Build images and compile programs with OE 2.2: Unterschied zwischen den Versionen
Mfgeg (Diskussion | Beiträge) |
|||
Zeile 77: | Zeile 77: | ||
An image can be build for the following Dreamboxes. | An image can be build for the following Dreamboxes. | ||
* dm500hd, dm500hdv2, dm800se, dm800sev2, dm7020hd, dm7020hdv2, dm7080, dm8000 | * dm500hd, dm500hdv2, dm800se, dm800sev2, dm7020hd, dm7020hdv2, dm7080, dm8000 | ||
− | |||
− | |||
Start the building process with the following command for the desired [[Dreambox-Varianten|Dreambox type]] (e.g. for the DM 7080 HD). The download and the subsequent build of the image and packages can take a while. So please, be patient. The building process takes, depending on the resources, several hours and for every image approximately 38GB is needed. | Start the building process with the following command for the desired [[Dreambox-Varianten|Dreambox type]] (e.g. for the DM 7080 HD). The download and the subsequent build of the image and packages can take a while. So please, be patient. The building process takes, depending on the resources, several hours and for every image approximately 38GB is needed. |
Version vom 21. September 2014, 10:34 Uhr
- in Deutsch | - in English |
This article requires some in-depth experience with Dreambox / Linux and is for advanced users. |
The article describes the configuration of the OE 2.2 development environment under Linux, to build images and programs for a Dreambox. Supported models are:
- DM 500 HD
- DM 500 HD V2
- DM 800 HD SE
- DM 800 HD SE V2
- DM 7020 HD
- DM 7020 HD V2
- DM 7080 HD
- DM 8000 HD PVR
At this moment the images will only run on the DM 7080 HD, and not on the other listed Dreamboxes! |
Inhaltsverzeichnis
Supported operating systems
For the setup of the development environment linux is mandatory. Theoretically it's possible different distros. But only some are able to build OpenDreambox. The following distros can handle this ;)
- Debian 7.6 "Wheezy" [i386, amd64]
- Ubuntu 14.04.1 LTS "Trusty Tahr" [amd64]
- Mint Linux 17 [amd64]
Install dependencies
The setup of the OE 2.2 development environment, and afterwards building the images and packages (deb) require some additional packages. The following sections describes the installation of the dependencies for the different Linux distros:
Ubuntu / Mint
Use the following command to install the dependencies:
sudo apt-get install git build-essential diffstat texi2html texinfo subversion chrpath cvs gawk gettext-lint autopoint
If packages are missing, the build of the image will be terminated with an error message. E.g. if wget
is not installed:
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
other distros
In Getting started of the Openembedded project the dependencies for other distros are described.
Create the development environment
Open the terminal and change the working directory, to the directory you want to use for the environment. The files of the git repository will be available in the directory opendreambox
once the following command is executed.
git clone -b dora git://git.opendreambox.org/git/opendreambox.git
Now you can enter the directory opendreambox
with the following command.
cd opendreambox
Update the development environment
Use the following command to update the OE 2.2 development environment (Dreambox SDK). Have some patience and wait until the update is completed. At the end you will see [*] The Dreambox SDK is now up-to-date
.
make update
git user information
Enter your email address and user name with following commands (if not done before for older OE version, e.g. OE 2.0).
git config --global user.email "you@example.com"
git config --global user.name "Your Name"
Informations about the development environment
The following command will display useful informations concerning the development environment.
make help
Build an image
An image can be build for the following Dreamboxes.
- dm500hd, dm500hdv2, dm800se, dm800sev2, dm7020hd, dm7020hdv2, dm7080, dm8000
Start the building process with the following command for the desired Dreambox type (e.g. for the DM 7080 HD). The download and the subsequent build of the image and packages can take a while. So please, be patient. The building process takes, depending on the resources, several hours and for every image approximately 38GB is needed.
make image MACHINE=dm7080
Images and packages
The images can be found in the following paths of the opendreambox
environment.
/opendreambox/build/dm7080/tmp-xxx/deploy/images
Pakete (deb) sind im folgenden Verzeichnis zu finden.
/opendreambox/build/dm7080/tmp-xxx/deploy/deb
Update the development environment
Use the following command in your opendreambox
directory to update the development environment. As a result, the changes of the git will be transfered into your local Dreambox SDK.
make update
Build an image
Start the building process with the following command for the desired Dreambox type (e.g. for the DM 7080 HD).:
make image MACHINE=dm7080
Build packages with BitBake
With the available recipes of the Dreambox SDK it's possible to use the bitbake command to create packages (*.deb). First of all, create the bitbake
environment with following commands.
Go to the opendreambox
directory before entering the command.
source bitbake.env
Open the build
directory of your Dreambox type. For the DM 7080 HD the command is:
cd build/dm7080
The build of a package is done like this:
bitbake $Package_name
For the program atftp the command is:
bitbake atftp
After the successful build, the package is available in the following directory:
/opendreambox/build/dm7080/tmp-xxx/deploy/deb
Show available recipes
The following command will display the available recipes for bitbake
.
bitbake -s
As the list is quite long, you can limit the result:
bitbake -s | grep $desired_package
If the recipe for the wanted package is found, the package can be rebuild withe the command "bitbake $package_name"
. If the package is not found, you should use a personal or modified recipe to build the package. Or you can use the Cross Compiler (cross-compile.env
Script), to compile the source code of a program / library.