summaryrefslogtreecommitdiffstats
path: root/documentation
diff options
context:
space:
mode:
authorScott Rifenbark <scott.m.rifenbark@intel.com>2011-09-15 10:17:08 -0700
committerRichard Purdie <richard.purdie@linuxfoundation.org>2011-09-25 17:59:57 +0100
commitba958cb70804e54d7e08a8d1a424fc8776e46a5a (patch)
treeede3464a5071a334a282a20f3a4d1eb9b89b4626 /documentation
parent997bcb723bc5ce90928ef8dac5945b8548cd3bde (diff)
downloadpoky-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.xml122
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>