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 /documentation/dev-manual | |
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>
Diffstat (limited to 'documentation/dev-manual')
-rw-r--r-- | documentation/dev-manual/dev-manual-common-tasks.xml | 165 | ||||
-rw-r--r-- | documentation/dev-manual/dev-manual-start.xml | 140 |
2 files changed, 165 insertions, 140 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 | ||