Yocto Embedded Linux Development
The SCAiLX embedded Linux is built using Yocto which builds the standard NXP Yocto Linux BSP with some SCAiLX hardware, software and kernel modifications.
The SCAiLX Yocto source is open-source, and hosted on Github here. Customers are encouraged to customise the SCAiLX image to suite their needs or install their own custom software.
Using the Yocto SDK
Releases of SCAiLX are published together with their corresponding Yocto SDK. The Yocto SDK provides a cross-development tool-chain and libraries tailored to the contents of a specific Yocto image. This can be used to cross-compile software intended for the SCAiLX platform with minimal configuration. read more about how to use the Yocto SDK on the Yocto documentation page.
note that is is also possible to compile simpler applications on device Developing Software on SCAiLX
Customising images or adding software
If multiple changes are required to suite a customer use-case, its advised to create a new Yocto layer to house the changes.
A convenient template project was created to facilitate customers making their own SCAiLX modifications:
https://github.com/VideologyInc/scailx-customer-bsp
The template include 2 different configs:
A basic config which is just a kas config file. Using this you can add a few common packages to the image or add a Yocto define to the local.conf file.
A customer layer config. This uses the folder”my-layer” as an additional layer over SCAiLX and its layers, and allows customers to add their own recipes in this layer directory.
Modifying the template:
Simple config:
Remove the my-layer directory and my-layer.yml
Add packages to install in the image in the simple.yml file under CORE_IMAGE_EXTRA_INSTALL
In a terminal, run
kas shell
It is advised to run the fetch-all first as some of the fetch tasks may fail due to GitHub rate limiting.
bitbake scailx-ml --runall fetch
bitbake scailx-ml
Custom layer config:
rename my-layer folder and my-layer.yml to your desired layer-name.
(optionally) delete simple.yml and redirect the symbolic-link of .config.yml to your renamed file:
ln -sf -T some-other-filename.yml .config.yml
find all references to “my-layer” in files (currently on in the layer.conf file and the yml file itself) and rename them to your desired layer-name.
in a terminal, build the scailx-ml image (or your own image):
kas shell
Its advised to run the fetch-all first as some of the fetch tasks may fail due to github rate limiting.
bitbake scailx-ml --runall fetch
bitbake scailx-ml
orbitbake my-image
Refer back the to the Yocto documentation for how to add recipes or modify existing ones.