Central is an integration of various components to form a complete prepackaged build system and development environment derived from Poky. Central is another word for concentration, inner, or main. This points exactly to the goals here.
Central defines two different working domains that are all common for a generic embedded device.
+---------------------------+ |{s} +---------------+ | | |{o} +-----+ | | | CEDI | |{d} | | | | | CORE | BSP | | | | | | | | | | | +-----+ | | | +---------------+ | +---------------------------+
- Central Distro (CEDI)
-
The Li-Pro.Net Central Distribution for demonstartion purposes.
- Core Components (CORE)
-
The CORE provides packages and features to extend the Yocto core functionality with the new Central distribution and more differentiated definitions for the image build process.
- BSP Components (BSP)
-
The BSP provides adaptions and corrections of given external Yocto BSP layer.
The scope of the Yocto integration includes meta-cedi
and meta-lpn-bsp
of this multi layer project.
-=------------------------------------------------------------------------------ BitBake priority 7 /---------------\ | meta-qt5 | \-------+-------/ | -=--------------------------------------------- | -=--------------------------- | BitBake priority 6 V /----------------\ /---------------\ /---------------\ /---------------\ | meta-lpn-bsp +-->| meta-cedi +-->: meta(central) :<--+ meta-oe : \----------------/ \-------+-------/ \-------+-------/ \-------+-------/ | : -=------------------------- | -=-------------- | -=--------------------------- | | BitBake priority 5 V | /----------------\ /---------------\ | | meta-yocto-bsp +-->| meta-poky | | \----------------/ \-------+-------/ | | | V | /---------------\ | : meta(yocto) +<----------/ \---------------/ Legend /-\ A needs B /=\ /-\ C needs D /-\ |A+---------->+B| |C+<--------->+D| \-/ \-/ \-/ D needs C \-/ A, C, and D are in scope, provided by this project. B is out of scope, provided by external project.
- Concepts
-
Yocto maintains machines, distributions and images. A distribution is kind of superset of features that are deployable to various machines by one or multiple images. Features can be used to describe an image, a machine or a distribution. They can grouped into
FEATURE_PACKAGES
, that are mapped to package groups. Package groups provide the container where packages fall in.
The Central Project is using distro features as shipped with the Yocto Project metadata. There are some features that are part of all images if:
-
the machine supports that features
-
the feature is not explicitly excluded by the image definition
Those features are declared in the Central distribution and are available via the package feed.
Feature | Meaning |
---|---|
acl |
Include ACL file attribute support. |
alsa |
Include ALSA support (OSS compatibility kernel modules installed if available). |
api-documentation |
Enables generation of API documentation during recipe
builds. The resulting documentation is added to SDK
tarballs when the |
bluetooth |
Include bluetooth support (integrated BT only). |
cramfs |
Include CramFS support. |
directfb |
Include DirectFB support. |
ext2 |
Include tools for supporting for devices with internal HDD or Microdrive for storing files (instead of Flash only devices). |
ipsec |
Include IPSec support. |
ipv6 |
Include IPv6 support. |
keyboard |
Include keyboard support (e.g. keymaps will be loaded during boot). |
largefile |
Include large file support (enabled per default). |
ldconfig |
Include support for |
multiarch |
Include multiple architecture support (experimental). |
nfs |
Include NFS client support (for mounting NFS exports on device). |
opengl |
Include the Open Graphics Library, which is a cross-language, multi-platform application programming interface used for rendering two and three-dimensional graphics. |
pci |
Include PCI bus support. |
pcmcia |
Include PCMCIA/CompactFlash support. |
ppp |
Include PPP dialup support. |
ptest |
Enables building the package tests where supported by individual recipes. For more information on package tests, see the "Testing Packages With ptest" section in the Yocto Project Development Tasks Manual. |
smbfs |
Include SMB networks client support (for mounting Samba/Microsoft Windows shares on device). |
systemd |
Include support for this |
usbgadget |
Include USB Gadget Device support (for USB networking, serial, storage). |
usbhost |
Include USB Host support (allows to connect external keyboard, mouse, storage, network etc). |
wayland |
Include the Wayland display server protocol and the library that supports it. |
wifi |
Include WiFi support (integrated only). |
xattr |
Include extended file attribute support. |
x11 |
Include the X server and libraries. |
The Central Project is using image features as shipped with the Yocto Project metadata and introduce new images features as shown below. The image features are relevant for production and development.
Feature | Meaning |
---|---|
base-central |
Installs packages that are prerequisite to all the other
production features and is configured to every Central image
intrinsically. base-central is not a real image feature
and can not present explicitly in
|
package-management |
Installs package management tools and preserves the package manager database. |
splash |
Enables showing a splash screen during boot. By default,
this screen is provided by |
x11-base |
Installs the X server with a minimal environment. It is
depending directly on the x11 feature that have to
contain in |
Feature | Meaning |
---|---|
allow-empty-password |
Allows Dropbear and OpenSSH to accept root logins and logins from accounts having an empty password string. |
debug-tweaks |
Makes an image suitable for development (e.g. allows root logins without passwords and enables post-installation logging). See the features allow-empty-password, empty-root-password, post-install-logging in the Yocto Project Reference Manual for additional information. |
dev-pkgs |
Installs development packages (headers and extra library links) for all packages installed in a given image. |
empty-root-password |
Sets the root password to an empty string, which allows logins with a blank password. |
post-install-logging |
Enables logging postinstall script runs to the
|
eclipse-debug |
Provides Eclipse remote debugging support. |
qt5-sdk |
Introduced and only usable by Central:
Installs a full Qt5 SDK and demo application that runs on
the device. The behavior is similar to the class
|
ssh-server-openssh |
Installs the OpenSSH SSH server, which is more
full-featured than Dropbear. Note that if both the
OpenSSH SSH server and the Dropbear minimal SSH server
are present in |
tools-cross |
Introduced and only usable by Central: Installs basic cross development tools.
|
tools-debug |
Installs debugging tools such as
|
tools-profile |
Installs profiling tools such as
|
tools-sdk |
Installs a full SDK that runs on the device.
|
tools-testapps |
Installs device testing tools (e.g. touchscreen debugging).
|
Image Name | Formal Description | |
---|---|---|
central-image-minimal |
A small image just capable of allowing an Central device to boot. It is a direct derivation of the Yocto core image with Central specific enhancements to enable booting. require ${COREBASE}/meta/recipes-core/images/core-image-minimal.bb
IMAGE_INSTALL += "packagegroup-central-boot ${CENTRAL_IMAGE_EXTRA_INSTALL}" |
|
central-image-minimal-dev |
A small image just capable of allowing an Central device to boot and is suitable for development work. require central-image-minimal.bb |
|
Yocto image features |
Central image features |
|
|
||
central-image-minimal-mtdutils |
A small image capable of booting a Central device with support for the Minimal Memory Technology Devices (MTD) Utilities, which let the user interact with the MTD subsystem in the kernel to perform operations on flash devices. require central-image-minimal.bb |
|
Yocto image features |
Central image features |
|
|
||
central-image-minimal-initramfs |
A small image capable of booting a Central device. The kernel includes the Minimal RAM-based Initial Root Filesystem (initramfs), which finds the first 'init' program more efficiently. It is a direct derivation of the Yocto core initramfs image. require ${COREBASE}/meta/recipes-core/images/core-image-minimal-initramfs.bb |
Image Name | Formal Description | |
---|---|---|
central-image-base |
A console-only image that fully supports the target device hardware provided by Central. |
|
Yocto image features |
Central image features |
|
|
||
central-image |
A product image capable of allowing an Central device to boot in graphical mode and provides full feature support. require central-image-base.bb |
|
Yocto image ← distro features |
Central image features |
|
|
Image Name | Formal Description | |
---|---|---|
central-image-dev |
A console-only image that fully supports the target device hardware for development provided by Central. |
|
Yocto image features |
Central image features |
|
|
|
|
central-dev-image |
A developer image just capable of allowing an Central device to boot in graphical mode and is suitable for full featured development work. require central-image-dev.bb
require central-image.bb |
|
Yocto image features |
Central image features |
|
|
Image Name | Formal Description | |
---|---|---|
central-image-debug |
A console-only image that fully supports the target device hardware for debugging development provided by Central. |
|
Yocto image features |
Central image features |
|
|
|
|
central-debug-image |
A developer image just capable of allowing an Central device to boot in graphical mode and is suitable for full featured debugging and development work. require central-image-debug.bb
require central-image.bb |
|
Yocto image features |
Central image features |
|
|
To contribute to the setup you should send a pull request to this GitHub project or send the patches for review to the authors mailing address.
- Issue tracker
- Pull requests
- Source code
When creating patches, please use something like:
$: git format-patch -s --subject-prefix='lpn-central][PATCH' origin
When sending patches, please use something like:
$: git send-email --to [email protected] <generated patch>
To contribute to the development of this BSP and/or submit patches for new boards please send the patches against the respective project as informated bellow:
The following layers are included on this release:
poky |
base build system and metadata |
|
Path |
|
|
GIT |
git://git.yoctoproject.org/poky |
|
Project |
||
Mailing list |
||
meta-mingw |
collection of extra packages and features for MinGW based SDKs |
|
Path |
|
|
GIT |
git://git.yoctoproject.org/meta-mingw |
|
Project |
||
Mailing list |
https://lists.yoctoproject.org/listinfo/yocto |
|
meta-openembedded |
collection of OpenEmbedded extra packages and features |
|
Path |
|
|
GIT |
git://github.com/openembedded/meta-openembedded.git |
|
Project |
https://github.com/openembedded/meta-openembedded |
|
Mailing list |
http://lists.openembedded.org/mailman/listinfo/openembedded-devel |
|
meta-qt5 |
support for Qt5 extra packages and features |
|
Path |
|
|
GIT |
git://github.com/meta-qt5/meta-qt5.git |
|
Project |
||
Mailing list |
http://lists.openembedded.org/mailman/listinfo/openembedded-devel |