diff options
author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2020-09-14 22:48:44 +0200 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2020-09-17 10:09:35 +0100 |
commit | 292598164a304a3da3288e6fb8963f13045d1e7f (patch) | |
tree | efedbbdc16cb2e0978a4d40e6a6294e32b0e496f /documentation/ref-manual/faq.rst | |
parent | d313d972bf592de77f2af13cb3fc4226247cb1a1 (diff) | |
download | poky-292598164a304a3da3288e6fb8963f13045d1e7f.tar.gz |
sphinx: ref-manual links fixes and many other cleanups to import
(From yocto-docs rev: d079e418d5a81610e1f06a7a6ca45dd040c1402e)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'documentation/ref-manual/faq.rst')
-rw-r--r-- | documentation/ref-manual/faq.rst | 129 |
1 files changed, 81 insertions, 48 deletions
diff --git a/documentation/ref-manual/faq.rst b/documentation/ref-manual/faq.rst index e25f0b278c..04066e9202 100644 --- a/documentation/ref-manual/faq.rst +++ b/documentation/ref-manual/faq.rst | |||
@@ -4,9 +4,9 @@ | |||
4 | FAQ | 4 | FAQ |
5 | *** | 5 | *** |
6 | 6 | ||
7 | **Q:** How does Poky differ from `OpenEmbedded <&OE_HOME_URL;>`__? | 7 | **Q:** How does Poky differ from `OpenEmbedded <http://www.openembedded.org/>`__? |
8 | 8 | ||
9 | **A:** The term "`Poky <#>`__" refers to the specific reference build | 9 | **A:** The term ``Poky`` refers to the specific reference build |
10 | system that the Yocto Project provides. Poky is based on | 10 | system that the Yocto Project provides. Poky is based on |
11 | :term:`OpenEmbedded-Core (OE-Core)` and :term:`BitBake`. Thus, the | 11 | :term:`OpenEmbedded-Core (OE-Core)` and :term:`BitBake`. Thus, the |
12 | generic term used here for the build system is the "OpenEmbedded build | 12 | generic term used here for the build system is the "OpenEmbedded build |
@@ -44,11 +44,10 @@ steps on how to update your build tools. | |||
44 | 44 | ||
45 | **A:** Support for an additional board is added by creating a Board | 45 | **A:** Support for an additional board is added by creating a Board |
46 | Support Package (BSP) layer for it. For more information on how to | 46 | Support Package (BSP) layer for it. For more information on how to |
47 | create a BSP layer, see the "`Understanding and Creating | 47 | create a BSP layer, see the |
48 | Layers <&YOCTO_DOCS_DEV_URL;#understanding-and-creating-layers>`__" | 48 | ":ref:`dev-manual/dev-manual-common-tasks:understanding and creating layers`" |
49 | section in the Yocto Project Development Tasks Manual and the `Yocto | 49 | section in the Yocto Project Development Tasks Manual and the |
50 | Project Board Support Package (BSP) Developer's | 50 | :doc:`../bsp-guide/bsp-guide`. |
51 | Guide <&YOCTO_DOCS_BSP_URL;>`__. | ||
52 | 51 | ||
53 | Usually, if the board is not completely exotic, adding support in the | 52 | Usually, if the board is not completely exotic, adding support in the |
54 | Yocto Project is fairly straightforward. | 53 | Yocto Project is fairly straightforward. |
@@ -73,8 +72,8 @@ device. | |||
73 | **Q:** How do I add my package to the Yocto Project? | 72 | **Q:** How do I add my package to the Yocto Project? |
74 | 73 | ||
75 | **A:** To add a package, you need to create a BitBake recipe. For | 74 | **A:** To add a package, you need to create a BitBake recipe. For |
76 | information on how to create a BitBake recipe, see the "`Writing a New | 75 | information on how to create a BitBake recipe, see the |
77 | Recipe <&YOCTO_DOCS_DEV_URL;#new-recipe-writing-a-new-recipe>`__" | 76 | ":ref:`dev-manual/dev-manual-common-tasks:writing a new recipe`" |
78 | section in the Yocto Project Development Tasks Manual. | 77 | section in the Yocto Project Development Tasks Manual. |
79 | 78 | ||
80 | **Q:** Do I have to reflash my entire board with a new Yocto Project | 79 | **Q:** Do I have to reflash my entire board with a new Yocto Project |
@@ -126,12 +125,18 @@ file. | |||
126 | 125 | ||
127 | Following is the applicable code for setting various proxy types in the | 126 | Following is the applicable code for setting various proxy types in the |
128 | ``.wgetrc`` file. By default, these settings are disabled with comments. | 127 | ``.wgetrc`` file. By default, these settings are disabled with comments. |
129 | To use them, remove the comments: # You can set the default proxies for | 128 | To use them, remove the comments: :: |
130 | Wget to use for http, https, and ftp. # They will override the value in | 129 | |
131 | the environment. #https_proxy = http://proxy.yoyodyne.com:18023/ | 130 | # You can set the default proxies for Wget to use for http, https, and ftp. |
132 | #http_proxy = http://proxy.yoyodyne.com:18023/ #ftp_proxy = | 131 | # They will override the value in the environment. |
133 | http://proxy.yoyodyne.com:18023/ # If you do not want to use proxy at | 132 | #https_proxy = http://proxy.yoyodyne.com:18023/ |
134 | all, set this to off. #use_proxy = on The Yocto Project also includes a | 133 | #http_proxy = http://proxy.yoyodyne.com:18023/ |
134 | #ftp_proxy = http://proxy.yoyodyne.com:18023/ | ||
135 | |||
136 | # If you do not want to use proxy at all, set this to off. | ||
137 | #use_proxy = on | ||
138 | |||
139 | The Yocto Project also includes a | ||
135 | ``meta-poky/conf/site.conf.sample`` file that shows how to configure CVS | 140 | ``meta-poky/conf/site.conf.sample`` file that shows how to configure CVS |
136 | and Git proxy servers if needed. For more information on setting up | 141 | and Git proxy servers if needed. For more information on setting up |
137 | various proxy types and configuring proxy servers, see the | 142 | various proxy types and configuring proxy servers, see the |
@@ -167,8 +172,12 @@ always been traced back to hardware or virtualization issues. | |||
167 | **A:** If you get an error message that indicates GNU ``libiconv`` is | 172 | **A:** If you get an error message that indicates GNU ``libiconv`` is |
168 | not in use but ``iconv.h`` has been included from ``libiconv``, you need | 173 | not in use but ``iconv.h`` has been included from ``libiconv``, you need |
169 | to check to see if you have a previously installed version of the header | 174 | to check to see if you have a previously installed version of the header |
170 | file in ``/usr/local/include``. #error GNU libiconv not in use but | 175 | file in ``/usr/local/include``. |
171 | included iconv.h is from libiconv If you find a previously installed | 176 | :: |
177 | |||
178 | #error GNU libiconv not in use but included iconv.h is from libiconv | ||
179 | |||
180 | If you find a previously installed | ||
172 | file, you should either uninstall it or temporarily rename it and try | 181 | file, you should either uninstall it or temporarily rename it and try |
173 | the build again. | 182 | the build again. |
174 | 183 | ||
@@ -189,20 +198,21 @@ and also any configuration information about how that package was | |||
189 | configured and built. | 198 | configured and built. |
190 | 199 | ||
191 | You can find more information on licensing in the | 200 | You can find more information on licensing in the |
192 | "`Licensing <&YOCTO_DOCS_OM_URL;#licensing>`__" section in the Yocto | 201 | ":ref:`overview-manual/overview-manual-development-environment:licensing`" |
193 | Project Overview and Concepts Manual and also in the "`Maintaining Open | 202 | section in the Yocto |
194 | Source License Compliance During Your Product's | 203 | Project Overview and Concepts Manual and also in the |
195 | Lifecycle <&YOCTO_DOCS_DEV_URL;#maintaining-open-source-license-compliance-during-your-products-lifecycle>`__" | 204 | ":ref:`dev-manual/dev-manual-common-tasks:maintaining open source license compliance during your product's lifecycle`" |
196 | section in the Yocto Project Development Tasks Manual. | 205 | section in the Yocto Project Development Tasks Manual. |
197 | 206 | ||
198 | **Q:** How do I disable the cursor on my touchscreen device? | 207 | **Q:** How do I disable the cursor on my touchscreen device? |
199 | 208 | ||
200 | **A:** You need to create a form factor file as described in the | 209 | **A:** You need to create a form factor file as described in the |
201 | "`Miscellaneous BSP-Specific Recipe | 210 | ":ref:`bsp-filelayout-misc-recipes`" section in |
202 | Files <&YOCTO_DOCS_BSP_URL;#bsp-filelayout-misc-recipes>`__" section in | ||
203 | the Yocto Project Board Support Packages (BSP) Developer's Guide. Set | 211 | the Yocto Project Board Support Packages (BSP) Developer's Guide. Set |
204 | the ``HAVE_TOUCHSCREEN`` variable equal to one as follows: | 212 | the ``HAVE_TOUCHSCREEN`` variable equal to one as follows: |
205 | HAVE_TOUCHSCREEN=1 | 213 | :: |
214 | |||
215 | HAVE_TOUCHSCREEN=1 | ||
206 | 216 | ||
207 | **Q:** How do I make sure connected network interfaces are brought up by | 217 | **Q:** How do I make sure connected network interfaces are brought up by |
208 | default? | 218 | default? |
@@ -210,14 +220,14 @@ default? | |||
210 | **A:** The default interfaces file provided by the netbase recipe does | 220 | **A:** The default interfaces file provided by the netbase recipe does |
211 | not automatically bring up network interfaces. Therefore, you will need | 221 | not automatically bring up network interfaces. Therefore, you will need |
212 | to add a BSP-specific netbase that includes an interfaces file. See the | 222 | to add a BSP-specific netbase that includes an interfaces file. See the |
213 | "`Miscellaneous BSP-Specific Recipe | 223 | ":ref:`bsp-filelayout-misc-recipes`" section in |
214 | Files <&YOCTO_DOCS_BSP_URL;#bsp-filelayout-misc-recipes>`__" section in | ||
215 | the Yocto Project Board Support Packages (BSP) Developer's Guide for | 224 | the Yocto Project Board Support Packages (BSP) Developer's Guide for |
216 | information on creating these types of miscellaneous recipe files. | 225 | information on creating these types of miscellaneous recipe files. |
217 | 226 | ||
218 | For example, add the following files to your layer: | 227 | For example, add the following files to your layer: :: |
219 | meta-MACHINE/recipes-bsp/netbase/netbase/MACHINE/interfaces | 228 | |
220 | meta-MACHINE/recipes-bsp/netbase/netbase_5.0.bbappend | 229 | meta-MACHINE/recipes-bsp/netbase/netbase/MACHINE/interfaces |
230 | meta-MACHINE/recipes-bsp/netbase/netbase_5.0.bbappend | ||
221 | 231 | ||
222 | **Q:** How do I create images with more free space? | 232 | **Q:** How do I create images with more free space? |
223 | 233 | ||
@@ -260,7 +270,7 @@ controls which ``tcmode-*.inc`` file to include from the | |||
260 | The default value of ``TCMODE`` is "default", which tells the | 270 | The default value of ``TCMODE`` is "default", which tells the |
261 | OpenEmbedded build system to use its internally built toolchain (i.e. | 271 | OpenEmbedded build system to use its internally built toolchain (i.e. |
262 | ``tcmode-default.inc``). However, other patterns are accepted. In | 272 | ``tcmode-default.inc``). However, other patterns are accepted. In |
263 | particular, "external-*" refers to external toolchains. One example is | 273 | particular, "external-\*" refers to external toolchains. One example is |
264 | the Sourcery G++ Toolchain. The support for this toolchain resides in | 274 | the Sourcery G++ Toolchain. The support for this toolchain resides in |
265 | the separate ``meta-sourcery`` layer at | 275 | the separate ``meta-sourcery`` layer at |
266 | http://github.com/MentorEmbedded/meta-sourcery/. | 276 | http://github.com/MentorEmbedded/meta-sourcery/. |
@@ -290,11 +300,13 @@ fail. | |||
290 | 300 | ||
291 | As an example, you could add a specific server for the build system to | 301 | As an example, you could add a specific server for the build system to |
292 | attempt before any others by adding something like the following to the | 302 | attempt before any others by adding something like the following to the |
293 | ``local.conf`` configuration file: PREMIRRORS_prepend = "\\ git://.*/.\* | 303 | ``local.conf`` configuration file: :: |
294 | http://www.yoctoproject.org/sources/ \\n \\ ftp://.*/.\* | 304 | |
295 | http://www.yoctoproject.org/sources/ \\n \\ http://.*/.\* | 305 | PREMIRRORS_prepend = "\ |
296 | http://www.yoctoproject.org/sources/ \\n \\ https://.*/.\* | 306 | git://.*/.* http://www.yoctoproject.org/sources/ \n \ |
297 | http://www.yoctoproject.org/sources/ \\n" | 307 | ftp://.*/.* http://www.yoctoproject.org/sources/ \n \ |
308 | http://.*/.* http://www.yoctoproject.org/sources/ \n \ | ||
309 | https://.*/.* http://www.yoctoproject.org/sources/ \n" | ||
298 | 310 | ||
299 | These changes cause the build system to intercept Git, FTP, HTTP, and | 311 | These changes cause the build system to intercept Git, FTP, HTTP, and |
300 | HTTPS requests and direct them to the ``http://`` sources mirror. You | 312 | HTTPS requests and direct them to the ``http://`` sources mirror. You |
@@ -302,25 +314,43 @@ can use ``file://`` URLs to point to local directories or network shares | |||
302 | as well. | 314 | as well. |
303 | 315 | ||
304 | Aside from the previous technique, these options also exist: | 316 | Aside from the previous technique, these options also exist: |
305 | BB_NO_NETWORK = "1" This statement tells BitBake to issue an error | 317 | :: |
318 | |||
319 | BB_NO_NETWORK = "1" | ||
320 | |||
321 | This statement tells BitBake to issue an error | ||
306 | instead of trying to access the Internet. This technique is useful if | 322 | instead of trying to access the Internet. This technique is useful if |
307 | you want to ensure code builds only from local sources. | 323 | you want to ensure code builds only from local sources. |
308 | 324 | ||
309 | Here is another technique: BB_FETCH_PREMIRRORONLY = "1" This statement | 325 | Here is another technique: |
326 | :: | ||
327 | |||
328 | BB_FETCH_PREMIRRORONLY = "1" | ||
329 | |||
330 | This statement | ||
310 | limits the build system to pulling source from the ``PREMIRRORS`` only. | 331 | limits the build system to pulling source from the ``PREMIRRORS`` only. |
311 | Again, this technique is useful for reproducing builds. | 332 | Again, this technique is useful for reproducing builds. |
312 | 333 | ||
313 | Here is another technique: BB_GENERATE_MIRROR_TARBALLS = "1" This | 334 | Here is another technique: |
335 | :: | ||
336 | |||
337 | BB_GENERATE_MIRROR_TARBALLS = "1" | ||
338 | |||
339 | This | ||
314 | statement tells the build system to generate mirror tarballs. This | 340 | statement tells the build system to generate mirror tarballs. This |
315 | technique is useful if you want to create a mirror server. If not, | 341 | technique is useful if you want to create a mirror server. If not, |
316 | however, the technique can simply waste time during the build. | 342 | however, the technique can simply waste time during the build. |
317 | 343 | ||
318 | Finally, consider an example where you are behind an HTTP-only firewall. | 344 | Finally, consider an example where you are behind an HTTP-only firewall. |
319 | You could make the following changes to the ``local.conf`` configuration | 345 | You could make the following changes to the ``local.conf`` configuration |
320 | file as long as the ``PREMIRRORS`` server is current: PREMIRRORS_prepend | 346 | file as long as the ``PREMIRRORS`` server is current: :: |
321 | = "\\ ftp://.*/.\* http://www.yoctoproject.org/sources/ \\n \\ | 347 | |
322 | http://.*/.\* http://www.yoctoproject.org/sources/ \\n \\ https://.*/.\* | 348 | PREMIRRORS_prepend = "\ |
323 | http://www.yoctoproject.org/sources/ \\n" BB_FETCH_PREMIRRORONLY = "1" | 349 | ftp://.*/.* http://www.yoctoproject.org/sources/ \n \ |
350 | http://.*/.* http://www.yoctoproject.org/sources/ \n \ | ||
351 | https://.*/.* http://www.yoctoproject.org/sources/ \n" | ||
352 | BB_FETCH_PREMIRRORONLY = "1" | ||
353 | |||
324 | These changes would cause the build system to successfully fetch source | 354 | These changes would cause the build system to successfully fetch source |
325 | over HTTP and any network accesses to anything other than the | 355 | over HTTP and any network accesses to anything other than the |
326 | ``PREMIRRORS`` would fail. | 356 | ``PREMIRRORS`` would fail. |
@@ -384,18 +414,21 @@ that program is never installed directly to the build machine's root | |||
384 | file system. Consequently, the build system uses paths within the Build | 414 | file system. Consequently, the build system uses paths within the Build |
385 | Directory for ``DESTDIR``, ``bindir`` and related variables. To better | 415 | Directory for ``DESTDIR``, ``bindir`` and related variables. To better |
386 | understand this, consider the following two paths where the first is | 416 | understand this, consider the following two paths where the first is |
387 | relatively normal and the second is not: | 417 | relatively normal and the second is not: :: |
418 | |||
419 | /home/maxtothemax/poky-bootchart2/build/tmp/work/i586-poky-linux/zlib/ | ||
420 | 1.2.8-r0/sysroot-destdir/usr/bin | ||
421 | |||
422 | /home/maxtothemax/poky-bootchart2/build/tmp/work/x86_64-linux/ | ||
423 | zlib-native/1.2.8-r0/sysroot-destdir/home/maxtothemax/poky-bootchart2/ | ||
424 | build/tmp/sysroots/x86_64-linux/usr/bin | ||
388 | 425 | ||
389 | .. note:: | 426 | .. note:: |
390 | 427 | ||
391 | Due to these lengthy examples, the paths are artificially broken | 428 | Due to these lengthy examples, the paths are artificially broken |
392 | across lines for readability. | 429 | across lines for readability. |
393 | 430 | ||
394 | /home/maxtothemax/poky-bootchart2/build/tmp/work/i586-poky-linux/zlib/ | 431 | Even if the paths look unusual, |
395 | 1.2.8-r0/sysroot-destdir/usr/bin | ||
396 | /home/maxtothemax/poky-bootchart2/build/tmp/work/x86_64-linux/ | ||
397 | zlib-native/1.2.8-r0/sysroot-destdir/home/maxtothemax/poky-bootchart2/ | ||
398 | build/tmp/sysroots/x86_64-linux/usr/bin Even if the paths look unusual, | ||
399 | they both are correct - the first for a target and the second for a | 432 | they both are correct - the first for a target and the second for a |
400 | native recipe. These paths are a consequence of the ``DESTDIR`` | 433 | native recipe. These paths are a consequence of the ``DESTDIR`` |
401 | mechanism and while they appear strange, they are correct and in | 434 | mechanism and while they appear strange, they are correct and in |