1. ELDK 5.1 Documentation
Table of contents:
1.1. Author
This document was written by Wolfgang Denk (wd {at} denx {dot} de).1.2. Available versions
- ELDK v5.1:
- released on Sun Dec 11, 2011
Git tag:"eldk-5.1" - ELDK v5.0:
- released on Sun May 22, 2011
Git tag:"eldk-5.0"
1.3. Supported Host Systems
ELDK v5.1 can be installed and run on any recent Linux distribution running on x86 (i686) and x86_64 systems. Note: 64-bit hosts require a compatibility layer; please see the FAQ for details.1.4. Supported Target Architectures
At the moment the following target architectures are supported:| Target Architecture | Purpose |
|---|---|
| armv4t | Generic ARM target for the ARMv4T architecture (StrongARM, ARM7TDMI and ARM9TDMI processors |
| armv5te | Generic ARM target for the ARMv5TE architecture (ARM9E, ARM10E, XScale processors) Similar to the "arm" target in older versions of the ELDK |
| armv6 | Generic ARM target for the ARMv6 architecture (ARM11 processors) |
| armv7a | Generic ARM target for the ARMv7-A architecture (Cortex-A5, -A8, -A9, -A15 processors) Similar to the "armVFP" target in older versions of the ELDK |
| mips | Generic MIPS target for the MIPS32 architecture Similar to a combination of the "mips_4KC" and "mips_4KCle" targets in older versions of the ELDK |
| powerpc | Generic PowerPC target with FPU support Similar to the "ppc_6xx" target in older versions of the ELDK |
| powerpc-softfloat | Generic PowerPC target for FPU-less systems like MPC8308 etc. Similar to the "ppc_8xx" target in older versions of the ELDK |
| powerpc-4xx | Generic PowerPC target with FPU support for PPC4xx processors, similar to the "ppc_4xxFP" target in older versions of the ELDK |
| powerpc-4xx-softfloat | Generic PowerPC target for FPU-less PPC4xx processors, similar to the "ppc_4xx" target in older versions of the ELDK |
1.5. Supported Target Configurations
ELDK v5.1 supports a number of different target configurations. These include different sets of target tools and target libraries depending on the primary usage mode of the target system. At this point of time the following configurations are available:| Image Name | Purpose |
|---|---|
| minimal | A small image just capable of allowing a device to boot. |
| minimal-mtdutils | A "minimal" image that also has support for the Minimal MTD Utilities, which let the user interact with the MTD subsystem in the kernel to perform operations on flash devices. |
| minimal-dev | A "minimal" image suitable for development work. |
| base | A console-only image that fully supports the target device hardware. |
| basic | A foundational basic image without support for X that can be reasonably used for customization. |
| core | An X11 image with simple applications such as terminal, editor, and file manager. |
| clutter | An image with support for the Open GL-based toolkit Clutter, which enables development of rich and animated graphical user interfaces. |
| lsb | A "basic" image suitable for implementations that conform to Linux Standard Base (LSB). |
| lsb-dev | A "lsb" image that is suitable for development work. |
| lsb-sdk | A "lsb" image that includes everything in meta-toolchain but also includes development headers and libraries to form a complete standalone SDK. |
| sato | An image with Sato support, a mobile environment and visual style that works well with mobile devices. The image supports X11 with a Sato theme and Pimlico applications and also contains terminal, editor, and file manager. |
| sato-dev | A "sato" image suitable for development that also includes a native toolchain and libraries needed to build applications on the device itself. The image also includes testing and profiling tools as well as debug symbols. |
| sato-sdk | A "sato" image that also includes development headers and libraries to form a complete standalone SDK. |
| qte-sdk | A Qt Embedded based image that also includes development headers and libraries to form a complete standalone SDK. |
- GMAE/Sato: This configuration is based on the
GNOME Mobile & Embedded Initiative (GMAE) software stack.
It focuses on mobile devices and provides user interfaces like
Pimlico, Clutter, Sato and other GNOME Mobile technologies.
In ELDK v5.1 this is represented by the"gmae"cross tool chain and the"sato*"target root file system packages. - QT Embedded: This configuration uses the Qt application framework.
In ELDK v5.1 this is represented by the"qte"cross tool chain and the"qte*"target root file system packages.
1.6. Download
1.6.1. Binaries
Ready-to-use binaries of ELDK v5.1 are available on our FTP server in the ftp://ftp.denx.de/pub/eldk/5.1/ directory. On the FTP server you can find:- An install script: ftp://ftp.denx.de/pub/eldk/5.1/install.sh
- For each target architecture one directory:
ftp://ftp.denx.de/pub/eldk/5.1/targets/armv5te
ftp://ftp.denx.de/pub/eldk/5.1/targets/armv6
ftp://ftp.denx.de/pub/eldk/5.1/targets/armv7a
ftp://ftp.denx.de/pub/eldk/5.1/targets/mips
ftp://ftp.denx.de/pub/eldk/5.1/targets/powerpc
ftp://ftp.denx.de/pub/eldk/5.1/targets/powerpc-softfloat - In each target directory there is:
- a file
"*.sha256"with the SHA256 checksums of all provided files - a configuration file
"target.conf"for the install script - one or more cross tool chain images
"eldk-eglibc-*-toolchain-*-5.1.tar.bz2" - one or more root file system images
"core-image-*.tar.gz"
- a file
"target.conf" file and
the images you want to install.
For example, for a installation of the GMAE/Sato configuration of the
tool chain and both the "minimal" and "sato-sdk" root file
systems for armv7a targets you would download the following files:
$ mkdir eldk-download $ cd eldk-download $ mkdir -p targets/armv7a $ wget ftp://ftp.denx.de/pub/eldk/5.1/install.sh $ cd targets/armv7a $ wget ftp://ftp.denx.de/pub/eldk/5.1/targets/armv7a/target.conf $ wget ftp://ftp.denx.de/pub/eldk/5.1/targets/armv7a/eldk-eglibc-i686-arm-toolchain-gmae-5.1.tar.bz2 $ wget ftp://ftp.denx.de/pub/eldk/5.1/targets/armv7a/core-image-minimal-generic-armv7a.tar.gz $ wget ftp://ftp.denx.de/pub/eldk/5.1/targets/armv7a/core-image-sato-sdk-generic-armv7a.tar.gzMake sure to keep the same directory structure on your system, as this is what the install script expects. Note that it is also an excellent idea to download the file with the SHA256 checksums so you can verify the integrity of your downloads using the
"sha256sum -c" command:
$ cd eldk-download/targets/armv7a $ wget ftp://ftp.denx.de/pub/eldk/5.1/targets/armv7a/armv7a.sha256 $ sha256sum -c armv7a.sha256 eldk-eglibc-i686-arm-toolchain-gmae-5.1.tar.bz2: OK core-image-minimal-generic-armv7a.tar.gz: OK core-image-sato-sdk-generic-armv7a.tar.gz: OK target.conf: OK ...
1.6.2. Source Code
The source code and all needed tools to build ELDK yourself from scratch are available from our git repository, see section 2. Git Repository Setup.1.7. Installation
In principle you can install ELDK v5.1 by just unpacking the provided tarballs. There are however a few distinctive requirements that have to be kept in mind:- The ELDK v5.1 cross tool chain packages are not relocatable and can only
be installed into their default location,
i. e. into the
"/opt/eldk-5.1/"directory.
Note: To be able to do this, you need write permissions in the"/opt/eldk-5.1/"directory. If needed, run for example the command"sudo chmod 01777 /opt/eldk-5.1/".
Note 2: The installer attempts to be clever and runs "sudo" where needed, after printing a respective warning message. - The root file system images can be installed anywhere, but superuser (root) permissions are needed to install them as they contain device files etc., and exact ownership and permissions of all files must be preserved.
- At the moment, only one target configuration can be installed on a host. This is again a consequence of the fact that the tools are not relocatable. It is possible to install into another directory but then you will have to make software 'think' that it is installed into the default location, for example by using symbolic links or bind mounts (globally visible for all users) or name spaces (may be used on a per-process base), etc. We intentionally leave this to the experienced user here
install.sh [-D] [-d <dest_dir>] [-a <host_arch>] [-s <sdk_images> ] [-r <rfs_images> ] [<target>] install.sh -l [<target>] install.sh -hOptions:
- -D:
- Dry-run: display commands, but don't actually execute them.
- -a host_arch:
- Select the SDK host architecture. Chose one of 'i686' or 'x86_64". Defaults to "i686". (at the moment only the 32 bit version of the packages is provided on the FTP server)
- -d dest_dir:
- Destination defaults to
"/opt/eldk-5.1"; you can override it here but you will need to make software 'think' that it is installed into the default location (use symlink or namespaces or ...) Please make sure to read the comments above. - -h:
- Print help message.
- -l:
- List the SDK and RFS images that are available for the selected target architecture.
- -s sdk_images:
- Select SDK image. Chose one of 'gmae', 'qte', or '-' for none. Defaults to "gmae".
- -r rfs_images:
- Select list of RFS images. Chose one or more of 'minimal', 'minimal-mtdutils', 'minimal-dev', 'base', 'basic', 'core', 'clutter', 'lsb', 'lsb-dev', 'lsb-sdk', 'sato', 'sato-dev', 'sato-sdk', 'qte-sdk', or '-' for none. Defaults to all vailable.
- target:
- selects the target architecture and defaults to
"powerpc"
1.7.1. Examples
- To install the GNOME Mobile / Sato configuration of the SDK and
the "minimal", "lsb-sdk" and "sato-sdk" root file system images
for the armv6 architecture:
$ ./install.sh -s gmae -r "lsb-sdk minimal sato-sdk" armv6 *** Installing ./targets/armv6/eldk-eglibc-i686-arm-toolchain-gmae-5.1.tar.bz2 into /opt/eldk-5.1/armv6 -------------------------------------------------------------------- NOTICE: superuser priviledges will be needed to install the root file system; make sure you have sufficient permissions. -------------------------------------------------------------------- *** Installing ./targets/armv6/core-image-lsb-sdk-generic-armv6.tar.gz into /opt/eldk-5.1/armv6/rootfs-lsb-sdk [sudo] password for wd: *** Installing ./targets/armv6/core-image-minimal-generic-armv6.tar.gz into /opt/eldk-5.1/armv6/rootfs-minimal *** Installing ./targets/armv6/core-image-sato-sdk-generic-armv6.tar.gz into /opt/eldk-5.1/armv6/rootfs-sato-sdk - To install only the cross tools (but not the root file system) for the
Qt Embedded configuration for the armv7a architecture:
$ ./install.sh -s qte -r - armv7a ...
1.8. Origin
Release 5.1 of our Embedded Linux Development Kit (ELDK) is based on Version "Yocto 1.1" (git release tag"edison-6.0")
of the Yocto Project.
The Yocto Project is an open-source collaboration project which is
driven by the Linux Foundation.
It targets x86, ARM, MIPS, and Power Architecture based systems.
The Poky platform builder is used for
development and building, which in turn is derived from and intimately
connected with the OpenEmbedded
project. | 1. ELDK 5.1 Documentation | 2. Git Repository Setup | ||||
| Home | Next | ||||
