Overview of Project Purpose

The Yocto Build System is designed to produce a tailored Linux distribution for the embedded platforms. Using Yocto Project and KAS, this system automates the assembly of a custom Linux image that includes hardware support, system services, and applications needed by devices.

Key aspects of the project include:

  • Custom Image for OTTO Platforms: A Linux image optimized for otto hardware, including bootloader, kernel, and user-space packages specific to the device.

  • Build System (Yocto/KAS): KAS is used to define and manage the build configuration via YAML files. It sets up the Yocto build environment (Poky, OpenEmbedded layers, etc.) and generates the final image.

  • OTA Updates (SWUpdate): The distribution supports over-the-air updates using SWUpdate (see OTA Support section), allowing devices to receive firmware updates remotely.

  • Container Support (LXC): The Linux image includes LXC container support (via the meta-virtualization layer) so that additional applications can be deployed in containers.

Project Structure:

The repository is organized into several directories:

  • distro/: Distribution and policy configuration.

  • feature/: Optional features configuration.

  • layers/: Layer definitions (YAML configs referencing layers like Poky, meta-oe, meta-otto, etc.).

  • machine/: Machine configuration.

  • mirror/: Local mirror configuration.

  • product/: Product-specific configurations.

  • site/: (Placeholder)

  • template/: (Placeholder)

Refer to the Layers and Configuration sections for detailed descriptions of each component.