From ec27a7873bf3ddeb18155eb6bdde5eaab5990d12 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Fri, 28 Mar 2014 17:21:30 -0600 Subject: ref-manual: Read-through edits to "Closer Look" chapter. Minor fixes throughout. (From yocto-docs rev: d44ae0da21d84acbe1556824e228c7ab0af1ba2c) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/closer-look.xml | 91 ++++++++++++++++++++------------ 1 file changed, 56 insertions(+), 35 deletions(-) (limited to 'documentation/ref-manual') diff --git a/documentation/ref-manual/closer-look.xml b/documentation/ref-manual/closer-look.xml index 77ab4d2633..0699ccd30f 100644 --- a/documentation/ref-manual/closer-look.xml +++ b/documentation/ref-manual/closer-look.xml @@ -33,13 +33,14 @@ Source Files: Upstream releases, local projects, and SCMs. Build System: - Processes under the control of BitBake. + Processes under the control of + BitBake. This block expands on how BitBake fetches source, applies patches, completes compilation, analyzes output for package generation, creates and tests packages, generates images, and generates cross-development tools. Package Feeds: - Directories containing output packages (rpm, deb or ipk), + Directories containing output packages (RPM, DEB or IPK), which are subsequently used in the construction of an image or SDK, produced by the build system. These feeds can also be copied and shared using a web server or @@ -48,8 +49,6 @@ enabled. Images: Images produced by the development process. - Where do they go? - Can you mess with them (i.e. freely delete them or move them?). Application Development SDK: Cross-development tools that are produced along with an image @@ -545,7 +544,7 @@ The canonical method through which to include a local project is to use the - externalsrc.bbclass + externalsrc class to include that local project. You use either the local.conf or a recipe's append file to override or set the @@ -555,7 +554,7 @@ For information on how to use the - externalsrc.bbclass, see the + externalsrc class, see the "externalsrc.bbclass" section. @@ -639,13 +638,13 @@ Package feeds are an intermediary step in the build process. - BitBake generates packages whose type is defined by the + BitBake generates packages whose types are defined by the PACKAGE_CLASSES variable. Before placing the packages into package feeds, the build process validates them with generated output quality assurance checks through the - insane.bbclass + insane class. @@ -674,13 +673,22 @@ BitBake - The OpenEmbedded build system uses BitBake to produce images. + The OpenEmbedded build system uses + BitBake + to produce images. You can see from the general Yocto Project Development Environment figure, the BitBake area consists of several functional areas. This section takes a closer look at each of those areas. + + Separate documentation exists for the BitBake tool. + See the + BitBake User Manual + for reference material on BitBake. + +
Source Fetching @@ -713,31 +721,34 @@ You can see the variables that define these directories by looking at the figure: - TMPDIR + TMPDIR - + The base directory where the OpenEmbedded build system + performs all its work during the build. - PACKAGE_ARCH + PACKAGE_ARCH - + The architecture of the built package or packages. - TARGET_OS + TARGET_OS - + The operating system of the target device. - PN + PN - + The name of the built package. - PV + PV - + The version of the recipe used to build the package. - PR + PR - + The revision of the recipe used to build the package. - WORKDIR + WORKDIR - + The location within TMPDIR where + a specific package is built. - S + S - + Contains the unpacked source files for a given recipe. - - - Briefly, the S directory contains the - unpacked source files for a recipe. - The WORKDIR directory is where all the - building goes on for a given recipe. -
@@ -802,8 +813,9 @@ to source code configuration for the source code being built by the recipe. - If you are using - autotools.bbclass, + If you are using the + autotools + class, you can add additional configuration options by using the EXTRA_OECONF variable. @@ -861,21 +873,30 @@ Working, staged, and intermediate results of the analysis and package splitting process use these areas: - PKGD + PKGD - + The destination directory for packages before they are + split. - PKGDATA_DIR + PKGDATA_DIR - + A shared, global-state directory that holds data + generated during the packaging process. - PKGDESTWORK + PKGDESTWORK - + A temporary work area used by the + do_package task. - PKGDEST + PKGDEST - + The parent directory for packages after they have + been split. The FILES variable defines the files that go into each package in PACKAGES. If you want details on how this is accomplished, you can - look at - package.bbclass. + look at the + package + class. @@ -954,8 +975,8 @@ If you are using a read-only root filesystem, all the post installation scripts must succeed during the - package installation phase since the root filesystem cannot be - written into. + package installation phase since the root filesystem is + read-only. @@ -1075,7 +1096,7 @@ root filesystem that are ready to boot on a target device. You can see from the general Yocto Project Development Environment figure - that BitBake output in part consists of images. + that BitBake output, in part, consists of images. This section is going to look more closely at this output: -- cgit v1.2.3-54-g00ecf