From 189851f9d6c32f32a236338c35d2a911a91f2282 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Mon, 19 Feb 2018 15:40:19 -0800 Subject: getting-started: Added section on BB workflow New section called "The OpenEmbedded Build System Workflow". This section presents the tried and true flow block figure that shows what happens when you fire off a build. (From yocto-docs rev: 5b4313ba87a2ccd139f2b980f4cf097700421cf4) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- .../getting-started-development-environment.xml | 120 +-------------------- .../getting-started/getting-started-yp-intro.xml | 75 ++++++++++++- 2 files changed, 72 insertions(+), 123 deletions(-) (limited to 'documentation/getting-started') diff --git a/documentation/getting-started/getting-started-development-environment.xml b/documentation/getting-started/getting-started-development-environment.xml index 5d6491c51b..54a607f6ab 100644 --- a/documentation/getting-started/getting-started-development-environment.xml +++ b/documentation/getting-started/getting-started-development-environment.xml @@ -7,8 +7,7 @@ This chapter takes a look at the Yocto Project development - environment and also provides a detailed look at what goes on during - development in that environment. + environment. The chapter provides Yocto Project Development environment concepts that help you understand how work is accomplished in an open source environment, which is very different as compared to work accomplished in a closed, @@ -21,123 +20,6 @@ syntax. -
- Introduction - - - The Yocto Project is an open-source collaboration project whose - focus is for developers of embedded Linux systems. - Among other things, the Yocto Project uses an - OpenEmbedded build system. - The build system, which is based on the OpenEmbedded (OE) project and - uses the - BitBake tool, - constructs complete Linux images for architectures based on ARM, MIPS, - PowerPC, x86 and x86-64. - - Historically, the OpenEmbedded build system, which is the - combination of BitBake and OE components, formed a reference - build host that was known as - "Poky" - (Pah-kee). - The term "Poky", as used throughout the Yocto Project Documentation - set, can have different meanings. - - The Yocto Project provides various ancillary tools for the embedded - developer and also features the Sato reference User Interface, which - is optimized for stylus-driven, low-resolution screens. - - - - - - - - - - Here are some highlights for the Yocto Project: - - - - - Provides a recent Linux kernel along with a set of system - commands and libraries suitable for the embedded - environment. - - - Makes available system components such as X11, GTK+, Qt, - Clutter, and SDL (among others) so you can create a rich user - experience on devices that have display hardware. - For devices that do not have a display or where you wish to - use alternative UI frameworks, these components need not be - installed. - - - Creates a focused and stable core compatible with the - OpenEmbedded project with which you can easily and reliably - build and develop. - - - Fully supports a wide range of hardware and device emulation - through the Quick EMUlator (QEMU). - - - Provides a layer mechanism that allows you to easily extend - the system, make customizations, and keep them organized. - - - - - You can use the Yocto Project to generate images for many kinds - of devices. - As mentioned earlier, the Yocto Project supports creation of - reference images that you can boot within and emulate using QEMU. - The standard example machines target QEMU full-system - emulation for 32-bit and 64-bit variants of x86, ARM, MIPS, and - PowerPC architectures. - Beyond emulation, you can use the layer mechanism to extend - support to just about any platform that Linux can run on and that - a toolchain can target. - - - - Another Yocto Project feature is the Sato reference User - Interface. - This optional UI that is based on GTK+ is intended for devices with - restricted screen sizes and is included as part of the - OpenEmbedded Core layer so that developers can test parts of the - software stack. - - - - While the Yocto Project does not provide a strict testing framework, - it does provide or generate for you artifacts that let you perform - target-level and emulated testing and debugging. - Additionally, if you are an - Eclipse IDE user, you can - install an Eclipse Yocto Plug-in to allow you to develop within that - familiar environment. - - - - By default, using the Yocto Project to build an image creates a Poky - distribution. - However, you can create your own distribution by providing key - Metadata. - A good example is Angstrom, which has had a distribution - based on the Yocto Project since its inception. - Other examples include commercial distributions like - Wind River Linux, - Mentor Embedded Linux, - ENEA Linux - and others. - See the "Creating Your Own Distribution" - section in the Yocto Project Development Tasks Manual for more - information. - -
-
Open Source Philosophy diff --git a/documentation/getting-started/getting-started-yp-intro.xml b/documentation/getting-started/getting-started-yp-intro.xml index 964a500ad4..caabb13c10 100644 --- a/documentation/getting-started/getting-started-yp-intro.xml +++ b/documentation/getting-started/getting-started-yp-intro.xml @@ -72,7 +72,11 @@ Most ODMs, OSVs, and chip vendors create and supply BSPs that support their hardware. If you have custom silicon, you can create a BSP - that supports that architecture. + that supports that architecture. + + Aside from lots of architecture support, the + Yocto Project fully supports a wide range of device + emulation through the Quick EMUlator (QEMU). Images and Code Transfer Easily: @@ -104,6 +108,13 @@ embedded devices. You only add the feature support or packages that you absolutely need for the device. + For devices that have display hardware, you can use + available system components such as X11, GTK+, Qt, + Clutter, and SDL (among others) to create a rich user + experience. + For devices that do not have a display or where you + want to use alternative UI frameworks, you can choose + to not install these components. Comprehensive Toolchain Capabilities: @@ -130,7 +141,9 @@ You can incrementally add these grouped functionalities to your project as needed. Using layers to isolate and group functionality - reduces project complexity and redundancy. + reduces project complexity and redundancy, allows you + to easily extend the system, make customizations, + and keep functionality organized. Supports Partial Builds: @@ -736,6 +749,9 @@ It is a working example of how to build your own custom Linux distribution from source. + You can read more about Poky in the + "Reference Embedded Distribution (Poky)" + section.
@@ -1071,9 +1087,60 @@ -
- The Yocto Project Workflow +
+ The OpenEmbedded Build System Workflow + + + The OpenEmbedded build system uses a "workflow" to accomplish + image and SDK generation. + The following figure overviews that workflow: + + Following is a brief summary of the "workflow": + + + Developers specify architecture, policies, patches and + configuration details. + + + The build system fetches and downloads the source code + from the specified location. + The build system supports standard methods such as tarballs + or source code repositories systems such as Git. + + + Once downloaded, the build system extracts the sources + into a local work area where patches are applied and + common steps for configuring and compiling the software + are run. + + + The build system then installs the software into a + temporary staging area where the binary package format you + select (DEB, RPM, or IPK) is used to roll up the software. + + + Different QA and sanity checks run throughout entire + build process. + + + After the binaries are created, the build system + generates a binary package feed that is used to create + the final root file image. + + + The build system generates the file system image and a + customized Extensible SDK (eSDSK) for application + development in parallel. + + + + + For a very detailed look at this workflow, see the + "Development Concepts" + section in the Yocto Project Concepts Manual. +
-- cgit v1.2.3-54-g00ecf