summaryrefslogtreecommitdiffstats
path: root/documentation
diff options
context:
space:
mode:
authorScott Rifenbark <scott.m.rifenbark@intel.com>2014-06-17 15:18:53 +0300
committerRichard Purdie <richard.purdie@linuxfoundation.org>2014-06-18 10:30:50 +0100
commitd785a16dffd7788ea82ef71898b2f508fc15344c (patch)
tree2a03e6489adfc5085df7ed5001c22f25bd51ebce /documentation
parent45a1c42e7e1fd981027f0dcd9eae7a204a0d9f95 (diff)
downloadpoky-d785a16dffd7788ea82ef71898b2f508fc15344c.tar.gz
dev-manual, yocto-project-qs: New section on working with source files.
Fixes [YOCTO #5566] For the dev-manual, I created a new section called "Working with Source Files." In the section, I cover how to set up mirrors and also how to pre-fetch source using the bitbake -c fetchall <target> command. For the yocto-project-qs, I removed the mirror information in the "Super User" section, which became redundant with the new section now in the dev-manual. I also, removed the fetchall variation of the bitbake command. Both areas reference into the new section of the dev-manual now. (From yocto-docs rev: f314061e3e752d35ea85ed16a60f7f9292180921) Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'documentation')
-rw-r--r--documentation/dev-manual/dev-manual-common-tasks.xml97
-rw-r--r--documentation/yocto-project-qs/yocto-project-qs.xml68
2 files changed, 111 insertions, 54 deletions
diff --git a/documentation/dev-manual/dev-manual-common-tasks.xml b/documentation/dev-manual/dev-manual-common-tasks.xml
index 76f50345e3..0d16dbec15 100644
--- a/documentation/dev-manual/dev-manual-common-tasks.xml
+++ b/documentation/dev-manual/dev-manual-common-tasks.xml
@@ -6025,6 +6025,103 @@ Gateways via their Web Interfaces</ulink>"</emphasis>
6025 </section> 6025 </section>
6026 </section> 6026 </section>
6027 6027
6028 <section id='working-with-source-files'>
6029 <title>Working with Source Files</title>
6030
6031 <para>
6032 The OpenEmbedded build system works with source files located
6033 through the
6034 <ulink url='&YOCTO_DOCS_REF_URL;#var-SRC_URI'><filename>SRC_URI</filename></ulink>
6035 variable.
6036 When you build something using BitBake, a big part of the operation
6037 is locating and downloading all the source tarballs.
6038 For images, downloading all the source for various packages can
6039 take a significant amount of time.
6040 </para>
6041
6042 <para>
6043 This section presents information for working with source
6044 files that can lead to more efficient use of resources and
6045 time.
6046 </para>
6047
6048 <section id='setting-up-effective-mirrors'>
6049 <title>Setting up Effective Mirrors</title>
6050
6051 <para>
6052 As mentioned, a good deal that goes into a Yocto Project
6053 build is simply downloading all of the source tarballs.
6054 Maybe you have been working with another build system
6055 (OpenEmbedded or Angstrom) for which you have built up a
6056 sizable directory of source tarballs.
6057 Or, perhaps someone else has such a directory for which you
6058 have read access.
6059 If so, you can save time by adding statements to your
6060 configuration file so that the build process checks local
6061 directories first for existing tarballs before checking the
6062 Internet.
6063 </para>
6064
6065 <para>
6066 Here is an efficient way to set it up in your
6067 <filename>local.conf</filename> file:
6068 <literallayout class='monospaced'>
6069 SOURCE_MIRROR_URL ?= "file:///home/you/your-download-dir/"
6070 INHERIT += "own-mirrors"
6071 BB_GENERATE_MIRROR_TARBALLS = "1"
6072 # BB_NO_NETWORK = "1"
6073 </literallayout>
6074 </para>
6075
6076 <para>
6077 In the previous example, the
6078 <ulink url='&YOCTO_DOCS_REF_URL;#var-BB_GENERATE_MIRROR_TARBALLS'><filename>BB_GENERATE_MIRROR_TARBALLS</filename></ulink>
6079 variable causes the OpenEmbedded build system to generate
6080 tarballs of the Git repositories and store them in the
6081 <ulink url='&YOCTO_DOCS_REF_URL;#var-DL_DIR'><filename>DL_DIR</filename></ulink>
6082 directory.
6083 Due to performance reasons, generating and storing these
6084 tarballs is not the build system's default behavior.
6085 </para>
6086
6087 <para>
6088 You can also use the
6089 <ulink url='&YOCTO_DOCS_REF_URL;#var-PREMIRRORS'><filename>PREMIRRORS</filename></ulink>
6090 variable.
6091 For an example, see the variable's glossary entry in the
6092 Yocto Project Reference Manual.
6093 </para>
6094 </section>
6095
6096 <section id='getting-source-files-and-suppressing-the-build'>
6097 <title>Getting Source Files and Suppressing the Build</title>
6098
6099 <para>
6100 Another technique you can use to ready yourself for a
6101 successive string of build operations, is to pre-fetch
6102 all the source files without actually starting a build.
6103 This technique lets you work through any download issues
6104 and ultimately gathers all the source files into your
6105 download directory
6106 <ulink url='&YOCTO_DOCS_REF_URL;#structure-build-downloads'><filename>build/downloads</filename></ulink>,
6107 which is located with
6108 <ulink url='&YOCTO_DOCS_REF_URL;#var-DL_DIR'><filename>DL_DIR</filename></ulink>.
6109 </para>
6110
6111 <para>
6112 Use the following BitBake command form to fetch all the
6113 necessary sources without starting the build:
6114 <literallayout class='monospaced'>
6115 $ bitbake -c fetchall &lt;target&gt;
6116 </literallayout>
6117 This variation of the BitBake command guarantees that you
6118 have all the sources for that BitBake target should you
6119 disconnect from the Internet and want to do the build
6120 later offline.
6121 </para>
6122 </section>
6123 </section>
6124
6028 <section id="building-software-from-an-external-source"> 6125 <section id="building-software-from-an-external-source">
6029 <title>Building Software from an External Source</title> 6126 <title>Building Software from an External Source</title>
6030 6127
diff --git a/documentation/yocto-project-qs/yocto-project-qs.xml b/documentation/yocto-project-qs/yocto-project-qs.xml
index b1746aec8f..61327f567c 100644
--- a/documentation/yocto-project-qs/yocto-project-qs.xml
+++ b/documentation/yocto-project-qs/yocto-project-qs.xml
@@ -895,42 +895,14 @@
895 <para> 895 <para>
896 A good deal that goes into a Yocto Project build is simply 896 A good deal that goes into a Yocto Project build is simply
897 downloading all of the source tarballs. 897 downloading all of the source tarballs.
898 Maybe you have been working with another build system 898 Steps exist that can help you be more efficient with gathering
899 (OpenEmbedded or Angstrom) for which you have built up a sizable 899 source files.
900 directory of source tarballs. 900 For example, you can set up local mirrors that hold your
901 Or, perhaps someone else has such a directory for which you have 901 source tarballs or you can pre-fetch all your source without
902 read access. 902 initiating a build until later.
903 If so, you can save time by adding statements to your 903 For more information, see the
904 configuration file so that the build process checks local 904 "<ulink url='&YOCTO_DOCS_DEV_URL;#working-with-source-files'>Working with Source Files</ulink>"
905 directories first for existing tarballs before checking the 905 section in the Yocto Project Development Manual.
906 Internet.
907 Here is an efficient way to set it up in your
908 <filename>local.conf</filename> file:
909 <literallayout class='monospaced'>
910 SOURCE_MIRROR_URL ?= "file:///home/you/your-download-dir/"
911 INHERIT += "own-mirrors"
912 BB_GENERATE_MIRROR_TARBALLS = "1"
913 # BB_NO_NETWORK = "1"
914 </literallayout>
915 </para>
916
917 <para>
918 In the previous example, the
919 <ulink url='&YOCTO_DOCS_REF_URL;#var-BB_GENERATE_MIRROR_TARBALLS'><filename>BB_GENERATE_MIRROR_TARBALLS</filename></ulink>
920 variable causes the OpenEmbedded build system to generate tarballs
921 of the Git repositories and store them in the
922 <ulink url='&YOCTO_DOCS_REF_URL;#var-DL_DIR'><filename>DL_DIR</filename></ulink>
923 directory.
924 Due to performance reasons, generating and storing these tarballs
925 is not the build system's default behavior.
926 </para>
927
928 <para>
929 You can also use the
930 <ulink url='&YOCTO_DOCS_REF_URL;#var-PREMIRRORS'><filename>PREMIRRORS</filename></ulink>
931 variable.
932 For an example, see the variable's glossary entry in the
933 Yocto Project Reference Manual.
934 </para> 906 </para>
935 </section> 907 </section>
936 908
@@ -949,25 +921,13 @@
949 </para> 921 </para>
950 922
951 <para> 923 <para>
952 Here are some variations on the build process that could be helpful: 924 By default, BitBake aborts when it encounters an error during
953 <itemizedlist> 925 the build.
954 <listitem><para>Fetch all the necessary sources without starting 926 If you want to make sure the build continues even when BitBake
955 the build: 927 encounters an error, use this variation:
956 <literallayout class='monospaced'> 928 <literallayout class='monospaced'>
957 $ bitbake -c fetchall core-image-minimal
958 </literallayout>
959 This variation guarantees that you have all the sources for
960 that BitBake target should you disconnect from the net and
961 want to do the build later offline.</para></listitem>
962 <listitem><para>Specify to continue the build even if BitBake
963 encounters an error.
964 By default, BitBake aborts the build when it encounters an
965 error.
966 This command keeps a faulty build going:
967 <literallayout class='monospaced'>
968 $ bitbake -k core-image-minimal 929 $ bitbake -k core-image-minimal
969 </literallayout></para></listitem> 930 </literallayout>
970 </itemizedlist>
971 </para> 931 </para>
972 932
973 <para> 933 <para>