Core Components

From Yocto Project
Jump to navigationJump to search

Summary

These are the core components of the Yocto Project with a brief summary of each one.

Core Tools

The core of our build system, most things build upon these foundations

  • Bitbake: the core task execution engine
  • OE-Core: the metadata and glue which binds the system together: how to build software, how to separate/package it, sanity test it, handle prebuilt objects, QA it, etc.
  • Devtool: A wrapper for core tools that simplifies common tasks (e.g. automatically creating layer and recipe from source code project)

Board Support Packages

Board Support Packages

  • Recipes for Linux Kernel (linux-yocto) - LTS and Newest available
  • Genericx86, Beaglebone, NXP MPC8315E and MIPS EdgeRouter

Content

Comprises everything above the toolchain, such as systemd, X11, Wayland, PulseAudio, Mesa, GTK+

Toaster

Toaster is a Web Interface to the core build system, providing a point-and-click interface to customize images.

  • Allows users to add or remove packages interactively and manages the dependencies.
  • Provides a searchable UI for users to search and add via a UI the large set (247 layers on master and > 5000 recipes) of community provided recipes/layers
  • Provides a searchable list of bitbake variables and lets you view what files caused them to change as part of the bitbake rules parsing. This is a significant issue in early YP recipe debugging.
  • Supports the develop/debug iterative cycle

Extensible SDK

Pre-packaged SDK allowing app / component developers to harness the power of Yocto Project tools to build, package, test and debug their code without the hassle of setting up a full build environment. Through the power if devtool it can add any required libraries, build an application, package it, deploy it to the target or re-build the entire image with the application and other changes incorporated. Allows you to take what you’ve developed in the SDK and bring it to production image easily. Will tie into CROPS, providing cross-platform support & IDE integration

CROPS (CROss PlatformS)

CROPS opens up the power of the Yocto Build Environment to Windows and Mac developers by allowing cross platform development.

  • Provides access to powerful YP tool suite (bitbake,toaster,esdk,devtool) from Windows. Mac, & Linux hosts in an identical way.
  • Leverages Linux based tools in addition to the cross compiler, e.g. bitbake, image creator, kernel menuconfig, perf, oprofile,
  • Provides an evolutionary path to embrace the cloud as part of the solution
  • Creates a reproducible state for development and testing which benefits Linux developers as much as Windows or Mac users
    • Makes "it worked for me" a much less likely bug response as the full environment can be replicated easily except the kernel.
  • Encapsulates complex host setups into managed, isolated containers (Docker)

QA

Keeping Yocto Project releases sane and on schedule by building-up an open QA, to be capable of replicate testing anywhere. Create test content that validates from the user's point of view with heavy use of automation for SW and HW testing

Miscellaneous

  • Layer Index
  • Error Reporting System
  • Recipe Reporting System
  • Automatic Upgrade Helper
  • Patchwork + Patchtest
  • QA Architecture
  • Autobuilder maintenance, build and release activities for YP, IP scan, etc.