diff --git a/documentation/Makefile b/documentation/Makefile
index e3a0db4c22..90efc0542b 100644
--- a/documentation/Makefile
+++ b/documentation/Makefile
@@ -198,7 +198,8 @@ TARFILES = mega-manual.html mega-style.css figures/yocto-environment.png figures
figures/sched-wakeup-profile.png figures/sysprof-callers.png \
figures/sysprof-copy-from-user.png figures/sysprof-copy-to-user.png figures/cross-development-toolchains.png \
figures/yocto-environment-ref.png figures/user-configuration.png figures/source-input.png \
- figures/package-feeds.png figures/layer-input.png figures/images.png figures/sdk.png
+ figures/package-feeds.png figures/layer-input.png figures/images.png figures/sdk.png \
+ figures/source-fetching.png
endif
MANUALS = $(DOC)/$(DOC).html
@@ -215,7 +216,7 @@ TARFILES = ref-manual.html ref-style.css figures/poky-title.png \
figures/cross-development-toolchains.png figures/layer-input.png \
figures/package-feeds.png figures/source-input.png \
figures/user-configuration.png figures/yocto-environment-ref.png \
- figures/images.png figures/sdk.png
+ figures/images.png figures/sdk.png figures/source-fetching.png
MANUALS = $(DOC)/$(DOC).html $(DOC)/$(DOC).pdf $(DOC)/eclipse
FIGURES = figures
STYLESHEET = $(DOC)/*.css
diff --git a/documentation/mega-manual/figures/source-fetching.png b/documentation/mega-manual/figures/source-fetching.png
new file mode 100644
index 0000000000..ff8414280b
Binary files /dev/null and b/documentation/mega-manual/figures/source-fetching.png differ
diff --git a/documentation/ref-manual/figures/source-fetching.png b/documentation/ref-manual/figures/source-fetching.png
new file mode 100644
index 0000000000..ff8414280b
Binary files /dev/null and b/documentation/ref-manual/figures/source-fetching.png differ
diff --git a/documentation/ref-manual/technical-details.xml b/documentation/ref-manual/technical-details.xml
index 400bbd6e4e..a3dd6f0cb0 100644
--- a/documentation/ref-manual/technical-details.xml
+++ b/documentation/ref-manual/technical-details.xml
@@ -961,6 +961,77 @@
+
+
+ BitBake
+
+
+ The OpenEmbedded build system uses BitBake to produce images.
+ You can see from the
+ Yocto Project Development Environment
+ figure, the BitBake area consists of several functional areas.
+ This section takes a closer look at each of those areas.
+
+
+
+ Source Fetching
+
+
+ The first stages of building a recipe are to fetch and unpack
+ the source code:
+
+
+
+
+ The do_fetch and
+ do_unpack tasks fetch the source files
+ and unpack them into a working directory.
+ By default, everything is accomplished in the
+ Build Directory,
+ which has a defined structure.
+ For additional general information on the Build Directory,
+ see the
+ "build/"
+ section.
+
+
+
+ Unpacked source source files are pointed to by the
+ S variable.
+ Each recipe has an area in the Build Directory where the
+ unpacked source code resides.
+ The name of directory for any given recipe is defined from
+ several different variables.
+ You can see the variables that define these directories
+ by looking at the figure:
+
+ TMPDIR
+
+ PACKAGE_ARCH
+
+ TARGET_OS
+
+ PN
+
+ PV
+
+ PR
+
+ WORKDIR
+
+ S
+
+
+
+
+
+ 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.
+
+
+