summaryrefslogtreecommitdiffstats
path: root/documentation/ref-manual/eclipse/html/poky-ref-manual/faq.html
diff options
context:
space:
mode:
Diffstat (limited to 'documentation/ref-manual/eclipse/html/poky-ref-manual/faq.html')
-rw-r--r--documentation/ref-manual/eclipse/html/poky-ref-manual/faq.html791
1 files changed, 0 insertions, 791 deletions
diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/faq.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/faq.html
deleted file mode 100644
index 8b8cafbc3a..0000000000
--- a/documentation/ref-manual/eclipse/html/poky-ref-manual/faq.html
+++ /dev/null
@@ -1,791 +0,0 @@
1<html>
2<head>
3<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
4<title>Chapter 12. FAQ</title>
5<link rel="stylesheet" type="text/css" href="../book.css">
6<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
7<link rel="home" href="index.html" title="The Yocto Project Reference Manual">
8<link rel="up" href="index.html" title="The Yocto Project Reference Manual">
9<link rel="prev" href="ref-varlocality-recipe-build.html" title="11.2.4. Extra Build Information">
10<link rel="next" href="resources.html" title="Chapter 13. Contributing to the Yocto Project">
11</head>
12<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="chapter" title="Chapter 12. FAQ">
13<div class="titlepage"><div><div><h2 class="title">
14<a name="faq"></a>Chapter 12. FAQ</h2></div></div></div>
15<div class="qandaset" title="Frequently Asked Questions">
16<a name="idm1966160"></a><dl>
17<dt>12.1. <a href="faq.html#idm1965696">
18 How does Poky differ from OpenEmbedded?
19 </a>
20</dt>
21<dt>12.2. <a href="faq.html#idm1961792">
22 I only have Python 2.4 or 2.5 but BitBake requires Python 2.6 or 2.7.
23 Can I still use the Yocto Project?
24 </a>
25</dt>
26<dt>12.3. <a href="faq.html#idm2605168">
27 How can you claim Poky / OpenEmbedded-Core is stable?
28 </a>
29</dt>
30<dt>12.4. <a href="faq.html#idm3232752">
31 How do I get support for my board added to the Yocto Project?
32 </a>
33</dt>
34<dt>12.5. <a href="faq.html#idm3230416">
35 Are there any products built using the OpenEmbedded build system?
36 </a>
37</dt>
38<dt>12.6. <a href="faq.html#idm3227696">
39 What does the OpenEmbedded build system produce as output?
40 </a>
41</dt>
42<dt>12.7. <a href="faq.html#idm5359408">
43 How do I add my package to the Yocto Project?
44 </a>
45</dt>
46<dt>12.8. <a href="faq.html#idm5357680">
47 Do I have to reflash my entire board with a new Yocto Project image when recompiling
48 a package?
49 </a>
50</dt>
51<dt>12.9. <a href="faq.html#idm5354224">
52 What is GNOME Mobile and what is the difference between GNOME Mobile and GNOME?
53 </a>
54</dt>
55<dt>12.10. <a href="faq.html#idm2088960">
56 I see the error 'chmod: XXXXX new permissions are r-xrwxrwx, not r-xr-xr-x'.
57 What is wrong?
58 </a>
59</dt>
60<dt>12.11. <a href="faq.html#idm2085168">
61 How do I make the Yocto Project work in RHEL/CentOS?
62 </a>
63</dt>
64<dt>12.12. <a href="faq.html#idm3829808">
65 I see lots of 404 responses for files on
66 http://www.yoctoproject.org/sources/*. Is something wrong?
67 </a>
68</dt>
69<dt>12.13. <a href="faq.html#idm3827408">
70 I have machine-specific data in a package for one machine only but the package is
71 being marked as machine-specific in all cases, how do I prevent this?
72 </a>
73</dt>
74<dt>12.14. <a href="faq.html#idm5331776">
75 I'm behind a firewall and need to use a proxy server. How do I do that?
76 </a>
77</dt>
78<dt>12.15. <a href="faq.html#idm1524432">
79 What&#8217;s the difference between foo and foo-native?
80 </a>
81</dt>
82<dt>12.16. <a href="faq.html#idm1520336">
83 I'm seeing random build failures. Help?!
84 </a>
85</dt>
86<dt>12.17. <a href="faq.html#idm4636672">
87 What do we need to ship for license compliance?
88 </a>
89</dt>
90<dt>12.18. <a href="faq.html#idm4635216">
91 How do I disable the cursor on my touchscreen device?
92 </a>
93</dt>
94<dt>12.19. <a href="faq.html#idm4631744">
95 How do I make sure connected network interfaces are brought up by default?
96 </a>
97</dt>
98<dt>12.20. <a href="faq.html#idm3888832">
99 How do I create images with more free space?
100 </a>
101</dt>
102<dt>12.21. <a href="faq.html#idm619504">
103 Why don't you support directories with spaces in the pathnames?
104 </a>
105</dt>
106<dt>12.22. <a href="faq.html#idm617456">
107 How do I use an external toolchain?
108 </a>
109</dt>
110<dt>12.23. <a href="faq.html#idm4577168">
111 How does the OpenEmbedded build system obtain source code and will it work behind my
112 firewall or proxy server?
113 </a>
114</dt>
115<dt>12.24. <a href="faq.html#idm3953616">
116 Can I get rid of build output so I can start over?
117 </a>
118</dt>
119</dl>
120<table border="0" width="100%" summary="Q and A Set">
121<col align="left" width="1%">
122<col>
123<tbody>
124<tr class="question" title="12.1.">
125<td align="left" valign="top">
126<a name="idm1965696"></a><a name="idm1965568"></a><p><b>12.1.</b></p>
127</td>
128<td align="left" valign="top"><p>
129 How does Poky differ from <a class="ulink" href="http://www.openembedded.org" target="_self">OpenEmbedded</a>?
130 </p></td>
131</tr>
132<tr class="answer">
133<td align="left" valign="top"></td>
134<td align="left" valign="top"><p>
135 The term "Poky" refers to the specific reference build system that
136 the Yocto Project provides.
137 Poky is based on <a class="link" href="../dev-manual/oe-core.html" target="_self">OE-Core</a>
138 and BitBake.
139 Thus, the generic term used here for the build system is
140 the "OpenEmbedded build system."
141 Development in the Yocto Project using Poky is closely tied to OpenEmbedded, with
142 changes always being merged to OE-Core or BitBake first before being pulled back
143 into Poky.
144 This practice benefits both projects immediately.
145 For a fuller description of the term "Poky", see the
146 <a class="link" href="../dev-manual/poky.html" target="_self">poky</a> term in the Yocto Project
147 Development Manual.
148 </p></td>
149</tr>
150<tr class="question" title="12.2.">
151<td align="left" valign="top">
152<a name="idm1961792"></a><a name="idm1961664"></a><p><b>12.2.</b></p>
153</td>
154<td align="left" valign="top"><p>
155 I only have Python 2.4 or 2.5 but BitBake requires Python 2.6 or 2.7.
156 Can I still use the Yocto Project?
157 </p></td>
158</tr>
159<tr class="answer">
160<td align="left" valign="top"></td>
161<td align="left" valign="top">
162<p>
163 You can use a stand-alone tarball to provide Python 2.6.
164 You can find pre-built 32 and 64-bit versions of Python 2.6 at the following locations:
165 </p>
166<div class="itemizedlist"><ul class="itemizedlist" type="disc">
167<li class="listitem"><p><a class="ulink" href="http://downloads.yoctoproject.org/releases/miscsupport/python-nativesdk-standalone-i686.tar.bz2" target="_self">32-bit tarball</a></p></li>
168<li class="listitem"><p><a class="ulink" href="http://downloads.yoctoproject.org/releases/miscsupport/python-nativesdk-standalone-x86_64.tar.bz2" target="_self">64-bit tarball</a></p></li>
169</ul></div>
170<p>
171 </p>
172<p>
173 These tarballs are self-contained with all required libraries and should work
174 on most Linux systems.
175 To use the tarballs extract them into the root
176 directory and run the appropriate command:
177 </p>
178<pre class="literallayout">
179 $ export PATH=/opt/poky/sysroots/i586-pokysdk-linux/usr/bin/:$PATH
180 $ export PATH=/opt/poky/sysroots/x86_64-pokysdk-linux/usr/bin/:$PATH
181 </pre>
182<p>
183 </p>
184<p>
185 Once you run the command, BitBake uses Python 2.6.
186 </p>
187</td>
188</tr>
189<tr class="question" title="12.3.">
190<td align="left" valign="top">
191<a name="idm2605168"></a><a name="idm2605040"></a><p><b>12.3.</b></p>
192</td>
193<td align="left" valign="top"><p>
194 How can you claim Poky / OpenEmbedded-Core is stable?
195 </p></td>
196</tr>
197<tr class="answer">
198<td align="left" valign="top"></td>
199<td align="left" valign="top">
200<p>
201 There are three areas that help with stability;
202 </p>
203<div class="itemizedlist"><ul class="itemizedlist" type="disc">
204<li class="listitem"><p>The Yocto Project team keeps
205 <a class="link" href="../dev-manual/oe-core.html" target="_self">OE-Core</a> small
206 and focused, containing around 830 recipes as opposed to the thousands
207 available in other OpenEmbedded community layers.
208 Keeping it small makes it easy to test and maintain.</p></li>
209<li class="listitem"><p>The Yocto Project team runs manual and automated tests
210 using a small, fixed set of reference hardware as well as emulated
211 targets.</p></li>
212<li class="listitem"><p>The Yocto Project uses an an autobuilder,
213 which provides continuous build and integration tests.</p></li>
214</ul></div>
215<p>
216 </p>
217</td>
218</tr>
219<tr class="question" title="12.4.">
220<td align="left" valign="top">
221<a name="idm3232752"></a><a name="idm3232624"></a><p><b>12.4.</b></p>
222</td>
223<td align="left" valign="top"><p>
224 How do I get support for my board added to the Yocto Project?
225 </p></td>
226</tr>
227<tr class="answer">
228<td align="left" valign="top"></td>
229<td align="left" valign="top">
230<p>
231 Support for an additional board is added by creating a BSP layer for it.
232 For more information on how to create a BSP layer, see the
233 <a class="link" href="../bsp-guide/index.html" target="_self">Yocto Project Board Support Package (BSP) Developer's Guide</a>.
234 </p>
235<p>
236 Usually, if the board is not completely exotic, adding support in
237 the Yocto Project is fairly straightforward.
238 </p>
239</td>
240</tr>
241<tr class="question" title="12.5.">
242<td align="left" valign="top">
243<a name="idm3230416"></a><a name="idm3230288"></a><p><b>12.5.</b></p>
244</td>
245<td align="left" valign="top"><p>
246 Are there any products built using the OpenEmbedded build system?
247 </p></td>
248</tr>
249<tr class="answer">
250<td align="left" valign="top"></td>
251<td align="left" valign="top"><p>
252 The software running on the <a class="ulink" href="http://vernier.com/labquest/" target="_self">Vernier LabQuest</a>
253 is built using the OpenEmbedded build system.
254 See the <a class="ulink" href="http://www.vernier.com/products/interfaces/labq/" target="_self">Vernier LabQuest</a>
255 website for more information.
256 There are a number of pre-production devices using the OpenEmbedded build system
257 and the Yocto Project team
258 announces them as soon as they are released.
259 </p></td>
260</tr>
261<tr class="question" title="12.6.">
262<td align="left" valign="top">
263<a name="idm3227696"></a><a name="idm3227568"></a><p><b>12.6.</b></p>
264</td>
265<td align="left" valign="top"><p>
266 What does the OpenEmbedded build system produce as output?
267 </p></td>
268</tr>
269<tr class="answer">
270<td align="left" valign="top"></td>
271<td align="left" valign="top"><p>
272 Because the same set of recipes can be used to create output of various formats, the
273 output of an OpenEmbedded build depends on how it was started.
274 Usually, the output is a flashable image ready for the target device.
275 </p></td>
276</tr>
277<tr class="question" title="12.7.">
278<td align="left" valign="top">
279<a name="idm5359408"></a><a name="idm5359280"></a><p><b>12.7.</b></p>
280</td>
281<td align="left" valign="top"><p>
282 How do I add my package to the Yocto Project?
283 </p></td>
284</tr>
285<tr class="answer">
286<td align="left" valign="top"></td>
287<td align="left" valign="top"><p>
288 To add a package, you need to create a BitBake recipe.
289 For information on how to add a package, see the section
290 "<a class="link" href="../dev-manual/usingpoky-extend-addpkg.html" target="_self">Adding a Package</a>"
291 in the Yocto Project Development Manual.
292 </p></td>
293</tr>
294<tr class="question" title="12.8.">
295<td align="left" valign="top">
296<a name="idm5357680"></a><a name="idm5357552"></a><p><b>12.8.</b></p>
297</td>
298<td align="left" valign="top"><p>
299 Do I have to reflash my entire board with a new Yocto Project image when recompiling
300 a package?
301 </p></td>
302</tr>
303<tr class="answer">
304<td align="left" valign="top"></td>
305<td align="left" valign="top"><p>
306 The OpenEmbedded build system can build packages in various formats such as
307 <code class="filename">ipk</code> for <code class="filename">opkg</code>,
308 Debian package (<code class="filename">.deb</code>), or RPM.
309 The packages can then be upgraded using the package tools on the device, much like
310 on a desktop distribution such as Ubuntu or Fedora.
311 </p></td>
312</tr>
313<tr class="question" title="12.9.">
314<td align="left" valign="top">
315<a name="idm5354224"></a><a name="idm5354096"></a><p><b>12.9.</b></p>
316</td>
317<td align="left" valign="top"><p>
318 What is GNOME Mobile and what is the difference between GNOME Mobile and GNOME?
319 </p></td>
320</tr>
321<tr class="answer">
322<td align="left" valign="top"></td>
323<td align="left" valign="top"><p>
324 GNOME Mobile is a subset of the <a class="ulink" href="http://www.gnome.org" target="_self">GNOME</a>
325 platform targeted at mobile and embedded devices.
326 The the main difference between GNOME Mobile and standard GNOME is that
327 desktop-orientated libraries have been removed, along with deprecated libraries,
328 creating a much smaller footprint.
329 </p></td>
330</tr>
331<tr class="question" title="12.10.">
332<td align="left" valign="top">
333<a name="idm2088960"></a><a name="idm2088832"></a><p><b>12.10.</b></p>
334</td>
335<td align="left" valign="top"><p>
336 I see the error '<code class="filename">chmod: XXXXX new permissions are r-xrwxrwx, not r-xr-xr-x</code>'.
337 What is wrong?
338 </p></td>
339</tr>
340<tr class="answer">
341<td align="left" valign="top"></td>
342<td align="left" valign="top"><p>
343 You are probably running the build on an NTFS filesystem.
344 Use <code class="filename">ext2</code>, <code class="filename">ext3</code>, or <code class="filename">ext4</code> instead.
345 </p></td>
346</tr>
347<tr class="question" title="12.11.">
348<td align="left" valign="top">
349<a name="idm2085168"></a><a name="idm2085040"></a><p><b>12.11.</b></p>
350</td>
351<td align="left" valign="top"><p>
352 How do I make the Yocto Project work in RHEL/CentOS?
353 </p></td>
354</tr>
355<tr class="answer">
356<td align="left" valign="top"></td>
357<td align="left" valign="top">
358<p>
359 To get the Yocto Project working under RHEL/CentOS 5.1 you need to first
360 install some required packages.
361 The standard CentOS packages needed are:
362 </p>
363<div class="itemizedlist"><ul class="itemizedlist" type="disc">
364<li class="listitem"><p>"Development tools" (selected during installation)</p></li>
365<li class="listitem"><p><code class="filename">texi2html</code></p></li>
366<li class="listitem"><p><code class="filename">compat-gcc-34</code></p></li>
367</ul></div>
368<p>
369 On top of these, you need the following external packages:
370 </p>
371<div class="itemizedlist"><ul class="itemizedlist" type="disc">
372<li class="listitem"><p><code class="filename">python-sqlite2</code> from
373 <a class="ulink" href="http://dag.wieers.com/rpm/packages/python-sqlite2/" target="_self">DAG repository</a>
374 </p></li>
375<li class="listitem"><p><code class="filename">help2man</code> from
376 <a class="ulink" href="http://centos.karan.org/el4/extras/stable/x86_64/RPMS/repodata/repoview/help2man-0-1.33.1-2.html" target="_self">Karan repository</a></p></li>
377</ul></div>
378<p>
379 </p>
380<p>
381 Once these packages are installed, the OpenEmbedded build system will be able
382 to build standard images.
383 However, there might be a problem with the QEMU emulator segfaulting.
384 You can either disable the generation of binary locales by setting
385 <code class="filename"><a class="link" href="ref-variables-glos.html#var-ENABLE_BINARY_LOCALE_GENERATION" title="ENABLE_BINARY_LOCALE_GENERATION">ENABLE_BINARY_LOCALE_GENERATION</a>
386 </code> to "0" or by removing the <code class="filename">linux-2.6-execshield.patch</code>
387 from the kernel and rebuilding it since that is the patch that causes the problems with QEMU.
388 </p>
389</td>
390</tr>
391<tr class="question" title="12.12.">
392<td align="left" valign="top">
393<a name="idm3829808"></a><a name="idm3829680"></a><p><b>12.12.</b></p>
394</td>
395<td align="left" valign="top"><p>
396 I see lots of 404 responses for files on
397 <code class="filename">http://www.yoctoproject.org/sources/*</code>. Is something wrong?
398 </p></td>
399</tr>
400<tr class="answer">
401<td align="left" valign="top"></td>
402<td align="left" valign="top"><p>
403 Nothing is wrong.
404 The OpenEmbedded build system checks any configured source mirrors before downloading
405 from the upstream sources.
406 The build system does this searching for both source archives and
407 pre-checked out versions of SCM managed software.
408 These checks help in large installations because it can reduce load on the SCM servers
409 themselves.
410 The address above is one of the default mirrors configured into the
411 build system.
412 Consequently, if an upstream source disappears, the team
413 can place sources there so builds continue to work.
414 </p></td>
415</tr>
416<tr class="question" title="12.13.">
417<td align="left" valign="top">
418<a name="idm3827408"></a><a name="idm3827280"></a><p><b>12.13.</b></p>
419</td>
420<td align="left" valign="top"><p>
421 I have machine-specific data in a package for one machine only but the package is
422 being marked as machine-specific in all cases, how do I prevent this?
423 </p></td>
424</tr>
425<tr class="answer">
426<td align="left" valign="top"></td>
427<td align="left" valign="top"><p>
428 Set <code class="filename"><a class="link" href="ref-variables-glos.html#var-SRC_URI_OVERRIDES_PACKAGE_ARCH" title="SRC_URI_OVERRIDES_PACKAGE_ARCH">SRC_URI_OVERRIDES_PACKAGE_ARCH</a>
429 </code> = "0" in the <code class="filename">.bb</code> file but make sure the package is
430 manually marked as
431 machine-specific in the case that needs it.
432 The code that handles <code class="filename">SRC_URI_OVERRIDES_PACKAGE_ARCH</code> is in <code class="filename">base.bbclass</code>.
433 </p></td>
434</tr>
435<tr class="question" title="12.14.">
436<td align="left" valign="top">
437<a name="idm5331776"></a><a name="idm5331648"></a><p><b>12.14.</b></p>
438</td>
439<td align="left" valign="top"><p>
440 I'm behind a firewall and need to use a proxy server. How do I do that?
441 </p></td>
442</tr>
443<tr class="answer">
444<td align="left" valign="top"></td>
445<td align="left" valign="top">
446<p>
447 Most source fetching by the OpenEmbedded build system is done by <code class="filename">wget</code>
448 and you therefore need to specify the proxy settings in a
449 <code class="filename">.wgetrc</code> file in your home directory.
450 Example settings in that file would be
451 </p>
452<pre class="literallayout">
453 http_proxy = http://proxy.yoyodyne.com:18023/
454 ftp_proxy = http://proxy.yoyodyne.com:18023/
455 </pre>
456<p>
457 The Yocto Project also includes a <code class="filename">site.conf.sample</code>
458 file that shows how to configure CVS and Git proxy servers
459 if needed.
460 </p>
461</td>
462</tr>
463<tr class="question" title="12.15.">
464<td align="left" valign="top">
465<a name="idm1524432"></a><a name="idm1524304"></a><p><b>12.15.</b></p>
466</td>
467<td align="left" valign="top"><p>
468 What&#8217;s the difference between <code class="filename">foo</code> and <code class="filename">foo-native</code>?
469 </p></td>
470</tr>
471<tr class="answer">
472<td align="left" valign="top"></td>
473<td align="left" valign="top"><p>
474 The <code class="filename">*-native</code> targets are designed to run on the system
475 being used for the build.
476 These are usually tools that are needed to assist the build in some way such as
477 <code class="filename">quilt-native</code>, which is used to apply patches.
478 The non-native version is the one that runs on the target device.
479 </p></td>
480</tr>
481<tr class="question" title="12.16.">
482<td align="left" valign="top">
483<a name="idm1520336"></a><a name="idm1520208"></a><p><b>12.16.</b></p>
484</td>
485<td align="left" valign="top"><p>
486 I'm seeing random build failures. Help?!
487 </p></td>
488</tr>
489<tr class="answer">
490<td align="left" valign="top"></td>
491<td align="left" valign="top"><p>
492 If the same build is failing in totally different and random ways,
493 the most likely explanation is that either the hardware you're running the
494 build on has some problem, or, if you are running the build under virtualisation,
495 the virtualisation probably has bugs.
496 The OpenEmbedded build system processes a massive amount of data causing lots of network, disk and
497 CPU activity and is sensitive to even single bit failures in any of these areas.
498 True random failures have always been traced back to hardware or virtualisation issues.
499 </p></td>
500</tr>
501<tr class="question" title="12.17.">
502<td align="left" valign="top">
503<a name="idm4636672"></a><a name="idm4636544"></a><p><b>12.17.</b></p>
504</td>
505<td align="left" valign="top"><p>
506 What do we need to ship for license compliance?
507 </p></td>
508</tr>
509<tr class="answer">
510<td align="left" valign="top"></td>
511<td align="left" valign="top"><p>
512 This is a difficult question and you need to consult your lawyer for the answer
513 for your specific case.
514 It is worth bearing in mind that for GPL compliance there needs to be enough
515 information shipped to allow someone else to rebuild the same end result
516 you are shipping.
517 This means sharing the source code, any patches applied to it, and also any
518 configuration information about how that package was configured and built.
519 </p></td>
520</tr>
521<tr class="question" title="12.18.">
522<td align="left" valign="top">
523<a name="idm4635216"></a><a name="idm4635088"></a><p><b>12.18.</b></p>
524</td>
525<td align="left" valign="top"><p>
526 How do I disable the cursor on my touchscreen device?
527 </p></td>
528</tr>
529<tr class="answer">
530<td align="left" valign="top"></td>
531<td align="left" valign="top">
532<p>
533 You need to create a form factor file as described in the
534 "<a class="link" href="../bsp-guide/bsp-filelayout-misc-recipes.html" target="_self">Miscellaneous Recipe Files</a>"
535 section and set the <code class="filename">HAVE_TOUCHSCREEN</code> variable equal to one as follows:
536 </p>
537<pre class="literallayout">
538 HAVE_TOUCHSCREEN=1
539 </pre>
540<p>
541 </p>
542</td>
543</tr>
544<tr class="question" title="12.19.">
545<td align="left" valign="top">
546<a name="idm4631744"></a><a name="idm4631616"></a><p><b>12.19.</b></p>
547</td>
548<td align="left" valign="top"><p>
549 How do I make sure connected network interfaces are brought up by default?
550 </p></td>
551</tr>
552<tr class="answer">
553<td align="left" valign="top"></td>
554<td align="left" valign="top">
555<p>
556 The default interfaces file provided by the netbase recipe does not
557 automatically bring up network interfaces.
558 Therefore, you will need to add a BSP-specific netbase that includes an interfaces
559 file.
560 See the "<a class="link" href="../bsp-guide/bsp-filelayout-misc-recipes.html" target="_self">Miscellaneous Recipe Files</a>"
561 section for information on creating these types of miscellaneous recipe files.
562 </p>
563<p>
564 For example, add the following files to your layer:
565 </p>
566<pre class="literallayout">
567 meta-MACHINE/recipes-bsp/netbase/netbase/MACHINE/interfaces
568 meta-MACHINE/recipes-bsp/netbase/netbase_5.0.bbappend
569 </pre>
570<p>
571 </p>
572</td>
573</tr>
574<tr class="question" title="12.20.">
575<td align="left" valign="top">
576<a name="idm3888832"></a><a name="idm3888704"></a><p><b>12.20.</b></p>
577</td>
578<td align="left" valign="top"><p>
579 How do I create images with more free space?
580 </p></td>
581</tr>
582<tr class="answer">
583<td align="left" valign="top"></td>
584<td align="left" valign="top">
585<p>
586 Images are created to be 1.2 times the size of the populated root filesystem.
587 To modify this ratio so that there is more free space available, you need to
588 set the configuration value <code class="filename">IMAGE_OVERHEAD_FACTOR</code>.
589 For example, setting <code class="filename">IMAGE_OVERHEAD_FACTOR</code> to 1.5 sets
590 the image size ratio to one and a half times the size of the populated
591 root filesystem.
592 </p>
593<pre class="literallayout">
594 IMAGE_OVERHEAD_FACTOR = "1.5"
595 </pre>
596<p>
597 </p>
598</td>
599</tr>
600<tr class="question" title="12.21.">
601<td align="left" valign="top">
602<a name="idm619504"></a><a name="idm619376"></a><p><b>12.21.</b></p>
603</td>
604<td align="left" valign="top"><p>
605 Why don't you support directories with spaces in the pathnames?
606 </p></td>
607</tr>
608<tr class="answer">
609<td align="left" valign="top"></td>
610<td align="left" valign="top"><p>
611 The Yocto Project team has tried to do this before but too many of the tools
612 the OpenEmbedded build system depends on such as <code class="filename">autoconf</code>
613 break when they find spaces in pathnames.
614 Until that situation changes, the team will not support spaces in pathnames.
615 </p></td>
616</tr>
617<tr class="question" title="12.22.">
618<td align="left" valign="top">
619<a name="idm617456"></a><a name="idm617328"></a><p><b>12.22.</b></p>
620</td>
621<td align="left" valign="top"><p>
622 How do I use an external toolchain?
623 </p></td>
624</tr>
625<tr class="answer">
626<td align="left" valign="top"></td>
627<td align="left" valign="top">
628<p>
629 The toolchain configuration is very flexible and customizable.
630 It is primarily controlled with the
631 <code class="filename"><a class="link" href="ref-variables-glos.html#var-TCMODE" title="TCMODE">TCMODE</a></code> variable.
632 This variable controls which <code class="filename">tcmode-*.inc</code> file to include
633 from the <code class="filename">meta/conf/distro/include</code> directory within the
634 <a class="link" href="../dev-manual/source-directory.html" target="_self">source directory</a>.
635 </p>
636<p>
637 The default value of <code class="filename">TCMODE</code> is "default"
638 (i.e. <code class="filename">tcmode-default.inc</code>).
639 However, other patterns are accepted.
640 In particular, "external-*" refers to external toolchains of which there are some
641 basic examples included in the OpenEmbedded Core (<code class="filename">meta</code>).
642 You can use your own custom toolchain definition in your own layer
643 (or as defined in the <code class="filename">local.conf</code> file) at the location
644 <code class="filename">conf/distro/include/tcmode-*.inc</code>.
645 </p>
646<p>
647 In addition to the toolchain configuration, you also need a corresponding toolchain recipe file.
648 This recipe file needs to package up any pre-built objects in the toolchain such as
649 <code class="filename">libgcc</code>, <code class="filename">libstdcc++</code>,
650 any locales, and <code class="filename">libc</code>.
651 An example is the <code class="filename">external-sourcery-toolchain.bb</code>, which is located
652 in <code class="filename">meta/recipes-core/meta/</code> within the source directory.
653 </p>
654</td>
655</tr>
656<tr class="question" title="12.23.">
657<td align="left" valign="top">
658<a name="idm4577168"></a><a name="idm5139136"></a><p><b>12.23.</b></p>
659</td>
660<td align="left" valign="top"><p><a name="how-does-the-yocto-project-obtain-source-code-and-will-it-work-behind-my-firewall-or-proxy-server"></a>
661 How does the OpenEmbedded build system obtain source code and will it work behind my
662 firewall or proxy server?
663 </p></td>
664</tr>
665<tr class="answer">
666<td align="left" valign="top"></td>
667<td align="left" valign="top">
668<p>
669 The way the build system obtains source code is highly configurable.
670 You can setup the build system to get source code in most environments if
671 HTTP transport is available.
672 </p>
673<p>
674 When the build system searches for source code, it first tries the local download directory.
675 If that location fails, Poky tries PREMIRRORS, the upstream source,
676 and then MIRRORS in that order.
677 </p>
678<p>
679 By default, the OpenEmbedded build system uses the Yocto Project source PREMIRRORS
680 for SCM-based sources,
681 upstreams for normal tarballs, and then falls back to a number of other mirrors
682 including the Yocto Project source mirror if those fail.
683 </p>
684<p>
685 As an example, you could add a specific server for Poky to attempt before any
686 others by adding something like the following to the <code class="filename">local.conf</code>
687 configuration file:
688 </p>
689<pre class="literallayout">
690 PREMIRRORS_prepend = "\
691 git://.*/.* http://www.yoctoproject.org/sources/ \n \
692 ftp://.*/.* http://www.yoctoproject.org/sources/ \n \
693 http://.*/.* http://www.yoctoproject.org/sources/ \n \
694 https://.*/.* http://www.yoctoproject.org/sources/ \n"
695 </pre>
696<p>
697 </p>
698<p>
699 These changes cause Poky to intercept Git, FTP, HTTP, and HTTPS
700 requests and direct them to the <code class="filename">http://</code> sources mirror.
701 You can use <code class="filename">file://</code> URLs to point to local directories
702 or network shares as well.
703 </p>
704<p>
705 Aside from the previous technique, these options also exist:
706 </p>
707<pre class="literallayout">
708 BB_NO_NETWORK = "1"
709 </pre>
710<p>
711 This statement tells BitBake to throw an error instead of trying to access the
712 Internet.
713 This technique is useful if you want to ensure code builds only from local sources.
714 </p>
715<p>
716 Here is another technique:
717 </p>
718<pre class="literallayout">
719 BB_FETCH_PREMIRRORONLY = "1"
720 </pre>
721<p>
722 This statement limits Poky to pulling source from the PREMIRRORS only.
723 Again, this technique is useful for reproducing builds.
724 </p>
725<p>
726 Here is another technique:
727 </p>
728<pre class="literallayout">
729 BB_GENERATE_MIRROR_TARBALLS = "1"
730 </pre>
731<p>
732 This statement tells Poky to generate mirror tarballs.
733 This technique is useful if you want to create a mirror server.
734 If not, however, the technique can simply waste time during the build.
735 </p>
736<p>
737 Finally, consider an example where you are behind an HTTP-only firewall.
738 You could make the following changes to the <code class="filename">local.conf</code>
739 configuration file as long as the PREMIRROR server is up to date:
740 </p>
741<pre class="literallayout">
742 PREMIRRORS_prepend = "\
743 ftp://.*/.* http://www.yoctoproject.org/sources/ \n \
744 http://.*/.* http://www.yoctoproject.org/sources/ \n \
745 https://.*/.* http://www.yoctoproject.org/sources/ \n"
746 BB_FETCH_PREMIRRORONLY = "1"
747 </pre>
748<p>
749 These changes would cause Poky to successfully fetch source over HTTP and
750 any network accesses to anything other than the PREMIRROR would fail.
751 </p>
752<p>
753 The build system also honors the standard shell environment variables
754 <code class="filename">http_proxy</code>, <code class="filename">ftp_proxy</code>,
755 <code class="filename">https_proxy</code>, and <code class="filename">all_proxy</code>
756 to redirect requests through proxy servers.
757 </p>
758</td>
759</tr>
760<tr class="question" title="12.24.">
761<td align="left" valign="top">
762<a name="idm3953616"></a><a name="idm3685632"></a><p><b>12.24.</b></p>
763</td>
764<td align="left" valign="top"><p>
765 Can I get rid of build output so I can start over?
766 </p></td>
767</tr>
768<tr class="answer">
769<td align="left" valign="top"></td>
770<td align="left" valign="top">
771<p>
772 Yes - you can easily do this.
773 When you use BitBake to build an image, all the build output goes into the
774 directory created when you source the <code class="filename">oe-init-build-env</code>
775 setup file.
776 By default, this <a class="link" href="../dev-manual/build-directory.html" target="_self">build directory</a>
777 is named <code class="filename">build</code> but can be named
778 anything you want.
779 </p>
780<p>
781 Within the build directory is the <code class="filename">tmp</code> directory.
782 To remove all the build output yet preserve any source code or downloaded files
783 from previous builds, simply remove the <code class="filename">tmp</code> directory.
784 </p>
785</td>
786</tr>
787</tbody>
788</table>
789</div>
790</div></body>
791</html>