diff options
author | Scott Rifenbark <scott.m.rifenbark@intel.com> | 2011-09-15 10:17:08 -0700 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2011-09-25 17:59:57 +0100 |
commit | ba958cb70804e54d7e08a8d1a424fc8776e46a5a (patch) | |
tree | ede3464a5071a334a282a20f3a4d1eb9b89b4626 /documentation | |
parent | 997bcb723bc5ce90928ef8dac5945b8548cd3bde (diff) | |
download | poky-ba958cb70804e54d7e08a8d1a424fc8776e46a5a.tar.gz |
documentation/adt-manual/adt-prepare.xml: toolchain enhancements
After working through this stuff I was still confused as to how to
guide the user toward proper toolchain installation and on what they
needed to do for collecting their kernel and filesystem images.
These changes included some information on when and how to extract
the rootfs when the user is booting to NFS. Plus some other
general items like the significance of meta-toolchain-sdk as
compared to meta-toolchain.
(From yocto-docs rev: 2cc88b5193888a074ffd87cb253b9cfe08146877)
Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'documentation')
-rw-r--r-- | documentation/adt-manual/adt-prepare.xml | 122 |
1 files changed, 76 insertions, 46 deletions
diff --git a/documentation/adt-manual/adt-prepare.xml b/documentation/adt-manual/adt-prepare.xml index 5e403aa84b..a2618c6ae2 100644 --- a/documentation/adt-manual/adt-prepare.xml +++ b/documentation/adt-manual/adt-prepare.xml | |||
@@ -194,7 +194,8 @@ | |||
194 | <para> | 194 | <para> |
195 | If you want to simply install the cross-toolchain by hand, you can do so by using an existing | 195 | If you want to simply install the cross-toolchain by hand, you can do so by using an existing |
196 | cross-toolchain tarball. | 196 | cross-toolchain tarball. |
197 | If you install the cross-toolchain by hand, you will have to set up the target sysroot separately. | 197 | If you use this method to install the cross-toolchain and you still need to install the target |
198 | sysroot, you will have to install sysroot separately. | ||
198 | </para> | 199 | </para> |
199 | 200 | ||
200 | <para> | 201 | <para> |
@@ -213,14 +214,21 @@ | |||
213 | <literallayout class='monospaced'> | 214 | <literallayout class='monospaced'> |
214 | yocto-eglibc-x86_64-i586-toolchain-gmae-1.1.tar.bz2 | 215 | yocto-eglibc-x86_64-i586-toolchain-gmae-1.1.tar.bz2 |
215 | </literallayout> | 216 | </literallayout> |
216 | <note>As an alternative to steps one and two, you can build the toolchain tarball | 217 | The cross-toolchain tarballs provided by the Yocto Project support development |
218 | of GNOME platorms on mobile devices (GMAE). | ||
219 | <note><para>As an alternative to steps one and two, you can build the toolchain tarball | ||
217 | if you have a Yocto Project build tree. | 220 | if you have a Yocto Project build tree. |
218 | Use the <filename>bitbake meta-toolchain</filename> command after you have | 221 | If you need GMAE, you should use the <filename>bitbake meta-toolchain-gmae</filename> |
222 | command. | ||
223 | The resulting tarball will support such development. | ||
224 | However, if you not concerned with GMAE, | ||
225 | you can generate the tarball using <filename>bitbake meta-toolchain</filename>.</para> | ||
226 | <para>Use the appropriate <filename>bitbake</filename> command only after you have | ||
219 | sourced the <filename>oe-build-init script</filename> located in the Yocto | 227 | sourced the <filename>oe-build-init script</filename> located in the Yocto |
220 | Project files. | 228 | Project files. |
221 | When the <filename>bitbake</filename> command completes, the toolchain tarball will | 229 | When the <filename>bitbake</filename> command completes, the toolchain tarball will |
222 | be in <filename>tmp/deploy/sdk</filename> in the Yocto Project build tree. | 230 | be in <filename>tmp/deploy/sdk</filename> in the Yocto Project build tree. |
223 | </note></para></listitem> | 231 | </para></note></para></listitem> |
224 | <listitem><para>Make sure you are in the root directory with root privileges and then expand | 232 | <listitem><para>Make sure you are in the root directory with root privileges and then expand |
225 | the tarball. | 233 | the tarball. |
226 | The tarball expands into <filename>/opt/poky/$SDKVERSION</filename>. | 234 | The tarball expands into <filename>/opt/poky/$SDKVERSION</filename>. |
@@ -229,11 +237,6 @@ | |||
229 | </para></listitem> | 237 | </para></listitem> |
230 | </orderedlist> | 238 | </orderedlist> |
231 | </para> | 239 | </para> |
232 | |||
233 | <para> | ||
234 | After installing the toolchain, you must locate the target sysroot tarball and unpack it | ||
235 | into a location of your choice. | ||
236 | </para> | ||
237 | </section> | 240 | </section> |
238 | 241 | ||
239 | <section id='using-the-toolchain-from-within-the-build-tree'> | 242 | <section id='using-the-toolchain-from-within-the-build-tree'> |
@@ -242,7 +245,14 @@ | |||
242 | <para> | 245 | <para> |
243 | A final way of installing just the cross-toolchain is to use BitBake within an existing | 246 | A final way of installing just the cross-toolchain is to use BitBake within an existing |
244 | Yocto Project build tree. | 247 | Yocto Project build tree. |
245 | Follow these steps: | 248 | This method installs the toolchain into the Yocto Project build tree, not the |
249 | <filename>/opt</filename> directory. | ||
250 | As with the previous method, if you need to install the target sysroot, you must | ||
251 | do this separately. | ||
252 | </para> | ||
253 | |||
254 | <para> | ||
255 | Follow these steps to install the toolchain into the build tree: | ||
246 | <orderedlist> | 256 | <orderedlist> |
247 | <listitem><para>Source the environment setup script located in the Yocto Project | 257 | <listitem><para>Source the environment setup script located in the Yocto Project |
248 | files. | 258 | files. |
@@ -268,27 +278,14 @@ | |||
268 | Be sure to run the <filename>bitbake</filename> command immediately | 278 | Be sure to run the <filename>bitbake</filename> command immediately |
269 | after checking or editing the <filename>local.conf</filename> but without | 279 | after checking or editing the <filename>local.conf</filename> but without |
270 | changing your working directory.</note> | 280 | changing your working directory.</note> |
271 | Once BitBake finishes, the cross-toolchain is installed. | 281 | Once BitBake finishes, the cross-toolchain is installed within the Yocto Project |
282 | build tree. | ||
272 | You will notice environment setup files for the cross-toolchain in the | 283 | You will notice environment setup files for the cross-toolchain in the |
273 | Yocto Project build tree in the <filename>tmp</filename> directory. | 284 | Yocto Project build tree in the <filename>tmp</filename> directory. |
274 | Setup script filenames contain the strings <filename>environment-setup</filename>. | 285 | Setup script filenames contain the strings <filename>environment-setup</filename>. |
275 | </para></listitem> | 286 | </para></listitem> |
276 | </orderedlist> | 287 | </orderedlist> |
277 | </para> | 288 | </para> |
278 | |||
279 | <para> | ||
280 | After installing the toolchain, you must locate the target sysroot tarball and unpack | ||
281 | it in a directory of your choice. | ||
282 | </para> | ||
283 | |||
284 | <para> | ||
285 | WRITER'S NOTE: Right now I am a little fuzzy on just how you do this. | ||
286 | I am not sure if you just grab what is in <filename>build/tmp/deploy/images</filename> | ||
287 | and then unpack it with the <filename>tar -xjvf [tarball] [directory]</filename> or | ||
288 | if you have to run the tarball environment setup script found in | ||
289 | <filename>build/tmp</filename> and then run the | ||
290 | <filename>runqemu-extract-sdk [tarball] [directory]</filename> command. | ||
291 | </para> | ||
292 | </section> | 289 | </section> |
293 | </section> | 290 | </section> |
294 | 291 | ||
@@ -301,9 +298,8 @@ | |||
301 | If you used the ADT Installer or used an existing ADT tarball to install the ADT, | 298 | If you used the ADT Installer or used an existing ADT tarball to install the ADT, |
302 | then you can find this script in the <filename>/opt/poky/$SDKVERSION</filename> | 299 | then you can find this script in the <filename>/opt/poky/$SDKVERSION</filename> |
303 | directory. | 300 | directory. |
304 | If you used BitBake and the Yocto Project Build Tree to install the cross-toolchain, | 301 | If you installed the toolchain in the build tree, you can find the environment setup |
305 | then you can find the environment setup scripts in in the Yocto Project build tree | 302 | scripts in the Yocto Project build tree's <filename>tmp</filename> directory. |
306 | in the <filename>tmp</filename> directory. | ||
307 | </para> | 303 | </para> |
308 | 304 | ||
309 | <para> | 305 | <para> |
@@ -324,18 +320,29 @@ | |||
324 | 320 | ||
325 | <para> | 321 | <para> |
326 | You will need to have a kernel and filesystem image to boot using your | 322 | You will need to have a kernel and filesystem image to boot using your |
327 | hardware or the QEMU emulator. | 323 | hardware or the QEMU emulator. |
328 | That means you either have to build them or know where to get them. | 324 | Furthermore, if you plan on booting your image using NFS or you want to use the root filesystem |
329 | You can find a quick example of how to build an image in the | 325 | as the target sysroot, you need to extract the root filesystem. |
330 | "<ulink url='http://www.yoctoproject.org/docs/1.1/yocto-project-qs/yocto-project-qs.html#building-image'>Building an Image</ulink>" section of | 326 | This section describes how to get set up with the kernel and filesystem images. |
331 | <ulink url='http://www.yoctoproject.org/docs/1.1/yocto-project-qs/yocto-project-qs.html'> | 327 | </para> |
332 | The Yocto Project Quick Start</ulink>. | 328 | |
333 | <note><para> | 329 | <section id='getting-the-images'> |
334 | The Yocto Project provides basic kernels and filesystem images for several | 330 | <title>Getting the Images</title> |
331 | |||
332 | <para> | ||
333 | To get the kernel and filesystem images you either have to build them or download | ||
334 | pre-built versions. | ||
335 | You can find examples for both these situations in the | ||
336 | "<ulink url='http://www.yoctoproject.org/docs/1.1/yocto-project-qs/yocto-project-qs.html#test-run'>A | ||
337 | Quick Test Run</ulink>" section of | ||
338 | <ulink url='http://www.yoctoproject.org/docs/1.1/yocto-project-qs/yocto-project-qs.html'> | ||
339 | The Yocto Project Quick Start</ulink>. | ||
340 | <note><para> | ||
341 | The Yocto Project provides basic kernel and filesystem images for several | ||
335 | architectures (<filename>x86</filename>, <filename>x86-64</filename>, | 342 | architectures (<filename>x86</filename>, <filename>x86-64</filename>, |
336 | <filename>mips</filename>, <filename>powerpc</filename>, and <filename>arm</filename>) | 343 | <filename>mips</filename>, <filename>powerpc</filename>, and <filename>arm</filename>) |
337 | that you can use unaltered in the QEMU emulator. | 344 | that you can use unaltered in the QEMU emulator. |
338 | These kernels and filesystem images reside in the Yocto Project release | 345 | These kernel images reside in the Yocto Project release |
339 | area - <ulink url='http://autobuilder.yoctoproject.org/downloads/yocto-1.1/machines/'></ulink> | 346 | area - <ulink url='http://autobuilder.yoctoproject.org/downloads/yocto-1.1/machines/'></ulink> |
340 | and are ideal for experimentation within Yocto Project.</para> | 347 | and are ideal for experimentation within Yocto Project.</para> |
341 | <para>If you plan on remotely deploying and debugging your application from within the | 348 | <para>If you plan on remotely deploying and debugging your application from within the |
@@ -345,16 +352,39 @@ | |||
345 | Reference: Images</ulink> in | 352 | Reference: Images</ulink> in |
346 | <ulink url='http://www.yoctoproject.org/docs/1.1/poky-ref-manual/poky-ref-manual.html'> | 353 | <ulink url='http://www.yoctoproject.org/docs/1.1/poky-ref-manual/poky-ref-manual.html'> |
347 | The Yocto Project Reference Manual</ulink>.</para> | 354 | The Yocto Project Reference Manual</ulink>.</para> |
348 | </note> | 355 | </note> |
349 | </para> | 356 | </para> |
357 | </section> | ||
350 | 358 | ||
351 | <para> | 359 | <section id='extracting-the-root-filesystem'> |
352 | WRITER'S NOTE: It seems to me that you need to take steps to unpack the image filesystem | 360 | <title>Extracting the Root Filesystem</title> |
353 | at this point. | 361 | |
354 | This would involve running the tarball environment setup script found in | 362 | <para> |
355 | <filename>build/tmp</filename> and then running the | 363 | You must extract the root filesystem if you want to boot the image using NFS or you |
356 | <filename>runqemu-extract-sdk [tarball] [directory]</filename> command. | 364 | want to use the root filesystem as the target sysroot. |
357 | </para> | 365 | For example, the Eclipse IDE environment with the Eclipse Yocto Plug-in installed allows you |
366 | to boot under NFS. | ||
367 | Another example is if you want to test your image against actual hardware with the | ||
368 | root filesystem as the target sysroot. | ||
369 | </para> | ||
370 | |||
371 | <para> | ||
372 | To extract the root filesystem you use the <filename>runqemu-extract-sdk</filename> command on the | ||
373 | filesystem image. | ||
374 | For example, the following command extracts the root filesystem from a previously built | ||
375 | filesystem image tarball named | ||
376 | <filename>core-image-sato-sdk-qemux86-2011091411831.rootfs.tar.bz2</filename>. | ||
377 | The example extracts the root filesystem into the <filename>$HOME/qemux86-sato</filename> | ||
378 | directory: | ||
379 | <literallayout class='monospaced'> | ||
380 | $ runqemu-extract-sdk \ | ||
381 | tmp/deploy/images/core-image-sato-sdk-qemux86-2011091411831.rootfs.tar.bz2 \ | ||
382 | $HOME/qemux86-sato | ||
383 | </literallayout> | ||
384 | In this case, you could now point to the target sysroot at | ||
385 | <filename>$HOME/qemux86-sato</filename>. | ||
386 | </para> | ||
387 | </section> | ||
358 | </section> | 388 | </section> |
359 | 389 | ||
360 | </chapter> | 390 | </chapter> |