diff options
-rw-r--r-- | documentation/dev-manual/dev-manual-common-tasks.xml | 97 | ||||
-rw-r--r-- | documentation/yocto-project-qs/yocto-project-qs.xml | 68 |
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 <target> | ||
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> |