Cookbook
[WORK IN PROGRESS]
This Yocto Project Cookbook collects working examples of how to use the Yocto Project, filling some of the gaps between the Yocto Project Quick Start Guide and the full reference documentation. Like any cookbook, we'll include both basic and complex examples you can follow to learn about the pantry of components and files available, and about the techniques for manipulating them using Yocto Project tools.
We encourage you, the Yocto Project community, to add
- your own examples,
- pointers to training materials,
- tips,
- and any other material that may be helpful to new and experienced users of Yocto Project.
Please test all procedures before adding them to this page; and if you do see a problem or improvement, start a discussion (use the discussion tab at the top of this page) , or edit the page itself!
Base recipe
Building a basic image usually involves these steps:
1. Selecting a target BSP.
2. Selecting a Linux image type.
3. Gathering the required (dependency) packages (opencv, java
, for example): layer index is good resource.
4. Updating the layer configuration (build/conf/bblayers.conf
) to include the BSP and feature layers.
5. Updating the build configuration (build/conf/local.conf
) to set the BSP machine, including features and any licenses they require.
Add packages and doing custom configurations on your image (creating your own distribution) is where creativity and flair come in. And as with any Linux-based process, there are innumerable ways to do things... there's not always one clear "right" way... so to help you get bearings, we're attempting to organize the initial list of examples we'd like to include in our Cookbook. Those that have been written, or those that are in progress will be linked. The others are on our list to work on. (As we get more, we may regroup the organization of these topics; but for now this should work:
Cookbook Topics
- Adding packages to your OS image
- Application Development with Extensible SDK (Test Kitchen)
- Understanding the fetch/unpack/configure/build/package pipeline
- Locating and understanding failures
- [[Cookbook:Example:Understanding the
tmp/work
directory structure]] (and what goes where) - Intro to writing recipes
- Package management
- Application Development with Legacy SDK (Test Kitchen)
- Configuring your kernel
- What else ... ?
Other Links
- Quick Start Guide
- The official Yocto Project Quick Start Guide contains a step-by-step walk-through showing how to set up your environment and perform your first build
- Developer Manual: Common Tasks
- The Common Tasks section of the Yocto Project Developer Manual's documentation discusses creating layers, customizing images, writing recipes, configuring and patching the kernel, performing automated runtime testing, and more.
- Creating a Custom Embedded Linux Distribution for Any Embedded Device Presentation from ELC 2016 Dev Day
- A good overview presentation from the Linux Foundation covering many topics for creating a custom embedded Linux distribution with Yocto Project.
Here are links that were in a previous version of this Cookbook. (Some seem rather outdated that we'll need to comb through, but we wanted to keep them around for now.)
- Everything you need to know to create and maintain a Yocto BSP
- TomZ's page on how to create and maintain a Yocto Project BSP, including how to interact with the community
- Startup scripts
- How to get things to happen or start automatically: