From ae06e04cd225d2c2147ca355e2dd39b4f6cf6775 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Mon, 29 Jan 2018 15:18:03 -0800 Subject: documentation: Created new "Getting Started" manual. Creation involved removing the overview-manual and replacing it with the getting-started manual. All links to the string "&YOCTO_DOCS_OVERVIEW_URL" had to be replaced with "&YOCTO_DOCS_GS_URL" across the entire YP manual set. I renamed files used to create the manual with prefixes suited for the new manual name, which is "Getting Started With Yocto Project". The style sheet for the new manual needed updating to display the new .PNG image for the title page. The mega-manual file had to be updated to include the files. The mega-manual.sed file had to be updated to include the new manual and not use the overview manual. (From yocto-docs rev: 6c7abf9192390121000f577d6c98f259d290d15d) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- .../html/getting-started/shared-state-cache.html | 93 ++++++++++++++++++++++ 1 file changed, 93 insertions(+) create mode 100644 documentation/getting-started/eclipse/html/getting-started/shared-state-cache.html (limited to 'documentation/getting-started/eclipse/html/getting-started/shared-state-cache.html') diff --git a/documentation/getting-started/eclipse/html/getting-started/shared-state-cache.html b/documentation/getting-started/eclipse/html/getting-started/shared-state-cache.html new file mode 100644 index 0000000000..c5c6be04a3 --- /dev/null +++ b/documentation/getting-started/eclipse/html/getting-started/shared-state-cache.html @@ -0,0 +1,93 @@ + + + +3.3. Shared State Cache + + + + + + + +
+

+3.3. Shared State Cache

+

+ By design, the OpenEmbedded build system builds everything from + scratch unless BitBake can determine that parts do not need to be + rebuilt. + Fundamentally, building from scratch is attractive as it means all + parts are built fresh and there is no possibility of stale data + causing problems. + When developers hit problems, they typically default back to + building from scratch so they know the state of things from the + start. +

+

+ Building an image from scratch is both an advantage and a + disadvantage to the process. + As mentioned in the previous paragraph, building from scratch + ensures that everything is current and starts from a known state. + However, building from scratch also takes much longer as it + generally means rebuilding things that do not necessarily need + to be rebuilt. +

+

+ The Yocto Project implements shared state code that supports + incremental builds. + The implementation of the shared state code answers the following + questions that were fundamental roadblocks within the OpenEmbedded + incremental build support system: +

+
    +
  • + What pieces of the system have changed and what pieces have + not changed? +

  • +
  • + How are changed pieces of software removed and replaced? +

  • +
  • + How are pre-built components that do not need to be rebuilt + from scratch used when they are available? +

  • +
+

+

+

+ For the first question, the build system detects changes in the + "inputs" to a given task by creating a checksum (or signature) of + the task's inputs. + If the checksum changes, the system assumes the inputs have changed + and the task needs to be rerun. + For the second question, the shared state (sstate) code tracks + which tasks add which output to the build process. + This means the output from a given task can be removed, upgraded + or otherwise manipulated. + The third question is partly addressed by the solution for the + second question assuming the build system can fetch the sstate + objects from remote locations and install them if they are deemed + to be valid. +

+
+

Note

+ The OpenEmbedded build system does not maintain + PR + information as part of the shared state packages. + Consequently, considerations exist that affect maintaining + shared state feeds. + For information on how the OpenEmbedded build system + works with packages and can track incrementing + PR information, see the + "Automatically Incrementing a Binary Package Revision Number" + section in the Yocto Project Development Tasks Manual. +
+

+

+

+ The rest of this section goes into detail about the overall + incremental build architecture, the checksums (signatures), shared + state, and some tips and tricks. +

+
+ -- cgit v1.2.3-54-g00ecf