diff options
| author | Scott Rifenbark <srifenbark@gmail.com> | 2018-01-15 11:30:54 -0800 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2018-02-14 15:25:29 +0000 |
| commit | 32651058c0ae2263a0684fcefe1a82504a9ac366 (patch) | |
| tree | 6b7ce84a7698a560c7e37e5d7b215188066af746 /documentation/ref-manual/usingpoky.xml | |
| parent | a59c06833cff0ae020b796ce81aee84e45a31e64 (diff) | |
| download | poky-32651058c0ae2263a0684fcefe1a82504a9ac366.tar.gz | |
dev-manual, ref-manual: Moved building image to dev-manual
Fixes [YOCTO #12370]
The section in the ref-manual that overviewed the buld process was
redundant and more of a "how-to" topic. I have moved and merged it
into the dev-manual into a similar area.
(From yocto-docs rev: 44f1351334342629aaa0976f62e64ac4f67166aa)
Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'documentation/ref-manual/usingpoky.xml')
| -rw-r--r-- | documentation/ref-manual/usingpoky.xml | 141 |
1 files changed, 0 insertions, 141 deletions
diff --git a/documentation/ref-manual/usingpoky.xml b/documentation/ref-manual/usingpoky.xml index 73b5df88dd..bfca60a99b 100644 --- a/documentation/ref-manual/usingpoky.xml +++ b/documentation/ref-manual/usingpoky.xml | |||
| @@ -11,147 +11,6 @@ | |||
| 11 | documentation set provide more details on how to use the Yocto Project. | 11 | documentation set provide more details on how to use the Yocto Project. |
| 12 | </para> | 12 | </para> |
| 13 | 13 | ||
| 14 | <section id='usingpoky-build'> | ||
| 15 | <title>Running a Build</title> | ||
| 16 | |||
| 17 | <para> | ||
| 18 | This section provides a summary of the build process and provides information | ||
| 19 | for less obvious aspects of the build process. | ||
| 20 | For general information on how to build an image using the OpenEmbedded build | ||
| 21 | system, see the | ||
| 22 | "<ulink url='&YOCTO_DOCS_QS_URL;#qs-building-images'>Building Images</ulink>" | ||
| 23 | section of the Yocto Project Quick Start. | ||
| 24 | </para> | ||
| 25 | |||
| 26 | <section id='build-overview'> | ||
| 27 | <title>Build Overview</title> | ||
| 28 | |||
| 29 | <para> | ||
| 30 | In the development environment you will need to build an image whenever you change hardware | ||
| 31 | support, add or change system libraries, or add or change services that have dependencies. | ||
| 32 | </para> | ||
| 33 | |||
| 34 | <mediaobject> | ||
| 35 | <imageobject> | ||
| 36 | <imagedata fileref="figures/building-an-image.png" format="PNG" align='center' scalefit='1'/> | ||
| 37 | </imageobject> | ||
| 38 | <caption> | ||
| 39 | <para>Building an Image</para> | ||
| 40 | </caption> | ||
| 41 | </mediaobject> | ||
| 42 | |||
| 43 | <para> | ||
| 44 | The first thing you need to do is set up the OpenEmbedded build | ||
| 45 | environment by sourcing the environment setup script | ||
| 46 | (i.e. | ||
| 47 | <link linkend='structure-core-script'><filename>&OE_INIT_FILE;</filename></link>). | ||
| 48 | Here is an example: | ||
| 49 | <literallayout class='monospaced'> | ||
| 50 | $ source &OE_INIT_FILE; [<replaceable>build_dir</replaceable>] | ||
| 51 | </literallayout> | ||
| 52 | </para> | ||
| 53 | |||
| 54 | <para> | ||
| 55 | The <replaceable>build_dir</replaceable> argument is optional and specifies the directory the | ||
| 56 | OpenEmbedded build system uses for the build - | ||
| 57 | the | ||
| 58 | <link linkend='build-directory'>Build Directory</link>. | ||
| 59 | If you do not specify a Build Directory, it defaults to a directory | ||
| 60 | named <filename>build</filename> in your current working directory. | ||
| 61 | A common practice is to use a different Build Directory for different targets. | ||
| 62 | For example, <filename>~/build/x86</filename> for a <filename>qemux86</filename> | ||
| 63 | target, and <filename>~/build/arm</filename> for a <filename>qemuarm</filename> target. | ||
| 64 | </para> | ||
| 65 | |||
| 66 | <para> | ||
| 67 | Once the build environment is set up, you can build a target using: | ||
| 68 | <literallayout class='monospaced'> | ||
| 69 | $ bitbake <replaceable>target</replaceable> | ||
| 70 | </literallayout> | ||
| 71 | <note> | ||
| 72 | <para> | ||
| 73 | If you experience a build error due to resources | ||
| 74 | temporarily being unavailable and it appears you | ||
| 75 | should not be having this issue, it might be due | ||
| 76 | to the combination of a 4.3+ Linux kernel and | ||
| 77 | <filename>systemd</filename> version 228+ | ||
| 78 | (i.e. see this | ||
| 79 | <ulink url='http://unix.stackexchange.com/questions/253903/creating-threads-fails-with-resource-temporarily-unavailable-with-4-3-kernel'>link</ulink> | ||
| 80 | for information). | ||
| 81 | </para> | ||
| 82 | |||
| 83 | <para> | ||
| 84 | To work around this issue, you can try either | ||
| 85 | of the following: | ||
| 86 | <itemizedlist> | ||
| 87 | <listitem><para> | ||
| 88 | Try the build again. | ||
| 89 | </para></listitem> | ||
| 90 | <listitem><para> | ||
| 91 | Modify the "DefaultTasksMax" | ||
| 92 | <filename>systemd</filename> parameter | ||
| 93 | by uncommenting it and setting it to | ||
| 94 | "infinity". | ||
| 95 | You can find this parameter in the | ||
| 96 | <filename>system.conf</filename> file | ||
| 97 | located in | ||
| 98 | <filename>/etc/systemd</filename> | ||
| 99 | on most systems. | ||
| 100 | </para></listitem> | ||
| 101 | </itemizedlist> | ||
| 102 | </para> | ||
| 103 | </note> | ||
| 104 | </para> | ||
| 105 | |||
| 106 | <para> | ||
| 107 | The <replaceable>target</replaceable> is the name of the recipe you want to build. | ||
| 108 | Common targets are the images in <filename>meta/recipes-core/images</filename>, | ||
| 109 | <filename>meta/recipes-sato/images</filename>, etc. all found in the | ||
| 110 | <link linkend='source-directory'>Source Directory</link>. | ||
| 111 | Or, the target can be the name of a recipe for a specific piece of software such as | ||
| 112 | BusyBox. | ||
| 113 | For more details about the images the OpenEmbedded build system supports, see the | ||
| 114 | "<link linkend="ref-images">Images</link>" chapter. | ||
| 115 | </para> | ||
| 116 | |||
| 117 | <note> | ||
| 118 | Building an image without GNU General Public License Version | ||
| 119 | 3 (GPLv3), or similarly licensed, components is supported for | ||
| 120 | only minimal and base images. | ||
| 121 | See the "<link linkend='ref-images'>Images</link>" chapter for more information. | ||
| 122 | </note> | ||
| 123 | </section> | ||
| 124 | |||
| 125 | <section id='building-an-image-using-gpl-components'> | ||
| 126 | <title>Building an Image Using GPL Components</title> | ||
| 127 | |||
| 128 | <para> | ||
| 129 | When building an image using GPL components, you need to maintain your original | ||
| 130 | settings and not switch back and forth applying different versions of the GNU | ||
| 131 | General Public License. | ||
| 132 | If you rebuild using different versions of GPL, dependency errors might occur | ||
| 133 | due to some components not being rebuilt. | ||
| 134 | </para> | ||
| 135 | </section> | ||
| 136 | </section> | ||
| 137 | |||
| 138 | <section id='usingpoky-install'> | ||
| 139 | <title>Installing and Using the Result</title> | ||
| 140 | |||
| 141 | <para> | ||
| 142 | Once an image has been built, it often needs to be installed. | ||
| 143 | The images and kernels built by the OpenEmbedded build system are placed in the | ||
| 144 | <link linkend='build-directory'>Build Directory</link> in | ||
| 145 | <filename class="directory">tmp/deploy/images</filename>. | ||
| 146 | For information on how to run pre-built images such as <filename>qemux86</filename> | ||
| 147 | and <filename>qemuarm</filename>, see the | ||
| 148 | <ulink url='&YOCTO_DOCS_SDK_URL;'>Yocto Project Application Development and the Extensible Software Development Kit (eSDK)</ulink> | ||
| 149 | manual. | ||
| 150 | For information about how to install these images, see the documentation for your | ||
| 151 | particular board or machine. | ||
| 152 | </para> | ||
| 153 | </section> | ||
| 154 | |||
| 155 | <section id='usingpoky-debugging-tools-and-techniques'> | 14 | <section id='usingpoky-debugging-tools-and-techniques'> |
| 156 | <title>Debugging Tools and Techniques</title> | 15 | <title>Debugging Tools and Techniques</title> |
| 157 | 16 | ||
