Linux SDKs
Introduction
SECO Linux images are built using the Yocto Project/OpenEmbedded-core. The same build system can be used to generate SDKs specific to these images. A standard Yocto Project SDK includes:
- Cross-development toolchain containing cross-compiler, cross-linker, cross-debugger, etc.
- Native sysroot containing cross-compiler, linker and other development tools
- Target sysroot containing libraries, headers & symbols
- Environment setup script
For more information, refer to the Yocto Project documentation.
SDK Creation
Whether building an SDK for the standard SECO demo image or for your own custom image, the method of generating the SDK is the same. After building the image as described in the Compile Clea OS article, you can use bitbake to generate the SDK:
$ bitbake <image_name>-full -c populate_sdk
The generated SDK will be located at tmp/deploy/sdk/
.
The Qt SDK is already included in Embedded distro with the full compilation, so no need to include it in configuration.
SDK Installation
As the toolchain can be installed to work with either Wayland or XWayland backend,
put the wayland
or xwayland
path following your compilation settings.
Execute the generated SDK script file to initiate installation:
$ ./clea-os-embedded-[x]wayland-glibc-x86_64-seco-image-clea-os-armv8a-seco-<board>-toolchain-<version>.sh
When prompted, accept the default installation path (or enter an alternate path) for the SDK.
Application Development
Begin by changing into the SDK's installation directory and sourcing the environment script:
$ cd /opt/clea-os-embedded-[x]wayland/<version>
$ . environment-setup-armv8a-poky-linux
The newly exported environment variables expand the PATH
variable with
the bin directory of the native sysroots (containing cross compiler
etc.) and define the SDK's associated cross-development tools and
flags. To make use of this environment in development, use the
environment variables.