diff options
| author | Scott Rifenbark <srifenbark@gmail.com> | 2018-05-16 14:23:23 -0700 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2018-05-24 17:16:35 +0100 |
| commit | cbda3472e371c24a38d1e7b49cd718fffd6ddb25 (patch) | |
| tree | 2dbc3f81219c6cbece89ead0576b0b95d6a61a26 | |
| parent | cd9affa63523fa4077b426b08fb340d20972ac8e (diff) | |
| download | poky-cbda3472e371c24a38d1e7b49cd718fffd6ddb25.tar.gz | |
dev-manual: Moved the "Simple Build" section
I had a section on building an image up in chapter that talks about
getting set up to use YP. I moved the build section to a new parent
section that will hold topics on building various things. I renamed
the section to "Building a Simple Image". I had to fix several links
in the sdk-manual, overview-manual, and dev-manual.
(From yocto-docs rev: c119fc7c6148e7b08acad374fe2981842e9462a3)
Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 files changed, 168 insertions, 143 deletions
diff --git a/documentation/dev-manual/dev-manual-common-tasks.xml b/documentation/dev-manual/dev-manual-common-tasks.xml index c781286df3..9f993d21e3 100644 --- a/documentation/dev-manual/dev-manual-common-tasks.xml +++ b/documentation/dev-manual/dev-manual-common-tasks.xml | |||
| @@ -5163,6 +5163,171 @@ | |||
| 5163 | </para> | 5163 | </para> |
| 5164 | </section> | 5164 | </section> |
| 5165 | 5165 | ||
| 5166 | <section id='dev-building'> | ||
| 5167 | <title>Building</title> | ||
| 5168 | |||
| 5169 | <para> | ||
| 5170 | This section describes various build procedures. | ||
| 5171 | For example, the steps needed for a simple build, a target that | ||
| 5172 | uses multiple configurations, building an image for more than | ||
| 5173 | one machine, and so forth. | ||
| 5174 | </para> | ||
| 5175 | |||
| 5176 | <section id='dev-building-a-simple-image'> | ||
| 5177 | <title>Building a Simple Image</title> | ||
| 5178 | |||
| 5179 | <para> | ||
| 5180 | In the development environment, you need to build an image | ||
| 5181 | whenever you change hardware support, add or change system | ||
| 5182 | libraries, or add or change services that have dependencies. | ||
| 5183 | Several methods exist that allow you to build an image within | ||
| 5184 | the Yocto Project. | ||
| 5185 | This section presents the basic steps you need to build a | ||
| 5186 | simple image using BitBake from a build host running Linux. | ||
| 5187 | <note><title>Notes</title> | ||
| 5188 | <itemizedlist> | ||
| 5189 | <listitem><para> | ||
| 5190 | For information on how to build an image using | ||
| 5191 | <ulink url='&YOCTO_DOCS_REF_URL;#toaster-term'>Toaster</ulink>, | ||
| 5192 | see the | ||
| 5193 | <ulink url='&YOCTO_DOCS_TOAST_URL;'>Toaster User Manual</ulink>. | ||
| 5194 | </para></listitem> | ||
| 5195 | <listitem><para> | ||
| 5196 | For information on how to use | ||
| 5197 | <filename>devtool</filename> to build images, see | ||
| 5198 | the | ||
| 5199 | "<ulink url='&YOCTO_DOCS_SDK_URL;#using-devtool-in-your-sdk-workflow'>Using <filename>devtool</filename> in Your SDK Workflow</ulink>" | ||
| 5200 | section in the Yocto Project Application | ||
| 5201 | Development and the Extensible Software Development | ||
| 5202 | Kit (eSDK) manual. | ||
| 5203 | </para></listitem> | ||
| 5204 | <listitem><para> | ||
| 5205 | For a quick example on how to build an image using | ||
| 5206 | the OpenEmbedded build system, see the | ||
| 5207 | <ulink url='&YOCTO_DOCS_BRIEF_URL;'>Yocto Project Quick Build</ulink> | ||
| 5208 | document. | ||
| 5209 | </para></listitem> | ||
| 5210 | </itemizedlist> | ||
| 5211 | </note> | ||
| 5212 | </para> | ||
| 5213 | |||
| 5214 | <para> | ||
| 5215 | The build process creates an entire Linux distribution from | ||
| 5216 | source and places it in your | ||
| 5217 | <ulink url='&YOCTO_DOCS_REF_URL;#build-directory'>Build Directory</ulink> | ||
| 5218 | under <filename>tmp/deploy/images</filename>. | ||
| 5219 | For detailed information on the build process using BitBake, | ||
| 5220 | see the | ||
| 5221 | "<ulink url='&YOCTO_DOCS_OM_URL;#images-dev-environment'>Images</ulink>" | ||
| 5222 | section in the Yocto Project Overview and Concepts Manual. | ||
| 5223 | </para> | ||
| 5224 | |||
| 5225 | <para> | ||
| 5226 | The following figure and list overviews the build process: | ||
| 5227 | <imagedata fileref="figures/bitbake-build-flow.png" width="7in" depth="4in" align="center" scalefit="1" /> | ||
| 5228 | <orderedlist> | ||
| 5229 | <listitem><para> | ||
| 5230 | <emphasis>Set up Your Host Development System to Support | ||
| 5231 | Development Using the Yocto Project</emphasis>: | ||
| 5232 | See the | ||
| 5233 | "<link linkend='dev-manual-start'>Setting Up to Use the Yocto Project</link>" | ||
| 5234 | section for options on how to get a build host ready to | ||
| 5235 | use the Yocto Project. | ||
| 5236 | </para></listitem> | ||
| 5237 | <listitem><para> | ||
| 5238 | <emphasis>Initialize the Build Environment:</emphasis> | ||
| 5239 | Initialize the build environment by sourcing the build | ||
| 5240 | environment script (i.e. | ||
| 5241 | <ulink url='&YOCTO_DOCS_REF_URL;#structure-core-script'><filename>&OE_INIT_FILE;</filename></ulink>): | ||
| 5242 | <literallayout class='monospaced'> | ||
| 5243 | $ source &OE_INIT_FILE; [<replaceable>build_dir</replaceable>] | ||
| 5244 | </literallayout></para> | ||
| 5245 | |||
| 5246 | <para>When you use the initialization script, the | ||
| 5247 | OpenEmbedded build system uses | ||
| 5248 | <filename>build</filename> as the default Build | ||
| 5249 | Directory in your current work directory. | ||
| 5250 | You can use a <replaceable>build_dir</replaceable> | ||
| 5251 | argument with the script to specify a different build | ||
| 5252 | directory. | ||
| 5253 | <note><title>Tip</title> | ||
| 5254 | A common practice is to use a different Build | ||
| 5255 | Directory for different targets. | ||
| 5256 | For example, <filename>~/build/x86</filename> for a | ||
| 5257 | <filename>qemux86</filename> target, and | ||
| 5258 | <filename>~/build/arm</filename> for a | ||
| 5259 | <filename>qemuarm</filename> target. | ||
| 5260 | </note> | ||
| 5261 | </para></listitem> | ||
| 5262 | <listitem><para> | ||
| 5263 | <emphasis>Make Sure Your <filename>local.conf</filename> | ||
| 5264 | File is Correct:</emphasis> | ||
| 5265 | Ensure the <filename>conf/local.conf</filename> | ||
| 5266 | configuration file, which is found in the Build | ||
| 5267 | Directory, is set up how you want it. | ||
| 5268 | This file defines many aspects of the build environment | ||
| 5269 | including the target machine architecture through the | ||
| 5270 | <filename><ulink url='&YOCTO_DOCS_REF_URL;#var-MACHINE'>MACHINE</ulink></filename> variable, | ||
| 5271 | the packaging format used during the build | ||
| 5272 | (<ulink url='&YOCTO_DOCS_REF_URL;#var-PACKAGE_CLASSES'><filename>PACKAGE_CLASSES</filename></ulink>), | ||
| 5273 | and a centralized tarball download directory through the | ||
| 5274 | <ulink url='&YOCTO_DOCS_REF_URL;#var-DL_DIR'><filename>DL_DIR</filename></ulink> variable. | ||
| 5275 | </para></listitem> | ||
| 5276 | <listitem><para> | ||
| 5277 | <emphasis>Build the Image:</emphasis> | ||
| 5278 | Build the image using the <filename>bitbake</filename> | ||
| 5279 | command: | ||
| 5280 | <literallayout class='monospaced'> | ||
| 5281 | $ bitbake <replaceable>target</replaceable> | ||
| 5282 | </literallayout> | ||
| 5283 | <note> | ||
| 5284 | For information on BitBake, see the | ||
| 5285 | <ulink url='&YOCTO_DOCS_BB_URL;'>BitBake User Manual</ulink>. | ||
| 5286 | </note> | ||
| 5287 | The <replaceable>target</replaceable> is the name of the | ||
| 5288 | recipe you want to build. | ||
| 5289 | Common targets are the images in | ||
| 5290 | <filename>meta/recipes-core/images</filename>, | ||
| 5291 | <filename>meta/recipes-sato/images</filename>, and so | ||
| 5292 | forth all found in the | ||
| 5293 | <ulink url='&YOCTO_DOCS_REF_URL;#source-directory'>Source Directory</ulink>. | ||
| 5294 | Or, the target can be the name of a recipe for a | ||
| 5295 | specific piece of software such as BusyBox. | ||
| 5296 | For more details about the images the OpenEmbedded build | ||
| 5297 | system supports, see the | ||
| 5298 | "<ulink url='&YOCTO_DOCS_REF_URL;#ref-images'>Images</ulink>" | ||
| 5299 | chapter in the Yocto Project Reference Manual.</para> | ||
| 5300 | |||
| 5301 | <para>As an example, the following command builds the | ||
| 5302 | <filename>core-image-minimal</filename> image: | ||
| 5303 | <literallayout class='monospaced'> | ||
| 5304 | $ bitbake core-image-minimal | ||
| 5305 | </literallayout> | ||
| 5306 | Once an image has been built, it often needs to be | ||
| 5307 | installed. | ||
| 5308 | The images and kernels built by the OpenEmbedded | ||
| 5309 | build system are placed in the Build Directory in | ||
| 5310 | <filename class="directory">tmp/deploy/images</filename>. | ||
| 5311 | For information on how to run pre-built images such as | ||
| 5312 | <filename>qemux86</filename> and <filename>qemuarm</filename>, | ||
| 5313 | see the | ||
| 5314 | <ulink url='&YOCTO_DOCS_SDK_URL;'>Yocto Project Application Development and the Extensible Software Development Kit (eSDK)</ulink> | ||
| 5315 | manual. | ||
| 5316 | For information about how to install these images, | ||
| 5317 | see the documentation for your particular board or | ||
| 5318 | machine. | ||
| 5319 | </para></listitem> | ||
| 5320 | </orderedlist> | ||
| 5321 | </para> | ||
| 5322 | </section> | ||
| 5323 | </section> | ||
| 5324 | |||
| 5325 | |||
| 5326 | |||
| 5327 | |||
| 5328 | |||
| 5329 | |||
| 5330 | |||
| 5166 | <section id='platdev-building-targets-with-multiple-configurations'> | 5331 | <section id='platdev-building-targets-with-multiple-configurations'> |
| 5167 | <title>Building Targets with Multiple Configurations</title> | 5332 | <title>Building Targets with Multiple Configurations</title> |
| 5168 | 5333 | ||
diff --git a/documentation/dev-manual/dev-manual-start.xml b/documentation/dev-manual/dev-manual-start.xml index a1b502b8eb..201cbe7340 100644 --- a/documentation/dev-manual/dev-manual-start.xml +++ b/documentation/dev-manual/dev-manual-start.xml | |||
| @@ -1080,146 +1080,6 @@ | |||
| 1080 | </section> | 1080 | </section> |
| 1081 | </section> | 1081 | </section> |
| 1082 | 1082 | ||
| 1083 | <section id='dev-building-an-image'> | ||
| 1084 | <title>Building an Image</title> | ||
| 1085 | |||
| 1086 | <para> | ||
| 1087 | In the development environment, you need to build an image whenever | ||
| 1088 | you change hardware support, add or change system libraries, or add | ||
| 1089 | or change services that have dependencies. | ||
| 1090 | Several methods exist that allow you to build an image within the | ||
| 1091 | Yocto Project. | ||
| 1092 | This section shows you how to build an image using BitBake from a | ||
| 1093 | Linux host. | ||
| 1094 | <note><title>Notes</title> | ||
| 1095 | <itemizedlist> | ||
| 1096 | <listitem><para> | ||
| 1097 | For information on how to build an image using | ||
| 1098 | <ulink url='&YOCTO_DOCS_REF_URL;#toaster-term'>Toaster</ulink>, | ||
| 1099 | see the | ||
| 1100 | <ulink url='&YOCTO_DOCS_TOAST_URL;'>Toaster User Manual</ulink>. | ||
| 1101 | </para></listitem> | ||
| 1102 | <listitem><para> | ||
| 1103 | For information on how to use | ||
| 1104 | <filename>devtool</filename> to build images, see the | ||
| 1105 | "<ulink url='&YOCTO_DOCS_SDK_URL;#using-devtool-in-your-sdk-workflow'>Using <filename>devtool</filename> in Your SDK Workflow</ulink>" | ||
| 1106 | section in the Yocto Project Application Development and | ||
| 1107 | the Extensible Software Development Kit (eSDK) manual. | ||
| 1108 | </para></listitem> | ||
| 1109 | <listitem><para> | ||
| 1110 | For a quick example on how to build an image using the | ||
| 1111 | OpenEmbedded build system, see the | ||
| 1112 | <ulink url='&YOCTO_DOCS_BRIEF_URL;'>Yocto Project Quick Build</ulink> | ||
| 1113 | document. | ||
| 1114 | </para></listitem> | ||
| 1115 | </itemizedlist> | ||
| 1116 | </note> | ||
| 1117 | </para> | ||
| 1118 | |||
| 1119 | <para> | ||
| 1120 | The build process creates an entire Linux distribution from source | ||
| 1121 | and places it in your | ||
| 1122 | <ulink url='&YOCTO_DOCS_REF_URL;#build-directory'>Build Directory</ulink> | ||
| 1123 | under <filename>tmp/deploy/images</filename>. | ||
| 1124 | For detailed information on the build process using BitBake, see the | ||
| 1125 | "<ulink url='&YOCTO_DOCS_OM_URL;#images-dev-environment'>Images</ulink>" | ||
| 1126 | section in the Yocto Project Overview and Concepts Manual. | ||
| 1127 | </para> | ||
| 1128 | |||
| 1129 | <para> | ||
| 1130 | The following figure and list overviews the build process: | ||
| 1131 | <imagedata fileref="figures/bitbake-build-flow.png" width="7in" depth="4in" align="center" scalefit="1" /> | ||
| 1132 | <orderedlist> | ||
| 1133 | <listitem><para> | ||
| 1134 | <emphasis>Set up Your Host Development System to Support | ||
| 1135 | Development Using the Yocto Project</emphasis>: | ||
| 1136 | See the | ||
| 1137 | "<link linkend='dev-manual-start'>Setting Up to Use the Yocto Project</link>" | ||
| 1138 | section for options on how to get a build host ready to use | ||
| 1139 | the Yocto Project. | ||
| 1140 | </para></listitem> | ||
| 1141 | <listitem><para> | ||
| 1142 | <emphasis>Initialize the Build Environment:</emphasis> | ||
| 1143 | Initialize the build environment by sourcing the build | ||
| 1144 | environment script (i.e. | ||
| 1145 | <ulink url='&YOCTO_DOCS_REF_URL;#structure-core-script'><filename>&OE_INIT_FILE;</filename></ulink>): | ||
| 1146 | <literallayout class='monospaced'> | ||
| 1147 | $ source &OE_INIT_FILE; [<replaceable>build_dir</replaceable>] | ||
| 1148 | </literallayout></para> | ||
| 1149 | |||
| 1150 | <para>When you use the initialization script, the | ||
| 1151 | OpenEmbedded build system uses <filename>build</filename> as | ||
| 1152 | the default Build Directory in your current work directory. | ||
| 1153 | You can use a <replaceable>build_dir</replaceable> argument | ||
| 1154 | with the script to specify a different build directory. | ||
| 1155 | <note><title>Tip</title> | ||
| 1156 | A common practice is to use a different Build Directory for | ||
| 1157 | different targets. | ||
| 1158 | For example, <filename>~/build/x86</filename> for a | ||
| 1159 | <filename>qemux86</filename> target, and | ||
| 1160 | <filename>~/build/arm</filename> for a | ||
| 1161 | <filename>qemuarm</filename> target. | ||
| 1162 | </note> | ||
| 1163 | </para></listitem> | ||
| 1164 | <listitem><para> | ||
| 1165 | <emphasis>Make Sure Your <filename>local.conf</filename> | ||
| 1166 | File is Correct:</emphasis> | ||
| 1167 | Ensure the <filename>conf/local.conf</filename> configuration | ||
| 1168 | file, which is found in the Build Directory, | ||
| 1169 | is set up how you want it. | ||
| 1170 | This file defines many aspects of the build environment | ||
| 1171 | including the target machine architecture through the | ||
| 1172 | <filename><ulink url='&YOCTO_DOCS_REF_URL;#var-MACHINE'>MACHINE</ulink></filename> variable, | ||
| 1173 | the packaging format used during the build | ||
| 1174 | (<ulink url='&YOCTO_DOCS_REF_URL;#var-PACKAGE_CLASSES'><filename>PACKAGE_CLASSES</filename></ulink>), | ||
| 1175 | and a centralized tarball download directory through the | ||
| 1176 | <ulink url='&YOCTO_DOCS_REF_URL;#var-DL_DIR'><filename>DL_DIR</filename></ulink> variable. | ||
| 1177 | </para></listitem> | ||
| 1178 | <listitem><para> | ||
| 1179 | <emphasis>Build the Image:</emphasis> | ||
| 1180 | Build the image using the <filename>bitbake</filename> command: | ||
| 1181 | <literallayout class='monospaced'> | ||
| 1182 | $ bitbake <replaceable>target</replaceable> | ||
| 1183 | </literallayout> | ||
| 1184 | <note> | ||
| 1185 | For information on BitBake, see the | ||
| 1186 | <ulink url='&YOCTO_DOCS_BB_URL;'>BitBake User Manual</ulink>. | ||
| 1187 | </note> | ||
| 1188 | The <replaceable>target</replaceable> is the name of the | ||
| 1189 | recipe you want to build. | ||
| 1190 | Common targets are the images in | ||
| 1191 | <filename>meta/recipes-core/images</filename>, | ||
| 1192 | <filename>meta/recipes-sato/images</filename>, etc. all found | ||
| 1193 | in the | ||
| 1194 | <ulink url='&YOCTO_DOCS_REF_URL;#source-directory'>Source Directory</ulink>. | ||
| 1195 | Or, the target can be the name of a recipe for a specific | ||
| 1196 | piece of software such as BusyBox. | ||
| 1197 | For more details about the images the OpenEmbedded build | ||
| 1198 | system supports, see the | ||
| 1199 | "<ulink url='&YOCTO_DOCS_REF_URL;#ref-images'>Images</ulink>" | ||
| 1200 | chapter in the Yocto Project Reference Manual.</para> | ||
| 1201 | |||
| 1202 | <para>As an example, the following command builds the | ||
| 1203 | <filename>core-image-minimal</filename> image: | ||
| 1204 | <literallayout class='monospaced'> | ||
| 1205 | $ bitbake core-image-minimal | ||
| 1206 | </literallayout> | ||
| 1207 | Once an image has been built, it often needs to be installed. | ||
| 1208 | The images and kernels built by the OpenEmbedded build system | ||
| 1209 | are placed in the Build Directory in | ||
| 1210 | <filename class="directory">tmp/deploy/images</filename>. | ||
| 1211 | For information on how to run pre-built images such as | ||
| 1212 | <filename>qemux86</filename> and <filename>qemuarm</filename>, | ||
| 1213 | see the | ||
| 1214 | <ulink url='&YOCTO_DOCS_SDK_URL;'>Yocto Project Application Development and the Extensible Software Development Kit (eSDK)</ulink> | ||
| 1215 | manual. | ||
| 1216 | For information about how to install these images, see the | ||
| 1217 | documentation for your particular board or machine. | ||
| 1218 | </para></listitem> | ||
| 1219 | </orderedlist> | ||
| 1220 | </para> | ||
| 1221 | </section> | ||
| 1222 | |||
| 1223 | <section id='speeding-up-the-build'> | 1083 | <section id='speeding-up-the-build'> |
| 1224 | <title>Speeding Up the Build</title> | 1084 | <title>Speeding Up the Build</title> |
| 1225 | 1085 | ||
diff --git a/documentation/overview-manual/overview-manual-development-environment.xml b/documentation/overview-manual/overview-manual-development-environment.xml index b98d985a09..bba93ccefa 100644 --- a/documentation/overview-manual/overview-manual-development-environment.xml +++ b/documentation/overview-manual/overview-manual-development-environment.xml | |||
| @@ -131,7 +131,7 @@ | |||
| 131 | and the Yocto Project.</para> | 131 | and the Yocto Project.</para> |
| 132 | 132 | ||
| 133 | <para>For a general flow of the build procedures, see the | 133 | <para>For a general flow of the build procedures, see the |
| 134 | "<ulink url='&YOCTO_DOCS_DEV_URL;#dev-building-an-image'>Building an Image</ulink>" | 134 | "<ulink url='&YOCTO_DOCS_DEV_URL;#dev-building-a-simple-image'>Building a Simple Image</ulink>" |
| 135 | section in the Yocto Project Development Tasks Manual. | 135 | section in the Yocto Project Development Tasks Manual. |
| 136 | </para></listitem> | 136 | </para></listitem> |
| 137 | <listitem><para> | 137 | <listitem><para> |
diff --git a/documentation/sdk-manual/sdk-appendix-neon.xml b/documentation/sdk-manual/sdk-appendix-neon.xml index 13122c67c5..f648047ef3 100644 --- a/documentation/sdk-manual/sdk-appendix-neon.xml +++ b/documentation/sdk-manual/sdk-appendix-neon.xml | |||
| @@ -455,7 +455,7 @@ | |||
| 455 | If the architecture you need is not listed in | 455 | If the architecture you need is not listed in |
| 456 | the menu, you will need to build the image. | 456 | the menu, you will need to build the image. |
| 457 | See the | 457 | See the |
| 458 | "<ulink url='&YOCTO_DOCS_DEV_URL;#dev-building-an-image'>Building an Image</ulink>" | 458 | "<ulink url='&YOCTO_DOCS_DEV_URL;#dev-building-a-simple-image'>Building a Simple Image</ulink>" |
| 459 | section of the Yocto Project Development Tasks | 459 | section of the Yocto Project Development Tasks |
| 460 | Manual for more information. | 460 | Manual for more information. |
| 461 | You can also see the | 461 | You can also see the |
diff --git a/documentation/sdk-manual/sdk-eclipse-project.xml b/documentation/sdk-manual/sdk-eclipse-project.xml index d6b10cb636..5ad9c45ae7 100644 --- a/documentation/sdk-manual/sdk-eclipse-project.xml +++ b/documentation/sdk-manual/sdk-eclipse-project.xml | |||
| @@ -705,7 +705,7 @@ | |||
| 705 | in the menu, you will need to build the | 705 | in the menu, you will need to build the |
| 706 | image. | 706 | image. |
| 707 | See the | 707 | See the |
| 708 | "<ulink url='&YOCTO_DOCS_DEV_URL;#dev-building-an-image'>Building an Image</ulink>" | 708 | "<ulink url='&YOCTO_DOCS_DEV_URL;#dev-building-a-simple-image'>Building a Simple Image</ulink>" |
| 709 | section of the Yocto Project Development Tasks | 709 | section of the Yocto Project Development Tasks |
| 710 | Manual for more information. | 710 | Manual for more information. |
| 711 | You can also see the | 711 | You can also see the |
