Cookbook: Difference between revisions

From Yocto Project
Jump to navigationJump to search
Line 37: Line 37:


* [[Cookbook:Example:Adding_packages_to_your_OS_image|Adding packages to your OS image]]
* [[Cookbook:Example:Adding_packages_to_your_OS_image|Adding packages to your OS image]]
* [[Cookbook:Example:Creating_and_updating_recipes_with_devtool|Creating and updating recipes with devtool]]
* [[Cookbook:Example:Application Development with Extensible SDK]]
* Understanding the fetch/unpack/configure/build/package pipeline
* Understanding the fetch/unpack/configure/build/package pipeline
* Locating and understanding failures
* Locating and understanding failures
Line 43: Line 43:
* Intro to [[Writing Recipes|writing recipes]]
* Intro to [[Writing Recipes|writing recipes]]
* [[Package management]]
* [[Package management]]
* [[Application Development|Application development]] (Test Kitchen)  
* [[Application Development with Legacy SDK]] (Test Kitchen)  
* [[Cookbook:Example:Configuring_your_kernel|Configuring your kernel]]
* [[Cookbook:Example:Configuring_your_kernel|Configuring your kernel]]
* What else ... ?
* What else ... ?

Revision as of 18:33, 26 August 2016

[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

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: