diff options
author | Scott Rifenbark <scott.m.rifenbark@intel.com> | 2014-08-15 21:14:51 +0300 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2014-09-22 13:04:42 +0100 |
commit | f819f3d7b168e620844b150eded3d8ca80ec4ba2 (patch) | |
tree | a87898538de584c3dbd47e702d7d277fdcec3cd7 /documentation/dev-manual | |
parent | c2e5449f96d13720e5c36efb069b70e75f9fd20a (diff) | |
download | poky-f819f3d7b168e620844b150eded3d8ca80ec4ba2.tar.gz |
dev-manual: General edits to "Common Tasks" chapter.
* Found and fixed several areas with issues.
* Scrubbed for user-supplied input to make it use the
<replaceable></replaceable> tags.
(From yocto-docs rev: 0e1c7ad31921ee7d4ee0d7d4ece01303a25a5d60)
Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.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 | 334 |
1 files changed, 182 insertions, 152 deletions
diff --git a/documentation/dev-manual/dev-manual-common-tasks.xml b/documentation/dev-manual/dev-manual-common-tasks.xml index 604c484f30..5611d56838 100644 --- a/documentation/dev-manual/dev-manual-common-tasks.xml +++ b/documentation/dev-manual/dev-manual-common-tasks.xml | |||
@@ -421,7 +421,7 @@ | |||
421 | <itemizedlist> | 421 | <itemizedlist> |
422 | <listitem><para>Store custom layers in a Git repository | 422 | <listitem><para>Store custom layers in a Git repository |
423 | that uses the | 423 | that uses the |
424 | <filename>meta-<layer_name></filename> format. | 424 | <filename>meta-<replaceable>layer_name</replaceable></filename> format. |
425 | </para></listitem> | 425 | </para></listitem> |
426 | <listitem><para>Clone the repository alongside other | 426 | <listitem><para>Clone the repository alongside other |
427 | <filename>meta</filename> directories in the | 427 | <filename>meta</filename> directories in the |
@@ -678,7 +678,7 @@ | |||
678 | <para> | 678 | <para> |
679 | Use the following form when running the layer management tool. | 679 | Use the following form when running the layer management tool. |
680 | <literallayout class='monospaced'> | 680 | <literallayout class='monospaced'> |
681 | $ bitbake-layers <command> [arguments] | 681 | $ bitbake-layers <replaceable>command</replaceable> [<replaceable>arguments</replaceable>] |
682 | </literallayout> | 682 | </literallayout> |
683 | The following list describes the available commands: | 683 | The following list describes the available commands: |
684 | <itemizedlist> | 684 | <itemizedlist> |
@@ -782,7 +782,7 @@ | |||
782 | The default mode of the script's operation is to prompt you for | 782 | The default mode of the script's operation is to prompt you for |
783 | information needed to generate the layer: | 783 | information needed to generate the layer: |
784 | <itemizedlist> | 784 | <itemizedlist> |
785 | <listitem><para>The layer priority | 785 | <listitem><para>The layer priority. |
786 | </para></listitem> | 786 | </para></listitem> |
787 | <listitem><para>Whether or not to create a sample recipe. | 787 | <listitem><para>Whether or not to create a sample recipe. |
788 | </para></listitem> | 788 | </para></listitem> |
@@ -823,7 +823,7 @@ | |||
823 | This directory contains the layer's configuration file. | 823 | This directory contains the layer's configuration file. |
824 | The root name for the file is the same as the root name | 824 | The root name for the file is the same as the root name |
825 | your provided for the layer (e.g. | 825 | your provided for the layer (e.g. |
826 | <filename><layer>.conf</filename>). | 826 | <filename><replaceable>layer</replaceable>.conf</filename>). |
827 | </para></listitem> | 827 | </para></listitem> |
828 | <listitem><para><emphasis>The | 828 | <listitem><para><emphasis>The |
829 | <filename>COPYING.MIT</filename> file:</emphasis> | 829 | <filename>COPYING.MIT</filename> file:</emphasis> |
@@ -839,7 +839,7 @@ | |||
839 | <para> | 839 | <para> |
840 | If you choose to generate a sample recipe file, the script | 840 | If you choose to generate a sample recipe file, the script |
841 | prompts you for the name for the recipe and then creates it | 841 | prompts you for the name for the recipe and then creates it |
842 | in <filename><layer>/recipes-example/example/</filename>. | 842 | in <filename><replaceable>layer</replaceable>/recipes-example/example/</filename>. |
843 | The script creates a <filename>.bb</filename> file and a | 843 | The script creates a <filename>.bb</filename> file and a |
844 | directory, which contains a sample | 844 | directory, which contains a sample |
845 | <filename>helloworld.c</filename> source file, along with | 845 | <filename>helloworld.c</filename> source file, along with |
@@ -851,7 +851,7 @@ | |||
851 | <para> | 851 | <para> |
852 | If you choose to generate a sample append file, the script | 852 | If you choose to generate a sample append file, the script |
853 | prompts you for the name for the file and then creates it | 853 | prompts you for the name for the file and then creates it |
854 | in <filename><layer>/recipes-example-bbappend/example-bbappend/</filename>. | 854 | in <filename><replaceable>layer</replaceable>/recipes-example-bbappend/example-bbappend/</filename>. |
855 | The script creates a <filename>.bbappend</filename> file and a | 855 | The script creates a <filename>.bbappend</filename> file and a |
856 | directory, which contains a sample patch file. | 856 | directory, which contains a sample patch file. |
857 | If you do not provide a recipe name, the script uses | 857 | If you do not provide a recipe name, the script uses |
@@ -1228,7 +1228,7 @@ | |||
1228 | 1228 | ||
1229 | S = "${WORKDIR}/${PN}-${PV}" | 1229 | S = "${WORKDIR}/${PN}-${PV}" |
1230 | 1230 | ||
1231 | inherit <stuff> | 1231 | inherit <replaceable>stuff</replaceable> |
1232 | </literallayout> | 1232 | </literallayout> |
1233 | Modifying this recipe is the recommended method for | 1233 | Modifying this recipe is the recommended method for |
1234 | creating a new recipe. | 1234 | creating a new recipe. |
@@ -1274,7 +1274,7 @@ | |||
1274 | When you name your recipe, you need to follow this naming | 1274 | When you name your recipe, you need to follow this naming |
1275 | convention: | 1275 | convention: |
1276 | <literallayout class='monospaced'> | 1276 | <literallayout class='monospaced'> |
1277 | <basename>_<version>.bb | 1277 | <replaceable>basename</replaceable>_<replaceable>version</replaceable>.bb |
1278 | </literallayout> | 1278 | </literallayout> |
1279 | Use lower-cased characters and do not include the reserved | 1279 | Use lower-cased characters and do not include the reserved |
1280 | suffixes <filename>-native</filename>, | 1280 | suffixes <filename>-native</filename>, |
@@ -1394,13 +1394,13 @@ | |||
1394 | </note> | 1394 | </note> |
1395 | </para></listitem> | 1395 | </para></listitem> |
1396 | <listitem><para><emphasis>Using Variables: <filename>${...}</filename></emphasis> - | 1396 | <listitem><para><emphasis>Using Variables: <filename>${...}</filename></emphasis> - |
1397 | Use the <filename>${<varname>}</filename> syntax to | 1397 | Use the <filename>${<replaceable>varname</replaceable>}</filename> syntax to |
1398 | access the contents of a variable: | 1398 | access the contents of a variable: |
1399 | <literallayout class='monospaced'> | 1399 | <literallayout class='monospaced'> |
1400 | SRC_URI = "${SOURCEFORGE_MIRROR}/libpng/zlib-${PV}.tar.gz" | 1400 | SRC_URI = "${SOURCEFORGE_MIRROR}/libpng/zlib-${PV}.tar.gz" |
1401 | </literallayout> | 1401 | </literallayout> |
1402 | </para></listitem> | 1402 | </para></listitem> |
1403 | <listitem><para><emphasis>Quote All Assignments: <filename>"<value>"</filename></emphasis> - | 1403 | <listitem><para><emphasis>Quote All Assignments: <filename>"<replaceable>value</replaceable>"</filename></emphasis> - |
1404 | Use double quotes around the value in all variable | 1404 | Use double quotes around the value in all variable |
1405 | assignments. | 1405 | assignments. |
1406 | <literallayout class='monospaced'> | 1406 | <literallayout class='monospaced'> |
@@ -1541,12 +1541,12 @@ | |||
1541 | Realize that some layers have a policy to use spaces | 1541 | Realize that some layers have a policy to use spaces |
1542 | for all indentation. | 1542 | for all indentation. |
1543 | </para></listitem> | 1543 | </para></listitem> |
1544 | <listitem><para><emphasis>Using Python for Complex Operations: <filename>${@<python_code>}</filename></emphasis> - | 1544 | <listitem><para><emphasis>Using Python for Complex Operations: <filename>${@<replaceable>python_code</replaceable>}</filename></emphasis> - |
1545 | For more advanced processing, it is possible to use | 1545 | For more advanced processing, it is possible to use |
1546 | Python code during variable assignments (e.g. | 1546 | Python code during variable assignments (e.g. |
1547 | search and replacement on a variable).</para> | 1547 | search and replacement on a variable).</para> |
1548 | <para>You indicate Python code using the | 1548 | <para>You indicate Python code using the |
1549 | <filename>${@<python_code>}</filename> | 1549 | <filename>${@<replaceable>python_code</replaceable>}</filename> |
1550 | syntax for the variable assignment: | 1550 | syntax for the variable assignment: |
1551 | <literallayout class='monospaced'> | 1551 | <literallayout class='monospaced'> |
1552 | SRC_URI = "ftp://ftp.info-zip.org/pub/infozip/src/zip${@d.getVar('PV',1).replace('.', '')}.tgz | 1552 | SRC_URI = "ftp://ftp.info-zip.org/pub/infozip/src/zip${@d.getVar('PV',1).replace('.', '')}.tgz |
@@ -1589,10 +1589,10 @@ | |||
1589 | <link linkend='build-directory'>Build Directory</link>, | 1589 | <link linkend='build-directory'>Build Directory</link>, |
1590 | use BitBake to process your recipe. | 1590 | use BitBake to process your recipe. |
1591 | All you need to provide is the | 1591 | All you need to provide is the |
1592 | <filename><basename></filename> of the recipe as described | 1592 | <filename><replaceable>basename</replaceable></filename> of the recipe as described |
1593 | in the previous section: | 1593 | in the previous section: |
1594 | <literallayout class='monospaced'> | 1594 | <literallayout class='monospaced'> |
1595 | $ bitbake <basename> | 1595 | $ bitbake <replaceable>basename</replaceable> |
1596 | </literallayout> | 1596 | </literallayout> |
1597 | 1597 | ||
1598 | </para> | 1598 | </para> |
@@ -1632,7 +1632,7 @@ | |||
1632 | You can find log files for each task in the recipe's | 1632 | You can find log files for each task in the recipe's |
1633 | <filename>temp</filename> directory (e.g. | 1633 | <filename>temp</filename> directory (e.g. |
1634 | <filename>poky/build/tmp/work/qemux86-poky-linux/foo/1.3.0-r0/temp</filename>). | 1634 | <filename>poky/build/tmp/work/qemux86-poky-linux/foo/1.3.0-r0/temp</filename>). |
1635 | Log files are named <filename>log.<taskname></filename> | 1635 | Log files are named <filename>log.<replaceable>taskname</replaceable></filename> |
1636 | (e.g. <filename>log.do_configure</filename>, | 1636 | (e.g. <filename>log.do_configure</filename>, |
1637 | <filename>log.do_fetch</filename>, and | 1637 | <filename>log.do_fetch</filename>, and |
1638 | <filename>log.do_compile</filename>). | 1638 | <filename>log.do_compile</filename>). |
@@ -1993,6 +1993,12 @@ | |||
1993 | incorrect md5 strings, attempt to build the software, | 1993 | incorrect md5 strings, attempt to build the software, |
1994 | and then note the resulting error messages that will | 1994 | and then note the resulting error messages that will |
1995 | report the correct md5 strings. | 1995 | report the correct md5 strings. |
1996 | See the | ||
1997 | "<link linkend='new-recipe-fetching-code'>Fetching Code</link>" | ||
1998 | section for additional information. | ||
1999 | </para> | ||
2000 | |||
2001 | <para> | ||
1996 | Here is an example that assumes the software has a | 2002 | Here is an example that assumes the software has a |
1997 | <filename>COPYING</filename> file: | 2003 | <filename>COPYING</filename> file: |
1998 | <literallayout class='monospaced'> | 2004 | <literallayout class='monospaced'> |
@@ -2087,7 +2093,7 @@ | |||
2087 | <filename>configure.ac</filename> file, then your | 2093 | <filename>configure.ac</filename> file, then your |
2088 | software is built using Autotools. | 2094 | software is built using Autotools. |
2089 | If this is the case, you just need to worry about | 2095 | If this is the case, you just need to worry about |
2090 | tweaking the configuration.</para> | 2096 | modifying the configuration.</para> |
2091 | <para>When using Autotools, your recipe needs to inherit | 2097 | <para>When using Autotools, your recipe needs to inherit |
2092 | the | 2098 | the |
2093 | <ulink url='&YOCTO_DOCS_REF_URL;#ref-classes-autotools'><filename>autotools</filename></ulink> | 2099 | <ulink url='&YOCTO_DOCS_REF_URL;#ref-classes-autotools'><filename>autotools</filename></ulink> |
@@ -2104,7 +2110,7 @@ | |||
2104 | <filename>CMakeLists.txt</filename> file, then your | 2110 | <filename>CMakeLists.txt</filename> file, then your |
2105 | software is built using CMake. | 2111 | software is built using CMake. |
2106 | If this is the case, you just need to worry about | 2112 | If this is the case, you just need to worry about |
2107 | tweaking the configuration.</para> | 2113 | modifying the configuration.</para> |
2108 | <para>When you use CMake, your recipe needs to inherit | 2114 | <para>When you use CMake, your recipe needs to inherit |
2109 | the | 2115 | the |
2110 | <ulink url='&YOCTO_DOCS_REF_URL;#ref-classes-cmake'><filename>cmake</filename></ulink> | 2116 | <ulink url='&YOCTO_DOCS_REF_URL;#ref-classes-cmake'><filename>cmake</filename></ulink> |
@@ -2152,8 +2158,8 @@ | |||
2152 | that it did not find something that it needed for some | 2158 | that it did not find something that it needed for some |
2153 | desired optional functionality, then you would need to add | 2159 | desired optional functionality, then you would need to add |
2154 | those to <filename>DEPENDS</filename>. | 2160 | those to <filename>DEPENDS</filename>. |
2155 | Looking at the log might also reveal items being checked for | 2161 | Looking at the log might also reveal items being checked for, |
2156 | and/or enabled that you do not want, or items not being found | 2162 | enabled, or both that you do not want, or items not being found |
2157 | that are in <filename>DEPENDS</filename>, in which case | 2163 | that are in <filename>DEPENDS</filename>, in which case |
2158 | you would need to look at passing extra options to the | 2164 | you would need to look at passing extra options to the |
2159 | configure script as needed. | 2165 | configure script as needed. |
@@ -2197,7 +2203,12 @@ | |||
2197 | to an empty string: | 2203 | to an empty string: |
2198 | <literallayout class='monospaced'> | 2204 | <literallayout class='monospaced'> |
2199 | PARALLEL_MAKE = "" | 2205 | PARALLEL_MAKE = "" |
2200 | </literallayout></para></listitem> | 2206 | </literallayout></para> |
2207 | <para> | ||
2208 | For information on parallel Makefile issues, see the | ||
2209 | "<link linkend='debugging-parallel-make-races'>Debugging Parallel Make Rases</link>" | ||
2210 | section. | ||
2211 | </para></listitem> | ||
2201 | <listitem><para><emphasis>Improper host path usage:</emphasis> | 2212 | <listitem><para><emphasis>Improper host path usage:</emphasis> |
2202 | This failure applies to recipes building for the target | 2213 | This failure applies to recipes building for the target |
2203 | or <filename>nativesdk</filename> only. | 2214 | or <filename>nativesdk</filename> only. |
@@ -2287,7 +2298,7 @@ | |||
2287 | <filename>make install</filename>, you should do this | 2298 | <filename>make install</filename>, you should do this |
2288 | using a <filename>do_install_append</filename> function | 2299 | using a <filename>do_install_append</filename> function |
2289 | using the install command as described in | 2300 | using the install command as described in |
2290 | <emphasis>Manual</emphasis> later in this list. | 2301 | the "Manual" bulleted item later in this list. |
2291 | </para></listitem> | 2302 | </para></listitem> |
2292 | <listitem><para><emphasis>Other (using | 2303 | <listitem><para><emphasis>Other (using |
2293 | <filename>make install</filename>):</emphasis> | 2304 | <filename>make install</filename>):</emphasis> |
@@ -2336,39 +2347,47 @@ | |||
2336 | files have been installed correctly. | 2347 | files have been installed correctly. |
2337 | </para> | 2348 | </para> |
2338 | 2349 | ||
2339 | <note> | 2350 | <note><title>Notes</title> |
2340 | During the installation process, you might need to modify | 2351 | <itemizedlist> |
2341 | some of the installed files to suit the target layout. | 2352 | <listitem><para> |
2342 | For example, you might need to replace hard-coded paths in an | 2353 | During the installation process, you might need to |
2343 | initscript with values of variables provided by the build | 2354 | modify some of the installed files to suit the target |
2344 | system, such as replacing <filename>/usr/bin/</filename> with | 2355 | layout. |
2345 | <filename>${bindir}</filename>. | 2356 | For example, you might need to replace hard-coded paths |
2346 | If you do perform such modifications during | 2357 | in an initscript with values of variables provided by |
2347 | <filename>do_install</filename>, be sure to modify the | 2358 | the build system, such as replacing |
2348 | destination file after copying rather than before copying. | 2359 | <filename>/usr/bin/</filename> with |
2349 | Modifying after copying ensures that the build system can | 2360 | <filename>${bindir}</filename>. |
2350 | re-execute <filename>do_install</filename> if needed. | 2361 | If you do perform such modifications during |
2351 | </note> | 2362 | <filename>do_install</filename>, be sure to modify the |
2352 | 2363 | destination file after copying rather than before | |
2353 | <note> | 2364 | copying. |
2354 | <filename>oe_runmake install</filename>, which can be run | 2365 | Modifying after copying ensures that the build system |
2355 | directly or can be run indirectly by the | 2366 | can re-execute <filename>do_install</filename> if |
2356 | <ulink url='&YOCTO_DOCS_REF_URL;#ref-classes-autotools'><filename>autotools</filename></ulink> | 2367 | needed. |
2357 | and | 2368 | </para></listitem> |
2358 | <ulink url='&YOCTO_DOCS_REF_URL;#ref-classes-cmake'><filename>cmake</filename></ulink> | 2369 | <listitem><para> |
2359 | classes, runs <filename>make install</filename> in parallel. | 2370 | <filename>oe_runmake install</filename>, which can be |
2360 | Sometimes, a Makefile can have missing dependencies between | 2371 | run directly or can be run indirectly by the |
2361 | targets that can result in race conditions. | 2372 | <ulink url='&YOCTO_DOCS_REF_URL;#ref-classes-autotools'><filename>autotools</filename></ulink> |
2362 | If you experience intermittent failures during | 2373 | and |
2363 | <filename>do_install</filename>, you might be able to work | 2374 | <ulink url='&YOCTO_DOCS_REF_URL;#ref-classes-cmake'><filename>cmake</filename></ulink> |
2364 | around them by disabling parallel Makefile installs | 2375 | classes, runs <filename>make install</filename> in |
2365 | by adding the following to the recipe: | 2376 | parallel. |
2366 | <literallayout class='monospaced'> | 2377 | Sometimes, a Makefile can have missing dependencies |
2378 | between targets that can result in race conditions. | ||
2379 | If you experience intermittent failures during | ||
2380 | <filename>do_install</filename>, you might be able to | ||
2381 | work around them by disabling parallel Makefile | ||
2382 | installs by adding the following to the recipe: | ||
2383 | <literallayout class='monospaced'> | ||
2367 | PARALLEL_MAKEINST = "" | 2384 | PARALLEL_MAKEINST = "" |
2368 | </literallayout> | 2385 | </literallayout> |
2369 | See | 2386 | See |
2370 | <ulink url='&YOCTO_DOCS_REF_URL;#var-PARALLEL_MAKEINST'><filename>PARALLEL_MAKEINST</filename></ulink> | 2387 | <ulink url='&YOCTO_DOCS_REF_URL;#var-PARALLEL_MAKEINST'><filename>PARALLEL_MAKEINST</filename></ulink> |
2371 | for additional information. | 2388 | for additional information. |
2389 | </para></listitem> | ||
2390 | </itemizedlist> | ||
2372 | </note> | 2391 | </note> |
2373 | </section> | 2392 | </section> |
2374 | 2393 | ||
@@ -2464,7 +2483,9 @@ | |||
2464 | that files are split up and packaged correctly. | 2483 | that files are split up and packaged correctly. |
2465 | </para></listitem> | 2484 | </para></listitem> |
2466 | <listitem><para><emphasis>Running QA Checks</emphasis>: | 2485 | <listitem><para><emphasis>Running QA Checks</emphasis>: |
2467 | The <filename>insane</filename> class adds a step to | 2486 | The |
2487 | <ulink url='&YOCTO_DOCS_REF_URL;#ref-classes-insane'><filename>insane</filename></ulink> | ||
2488 | class adds a step to | ||
2468 | the package generation process so that output quality | 2489 | the package generation process so that output quality |
2469 | assurance checks are generated by the OpenEmbedded | 2490 | assurance checks are generated by the OpenEmbedded |
2470 | build system. | 2491 | build system. |
@@ -2537,7 +2558,7 @@ | |||
2537 | Ensuring that the package architecture is correct is | 2558 | Ensuring that the package architecture is correct is |
2538 | not critical while you are doing the first few builds | 2559 | not critical while you are doing the first few builds |
2539 | of your recipe. | 2560 | of your recipe. |
2540 | However, it is important in order to | 2561 | However, it is important in order |
2541 | to ensure that your recipe rebuilds (or does not | 2562 | to ensure that your recipe rebuilds (or does not |
2542 | rebuild) appropriately in response to changes in | 2563 | rebuild) appropriately in response to changes in |
2543 | configuration, and to ensure that you get the | 2564 | configuration, and to ensure that you get the |
@@ -2575,7 +2596,7 @@ | |||
2575 | recommended convention is to set | 2596 | recommended convention is to set |
2576 | <ulink url='&YOCTO_DOCS_REF_URL;#var-PV'><filename>PV</filename></ulink> | 2597 | <ulink url='&YOCTO_DOCS_REF_URL;#var-PV'><filename>PV</filename></ulink> |
2577 | within the recipe to | 2598 | within the recipe to |
2578 | "<previous version>+<current version>". | 2599 | "<replaceable>previous_version</replaceable>+<replaceable>current_version</replaceable>". |
2579 | You can use an additional variable so that you can use the | 2600 | You can use an additional variable so that you can use the |
2580 | current version elsewhere. | 2601 | current version elsewhere. |
2581 | Here is an example: | 2602 | Here is an example: |
@@ -2591,7 +2612,7 @@ | |||
2591 | 2612 | ||
2592 | <para> | 2613 | <para> |
2593 | Post-installation scripts run immediately after installing | 2614 | Post-installation scripts run immediately after installing |
2594 | a package on the target, or during image creation when a | 2615 | a package on the target or during image creation when a |
2595 | package is included in an image. | 2616 | package is included in an image. |
2596 | To add a post-installation script to a package, add a | 2617 | To add a post-installation script to a package, add a |
2597 | <filename>pkg_postinst_PACKAGENAME()</filename> function to | 2618 | <filename>pkg_postinst_PACKAGENAME()</filename> function to |
@@ -2703,7 +2724,7 @@ | |||
2703 | 2724 | ||
2704 | <para> | 2725 | <para> |
2705 | Building an application from a single file that is stored | 2726 | Building an application from a single file that is stored |
2706 | locally (e.g. under <filename>files/</filename>) requires | 2727 | locally (e.g. under <filename>files</filename>) requires |
2707 | a recipe that has the file listed in the | 2728 | a recipe that has the file listed in the |
2708 | <filename><ulink url='&YOCTO_DOCS_REF_URL;#var-SRC_URI'>SRC_URI</ulink></filename> | 2729 | <filename><ulink url='&YOCTO_DOCS_REF_URL;#var-SRC_URI'>SRC_URI</ulink></filename> |
2709 | variable. | 2730 | variable. |
@@ -2794,7 +2815,7 @@ | |||
2794 | If you need additional <filename>make</filename> options, you should store them in the | 2815 | If you need additional <filename>make</filename> options, you should store them in the |
2795 | <filename><ulink url='&YOCTO_DOCS_REF_URL;#var-EXTRA_OEMAKE'>EXTRA_OEMAKE</ulink></filename> | 2816 | <filename><ulink url='&YOCTO_DOCS_REF_URL;#var-EXTRA_OEMAKE'>EXTRA_OEMAKE</ulink></filename> |
2796 | variable. | 2817 | variable. |
2797 | BitBake passes these options into the <filename>make</filename> GNU invocation. | 2818 | BitBake passes these options into the GNU <filename>make</filename> invocation. |
2798 | Note that a <filename>do_install</filename> task is still required. | 2819 | Note that a <filename>do_install</filename> task is still required. |
2799 | Otherwise, BitBake runs an empty <filename>do_install</filename> task by default. | 2820 | Otherwise, BitBake runs an empty <filename>do_install</filename> task by default. |
2800 | </para> | 2821 | </para> |
@@ -3045,7 +3066,7 @@ | |||
3045 | <listitem><para><filename><ulink url='&YOCTO_DOCS_REF_URL;#var-TARGET_ARCH'>TARGET_ARCH</ulink></filename> | 3066 | <listitem><para><filename><ulink url='&YOCTO_DOCS_REF_URL;#var-TARGET_ARCH'>TARGET_ARCH</ulink></filename> |
3046 | (e.g. "arm")</para></listitem> | 3067 | (e.g. "arm")</para></listitem> |
3047 | <listitem><para><filename><ulink url='&YOCTO_DOCS_REF_URL;#var-PREFERRED_PROVIDER'>PREFERRED_PROVIDER</ulink>_virtual/kernel</filename> | 3068 | <listitem><para><filename><ulink url='&YOCTO_DOCS_REF_URL;#var-PREFERRED_PROVIDER'>PREFERRED_PROVIDER</ulink>_virtual/kernel</filename> |
3048 | (see below)</para></listitem> | 3069 | </para></listitem> |
3049 | <listitem><para><filename><ulink url='&YOCTO_DOCS_REF_URL;#var-MACHINE_FEATURES'>MACHINE_FEATURES</ulink></filename> | 3070 | <listitem><para><filename><ulink url='&YOCTO_DOCS_REF_URL;#var-MACHINE_FEATURES'>MACHINE_FEATURES</ulink></filename> |
3050 | (e.g. "apm screen wifi")</para></listitem> | 3071 | (e.g. "apm screen wifi")</para></listitem> |
3051 | </itemizedlist> | 3072 | </itemizedlist> |
@@ -3515,7 +3536,7 @@ | |||
3515 | The <filename>wic</filename> command and the infrastructure | 3536 | The <filename>wic</filename> command and the infrastructure |
3516 | it is based on is by definition incomplete. | 3537 | it is based on is by definition incomplete. |
3517 | Its purpose is to allow the generation of customized images, | 3538 | Its purpose is to allow the generation of customized images, |
3518 | and as such was designed to be completely extensible via a | 3539 | and as such was designed to be completely extensible through a |
3519 | plugin interface. | 3540 | plugin interface. |
3520 | See the | 3541 | See the |
3521 | "<link linkend='openembedded-kickstart-plugins'>Plugins</link>" | 3542 | "<link linkend='openembedded-kickstart-plugins'>Plugins</link>" |
@@ -3638,7 +3659,7 @@ | |||
3638 | <filename>create</filename> and <filename>list</filename>. | 3659 | <filename>create</filename> and <filename>list</filename>. |
3639 | You can get help for these commands as follows: | 3660 | You can get help for these commands as follows: |
3640 | <literallayout class='monospaced'> | 3661 | <literallayout class='monospaced'> |
3641 | $ wic help <command> | 3662 | $ wic help <replaceable>command</replaceable> |
3642 | </literallayout> | 3663 | </literallayout> |
3643 | </para> | 3664 | </para> |
3644 | 3665 | ||
@@ -3652,7 +3673,7 @@ | |||
3652 | a given topic by prefacing the topic with | 3673 | a given topic by prefacing the topic with |
3653 | <filename>wic help</filename>: | 3674 | <filename>wic help</filename>: |
3654 | <literallayout class='monospaced'> | 3675 | <literallayout class='monospaced'> |
3655 | $ wic help <help topic> | 3676 | $ wic help <replaceable>help_topic</replaceable> |
3656 | </literallayout> | 3677 | </literallayout> |
3657 | </para> | 3678 | </para> |
3658 | 3679 | ||
@@ -3661,9 +3682,9 @@ | |||
3661 | <filename>wic</filename> creates using the existing | 3682 | <filename>wic</filename> creates using the existing |
3662 | kickstart files with the following form of the command: | 3683 | kickstart files with the following form of the command: |
3663 | <literallayout class='monospaced'> | 3684 | <literallayout class='monospaced'> |
3664 | $ wic list <image> help | 3685 | $ wic list <replaceable>image</replaceable> help |
3665 | </literallayout> | 3686 | </literallayout> |
3666 | where <filename><image></filename> is either | 3687 | where <filename><replaceable>image</replaceable></filename> is either |
3667 | <filename>directdisk</filename> or | 3688 | <filename>directdisk</filename> or |
3668 | <filename>mkefidisk</filename>. | 3689 | <filename>mkefidisk</filename>. |
3669 | </para> | 3690 | </para> |
@@ -3881,8 +3902,8 @@ | |||
3881 | </para> | 3902 | </para> |
3882 | 3903 | ||
3883 | <para> | 3904 | <para> |
3884 | The output specifies exactly which image was | 3905 | The output specifies the exact created as well as where |
3885 | created as well as where it was created. | 3906 | it was created. |
3886 | The output also names the artifacts used and the exact | 3907 | The output also names the artifacts used and the exact |
3887 | <filename>.wks</filename> script that was used to generate | 3908 | <filename>.wks</filename> script that was used to generate |
3888 | the image. | 3909 | the image. |
@@ -4139,7 +4160,7 @@ | |||
4139 | <para> | 4160 | <para> |
4140 | To be more concrete, here is the plugin definition that | 4161 | To be more concrete, here is the plugin definition that |
4141 | matches a | 4162 | matches a |
4142 | <filename>'‐‐source bootimg-pcbios'</filename> usage, | 4163 | <filename>‐‐source bootimg-pcbios</filename> usage, |
4143 | along with an example | 4164 | along with an example |
4144 | method called by the <filename>wic</filename> implementation | 4165 | method called by the <filename>wic</filename> implementation |
4145 | when it needs to invoke an implementation-specific | 4166 | when it needs to invoke an implementation-specific |
@@ -4223,7 +4244,7 @@ | |||
4223 | The code that then needs to call the plugin methods uses | 4244 | The code that then needs to call the plugin methods uses |
4224 | <filename>plugin.get_source_plugin_methods()</filename> | 4245 | <filename>plugin.get_source_plugin_methods()</filename> |
4225 | to find the method or methods needed by the call. | 4246 | to find the method or methods needed by the call. |
4226 | Retrieval of those methods is accomplished is accomplished | 4247 | Retrieval of those methods is accomplished |
4227 | by filling up a dict with keys | 4248 | by filling up a dict with keys |
4228 | containing the method names of interest. | 4249 | containing the method names of interest. |
4229 | On success, these will be filled in with the actual | 4250 | On success, these will be filled in with the actual |
@@ -4273,13 +4294,14 @@ | |||
4273 | This command creates a partition on the system and uses the | 4294 | This command creates a partition on the system and uses the |
4274 | following syntax: | 4295 | following syntax: |
4275 | <literallayout class='monospaced'> | 4296 | <literallayout class='monospaced'> |
4276 | part <mntpoint> | 4297 | part <replaceable>mntpoint</replaceable> |
4277 | </literallayout> | 4298 | </literallayout> |
4278 | The <filename><mntpoint></filename> is where the | 4299 | The <filename><replaceable>mntpoint</replaceable></filename> |
4300 | is where the | ||
4279 | partition will be mounted and must be of one of the | 4301 | partition will be mounted and must be of one of the |
4280 | following forms: | 4302 | following forms: |
4281 | <itemizedlist> | 4303 | <itemizedlist> |
4282 | <listitem><para><filename>/<path></filename>: | 4304 | <listitem><para><filename>/<replaceable>path</replaceable></filename>: |
4283 | For example, <filename>/</filename>, | 4305 | For example, <filename>/</filename>, |
4284 | <filename>/usr</filename>, and | 4306 | <filename>/usr</filename>, and |
4285 | <filename>/home</filename></para></listitem> | 4307 | <filename>/home</filename></para></listitem> |
@@ -4327,7 +4349,7 @@ | |||
4327 | follows for more information. | 4349 | follows for more information. |
4328 | </para> | 4350 | </para> |
4329 | <para>If you use | 4351 | <para>If you use |
4330 | <filename>‐‐source <plugin-name></filename>, | 4352 | <filename>‐‐source <replaceable>plugin-name</replaceable></filename>, |
4331 | <filename>wic</filename> creates a partition as | 4353 | <filename>wic</filename> creates a partition as |
4332 | large as needed and fills it with the contents of | 4354 | large as needed and fills it with the contents of |
4333 | the partition that is generated by the | 4355 | the partition that is generated by the |
@@ -4426,7 +4448,7 @@ | |||
4426 | You can use the <filename>menuconfig</filename> tool and configuration fragments to | 4448 | You can use the <filename>menuconfig</filename> tool and configuration fragments to |
4427 | make sure your <filename>.config</filename> file is just how you need it. | 4449 | make sure your <filename>.config</filename> file is just how you need it. |
4428 | This section describes how to use <filename>menuconfig</filename>, create and use | 4450 | This section describes how to use <filename>menuconfig</filename>, create and use |
4429 | configuration fragments, and how to interactively tweak your <filename>.config</filename> | 4451 | configuration fragments, and how to interactively modify your <filename>.config</filename> |
4430 | file to create the leanest kernel configuration file possible. | 4452 | file to create the leanest kernel configuration file possible. |
4431 | </para> | 4453 | </para> |
4432 | 4454 | ||
@@ -5230,8 +5252,8 @@ Gateways via their Web Interfaces</ulink>"</emphasis> | |||
5230 | </para> | 5252 | </para> |
5231 | <para> | 5253 | <para> |
5232 | To set up passwords, use the | 5254 | To set up passwords, use the |
5233 | <filename>extrausers</filename> class, which is the | 5255 | <ulink url='&YOCTO_DOCS_REF_URL;#ref-classes-extrausers'><filename>extrausers</filename></ulink> |
5234 | preferred method. | 5256 | class, which is the preferred method. |
5235 | For an example on how to set up both root and user | 5257 | For an example on how to set up both root and user |
5236 | passwords, see the | 5258 | passwords, see the |
5237 | "<ulink url='&YOCTO_DOCS_REF_URL;#ref-classes-extrausers'><filename>extrausers.bbclass</filename></ulink>" | 5259 | "<ulink url='&YOCTO_DOCS_REF_URL;#ref-classes-extrausers'><filename>extrausers.bbclass</filename></ulink>" |
@@ -5252,7 +5274,7 @@ Gateways via their Web Interfaces</ulink>"</emphasis> | |||
5252 | </para></listitem> | 5274 | </para></listitem> |
5253 | <listitem><para> | 5275 | <listitem><para> |
5254 | Consider enabling a Mandatory Access Control (MAC) | 5276 | Consider enabling a Mandatory Access Control (MAC) |
5255 | framework (such as SMACK or SELinux) and tuning it | 5277 | framework such as SMACK or SELinux and tuning it |
5256 | appropriately for your device's usage. | 5278 | appropriately for your device's usage. |
5257 | </para></listitem> | 5279 | </para></listitem> |
5258 | </itemizedlist> | 5280 | </itemizedlist> |
@@ -5682,7 +5704,7 @@ Gateways via their Web Interfaces</ulink>"</emphasis> | |||
5682 | section of the Yocto Project Linux Kernel Development | 5704 | section of the Yocto Project Linux Kernel Development |
5683 | Manual and the "<link linkend='creating-config-fragments'>Creating Configuration Fragments</link>" | 5705 | Manual and the "<link linkend='creating-config-fragments'>Creating Configuration Fragments</link>" |
5684 | section, which is in this manual.</para></listitem> | 5706 | section, which is in this manual.</para></listitem> |
5685 | <listitem><para><filename>bitbake -u depexp -g <bitbake_target></filename>: | 5707 | <listitem><para><filename>bitbake -u depexp -g <replaceable>bitbake_target</replaceable></filename>: |
5686 | Using the BitBake command with these options brings up | 5708 | Using the BitBake command with these options brings up |
5687 | a Dependency Explorer from which you can view file | 5709 | a Dependency Explorer from which you can view file |
5688 | dependencies. | 5710 | dependencies. |
@@ -5701,7 +5723,7 @@ Gateways via their Web Interfaces</ulink>"</emphasis> | |||
5701 | libraries, and applications. | 5723 | libraries, and applications. |
5702 | To change things, you can configure how the packaging happens, | 5724 | To change things, you can configure how the packaging happens, |
5703 | which changes the way you build them. | 5725 | which changes the way you build them. |
5704 | You can also tweak the filesystem itself or select a different | 5726 | You can also modify the filesystem itself or select a different |
5705 | filesystem. | 5727 | filesystem. |
5706 | </para> | 5728 | </para> |
5707 | 5729 | ||
@@ -5709,7 +5731,7 @@ Gateways via their Web Interfaces</ulink>"</emphasis> | |||
5709 | First, find out what is hogging your root filesystem by running the | 5731 | First, find out what is hogging your root filesystem by running the |
5710 | <filename>dirsize.py</filename> script from your root directory: | 5732 | <filename>dirsize.py</filename> script from your root directory: |
5711 | <literallayout class='monospaced'> | 5733 | <literallayout class='monospaced'> |
5712 | $ cd <root-directory-of-image> | 5734 | $ cd <replaceable>root-directory-of-image</replaceable> |
5713 | $ dirsize.py 100000 > dirsize-100k.log | 5735 | $ dirsize.py 100000 > dirsize-100k.log |
5714 | $ cat dirsize-100k.log | 5736 | $ cat dirsize-100k.log |
5715 | </literallayout> | 5737 | </literallayout> |
@@ -5729,8 +5751,8 @@ Gateways via their Web Interfaces</ulink>"</emphasis> | |||
5729 | One way to see how packages relate to each other is by using | 5751 | One way to see how packages relate to each other is by using |
5730 | the Dependency Explorer UI with the BitBake command: | 5752 | the Dependency Explorer UI with the BitBake command: |
5731 | <literallayout class='monospaced'> | 5753 | <literallayout class='monospaced'> |
5732 | $ cd <image-directory> | 5754 | $ cd <replaceable>image-directory</replaceable> |
5733 | $ bitbake -u depexp -g <image> | 5755 | $ bitbake -u depexp -g <replaceable>image</replaceable> |
5734 | </literallayout> | 5756 | </literallayout> |
5735 | Use the interface to select potential packages you wish to | 5757 | Use the interface to select potential packages you wish to |
5736 | eliminate and see their dependency relationships. | 5758 | eliminate and see their dependency relationships. |
@@ -5797,7 +5819,7 @@ Gateways via their Web Interfaces</ulink>"</emphasis> | |||
5797 | Linux build directory to get an idea of what is making up | 5819 | Linux build directory to get an idea of what is making up |
5798 | the kernel: | 5820 | the kernel: |
5799 | <literallayout class='monospaced'> | 5821 | <literallayout class='monospaced'> |
5800 | $ cd <top-level-linux-build-directory> | 5822 | $ cd <replaceable>top-level-linux-build-directory</replaceable> |
5801 | $ ksize.py > ksize.log | 5823 | $ ksize.py > ksize.log |
5802 | $ cat ksize.log | 5824 | $ cat ksize.log |
5803 | </literallayout> | 5825 | </literallayout> |
@@ -6148,7 +6170,7 @@ Gateways via their Web Interfaces</ulink>"</emphasis> | |||
6148 | For this scenario, you need to start the PR Service using | 6170 | For this scenario, you need to start the PR Service using |
6149 | the <filename>bitbake-prserv</filename> command: | 6171 | the <filename>bitbake-prserv</filename> command: |
6150 | <literallayout class='monospaced'> | 6172 | <literallayout class='monospaced'> |
6151 | bitbake-prserv ‐‐host <ip> ‐‐port <port> ‐‐start | 6173 | bitbake-prserv ‐‐host <replaceable>ip</replaceable> ‐‐port <replaceable>port</replaceable> ‐‐start |
6152 | </literallayout> | 6174 | </literallayout> |
6153 | In addition to hand-starting the service, you need to | 6175 | In addition to hand-starting the service, you need to |
6154 | update the <filename>local.conf</filename> file of each | 6176 | update the <filename>local.conf</filename> file of each |
@@ -6667,7 +6689,7 @@ Gateways via their Web Interfaces</ulink>"</emphasis> | |||
6667 | Realize that it is not sufficient to simply do the | 6689 | Realize that it is not sufficient to simply do the |
6668 | following: | 6690 | following: |
6669 | <literallayout class='monospaced'> | 6691 | <literallayout class='monospaced'> |
6670 | $ bitbake <some-package> package-index | 6692 | $ bitbake <replaceable>some-package</replaceable> package-index |
6671 | </literallayout> | 6693 | </literallayout> |
6672 | This is because BitBake does not properly schedule the | 6694 | This is because BitBake does not properly schedule the |
6673 | <filename>package-index</filename> target fully after any | 6695 | <filename>package-index</filename> target fully after any |
@@ -6687,7 +6709,7 @@ Gateways via their Web Interfaces</ulink>"</emphasis> | |||
6687 | 6709 | ||
6688 | <para> | 6710 | <para> |
6689 | When your build is complete, your packages reside in the | 6711 | When your build is complete, your packages reside in the |
6690 | <filename>${TMPDIR}/deploy/<package-format></filename> | 6712 | <filename>${TMPDIR}/deploy/<replaceable>package-format</replaceable></filename> |
6691 | directory. | 6713 | directory. |
6692 | For example, if <filename>${TMPDIR}</filename> | 6714 | For example, if <filename>${TMPDIR}</filename> |
6693 | is <filename>tmp</filename> and your selected package type | 6715 | is <filename>tmp</filename> and your selected package type |
@@ -6785,7 +6807,7 @@ Gateways via their Web Interfaces</ulink>"</emphasis> | |||
6785 | <para> | 6807 | <para> |
6786 | If you are using lighttpd, all you need | 6808 | If you are using lighttpd, all you need |
6787 | to do is to provide a link from your | 6809 | to do is to provide a link from your |
6788 | <filename>${TMPDIR}/deploy/<package-format></filename> | 6810 | <filename>${TMPDIR}/deploy/<replaceable>package-format</replaceable></filename> |
6789 | directory to lighttpd's document-root. | 6811 | directory to lighttpd's document-root. |
6790 | You can determine the specifics of your lighttpd | 6812 | You can determine the specifics of your lighttpd |
6791 | installation by looking through its configuration file, | 6813 | installation by looking through its configuration file, |
@@ -6936,7 +6958,7 @@ Gateways via their Web Interfaces</ulink>"</emphasis> | |||
6936 | a shell script (<filename>run-ptest</filename>) that starts | 6958 | a shell script (<filename>run-ptest</filename>) that starts |
6937 | the test. | 6959 | the test. |
6938 | The shell script that starts the test must not contain | 6960 | The shell script that starts the test must not contain |
6939 | the actual test, the script only starts it. | 6961 | the actual test - the script only starts the test. |
6940 | On the other hand, the test can be anything from a simple | 6962 | On the other hand, the test can be anything from a simple |
6941 | shell script that runs a binary and checks the output to | 6963 | shell script that runs a binary and checks the output to |
6942 | an elaborate system of test binaries and data files. | 6964 | an elaborate system of test binaries and data files. |
@@ -6946,7 +6968,7 @@ Gateways via their Web Interfaces</ulink>"</emphasis> | |||
6946 | The test generates output in the format used by | 6968 | The test generates output in the format used by |
6947 | Automake: | 6969 | Automake: |
6948 | <literallayout class='monospaced'> | 6970 | <literallayout class='monospaced'> |
6949 | <result>: <testname> | 6971 | <replaceable>result</replaceable>: <replaceable>testname</replaceable> |
6950 | </literallayout> | 6972 | </literallayout> |
6951 | where the result can be <filename>PASS</filename>, | 6973 | where the result can be <filename>PASS</filename>, |
6952 | <filename>FAIL</filename>, or <filename>SKIP</filename>, | 6974 | <filename>FAIL</filename>, or <filename>SKIP</filename>, |
@@ -6974,10 +6996,11 @@ Gateways via their Web Interfaces</ulink>"</emphasis> | |||
6974 | EXTRA_IMAGE_FEATURES += "ptest-pkgs" | 6996 | EXTRA_IMAGE_FEATURES += "ptest-pkgs" |
6975 | </literallayout> | 6997 | </literallayout> |
6976 | Once your build is complete, the ptest files are installed | 6998 | Once your build is complete, the ptest files are installed |
6977 | into the <filename>/usr/lib/<package>/ptest</filename> | 6999 | into the |
7000 | <filename>/usr/lib/<replaceable>package</replaceable>/ptest</filename> | ||
6978 | directory within the image, where | 7001 | directory within the image, where |
6979 | <filename><package></filename> is the name of the | 7002 | <filename><replaceable>package</replaceable></filename> |
6980 | package. | 7003 | is the name of the package. |
6981 | </para> | 7004 | </para> |
6982 | </section> | 7005 | </section> |
6983 | 7006 | ||
@@ -7062,7 +7085,7 @@ Gateways via their Web Interfaces</ulink>"</emphasis> | |||
7062 | Consequently, packages that use the unaltered, | 7085 | Consequently, packages that use the unaltered, |
7063 | patched version of <filename>make check</filename> | 7086 | patched version of <filename>make check</filename> |
7064 | automatically cross-compiles.</para> | 7087 | automatically cross-compiles.</para> |
7065 | <para>However, you still must add a | 7088 | <para>Regardless, you still must add a |
7066 | <filename>do_compile_ptest</filename> function to | 7089 | <filename>do_compile_ptest</filename> function to |
7067 | build the test suite. | 7090 | build the test suite. |
7068 | Add a function similar to the following to your | 7091 | Add a function similar to the following to your |
@@ -7185,7 +7208,7 @@ Gateways via their Web Interfaces</ulink>"</emphasis> | |||
7185 | Use the following BitBake command form to fetch all the | 7208 | Use the following BitBake command form to fetch all the |
7186 | necessary sources without starting the build: | 7209 | necessary sources without starting the build: |
7187 | <literallayout class='monospaced'> | 7210 | <literallayout class='monospaced'> |
7188 | $ bitbake -c fetchall <target> | 7211 | $ bitbake -c fetchall <replaceable>target</replaceable> |
7189 | </literallayout> | 7212 | </literallayout> |
7190 | This variation of the BitBake command guarantees that you | 7213 | This variation of the BitBake command guarantees that you |
7191 | have all the sources for that BitBake target should you | 7214 | have all the sources for that BitBake target should you |
@@ -7200,8 +7223,8 @@ Gateways via their Web Interfaces</ulink>"</emphasis> | |||
7200 | 7223 | ||
7201 | <para> | 7224 | <para> |
7202 | By default, the OpenEmbedded build system uses the | 7225 | By default, the OpenEmbedded build system uses the |
7203 | <link linkend='build-directory'>Build Directory</link> to | 7226 | <link linkend='build-directory'>Build Directory</link> when |
7204 | build source code. | 7227 | building source code. |
7205 | The build process involves fetching the source files, unpacking | 7228 | The build process involves fetching the source files, unpacking |
7206 | them, and then patching them if necessary before the build takes | 7229 | them, and then patching them if necessary before the build takes |
7207 | place. | 7230 | place. |
@@ -7235,7 +7258,7 @@ Gateways via their Web Interfaces</ulink>"</emphasis> | |||
7235 | <filename>local.conf</filename> file: | 7258 | <filename>local.conf</filename> file: |
7236 | <literallayout class='monospaced'> | 7259 | <literallayout class='monospaced'> |
7237 | INHERIT += "externalsrc" | 7260 | INHERIT += "externalsrc" |
7238 | EXTERNALSRC_pn-myrecipe = "/some/path/to/your/source/tree" | 7261 | EXTERNALSRC_pn-myrecipe = "<replaceable>path-to-your-source-tree</replaceable>" |
7239 | </literallayout> | 7262 | </literallayout> |
7240 | </para> | 7263 | </para> |
7241 | 7264 | ||
@@ -7249,7 +7272,7 @@ Gateways via their Web Interfaces</ulink>"</emphasis> | |||
7249 | <ulink url='&YOCTO_DOCS_REF_URL;#var-EXTERNALSRC_BUILD'><filename>EXTERNALSRC_BUILD</filename></ulink> | 7272 | <ulink url='&YOCTO_DOCS_REF_URL;#var-EXTERNALSRC_BUILD'><filename>EXTERNALSRC_BUILD</filename></ulink> |
7250 | to point to that directory: | 7273 | to point to that directory: |
7251 | <literallayout class='monospaced'> | 7274 | <literallayout class='monospaced'> |
7252 | EXTERNALSRC_BUILD_pn-myrecipe = "/path/to/my/source/tree" | 7275 | EXTERNALSRC_BUILD_pn-myrecipe = "<replaceable>path-to-your-source-tree</replaceable>" |
7253 | </literallayout> | 7276 | </literallayout> |
7254 | </para> | 7277 | </para> |
7255 | </section> | 7278 | </section> |
@@ -7310,7 +7333,7 @@ Gateways via their Web Interfaces</ulink>"</emphasis> | |||
7310 | <title>Using systemd for the Main Image and Using SysVinit for the Rescue Image</title> | 7333 | <title>Using systemd for the Main Image and Using SysVinit for the Rescue Image</title> |
7311 | 7334 | ||
7312 | <para> | 7335 | <para> |
7313 | Set the these variables in your distribution configuration | 7336 | Set these variables in your distribution configuration |
7314 | file as follows: | 7337 | file as follows: |
7315 | <literallayout class='monospaced'> | 7338 | <literallayout class='monospaced'> |
7316 | DISTRO_FEATURES_append = " systemd" | 7339 | DISTRO_FEATURES_append = " systemd" |
@@ -7354,7 +7377,7 @@ Gateways via their Web Interfaces</ulink>"</emphasis> | |||
7354 | Then, you can add the following to your | 7377 | Then, you can add the following to your |
7355 | <filename>local.conf</filename>: | 7378 | <filename>local.conf</filename>: |
7356 | <literallayout class='monospaced'> | 7379 | <literallayout class='monospaced'> |
7357 | SRCREV_pn-<PN> = "${AUTOREV}" | 7380 | SRCREV_pn-<replaceable>PN</replaceable> = "${AUTOREV}" |
7358 | </literallayout> | 7381 | </literallayout> |
7359 | <ulink url='&YOCTO_DOCS_REF_URL;#var-PN'><filename>PN</filename></ulink> | 7382 | <ulink url='&YOCTO_DOCS_REF_URL;#var-PN'><filename>PN</filename></ulink> |
7360 | is the name of the recipe for which you want to enable automatic source | 7383 | is the name of the recipe for which you want to enable automatic source |
@@ -7559,8 +7582,8 @@ Gateways via their Web Interfaces</ulink>"</emphasis> | |||
7559 | <title>Enabling Tests</title> | 7582 | <title>Enabling Tests</title> |
7560 | 7583 | ||
7561 | <para> | 7584 | <para> |
7562 | Depending on whether you are planning on running tests using | 7585 | Depending on whether you are planning to run tests using |
7563 | QEMU or on running them on the hardware, you have to take | 7586 | QEMU or on the hardware, you have to take |
7564 | different steps to enable the tests. | 7587 | different steps to enable the tests. |
7565 | See the following subsections for information on how to | 7588 | See the following subsections for information on how to |
7566 | enable both types of tests. | 7589 | enable both types of tests. |
@@ -7580,7 +7603,7 @@ Gateways via their Web Interfaces</ulink>"</emphasis> | |||
7580 | <listitem><para>Add | 7603 | <listitem><para>Add |
7581 | <filename>NOPASSWD</filename> for your user | 7604 | <filename>NOPASSWD</filename> for your user |
7582 | in <filename>/etc/sudoers</filename> either for | 7605 | in <filename>/etc/sudoers</filename> either for |
7583 | ALL commands or just for | 7606 | all commands or just for |
7584 | <filename>runqemu-ifup</filename>. | 7607 | <filename>runqemu-ifup</filename>. |
7585 | You must provide the full path as that can | 7608 | You must provide the full path as that can |
7586 | change if you are using multiple clones of the | 7609 | change if you are using multiple clones of the |
@@ -7622,7 +7645,7 @@ Gateways via their Web Interfaces</ulink>"</emphasis> | |||
7622 | 7645 | ||
7623 | <para> | 7646 | <para> |
7624 | Once you start running the tests, the following happens: | 7647 | Once you start running the tests, the following happens: |
7625 | <itemizedlist> | 7648 | <orderedlist> |
7626 | <listitem><para>A copy of the root filesystem is written | 7649 | <listitem><para>A copy of the root filesystem is written |
7627 | to <filename>${WORKDIR}/testimage</filename>. | 7650 | to <filename>${WORKDIR}/testimage</filename>. |
7628 | </para></listitem> | 7651 | </para></listitem> |
@@ -7652,7 +7675,7 @@ Gateways via their Web Interfaces</ulink>"</emphasis> | |||
7652 | <filename>unittest</filename> in the task log at | 7675 | <filename>unittest</filename> in the task log at |
7653 | <filename>${WORKDIR}/temp/log.do_testimage</filename>. | 7676 | <filename>${WORKDIR}/temp/log.do_testimage</filename>. |
7654 | </para></listitem> | 7677 | </para></listitem> |
7655 | </itemizedlist> | 7678 | </orderedlist> |
7656 | </para> | 7679 | </para> |
7657 | </section> | 7680 | </section> |
7658 | 7681 | ||
@@ -7779,7 +7802,8 @@ Gateways via their Web Interfaces</ulink>"</emphasis> | |||
7779 | <filename>kmod</filename>). | 7802 | <filename>kmod</filename>). |
7780 | </para></listitem> | 7803 | </para></listitem> |
7781 | <listitem><para>Uses a custom | 7804 | <listitem><para>Uses a custom |
7782 | initramfs image with a custom installer. | 7805 | Initial RAM Disk (initramfs) image with a |
7806 | custom installer. | ||
7783 | A normal image that you can install usually | 7807 | A normal image that you can install usually |
7784 | creates a single rootfs partition. | 7808 | creates a single rootfs partition. |
7785 | This image uses another installer that | 7809 | This image uses another installer that |
@@ -7859,7 +7883,7 @@ Gateways via their Web Interfaces</ulink>"</emphasis> | |||
7859 | In this example, the expect script does the | 7883 | In this example, the expect script does the |
7860 | following: | 7884 | following: |
7861 | <literallayout class='monospaced'> | 7885 | <literallayout class='monospaced'> |
7862 | ssh test@10.11.12.1 "pyctl nuc1 <arg>" | 7886 | ssh test@10.11.12.1 "pyctl nuc1 <replaceable>arg</replaceable>" |
7863 | </literallayout> | 7887 | </literallayout> |
7864 | It then runs a Python script that controls power | 7888 | It then runs a Python script that controls power |
7865 | for a label called <filename>nuc1</filename>. | 7889 | for a label called <filename>nuc1</filename>. |
@@ -7922,7 +7946,7 @@ Gateways via their Web Interfaces</ulink>"</emphasis> | |||
7922 | </literallayout> | 7946 | </literallayout> |
7923 | Next, use BitBake to run the tests: | 7947 | Next, use BitBake to run the tests: |
7924 | <literallayout class='monospaced'> | 7948 | <literallayout class='monospaced'> |
7925 | bitbake -c testimage <image> | 7949 | bitbake -c testimage <replaceable>image</replaceable> |
7926 | </literallayout></para></listitem> | 7950 | </literallayout></para></listitem> |
7927 | </itemizedlist> | 7951 | </itemizedlist> |
7928 | </para> | 7952 | </para> |
@@ -7944,7 +7968,7 @@ Gateways via their Web Interfaces</ulink>"</emphasis> | |||
7944 | <ulink url='&YOCTO_DOCS_REF_URL;#var-BBPATH'><filename>BBPATH</filename></ulink> | 7968 | <ulink url='&YOCTO_DOCS_REF_URL;#var-BBPATH'><filename>BBPATH</filename></ulink> |
7945 | in the <filename>local.conf</filename> file as normal. | 7969 | in the <filename>local.conf</filename> file as normal. |
7946 | Be sure that tests reside in | 7970 | Be sure that tests reside in |
7947 | <filename><layer>/lib/oeqa/runtime</filename>. | 7971 | <filename><replaceable>layer</replaceable>/lib/oeqa/runtime</filename>. |
7948 | <note> | 7972 | <note> |
7949 | Be sure that module names do not collide with module names | 7973 | Be sure that module names do not collide with module names |
7950 | used in the default set of test modules in | 7974 | used in the default set of test modules in |
@@ -7990,7 +8014,7 @@ Gateways via their Web Interfaces</ulink>"</emphasis> | |||
7990 | <listitem><para>The default tests for the image are defined | 8014 | <listitem><para>The default tests for the image are defined |
7991 | as: | 8015 | as: |
7992 | <literallayout class='monospaced'> | 8016 | <literallayout class='monospaced'> |
7993 | DEFAULT_TEST_SUITES_pn-<image> = "ping ssh df connman syslog xorg scp vnc date rpm smart dmesg" | 8017 | DEFAULT_TEST_SUITES_pn-<replaceable>image</replaceable> = "ping ssh df connman syslog xorg scp vnc date rpm smart dmesg" |
7994 | </literallayout></para></listitem> | 8018 | </literallayout></para></listitem> |
7995 | <listitem><para>Add your own test to the list of the | 8019 | <listitem><para>Add your own test to the list of the |
7996 | by using the following: | 8020 | by using the following: |
@@ -8021,7 +8045,7 @@ Gateways via their Web Interfaces</ulink>"</emphasis> | |||
8021 | </para> | 8045 | </para> |
8022 | 8046 | ||
8023 | <para> | 8047 | <para> |
8024 | If you image is already built, make sure the following are set | 8048 | If your image is already built, make sure the following are set |
8025 | in your <filename>local.conf</filename> file. | 8049 | in your <filename>local.conf</filename> file. |
8026 | Be sure to provide the IP address you need: | 8050 | Be sure to provide the IP address you need: |
8027 | <literallayout class='monospaced'> | 8051 | <literallayout class='monospaced'> |
@@ -8042,22 +8066,6 @@ Gateways via their Web Interfaces</ulink>"</emphasis> | |||
8042 | </para> | 8066 | </para> |
8043 | 8067 | ||
8044 | <para> | 8068 | <para> |
8045 | The exported data (i.e. <filename>testdata.json</filename>) | ||
8046 | contains paths to the Build Directory. | ||
8047 | Thus, the contents of the directory can be moved | ||
8048 | to another machine as long as you update some paths in the | ||
8049 | JSON. | ||
8050 | Usually you only care about the | ||
8051 | ${DEPLOY_DIR}/rpm directory (assuming the RPM and Smart tests | ||
8052 | are enabled). | ||
8053 | Consequently, running the tests on other machine | ||
8054 | means that you have to move the contents and call | ||
8055 | <filename>runexported</filename> with "‐‐deploy-dir PATH: | ||
8056 | ./runexported.py ‐‐deploy-dir /new/path/on/this/machine testdata.json | ||
8057 | runexported.py accepts other arguments as well, see ‐‐help. | ||
8058 | </para> | ||
8059 | |||
8060 | <para> | ||
8061 | You can now run the tests outside of the build environment: | 8069 | You can now run the tests outside of the build environment: |
8062 | <literallayout class='monospaced'> | 8070 | <literallayout class='monospaced'> |
8063 | $ cd tmp/testimage/core-image-sato | 8071 | $ cd tmp/testimage/core-image-sato |
@@ -8071,6 +8079,27 @@ Gateways via their Web Interfaces</ulink>"</emphasis> | |||
8071 | <filename>runexported.py</filename> | 8079 | <filename>runexported.py</filename> |
8072 | </note> | 8080 | </note> |
8073 | </para> | 8081 | </para> |
8082 | |||
8083 | <para> | ||
8084 | The exported data (i.e. <filename>testdata.json</filename>) | ||
8085 | contains paths to the Build Directory. | ||
8086 | Thus, the contents of the directory can be moved | ||
8087 | to another machine as long as you update some paths in the | ||
8088 | JSON. | ||
8089 | Usually, you only care about the | ||
8090 | <filename>${DEPLOY_DIR}/rpm</filename> directory | ||
8091 | (assuming the RPM and Smart tests are enabled). | ||
8092 | Consequently, running the tests on other machine | ||
8093 | means that you have to move the contents and call | ||
8094 | <filename>runexported.py</filename> with | ||
8095 | "‐‐deploy-dir <replaceable>path</replaceable>" as | ||
8096 | follows: | ||
8097 | <literallayout class='monospaced'> | ||
8098 | ./runexported.py ‐‐deploy-dir /new/path/on/this/machine testdata.json | ||
8099 | </literallayout> | ||
8100 | <filename>runexported.py</filename> accepts other arguments | ||
8101 | as well as described using <filename>‐‐help</filename>. | ||
8102 | </para> | ||
8074 | </section> | 8103 | </section> |
8075 | 8104 | ||
8076 | <section id="qemu-image-writing-new-tests"> | 8105 | <section id="qemu-image-writing-new-tests"> |
@@ -8081,8 +8110,8 @@ Gateways via their Web Interfaces</ulink>"</emphasis> | |||
8081 | proper place for the build system to find them. | 8110 | proper place for the build system to find them. |
8082 | New tests for additional functionality outside of the core | 8111 | New tests for additional functionality outside of the core |
8083 | should be added to the layer that adds the functionality, in | 8112 | should be added to the layer that adds the functionality, in |
8084 | <filename><layer>/lib/oeqa/runtime</filename> (as | 8113 | <filename><replaceable>layer</replaceable>/lib/oeqa/runtime</filename> |
8085 | long as | 8114 | (as long as |
8086 | <ulink url='&YOCTO_DOCS_REF_URL;#var-BBPATH'><filename>BBPATH</filename></ulink> | 8115 | <ulink url='&YOCTO_DOCS_REF_URL;#var-BBPATH'><filename>BBPATH</filename></ulink> |
8087 | is extended in the layer's | 8116 | is extended in the layer's |
8088 | <filename>layer.conf</filename> file as normal). | 8117 | <filename>layer.conf</filename> file as normal). |
@@ -8192,11 +8221,11 @@ Gateways via their Web Interfaces</ulink>"</emphasis> | |||
8192 | The command returns a tuple: | 8221 | The command returns a tuple: |
8193 | (status, output), which are what | 8222 | (status, output), which are what |
8194 | their names imply - the return code | 8223 | their names imply - the return code |
8195 | of 'cmd' and whatever output | 8224 | of "cmd" and whatever output |
8196 | it produces. | 8225 | it produces. |
8197 | The optional timeout argument | 8226 | The optional timeout argument |
8198 | represents the number of seconds the | 8227 | represents the number of seconds the |
8199 | test should wait for 'cmd' to | 8228 | test should wait for "cmd" to |
8200 | return. | 8229 | return. |
8201 | If the argument is "None", the | 8230 | If the argument is "None", the |
8202 | test uses the default instance's | 8231 | test uses the default instance's |
@@ -8293,8 +8322,8 @@ Gateways via their Web Interfaces</ulink>"</emphasis> | |||
8293 | 8322 | ||
8294 | <para> | 8323 | <para> |
8295 | Because the host GDB is responsible for loading the debugging information and | 8324 | Because the host GDB is responsible for loading the debugging information and |
8296 | for doing the necessary processing to make actual debugging happen, the | 8325 | for doing the necessary processing to make actual debugging happen, |
8297 | user has to make sure the host can access the unstripped binaries complete | 8326 | you have to make sure the host can access the unstripped binaries complete |
8298 | with their debugging information and also be sure the target is compiled with no optimizations. | 8327 | with their debugging information and also be sure the target is compiled with no optimizations. |
8299 | The host GDB must also have local access to all the libraries used by the | 8328 | The host GDB must also have local access to all the libraries used by the |
8300 | debugged program. | 8329 | debugged program. |
@@ -8342,7 +8371,7 @@ Gateways via their Web Interfaces</ulink>"</emphasis> | |||
8342 | </para> | 8371 | </para> |
8343 | 8372 | ||
8344 | <para> | 8373 | <para> |
8345 | Here is an example that when entered from the host | 8374 | Here is an example, that when entered from the host, |
8346 | connects to the target and launches Gdbserver in order to | 8375 | connects to the target and launches Gdbserver in order to |
8347 | "debug" a binary named <filename>helloworld</filename>: | 8376 | "debug" a binary named <filename>helloworld</filename>: |
8348 | <literallayout class='monospaced'> | 8377 | <literallayout class='monospaced'> |
@@ -8393,7 +8422,7 @@ Gateways via their Web Interfaces</ulink>"</emphasis> | |||
8393 | </literallayout> | 8422 | </literallayout> |
8394 | Once the binary is built, you can find it here: | 8423 | Once the binary is built, you can find it here: |
8395 | <literallayout class='monospaced'> | 8424 | <literallayout class='monospaced'> |
8396 | tmp/sysroots/<host-arch>/usr/bin/<target-platform>/<target-abi>-gdb | 8425 | tmp/sysroots/<replaceable>host-arch</replaceable>/usr/bin/<replaceable>target-platform</replaceable>/<replaceable>target-abi</replaceable>-gdb |
8397 | </literallayout> | 8426 | </literallayout> |
8398 | </para> | 8427 | </para> |
8399 | </section> | 8428 | </section> |
@@ -8709,7 +8738,7 @@ Gateways via their Web Interfaces</ulink>"</emphasis> | |||
8709 | </literallayout> | 8738 | </literallayout> |
8710 | The final thing you need to do to implement the fix in the | 8739 | The final thing you need to do to implement the fix in the |
8711 | build is to update the "neard" recipe (i.e. | 8740 | build is to update the "neard" recipe (i.e. |
8712 | <filename>neard-0.14.bb</filename> so that the | 8741 | <filename>neard-0.14.bb</filename>) so that the |
8713 | <ulink url='&YOCTO_DOCS_REF_URL;#var-SRC_URI'><filename>SRC_URI</filename></ulink> | 8742 | <ulink url='&YOCTO_DOCS_REF_URL;#var-SRC_URI'><filename>SRC_URI</filename></ulink> |
8714 | statement includes the patch file. | 8743 | statement includes the patch file. |
8715 | The recipe file is in the folder above the patch. | 8744 | The recipe file is in the folder above the patch. |
@@ -8922,19 +8951,20 @@ Gateways via their Web Interfaces</ulink>"</emphasis> | |||
8922 | </para> | 8951 | </para> |
8923 | 8952 | ||
8924 | <note><title>Notes</title> | 8953 | <note><title>Notes</title> |
8925 | <para> | 8954 | <itemizedlist> |
8926 | For information on how to delete information from the Toaster | 8955 | <listitem><para> |
8927 | database, see the | 8956 | For information on how to delete information from the |
8928 | <ulink url='https://wiki.yoctoproject.org/wiki/Toaster#Deleting_a_Build_from_the_Toaster_Database'>Deleting a Build from the Toaster Database</ulink> | 8957 | Toaster database, see the |
8929 | wiki page. | 8958 | <ulink url='https://wiki.yoctoproject.org/wiki/Toaster#Deleting_a_Build_from_the_Toaster_Database'>Deleting a Build from the Toaster Database</ulink> |
8930 | </para> | 8959 | wiki page. |
8931 | 8960 | </para></listitem> | |
8932 | <para> | 8961 | <listitem><para> |
8933 | For information on how to set up an instance of Toaster on | 8962 | For information on how to set up an instance of Toaster |
8934 | a remote host, see the | 8963 | on a remote host, see the |
8935 | <ulink url='https://wiki.yoctoproject.org/wiki/Toaster#Setting_up_a_Toaster_Instance_on_a_Remote_Host'>Setting Up a Toaster Instance on a Remote Host</ulink> | 8964 | <ulink url='https://wiki.yoctoproject.org/wiki/Toaster#Setting_up_a_Toaster_Instance_on_a_Remote_Host'>Setting Up a Toaster Instance on a Remote Host</ulink> |
8936 | wiki page. | 8965 | wiki page. |
8937 | </para> | 8966 | </para></listitem> |
8967 | </itemizedlist> | ||
8938 | </note> | 8968 | </note> |
8939 | </section> | 8969 | </section> |
8940 | 8970 | ||
@@ -9179,8 +9209,8 @@ Gateways via their Web Interfaces</ulink>"</emphasis> | |||
9179 | If you wish to perform kernel profiling, you need to be sure | 9209 | If you wish to perform kernel profiling, you need to be sure |
9180 | a <filename>vmlinux</filename> file that matches the running kernel is available. | 9210 | a <filename>vmlinux</filename> file that matches the running kernel is available. |
9181 | In the source directory, that file is usually located in | 9211 | In the source directory, that file is usually located in |
9182 | <filename>/boot/vmlinux-KERNELVERSION</filename>, where | 9212 | <filename>/boot/vmlinux-<replaceable>kernelversion</replaceable></filename>, where |
9183 | <filename>KERNEL-version</filename> is the version of the kernel. | 9213 | <filename><replaceable>kernelversion</replaceable></filename> is the version of the kernel. |
9184 | The OpenEmbedded build system generates separate <filename>vmlinux</filename> | 9214 | The OpenEmbedded build system generates separate <filename>vmlinux</filename> |
9185 | packages for each kernel it builds. | 9215 | packages for each kernel it builds. |
9186 | Thus, it should just be a question of making sure a matching package is | 9216 | Thus, it should just be a question of making sure a matching package is |
@@ -9282,7 +9312,7 @@ Gateways via their Web Interfaces</ulink>"</emphasis> | |||
9282 | <note> | 9312 | <note> |
9283 | The Yocto Project generates a license manifest during | 9313 | The Yocto Project generates a license manifest during |
9284 | image creation that is located | 9314 | image creation that is located |
9285 | in <filename>${DEPLOY_DIR}/licenses/<image_name-datestamp></filename> | 9315 | in <filename>${DEPLOY_DIR}/licenses/<replaceable>image_name-datestamp</replaceable></filename> |
9286 | to assist with any audits. | 9316 | to assist with any audits. |
9287 | </note> | 9317 | </note> |
9288 | </para> | 9318 | </para> |