diff options
author | Scott Rifenbark <scott.m.rifenbark@intel.com> | 2012-12-07 17:19:36 -0600 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2012-12-11 16:15:24 +0000 |
commit | 3bcdba62b186c554033357bb50de0b20d115a54d (patch) | |
tree | abc1731f63ac3faeec778c39e45344d61c3d7949 /documentation/adt-manual | |
parent | 205c7961f31fced8f42a8fc483618ed3d54dc109 (diff) | |
download | poky-3bcdba62b186c554033357bb50de0b20d115a54d.tar.gz |
documentation: adt-manual - Removed all trailing whitespace.
(From yocto-docs rev: c1c271c0404dff9ed49597a4582a56def8237dd7)
Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'documentation/adt-manual')
-rw-r--r-- | documentation/adt-manual/adt-command.xml | 88 | ||||
-rw-r--r-- | documentation/adt-manual/adt-intro.xml | 128 | ||||
-rw-r--r-- | documentation/adt-manual/adt-manual.xml | 16 | ||||
-rw-r--r-- | documentation/adt-manual/adt-package.xml | 54 | ||||
-rw-r--r-- | documentation/adt-manual/adt-prepare.xml | 330 |
5 files changed, 308 insertions, 308 deletions
diff --git a/documentation/adt-manual/adt-command.xml b/documentation/adt-manual/adt-command.xml index c6609193d1..e5b2cdb420 100644 --- a/documentation/adt-manual/adt-command.xml +++ b/documentation/adt-manual/adt-command.xml | |||
@@ -6,22 +6,22 @@ | |||
6 | <title>Using the Command Line</title> | 6 | <title>Using the Command Line</title> |
7 | 7 | ||
8 | <para> | 8 | <para> |
9 | Recall that earlier the manual discussed how to use an existing toolchain | 9 | Recall that earlier the manual discussed how to use an existing toolchain |
10 | tarball that had been installed into <filename>/opt/poky</filename>, | 10 | tarball that had been installed into <filename>/opt/poky</filename>, |
11 | which is outside of the | 11 | which is outside of the |
12 | <ulink url='&YOCTO_DOCS_DEV_URL;#build-directory'>Build Directory</ulink> | 12 | <ulink url='&YOCTO_DOCS_DEV_URL;#build-directory'>Build Directory</ulink> |
13 | (see the section "<link linkend='using-an-existing-toolchain-tarball'>Using a Cross-Toolchain Tarball)</link>". | 13 | (see the section "<link linkend='using-an-existing-toolchain-tarball'>Using a Cross-Toolchain Tarball)</link>". |
14 | And, that sourcing your architecture-specific environment setup script | 14 | And, that sourcing your architecture-specific environment setup script |
15 | initializes a suitable cross-toolchain development environment. | 15 | initializes a suitable cross-toolchain development environment. |
16 | During the setup, locations for the compiler, QEMU scripts, QEMU binary, | 16 | During the setup, locations for the compiler, QEMU scripts, QEMU binary, |
17 | a special version of <filename>pkgconfig</filename> and other useful | 17 | a special version of <filename>pkgconfig</filename> and other useful |
18 | utilities are added to the <filename>PATH</filename> variable. | 18 | utilities are added to the <filename>PATH</filename> variable. |
19 | Variables to assist <filename>pkgconfig</filename> and <filename>autotools</filename> | 19 | Variables to assist <filename>pkgconfig</filename> and <filename>autotools</filename> |
20 | are also defined so that, | 20 | are also defined so that, |
21 | for example, <filename>configure.sh</filename> can find pre-generated | 21 | for example, <filename>configure.sh</filename> can find pre-generated |
22 | test results for tests that need target hardware on which to run. | 22 | test results for tests that need target hardware on which to run. |
23 | These conditions allow you to easily use the toolchain outside of the | 23 | These conditions allow you to easily use the toolchain outside of the |
24 | OpenEmbedded build environment on both autotools-based projects and | 24 | OpenEmbedded build environment on both autotools-based projects and |
25 | Makefile-based projects. | 25 | Makefile-based projects. |
26 | </para> | 26 | </para> |
27 | 27 | ||
@@ -29,9 +29,9 @@ | |||
29 | <title>Autotools-Based Projects</title> | 29 | <title>Autotools-Based Projects</title> |
30 | 30 | ||
31 | <para> | 31 | <para> |
32 | Once you have a suitable cross-toolchain installed, it is very easy to | 32 | Once you have a suitable cross-toolchain installed, it is very easy to |
33 | develop a project outside of the OpenEmbedded build system. | 33 | develop a project outside of the OpenEmbedded build system. |
34 | This section presents a simple "Helloworld" example that shows how | 34 | This section presents a simple "Helloworld" example that shows how |
35 | to set up, compile, and run the project. | 35 | to set up, compile, and run the project. |
36 | </para> | 36 | </para> |
37 | 37 | ||
@@ -42,7 +42,7 @@ | |||
42 | Follow these steps to create a simple autotools-based project: | 42 | Follow these steps to create a simple autotools-based project: |
43 | <orderedlist> | 43 | <orderedlist> |
44 | <listitem><para><emphasis>Create your directory:</emphasis> | 44 | <listitem><para><emphasis>Create your directory:</emphasis> |
45 | Create a clean directory for your project and then make | 45 | Create a clean directory for your project and then make |
46 | that directory your working location: | 46 | that directory your working location: |
47 | <literallayout class='monospaced'> | 47 | <literallayout class='monospaced'> |
48 | $ mkdir $HOME/helloworld | 48 | $ mkdir $HOME/helloworld |
@@ -78,25 +78,25 @@ | |||
78 | AC_OUTPUT(Makefile) | 78 | AC_OUTPUT(Makefile) |
79 | </literallayout></para></listitem> | 79 | </literallayout></para></listitem> |
80 | </itemizedlist></para></listitem> | 80 | </itemizedlist></para></listitem> |
81 | <listitem><para><emphasis>Source the cross-toolchain | 81 | <listitem><para><emphasis>Source the cross-toolchain |
82 | environment setup file:</emphasis> | 82 | environment setup file:</emphasis> |
83 | Installation of the cross-toolchain creates a cross-toolchain | 83 | Installation of the cross-toolchain creates a cross-toolchain |
84 | environment setup script in <filename>/opt/poky/<release></filename>. | 84 | environment setup script in <filename>/opt/poky/<release></filename>. |
85 | Before you can use the tools to develop your project, you must | 85 | Before you can use the tools to develop your project, you must |
86 | source this setup script. | 86 | source this setup script. |
87 | The script begins with the string "environment-setup" and contains | 87 | The script begins with the string "environment-setup" and contains |
88 | the machine architecture, which is followed by the string | 88 | the machine architecture, which is followed by the string |
89 | "poky-linux". | 89 | "poky-linux". |
90 | Here is an example for an environment setup using the | 90 | Here is an example for an environment setup using the |
91 | 32-bit Intel x86 Architecture and using the | 91 | 32-bit Intel x86 Architecture and using the |
92 | &DISTRO_NAME; Yocto Project release: | 92 | &DISTRO_NAME; Yocto Project release: |
93 | <literallayout class='monospaced'> | 93 | <literallayout class='monospaced'> |
94 | $ source /opt/poky/&DISTRO;/environment-setup-i586-poky-linux | 94 | $ source /opt/poky/&DISTRO;/environment-setup-i586-poky-linux |
95 | </literallayout></para></listitem> | 95 | </literallayout></para></listitem> |
96 | <listitem><para><emphasis>Generate the local <filename>aclocal.m4</filename> | 96 | <listitem><para><emphasis>Generate the local <filename>aclocal.m4</filename> |
97 | files and create the configure script:</emphasis> | 97 | files and create the configure script:</emphasis> |
98 | The following GNU Autotools generate the local | 98 | The following GNU Autotools generate the local |
99 | <filename>aclocal.m4</filename> files and create the | 99 | <filename>aclocal.m4</filename> files and create the |
100 | configure script: | 100 | configure script: |
101 | <literallayout class='monospaced'> | 101 | <literallayout class='monospaced'> |
102 | $ aclocal | 102 | $ aclocal |
@@ -104,8 +104,8 @@ | |||
104 | </literallayout></para></listitem> | 104 | </literallayout></para></listitem> |
105 | <listitem><para><emphasis>Generate files needed by GNU | 105 | <listitem><para><emphasis>Generate files needed by GNU |
106 | coding standards:</emphasis> | 106 | coding standards:</emphasis> |
107 | GNU coding standards require certain files in order for the | 107 | GNU coding standards require certain files in order for the |
108 | project to be compliant. | 108 | project to be compliant. |
109 | This command creates those files: | 109 | This command creates those files: |
110 | <literallayout class='monospaced'> | 110 | <literallayout class='monospaced'> |
111 | $ touch NEWS README AUTHORS ChangeLog | 111 | $ touch NEWS README AUTHORS ChangeLog |
@@ -122,7 +122,7 @@ | |||
122 | $ ./configure ${CONFIGURE_FLAGS} | 122 | $ ./configure ${CONFIGURE_FLAGS} |
123 | </literallayout></para></listitem> | 123 | </literallayout></para></listitem> |
124 | <listitem><para><emphasis>Make and install the project:</emphasis> | 124 | <listitem><para><emphasis>Make and install the project:</emphasis> |
125 | These two commands generate and install the project into the | 125 | These two commands generate and install the project into the |
126 | destination directory: | 126 | destination directory: |
127 | <literallayout class='monospaced'> | 127 | <literallayout class='monospaced'> |
128 | $ make | 128 | $ make |
@@ -130,16 +130,16 @@ | |||
130 | </literallayout></para></listitem> | 130 | </literallayout></para></listitem> |
131 | <listitem><para><emphasis>Verify the installation:</emphasis> | 131 | <listitem><para><emphasis>Verify the installation:</emphasis> |
132 | This command is a simple way to verify the installation | 132 | This command is a simple way to verify the installation |
133 | of your project. | 133 | of your project. |
134 | Running the command prints the architecture on which | 134 | Running the command prints the architecture on which |
135 | the binary file can run. | 135 | the binary file can run. |
136 | This architecture should be the same architecture that | 136 | This architecture should be the same architecture that |
137 | the installed cross-toolchain supports. | 137 | the installed cross-toolchain supports. |
138 | <literallayout class='monospaced'> | 138 | <literallayout class='monospaced'> |
139 | $ file ./tmp/usr/local/bin/hello | 139 | $ file ./tmp/usr/local/bin/hello |
140 | </literallayout></para></listitem> | 140 | </literallayout></para></listitem> |
141 | <listitem><para><emphasis>Execute your project:</emphasis> | 141 | <listitem><para><emphasis>Execute your project:</emphasis> |
142 | To execute the project in the shell, simply enter the name. | 142 | To execute the project in the shell, simply enter the name. |
143 | You could also copy the binary to the actual target hardware | 143 | You could also copy the binary to the actual target hardware |
144 | and run the project there as well: | 144 | and run the project there as well: |
145 | <literallayout class='monospaced'> | 145 | <literallayout class='monospaced'> |
@@ -155,14 +155,14 @@ | |||
155 | <title>Passing Host Options</title> | 155 | <title>Passing Host Options</title> |
156 | 156 | ||
157 | <para> | 157 | <para> |
158 | For an Autotools-based project, you can use the cross-toolchain by just | 158 | For an Autotools-based project, you can use the cross-toolchain by just |
159 | passing the appropriate host option to <filename>configure.sh</filename>. | 159 | passing the appropriate host option to <filename>configure.sh</filename>. |
160 | The host option you use is derived from the name of the environment setup | 160 | The host option you use is derived from the name of the environment setup |
161 | script in <filename>/opt/poky</filename> resulting from installation of the | 161 | script in <filename>/opt/poky</filename> resulting from installation of the |
162 | cross-toolchain tarball. | 162 | cross-toolchain tarball. |
163 | For example, the host option for an ARM-based target that uses the GNU EABI | 163 | For example, the host option for an ARM-based target that uses the GNU EABI |
164 | is <filename>armv5te-poky-linux-gnueabi</filename>. | 164 | is <filename>armv5te-poky-linux-gnueabi</filename>. |
165 | You will notice that the name of the script is | 165 | You will notice that the name of the script is |
166 | <filename>environment-setup-armv5te-poky-linux-gnueabi</filename>. | 166 | <filename>environment-setup-armv5te-poky-linux-gnueabi</filename>. |
167 | Thus, the following command works: | 167 | Thus, the following command works: |
168 | <literallayout class='monospaced'> | 168 | <literallayout class='monospaced'> |
@@ -172,12 +172,12 @@ | |||
172 | </para> | 172 | </para> |
173 | 173 | ||
174 | <para> | 174 | <para> |
175 | This single command updates your project and rebuilds it using the appropriate | 175 | This single command updates your project and rebuilds it using the appropriate |
176 | cross-toolchain tools. | 176 | cross-toolchain tools. |
177 | <note> | 177 | <note> |
178 | If <filename>configure</filename> script results in problems recognizing the | 178 | If <filename>configure</filename> script results in problems recognizing the |
179 | <filename>--with-libtool-sysroot=<sysroot-dir></filename> option, | 179 | <filename>--with-libtool-sysroot=<sysroot-dir></filename> option, |
180 | regenerate the script to enable the support by doing the following and then | 180 | regenerate the script to enable the support by doing the following and then |
181 | re-running the script: | 181 | re-running the script: |
182 | <literallayout class='monospaced'> | 182 | <literallayout class='monospaced'> |
183 | $ libtoolize --automake | 183 | $ libtoolize --automake |
@@ -187,17 +187,17 @@ | |||
187 | $ autoheader | 187 | $ autoheader |
188 | $ automake -a | 188 | $ automake -a |
189 | </literallayout> | 189 | </literallayout> |
190 | </note> | 190 | </note> |
191 | </para> | 191 | </para> |
192 | </section> | 192 | </section> |
193 | </section> | 193 | </section> |
194 | 194 | ||
195 | <section id='makefile-based-projects'> | 195 | <section id='makefile-based-projects'> |
196 | <title>Makefile-Based Projects</title> | 196 | <title>Makefile-Based Projects</title> |
197 | 197 | ||
198 | <para> | 198 | <para> |
199 | For a Makefile-based project, you use the cross-toolchain by making sure | 199 | For a Makefile-based project, you use the cross-toolchain by making sure |
200 | the tools are used. | 200 | the tools are used. |
201 | You can do this as follows: | 201 | You can do this as follows: |
202 | <literallayout class='monospaced'> | 202 | <literallayout class='monospaced'> |
203 | CC=arm-poky-linux-gnueabi-gcc | 203 | CC=arm-poky-linux-gnueabi-gcc |
diff --git a/documentation/adt-manual/adt-intro.xml b/documentation/adt-manual/adt-intro.xml index d8527b3aef..fcbceb4de1 100644 --- a/documentation/adt-manual/adt-intro.xml +++ b/documentation/adt-manual/adt-intro.xml | |||
@@ -6,44 +6,44 @@ | |||
6 | <title>Introduction</title> | 6 | <title>Introduction</title> |
7 | 7 | ||
8 | <para> | 8 | <para> |
9 | Welcome to the Yocto Project Application Developer's Guide. | 9 | Welcome to the Yocto Project Application Developer's Guide. |
10 | This manual provides information that lets you begin developing applications | 10 | This manual provides information that lets you begin developing applications |
11 | using the Yocto Project. | 11 | using the Yocto Project. |
12 | </para> | 12 | </para> |
13 | 13 | ||
14 | <para> | 14 | <para> |
15 | The Yocto Project provides an application development environment based on | 15 | The Yocto Project provides an application development environment based on |
16 | an Application Development Toolkit (ADT) and the availability of stand-alone | 16 | an Application Development Toolkit (ADT) and the availability of stand-alone |
17 | cross-development toolchains and other tools. | 17 | cross-development toolchains and other tools. |
18 | This manual describes the ADT and how you can configure and install it, | 18 | This manual describes the ADT and how you can configure and install it, |
19 | how to access and use the cross-development toolchains, how to | 19 | how to access and use the cross-development toolchains, how to |
20 | customize the development packages installation, | 20 | customize the development packages installation, |
21 | how to use command line development for both Autotools-based and Makefile-based projects, | 21 | how to use command line development for both Autotools-based and Makefile-based projects, |
22 | and an introduction to the Eclipse Yocto Plug-in. | 22 | and an introduction to the Eclipse Yocto Plug-in. |
23 | </para> | 23 | </para> |
24 | 24 | ||
25 | <section id='adt-intro-section'> | 25 | <section id='adt-intro-section'> |
26 | <title>The Application Development Toolkit (ADT)</title> | 26 | <title>The Application Development Toolkit (ADT)</title> |
27 | 27 | ||
28 | <para> | 28 | <para> |
29 | Part of the Yocto Project development solution is an Application Development | 29 | Part of the Yocto Project development solution is an Application Development |
30 | Toolkit (ADT). | 30 | Toolkit (ADT). |
31 | The ADT provides you with a custom-built, cross-development | 31 | The ADT provides you with a custom-built, cross-development |
32 | platform suited for developing a user-targeted product application. | 32 | platform suited for developing a user-targeted product application. |
33 | </para> | 33 | </para> |
34 | 34 | ||
35 | <para> | 35 | <para> |
36 | Fundamentally, the ADT consists of the following: | 36 | Fundamentally, the ADT consists of the following: |
37 | <itemizedlist> | 37 | <itemizedlist> |
38 | <listitem><para>An architecture-specific cross-toolchain and matching | 38 | <listitem><para>An architecture-specific cross-toolchain and matching |
39 | sysroot both built by the OpenEmbedded build system, which uses Poky. | 39 | sysroot both built by the OpenEmbedded build system, which uses Poky. |
40 | The toolchain and sysroot are based on a metadata configuration and extensions, | 40 | The toolchain and sysroot are based on a metadata configuration and extensions, |
41 | which allows you to cross-develop on the host machine for the target hardware. | 41 | which allows you to cross-develop on the host machine for the target hardware. |
42 | </para></listitem> | 42 | </para></listitem> |
43 | <listitem><para>The Eclipse IDE Yocto Plug-in.</para></listitem> | 43 | <listitem><para>The Eclipse IDE Yocto Plug-in.</para></listitem> |
44 | <listitem><para>The Quick EMUlator (QEMU), which lets you simulate target hardware. | 44 | <listitem><para>The Quick EMUlator (QEMU), which lets you simulate target hardware. |
45 | </para></listitem> | 45 | </para></listitem> |
46 | <listitem><para>Various user-space tools that greatly enhance your application | 46 | <listitem><para>Various user-space tools that greatly enhance your application |
47 | development experience.</para></listitem> | 47 | development experience.</para></listitem> |
48 | </itemizedlist> | 48 | </itemizedlist> |
49 | </para> | 49 | </para> |
@@ -52,13 +52,13 @@ | |||
52 | <title>The Cross-Toolchain</title> | 52 | <title>The Cross-Toolchain</title> |
53 | 53 | ||
54 | <para> | 54 | <para> |
55 | The cross-toolchain consists of a cross-compiler, cross-linker, and cross-debugger | 55 | The cross-toolchain consists of a cross-compiler, cross-linker, and cross-debugger |
56 | that are used to develop user-space applications for targeted hardware. | 56 | that are used to develop user-space applications for targeted hardware. |
57 | This toolchain is created either by running the ADT Installer script, a toolchain installer | 57 | This toolchain is created either by running the ADT Installer script, a toolchain installer |
58 | script, or through a | 58 | script, or through a |
59 | <ulink url='&YOCTO_DOCS_DEV_URL;#build-directory'>Build Directory</ulink> that | 59 | <ulink url='&YOCTO_DOCS_DEV_URL;#build-directory'>Build Directory</ulink> that |
60 | is based on your metadata | 60 | is based on your metadata |
61 | configuration or extension for your targeted device. | 61 | configuration or extension for your targeted device. |
62 | The cross-toolchain works with a matching target sysroot. | 62 | The cross-toolchain works with a matching target sysroot. |
63 | </para> | 63 | </para> |
64 | </section> | 64 | </section> |
@@ -67,10 +67,10 @@ | |||
67 | <title>Sysroot</title> | 67 | <title>Sysroot</title> |
68 | 68 | ||
69 | <para> | 69 | <para> |
70 | The matching target sysroot contains needed headers and libraries for generating | 70 | The matching target sysroot contains needed headers and libraries for generating |
71 | binaries that run on the target architecture. | 71 | binaries that run on the target architecture. |
72 | The sysroot is based on the target root filesystem image that is built by | 72 | The sysroot is based on the target root filesystem image that is built by |
73 | the OpenEmbedded build system Poky and uses the same metadata configuration | 73 | the OpenEmbedded build system Poky and uses the same metadata configuration |
74 | used to build the cross-toolchain. | 74 | used to build the cross-toolchain. |
75 | </para> | 75 | </para> |
76 | </section> | 76 | </section> |
@@ -79,24 +79,24 @@ | |||
79 | <title>Eclipse Yocto Plug-in</title> | 79 | <title>Eclipse Yocto Plug-in</title> |
80 | 80 | ||
81 | <para> | 81 | <para> |
82 | The Eclipse IDE is a popular development environment and it fully supports | 82 | The Eclipse IDE is a popular development environment and it fully supports |
83 | development using the Yocto Project. | 83 | development using the Yocto Project. |
84 | When you install and configure the Eclipse Yocto Project Plug-in into | 84 | When you install and configure the Eclipse Yocto Project Plug-in into |
85 | the Eclipse IDE, you maximize your Yocto Project experience. | 85 | the Eclipse IDE, you maximize your Yocto Project experience. |
86 | Installing and configuring the Plug-in results in an environment that | 86 | Installing and configuring the Plug-in results in an environment that |
87 | has extensions specifically designed to let you more easily develop software. | 87 | has extensions specifically designed to let you more easily develop software. |
88 | These extensions allow for cross-compilation, deployment, and execution of | 88 | These extensions allow for cross-compilation, deployment, and execution of |
89 | your output into a QEMU emulation session. | 89 | your output into a QEMU emulation session. |
90 | You can also perform cross-debugging and profiling. | 90 | You can also perform cross-debugging and profiling. |
91 | The environment also supports a suite of tools that allows you to perform | 91 | The environment also supports a suite of tools that allows you to perform |
92 | remote profiling, tracing, collection of power data, collection of | 92 | remote profiling, tracing, collection of power data, collection of |
93 | latency data, and collection of performance data. | 93 | latency data, and collection of performance data. |
94 | </para> | 94 | </para> |
95 | 95 | ||
96 | <para> | 96 | <para> |
97 | For information about the application development workflow that uses the Eclipse | 97 | For information about the application development workflow that uses the Eclipse |
98 | IDE and for a detailed example of how to install and configure the Eclipse | 98 | IDE and for a detailed example of how to install and configure the Eclipse |
99 | Yocto Project Plug-in, see the | 99 | Yocto Project Plug-in, see the |
100 | "<ulink url='&YOCTO_DOCS_DEV_URL;#adt-eclipse'>Working Within Eclipse</ulink>" section | 100 | "<ulink url='&YOCTO_DOCS_DEV_URL;#adt-eclipse'>Working Within Eclipse</ulink>" section |
101 | of the Yocto Project Development Manual. | 101 | of the Yocto Project Development Manual. |
102 | </para> | 102 | </para> |
@@ -106,19 +106,19 @@ | |||
106 | <title>The QEMU Emulator</title> | 106 | <title>The QEMU Emulator</title> |
107 | 107 | ||
108 | <para> | 108 | <para> |
109 | The QEMU emulator allows you to simulate your hardware while running your | 109 | The QEMU emulator allows you to simulate your hardware while running your |
110 | application or image. | 110 | application or image. |
111 | QEMU is made available a number of ways: | 111 | QEMU is made available a number of ways: |
112 | <itemizedlist> | 112 | <itemizedlist> |
113 | <listitem><para>If you use the ADT Installer script to install ADT, you can | 113 | <listitem><para>If you use the ADT Installer script to install ADT, you can |
114 | specify whether or not to install QEMU.</para></listitem> | 114 | specify whether or not to install QEMU.</para></listitem> |
115 | <listitem><para>If you have downloaded a Yocto Project release and unpacked | 115 | <listitem><para>If you have downloaded a Yocto Project release and unpacked |
116 | it to create a | 116 | it to create a |
117 | <ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink> and | 117 | <ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink> and |
118 | you have sourced | 118 | you have sourced |
119 | the environment setup script, QEMU is installed and automatically | 119 | the environment setup script, QEMU is installed and automatically |
120 | available.</para></listitem> | 120 | available.</para></listitem> |
121 | <listitem><para>If you have installed the cross-toolchain | 121 | <listitem><para>If you have installed the cross-toolchain |
122 | tarball and you have sourcing the toolchain's setup environment script, QEMU | 122 | tarball and you have sourcing the toolchain's setup environment script, QEMU |
123 | is also installed and automatically available.</para></listitem> | 123 | is also installed and automatically available.</para></listitem> |
124 | </itemizedlist> | 124 | </itemizedlist> |
@@ -129,38 +129,38 @@ | |||
129 | <title>User-Space Tools</title> | 129 | <title>User-Space Tools</title> |
130 | 130 | ||
131 | <para> | 131 | <para> |
132 | User-space tools are included as part of the distribution. | 132 | User-space tools are included as part of the distribution. |
133 | You will find these tools helpful during development. | 133 | You will find these tools helpful during development. |
134 | The tools include LatencyTOP, PowerTOP, OProfile, Perf, SystemTap, and Lttng-ust. | 134 | The tools include LatencyTOP, PowerTOP, OProfile, Perf, SystemTap, and Lttng-ust. |
135 | These tools are common development tools for the Linux platform. | 135 | These tools are common development tools for the Linux platform. |
136 | <itemizedlist> | 136 | <itemizedlist> |
137 | <listitem><para><emphasis>LatencyTOP:</emphasis> LatencyTOP focuses on latency | 137 | <listitem><para><emphasis>LatencyTOP:</emphasis> LatencyTOP focuses on latency |
138 | that causes skips in audio, | 138 | that causes skips in audio, |
139 | stutters in your desktop experience, or situations that overload your server | 139 | stutters in your desktop experience, or situations that overload your server |
140 | even when you have plenty of CPU power left. | 140 | even when you have plenty of CPU power left. |
141 | You can find out more about LatencyTOP at | 141 | You can find out more about LatencyTOP at |
142 | <ulink url='http://www.latencytop.org/'></ulink>.</para></listitem> | 142 | <ulink url='http://www.latencytop.org/'></ulink>.</para></listitem> |
143 | <listitem><para><emphasis>PowerTOP:</emphasis> Helps you determine what | 143 | <listitem><para><emphasis>PowerTOP:</emphasis> Helps you determine what |
144 | software is using the most power. | 144 | software is using the most power. |
145 | You can find out more about PowerTOP at | 145 | You can find out more about PowerTOP at |
146 | <ulink url='https://01.org/powertop/'></ulink>.</para></listitem> | 146 | <ulink url='https://01.org/powertop/'></ulink>.</para></listitem> |
147 | <listitem><para><emphasis>OProfile:</emphasis> A system-wide profiler for Linux | 147 | <listitem><para><emphasis>OProfile:</emphasis> A system-wide profiler for Linux |
148 | systems that is capable of profiling all running code at low overhead. | 148 | systems that is capable of profiling all running code at low overhead. |
149 | You can find out more about OProfile at | 149 | You can find out more about OProfile at |
150 | <ulink url='http://oprofile.sourceforge.net/about/'></ulink>.</para></listitem> | 150 | <ulink url='http://oprofile.sourceforge.net/about/'></ulink>.</para></listitem> |
151 | <listitem><para><emphasis>Perf:</emphasis> Performance counters for Linux used | 151 | <listitem><para><emphasis>Perf:</emphasis> Performance counters for Linux used |
152 | to keep track of certain types of hardware and software events. | 152 | to keep track of certain types of hardware and software events. |
153 | For more information on these types of counters see | 153 | For more information on these types of counters see |
154 | <ulink url='https://perf.wiki.kernel.org/'></ulink> and click | 154 | <ulink url='https://perf.wiki.kernel.org/'></ulink> and click |
155 | on “Perf tools.”</para></listitem> | 155 | on “Perf tools.”</para></listitem> |
156 | <listitem><para><emphasis>SystemTap:</emphasis> A free software infrastructure | 156 | <listitem><para><emphasis>SystemTap:</emphasis> A free software infrastructure |
157 | that simplifies information gathering about a running Linux system. | 157 | that simplifies information gathering about a running Linux system. |
158 | This information helps you diagnose performance or functional problems. | 158 | This information helps you diagnose performance or functional problems. |
159 | SystemTap is not available as a user-space tool through the Eclipse IDE Yocto Plug-in. | 159 | SystemTap is not available as a user-space tool through the Eclipse IDE Yocto Plug-in. |
160 | See <ulink url='http://sourceware.org/systemtap'></ulink> for more information | 160 | See <ulink url='http://sourceware.org/systemtap'></ulink> for more information |
161 | on SystemTap.</para></listitem> | 161 | on SystemTap.</para></listitem> |
162 | <listitem><para><emphasis>Lttng-ust:</emphasis> A User-space Tracer designed to | 162 | <listitem><para><emphasis>Lttng-ust:</emphasis> A User-space Tracer designed to |
163 | provide detailed information on user-space activity. | 163 | provide detailed information on user-space activity. |
164 | See <ulink url='http://lttng.org/ust'></ulink> for more information on Lttng-ust. | 164 | See <ulink url='http://lttng.org/ust'></ulink> for more information on Lttng-ust. |
165 | </para></listitem> | 165 | </para></listitem> |
166 | </itemizedlist> | 166 | </itemizedlist> |
diff --git a/documentation/adt-manual/adt-manual.xml b/documentation/adt-manual/adt-manual.xml index 25bc27e4c5..ac98d43bca 100644 --- a/documentation/adt-manual/adt-manual.xml +++ b/documentation/adt-manual/adt-manual.xml | |||
@@ -2,7 +2,7 @@ | |||
2 | "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" | 2 | "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" |
3 | [<!ENTITY % poky SYSTEM "../poky.ent"> %poky; ] > | 3 | [<!ENTITY % poky SYSTEM "../poky.ent"> %poky; ] > |
4 | 4 | ||
5 | <book id='adt-manual' lang='en' | 5 | <book id='adt-manual' lang='en' |
6 | xmlns:xi="http://www.w3.org/2003/XInclude" | 6 | xmlns:xi="http://www.w3.org/2003/XInclude" |
7 | xmlns="http://docbook.org/ns/docbook" | 7 | xmlns="http://docbook.org/ns/docbook" |
8 | > | 8 | > |
@@ -10,10 +10,10 @@ | |||
10 | 10 | ||
11 | <mediaobject> | 11 | <mediaobject> |
12 | <imageobject> | 12 | <imageobject> |
13 | <imagedata fileref='figures/adt-title.png' | 13 | <imagedata fileref='figures/adt-title.png' |
14 | format='SVG' | 14 | format='SVG' |
15 | align='left' scalefit='1' width='100%'/> | 15 | align='left' scalefit='1' width='100%'/> |
16 | </imageobject> | 16 | </imageobject> |
17 | </mediaobject> | 17 | </mediaobject> |
18 | 18 | ||
19 | <title></title> | 19 | <title></title> |
@@ -68,12 +68,12 @@ | |||
68 | 68 | ||
69 | <legalnotice> | 69 | <legalnotice> |
70 | <para> | 70 | <para> |
71 | Permission is granted to copy, distribute and/or modify this document under | 71 | Permission is granted to copy, distribute and/or modify this document under |
72 | the terms of the <ulink type="http" url="http://creativecommons.org/licenses/by-sa/2.0/uk/">Creative Commons Attribution-Share Alike 2.0 UK: England & Wales</ulink> as published by Creative Commons. | 72 | the terms of the <ulink type="http" url="http://creativecommons.org/licenses/by-sa/2.0/uk/">Creative Commons Attribution-Share Alike 2.0 UK: England & Wales</ulink> as published by Creative Commons. |
73 | </para> | 73 | </para> |
74 | <note> | 74 | <note> |
75 | Due to production processes, there could be differences between the Yocto Project | 75 | Due to production processes, there could be differences between the Yocto Project |
76 | documentation bundled in the release tarball and the | 76 | documentation bundled in the release tarball and the |
77 | <ulink url='&YOCTO_DOCS_ADT_URL;'>Yocto Project Application Developer's Guide</ulink> on | 77 | <ulink url='&YOCTO_DOCS_ADT_URL;'>Yocto Project Application Developer's Guide</ulink> on |
78 | the <ulink url='&YOCTO_HOME_URL;'>Yocto Project</ulink> website. | 78 | the <ulink url='&YOCTO_HOME_URL;'>Yocto Project</ulink> website. |
79 | For the latest version of this manual, see the manual on the website. | 79 | For the latest version of this manual, see the manual on the website. |
@@ -97,6 +97,6 @@ | |||
97 | --> | 97 | --> |
98 | 98 | ||
99 | </book> | 99 | </book> |
100 | <!-- | 100 | <!-- |
101 | vim: expandtab tw=80 ts=4 | 101 | vim: expandtab tw=80 ts=4 |
102 | --> | 102 | --> |
diff --git a/documentation/adt-manual/adt-package.xml b/documentation/adt-manual/adt-package.xml index da8d10fa4b..9e68c3131e 100644 --- a/documentation/adt-manual/adt-package.xml +++ b/documentation/adt-manual/adt-package.xml | |||
@@ -6,10 +6,10 @@ | |||
6 | <title>Optionally Customizing the Development Packages Installation</title> | 6 | <title>Optionally Customizing the Development Packages Installation</title> |
7 | 7 | ||
8 | <para> | 8 | <para> |
9 | Because the Yocto Project is suited for embedded Linux development, it is | 9 | Because the Yocto Project is suited for embedded Linux development, it is |
10 | likely that you will need to customize your development packages installation. | 10 | likely that you will need to customize your development packages installation. |
11 | For example, if you are developing a minimal image, then you might not need | 11 | For example, if you are developing a minimal image, then you might not need |
12 | certain packages (e.g. graphics support packages). | 12 | certain packages (e.g. graphics support packages). |
13 | Thus, you would like to be able to remove those packages from your target sysroot. | 13 | Thus, you would like to be able to remove those packages from your target sysroot. |
14 | </para> | 14 | </para> |
15 | 15 | ||
@@ -17,24 +17,24 @@ | |||
17 | <title>Package Management Systems</title> | 17 | <title>Package Management Systems</title> |
18 | 18 | ||
19 | <para> | 19 | <para> |
20 | The OpenEmbedded build system supports the generation of sysroot files using | 20 | The OpenEmbedded build system supports the generation of sysroot files using |
21 | three different Package Management Systems (PMS): | 21 | three different Package Management Systems (PMS): |
22 | <itemizedlist> | 22 | <itemizedlist> |
23 | <listitem><para><emphasis>OPKG:</emphasis> A less well known PMS whose use | 23 | <listitem><para><emphasis>OPKG:</emphasis> A less well known PMS whose use |
24 | originated in the OpenEmbedded and OpenWrt embedded Linux projects. | 24 | originated in the OpenEmbedded and OpenWrt embedded Linux projects. |
25 | This PMS works with files packaged in an <filename>.ipk</filename> format. | 25 | This PMS works with files packaged in an <filename>.ipk</filename> format. |
26 | See <ulink url='http://en.wikipedia.org/wiki/Opkg'></ulink> for more | 26 | See <ulink url='http://en.wikipedia.org/wiki/Opkg'></ulink> for more |
27 | information about OPKG.</para></listitem> | 27 | information about OPKG.</para></listitem> |
28 | <listitem><para><emphasis>RPM:</emphasis> A more widely known PMS intended for GNU/Linux | 28 | <listitem><para><emphasis>RPM:</emphasis> A more widely known PMS intended for GNU/Linux |
29 | distributions. | 29 | distributions. |
30 | This PMS works with files packaged in an <filename>.rms</filename> format. | 30 | This PMS works with files packaged in an <filename>.rms</filename> format. |
31 | The build system currently installs through this PMS by default. | 31 | The build system currently installs through this PMS by default. |
32 | See <ulink url='http://en.wikipedia.org/wiki/RPM_Package_Manager'></ulink> | 32 | See <ulink url='http://en.wikipedia.org/wiki/RPM_Package_Manager'></ulink> |
33 | for more information about RPM.</para></listitem> | 33 | for more information about RPM.</para></listitem> |
34 | <listitem><para><emphasis>Debian:</emphasis> The PMS for Debian-based systems | 34 | <listitem><para><emphasis>Debian:</emphasis> The PMS for Debian-based systems |
35 | is built on many PMS tools. | 35 | is built on many PMS tools. |
36 | The lower-level PMS tool <filename>dpkg</filename> forms the base of the Debian PMS. | 36 | The lower-level PMS tool <filename>dpkg</filename> forms the base of the Debian PMS. |
37 | For information on dpkg see | 37 | For information on dpkg see |
38 | <ulink url='http://en.wikipedia.org/wiki/Dpkg'></ulink>.</para></listitem> | 38 | <ulink url='http://en.wikipedia.org/wiki/Dpkg'></ulink>.</para></listitem> |
39 | </itemizedlist> | 39 | </itemizedlist> |
40 | </para> | 40 | </para> |
@@ -44,13 +44,13 @@ | |||
44 | <title>Configuring the PMS</title> | 44 | <title>Configuring the PMS</title> |
45 | 45 | ||
46 | <para> | 46 | <para> |
47 | Whichever PMS you are using, you need to be sure that the | 47 | Whichever PMS you are using, you need to be sure that the |
48 | <ulink url='&YOCTO_DOCS_REF_URL;#var-PACKAGE_CLASSES'><filename>PACKAGE_CLASSES</filename></ulink> | 48 | <ulink url='&YOCTO_DOCS_REF_URL;#var-PACKAGE_CLASSES'><filename>PACKAGE_CLASSES</filename></ulink> |
49 | variable in the <filename>conf/local.conf</filename> | 49 | variable in the <filename>conf/local.conf</filename> |
50 | file is set to reflect that system. | 50 | file is set to reflect that system. |
51 | The first value you choose for the variable specifies the package file format for the root | 51 | The first value you choose for the variable specifies the package file format for the root |
52 | filesystem at sysroot. | 52 | filesystem at sysroot. |
53 | Additional values specify additional formats for convenience or testing. | 53 | Additional values specify additional formats for convenience or testing. |
54 | See the configuration file for details. | 54 | See the configuration file for details. |
55 | </para> | 55 | </para> |
56 | 56 | ||
@@ -61,14 +61,14 @@ | |||
61 | </note> | 61 | </note> |
62 | 62 | ||
63 | <para> | 63 | <para> |
64 | As an example, consider a scenario where you are using OPKG and you want to add | 64 | As an example, consider a scenario where you are using OPKG and you want to add |
65 | the <filename>libglade</filename> package to the target sysroot. | 65 | the <filename>libglade</filename> package to the target sysroot. |
66 | </para> | 66 | </para> |
67 | 67 | ||
68 | <para> | 68 | <para> |
69 | First, you should generate the <filename>ipk</filename> file for the | 69 | First, you should generate the <filename>ipk</filename> file for the |
70 | <filename>libglade</filename> package and add it | 70 | <filename>libglade</filename> package and add it |
71 | into a working <filename>opkg</filename> repository. | 71 | into a working <filename>opkg</filename> repository. |
72 | Use these commands: | 72 | Use these commands: |
73 | <literallayout class='monospaced'> | 73 | <literallayout class='monospaced'> |
74 | $ bitbake libglade | 74 | $ bitbake libglade |
@@ -77,12 +77,12 @@ | |||
77 | </para> | 77 | </para> |
78 | 78 | ||
79 | <para> | 79 | <para> |
80 | Next, source the environment setup script found in the | 80 | Next, source the environment setup script found in the |
81 | <ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink>. | 81 | <ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink>. |
82 | Follow that by setting up the installation destination to point to your | 82 | Follow that by setting up the installation destination to point to your |
83 | sysroot as <filename><sysroot_dir></filename>. | 83 | sysroot as <filename><sysroot_dir></filename>. |
84 | Finally, have an OPKG configuration file <filename><conf_file></filename> | 84 | Finally, have an OPKG configuration file <filename><conf_file></filename> |
85 | that corresponds to the <filename>opkg</filename> repository you have just created. | 85 | that corresponds to the <filename>opkg</filename> repository you have just created. |
86 | The following command forms should now work: | 86 | The following command forms should now work: |
87 | <literallayout class='monospaced'> | 87 | <literallayout class='monospaced'> |
88 | $ opkg-cl –f <conf_file> -o <sysroot_dir> update | 88 | $ opkg-cl –f <conf_file> -o <sysroot_dir> update |
diff --git a/documentation/adt-manual/adt-prepare.xml b/documentation/adt-manual/adt-prepare.xml index 040618482f..fa191da002 100644 --- a/documentation/adt-manual/adt-prepare.xml +++ b/documentation/adt-manual/adt-prepare.xml | |||
@@ -8,7 +8,7 @@ | |||
8 | 8 | ||
9 | <para> | 9 | <para> |
10 | In order to develop applications, you need set up your host development system. | 10 | In order to develop applications, you need set up your host development system. |
11 | Several ways exist that allow you to install cross-development tools, QEMU, the | 11 | Several ways exist that allow you to install cross-development tools, QEMU, the |
12 | Eclipse Yocto Plug-in, and other tools. | 12 | Eclipse Yocto Plug-in, and other tools. |
13 | This chapter describes how to prepare for application development. | 13 | This chapter describes how to prepare for application development. |
14 | </para> | 14 | </para> |
@@ -22,39 +22,39 @@ | |||
22 | Regardless of the installation method you choose, | 22 | Regardless of the installation method you choose, |
23 | you must <filename>source</filename> the cross-toolchain | 23 | you must <filename>source</filename> the cross-toolchain |
24 | environment setup script before you use a toolchain. | 24 | environment setup script before you use a toolchain. |
25 | See the "<link linkend='setting-up-the-cross-development-environment'>Setting Up the | 25 | See the "<link linkend='setting-up-the-cross-development-environment'>Setting Up the |
26 | Cross-Development Environment</link>" section for more information. | 26 | Cross-Development Environment</link>" section for more information. |
27 | </para> | 27 | </para> |
28 | 28 | ||
29 | <note> | 29 | <note> |
30 | <para>Avoid mixing installation methods when installing toolchains for different architectures. | 30 | <para>Avoid mixing installation methods when installing toolchains for different architectures. |
31 | For example, avoid using the ADT Installer to install some toolchains and then hand-installing | 31 | For example, avoid using the ADT Installer to install some toolchains and then hand-installing |
32 | cross-development toolchains by running the toolchain installer for different architectures. | 32 | cross-development toolchains by running the toolchain installer for different architectures. |
33 | Mixing installation methods can result in situations where the ADT Installer becomes | 33 | Mixing installation methods can result in situations where the ADT Installer becomes |
34 | unreliable and might not install the toolchain.</para> | 34 | unreliable and might not install the toolchain.</para> |
35 | <para>If you must mix installation methods, you might avoid problems by deleting | 35 | <para>If you must mix installation methods, you might avoid problems by deleting |
36 | <filename>/var/lib/opkg</filename>, thus purging the <filename>opkg</filename> package | 36 | <filename>/var/lib/opkg</filename>, thus purging the <filename>opkg</filename> package |
37 | metadata</para> | 37 | metadata</para> |
38 | </note> | 38 | </note> |
39 | 39 | ||
40 | <para> | 40 | <para> |
41 | <itemizedlist> | 41 | <itemizedlist> |
42 | <listitem><para><emphasis>Use the ADT Installer Script:</emphasis> | 42 | <listitem><para><emphasis>Use the ADT Installer Script:</emphasis> |
43 | This method is the recommended way to install the ADT because it | 43 | This method is the recommended way to install the ADT because it |
44 | automates much of the process for you. | 44 | automates much of the process for you. |
45 | For example, you can configure the installation to install the QEMU emulator | 45 | For example, you can configure the installation to install the QEMU emulator |
46 | and the user-space NFS, specify which root filesystem profiles to download, | 46 | and the user-space NFS, specify which root filesystem profiles to download, |
47 | and define the target sysroot location.</para></listitem> | 47 | and define the target sysroot location.</para></listitem> |
48 | <listitem><para><emphasis>Use an Existing Toolchain:</emphasis> | 48 | <listitem><para><emphasis>Use an Existing Toolchain:</emphasis> |
49 | Using this method, you select and download an architecture-specific | 49 | Using this method, you select and download an architecture-specific |
50 | toolchain installer and then run the script to hand-install the toolchain. | 50 | toolchain installer and then run the script to hand-install the toolchain. |
51 | If you use this method, you just get the cross-toolchain and QEMU - you do not | 51 | If you use this method, you just get the cross-toolchain and QEMU - you do not |
52 | get any of the other mentioned benefits had you run the ADT Installer script.</para></listitem> | 52 | get any of the other mentioned benefits had you run the ADT Installer script.</para></listitem> |
53 | <listitem><para><emphasis>Use the Toolchain from within the Build Directory:</emphasis> | 53 | <listitem><para><emphasis>Use the Toolchain from within the Build Directory:</emphasis> |
54 | If you already have a | 54 | If you already have a |
55 | <ulink url='&YOCTO_DOCS_DEV_URL;#build-directory'>Build Directory</ulink>, | 55 | <ulink url='&YOCTO_DOCS_DEV_URL;#build-directory'>Build Directory</ulink>, |
56 | you can build the cross-toolchain within the directory. | 56 | you can build the cross-toolchain within the directory. |
57 | However, like the previous method mentioned, you only get the cross-toolchain and QEMU - you | 57 | However, like the previous method mentioned, you only get the cross-toolchain and QEMU - you |
58 | do not get any of the other benefits without taking separate steps.</para></listitem> | 58 | do not get any of the other benefits without taking separate steps.</para></listitem> |
59 | </itemizedlist> | 59 | </itemizedlist> |
60 | </para> | 60 | </para> |
@@ -63,14 +63,14 @@ | |||
63 | <title>Using the ADT Installer</title> | 63 | <title>Using the ADT Installer</title> |
64 | 64 | ||
65 | <para> | 65 | <para> |
66 | To run the ADT Installer, you need to get the ADT Installer tarball, be sure | 66 | To run the ADT Installer, you need to get the ADT Installer tarball, be sure |
67 | you have the necessary host development packages that support the ADT Installer, | 67 | you have the necessary host development packages that support the ADT Installer, |
68 | and then run the ADT Installer Script. | 68 | and then run the ADT Installer Script. |
69 | </para> | 69 | </para> |
70 | 70 | ||
71 | <para> | 71 | <para> |
72 | For a list of the host packages needed to support ADT installation and use, see the | 72 | For a list of the host packages needed to support ADT installation and use, see the |
73 | "ADT Installer Extras" lists in the | 73 | "ADT Installer Extras" lists in the |
74 | "<ulink url='&YOCTO_DOCS_REF_URL;#required-packages-for-the-host-development-system'>Required Packages for the Host Development System</ulink>" section | 74 | "<ulink url='&YOCTO_DOCS_REF_URL;#required-packages-for-the-host-development-system'>Required Packages for the Host Development System</ulink>" section |
75 | of the Yocto Project Reference Manual. | 75 | of the Yocto Project Reference Manual. |
76 | </para> | 76 | </para> |
@@ -80,27 +80,27 @@ | |||
80 | 80 | ||
81 | <para> | 81 | <para> |
82 | The ADT Installer is contained in the ADT Installer tarball. | 82 | The ADT Installer is contained in the ADT Installer tarball. |
83 | You can download the tarball into any directory from the | 83 | You can download the tarball into any directory from the |
84 | <ulink url='&YOCTO_DL_URL;/releases'>Index of Releases</ulink>, specifically | 84 | <ulink url='&YOCTO_DL_URL;/releases'>Index of Releases</ulink>, specifically |
85 | at | 85 | at |
86 | <ulink url='&YOCTO_ADTINSTALLER_DL_URL;'></ulink>. | 86 | <ulink url='&YOCTO_ADTINSTALLER_DL_URL;'></ulink>. |
87 | Or, you can use BitBake to generate the tarball inside the existing | 87 | Or, you can use BitBake to generate the tarball inside the existing |
88 | <ulink url='&YOCTO_DOCS_DEV_URL;#build-directory'>Build Directory</ulink>. | 88 | <ulink url='&YOCTO_DOCS_DEV_URL;#build-directory'>Build Directory</ulink>. |
89 | </para> | 89 | </para> |
90 | 90 | ||
91 | <para> | 91 | <para> |
92 | If you use BitBake to generate the ADT Installer tarball, you must | 92 | If you use BitBake to generate the ADT Installer tarball, you must |
93 | <filename>source</filename> the environment setup script | 93 | <filename>source</filename> the environment setup script |
94 | (<filename>&OE_INIT_FILE;</filename>) located | 94 | (<filename>&OE_INIT_FILE;</filename>) located |
95 | in the Source Directory before running the <filename>bitbake</filename> | 95 | in the Source Directory before running the <filename>bitbake</filename> |
96 | command that creates the tarball. | 96 | command that creates the tarball. |
97 | </para> | 97 | </para> |
98 | 98 | ||
99 | <para> | 99 | <para> |
100 | The following example commands download the Poky tarball, set up the | 100 | The following example commands download the Poky tarball, set up the |
101 | <ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink>, | 101 | <ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink>, |
102 | set up the environment while also creating the default Build Directory, | 102 | set up the environment while also creating the default Build Directory, |
103 | and run the <filename>bitbake</filename> command that results in the tarball | 103 | and run the <filename>bitbake</filename> command that results in the tarball |
104 | <filename>~/yocto-project/build/tmp/deploy/sdk/adt_installer.tar.bz2</filename>: | 104 | <filename>~/yocto-project/build/tmp/deploy/sdk/adt_installer.tar.bz2</filename>: |
105 | <literallayout class='monospaced'> | 105 | <literallayout class='monospaced'> |
106 | $ cd ~ | 106 | $ cd ~ |
@@ -120,97 +120,97 @@ | |||
120 | <para> | 120 | <para> |
121 | Before running the ADT Installer script, you need to unpack the tarball. | 121 | Before running the ADT Installer script, you need to unpack the tarball. |
122 | You can unpack the tarball in any directory you wish. | 122 | You can unpack the tarball in any directory you wish. |
123 | For example, this command copies the ADT Installer tarball from where | 123 | For example, this command copies the ADT Installer tarball from where |
124 | it was built into the home directory and then unpacks the tarball into | 124 | it was built into the home directory and then unpacks the tarball into |
125 | a top-level directory named <filename>adt-installer</filename>: | 125 | a top-level directory named <filename>adt-installer</filename>: |
126 | <literallayout class='monospaced'> | 126 | <literallayout class='monospaced'> |
127 | $ cd ~ | 127 | $ cd ~ |
128 | $ cp ~/poky/build/tmp/deploy/sdk/adt_installer.tar.bz2 $HOME | 128 | $ cp ~/poky/build/tmp/deploy/sdk/adt_installer.tar.bz2 $HOME |
129 | $ tar -xjf adt_installer.tar.bz2 | 129 | $ tar -xjf adt_installer.tar.bz2 |
130 | </literallayout> | 130 | </literallayout> |
131 | Unpacking it creates the directory <filename>adt-installer</filename>, | 131 | Unpacking it creates the directory <filename>adt-installer</filename>, |
132 | which contains the ADT Installer script (<filename>adt_installer</filename>) | 132 | which contains the ADT Installer script (<filename>adt_installer</filename>) |
133 | and its configuration file (<filename>adt_installer.conf</filename>). | 133 | and its configuration file (<filename>adt_installer.conf</filename>). |
134 | </para> | 134 | </para> |
135 | 135 | ||
136 | <para> | 136 | <para> |
137 | Before you run the script, however, you should examine the ADT Installer configuration | 137 | Before you run the script, however, you should examine the ADT Installer configuration |
138 | file and be sure you are going to get what you want. | 138 | file and be sure you are going to get what you want. |
139 | Your configurations determine which kernel and filesystem image are downloaded. | 139 | Your configurations determine which kernel and filesystem image are downloaded. |
140 | </para> | 140 | </para> |
141 | 141 | ||
142 | <para> | 142 | <para> |
143 | The following list describes the configurations you can define for the ADT Installer. | 143 | The following list describes the configurations you can define for the ADT Installer. |
144 | For configuration values and restrictions, see the comments in | 144 | For configuration values and restrictions, see the comments in |
145 | the <filename>adt-installer.conf</filename> file: | 145 | the <filename>adt-installer.conf</filename> file: |
146 | 146 | ||
147 | <itemizedlist> | 147 | <itemizedlist> |
148 | <listitem><para><filename>YOCTOADT_REPO</filename>: This area | 148 | <listitem><para><filename>YOCTOADT_REPO</filename>: This area |
149 | includes the IPKG-based packages and the root filesystem upon which | 149 | includes the IPKG-based packages and the root filesystem upon which |
150 | the installation is based. | 150 | the installation is based. |
151 | If you want to set up your own IPKG repository pointed to by | 151 | If you want to set up your own IPKG repository pointed to by |
152 | <filename>YOCTOADT_REPO</filename>, you need to be sure that the | 152 | <filename>YOCTOADT_REPO</filename>, you need to be sure that the |
153 | directory structure follows the same layout as the reference directory | 153 | directory structure follows the same layout as the reference directory |
154 | set up at <ulink url='http://adtrepo.yoctoproject.org'></ulink>. | 154 | set up at <ulink url='http://adtrepo.yoctoproject.org'></ulink>. |
155 | Also, your repository needs to be accessible through HTTP.</para></listitem> | 155 | Also, your repository needs to be accessible through HTTP.</para></listitem> |
156 | <listitem><para><filename>YOCTOADT_TARGETS</filename>: The machine | 156 | <listitem><para><filename>YOCTOADT_TARGETS</filename>: The machine |
157 | target architectures for which you want to set up cross-development | 157 | target architectures for which you want to set up cross-development |
158 | environments.</para></listitem> | 158 | environments.</para></listitem> |
159 | <listitem><para><filename>YOCTOADT_QEMU</filename>: Indicates whether | 159 | <listitem><para><filename>YOCTOADT_QEMU</filename>: Indicates whether |
160 | or not to install the emulator QEMU.</para></listitem> | 160 | or not to install the emulator QEMU.</para></listitem> |
161 | <listitem><para><filename>YOCTOADT_NFS_UTIL</filename>: Indicates whether | 161 | <listitem><para><filename>YOCTOADT_NFS_UTIL</filename>: Indicates whether |
162 | or not to install user-mode NFS. | 162 | or not to install user-mode NFS. |
163 | If you plan to use the Eclipse IDE Yocto plug-in against QEMU, | 163 | If you plan to use the Eclipse IDE Yocto plug-in against QEMU, |
164 | you should install NFS. | 164 | you should install NFS. |
165 | <note>To boot QEMU images using our userspace NFS server, you need | 165 | <note>To boot QEMU images using our userspace NFS server, you need |
166 | to be running <filename>portmap</filename> or <filename>rpcbind</filename>. | 166 | to be running <filename>portmap</filename> or <filename>rpcbind</filename>. |
167 | If you are running <filename>rpcbind</filename>, you will also need to add the | 167 | If you are running <filename>rpcbind</filename>, you will also need to add the |
168 | <filename>-i</filename> option when <filename>rpcbind</filename> starts up. | 168 | <filename>-i</filename> option when <filename>rpcbind</filename> starts up. |
169 | Please make sure you understand the security implications of doing this. | 169 | Please make sure you understand the security implications of doing this. |
170 | You might also have to modify your firewall settings to allow | 170 | You might also have to modify your firewall settings to allow |
171 | NFS booting to work.</note></para></listitem> | 171 | NFS booting to work.</note></para></listitem> |
172 | <listitem><para><filename>YOCTOADT_ROOTFS_<arch></filename>: The root | 172 | <listitem><para><filename>YOCTOADT_ROOTFS_<arch></filename>: The root |
173 | filesystem images you want to download from the | 173 | filesystem images you want to download from the |
174 | <filename>YOCTOADT_IPKG_REPO</filename> repository.</para></listitem> | 174 | <filename>YOCTOADT_IPKG_REPO</filename> repository.</para></listitem> |
175 | <listitem><para><filename>YOCTOADT_TARGET_SYSROOT_IMAGE_<arch></filename>: The | 175 | <listitem><para><filename>YOCTOADT_TARGET_SYSROOT_IMAGE_<arch></filename>: The |
176 | particular root filesystem used to extract and create the target sysroot. | 176 | particular root filesystem used to extract and create the target sysroot. |
177 | The value of this variable must have been specified with | 177 | The value of this variable must have been specified with |
178 | <filename>YOCTOADT_ROOTFS_<arch></filename>. | 178 | <filename>YOCTOADT_ROOTFS_<arch></filename>. |
179 | For example, if you downloaded both <filename>minimal</filename> and | 179 | For example, if you downloaded both <filename>minimal</filename> and |
180 | <filename>sato-sdk</filename> images by setting | 180 | <filename>sato-sdk</filename> images by setting |
181 | <filename>YOCTOADT_ROOTFS_<arch></filename> | 181 | <filename>YOCTOADT_ROOTFS_<arch></filename> |
182 | to "minimal sato-sdk", then <filename>YOCTOADT_ROOTFS_<arch></filename> | 182 | to "minimal sato-sdk", then <filename>YOCTOADT_ROOTFS_<arch></filename> |
183 | must be set to either <filename>minimal</filename> or | 183 | must be set to either <filename>minimal</filename> or |
184 | <filename>sato-sdk</filename>.</para></listitem> | 184 | <filename>sato-sdk</filename>.</para></listitem> |
185 | <listitem><para><filename>YOCTOADT_TARGET_SYSROOT_LOC_<arch></filename>: The | 185 | <listitem><para><filename>YOCTOADT_TARGET_SYSROOT_LOC_<arch></filename>: The |
186 | location on the development host where the target sysroot is created. | 186 | location on the development host where the target sysroot is created. |
187 | </para></listitem> | 187 | </para></listitem> |
188 | </itemizedlist> | 188 | </itemizedlist> |
189 | </para> | 189 | </para> |
190 | 190 | ||
191 | <para> | 191 | <para> |
192 | After you have configured the <filename>adt_installer.conf</filename> file, | 192 | After you have configured the <filename>adt_installer.conf</filename> file, |
193 | run the installer using the following command. | 193 | run the installer using the following command. |
194 | Be sure that you are not trying to use cross-compilation tools. | 194 | Be sure that you are not trying to use cross-compilation tools. |
195 | When you run the installer, the environment must use a | 195 | When you run the installer, the environment must use a |
196 | host <filename>gcc</filename>: | 196 | host <filename>gcc</filename>: |
197 | <literallayout class='monospaced'> | 197 | <literallayout class='monospaced'> |
198 | $ cd ~/adt-installer | 198 | $ cd ~/adt-installer |
199 | $ ./adt_installer | 199 | $ ./adt_installer |
200 | </literallayout> | 200 | </literallayout> |
201 | Once the installer begins to run, you are asked to enter the location for | 201 | Once the installer begins to run, you are asked to enter the location for |
202 | cross-toolchain installation. | 202 | cross-toolchain installation. |
203 | The default location is <filename>/opt/poky/<release></filename>. | 203 | The default location is <filename>/opt/poky/<release></filename>. |
204 | After selecting the location, you are prompted to run in | 204 | After selecting the location, you are prompted to run in |
205 | interactive or silent mode. | 205 | interactive or silent mode. |
206 | If you want to closely monitor the installation, choose “I” for interactive | 206 | If you want to closely monitor the installation, choose “I” for interactive |
207 | mode rather than “S” for silent mode. | 207 | mode rather than “S” for silent mode. |
208 | Follow the prompts from the script to complete the installation. | 208 | Follow the prompts from the script to complete the installation. |
209 | </para> | 209 | </para> |
210 | 210 | ||
211 | <para> | 211 | <para> |
212 | Once the installation completes, the ADT, which includes the cross-toolchain, is installed. | 212 | Once the installation completes, the ADT, which includes the cross-toolchain, is installed. |
213 | You will notice environment setup files for the cross-toolchain in | 213 | You will notice environment setup files for the cross-toolchain in |
214 | <filename>&YOCTO_ADTPATH_DIR;</filename>, | 214 | <filename>&YOCTO_ADTPATH_DIR;</filename>, |
215 | and image tarballs in the <filename>adt-installer</filename> | 215 | and image tarballs in the <filename>adt-installer</filename> |
216 | directory according to your installer configurations, and the target sysroot located | 216 | directory according to your installer configurations, and the target sysroot located |
@@ -224,65 +224,65 @@ | |||
224 | <title>Using a Cross-Toolchain Tarball</title> | 224 | <title>Using a Cross-Toolchain Tarball</title> |
225 | 225 | ||
226 | <para> | 226 | <para> |
227 | If you want to simply install the cross-toolchain by hand, you can do so by running the | 227 | If you want to simply install the cross-toolchain by hand, you can do so by running the |
228 | toolchain installer. | 228 | toolchain installer. |
229 | If you use this method to install the cross-toolchain and you still need to install the target | 229 | If you use this method to install the cross-toolchain and you still need to install the target |
230 | sysroot, you will have to extract and install sysroot separately. | 230 | sysroot, you will have to extract and install sysroot separately. |
231 | For information on how to do this, see the | 231 | For information on how to do this, see the |
232 | "<link linkend='extracting-the-root-filesystem'>Extracting the Root Filesystem</link>" section. | 232 | "<link linkend='extracting-the-root-filesystem'>Extracting the Root Filesystem</link>" section. |
233 | </para> | 233 | </para> |
234 | 234 | ||
235 | <para> | 235 | <para> |
236 | Follow these steps: | 236 | Follow these steps: |
237 | <orderedlist> | 237 | <orderedlist> |
238 | <listitem><para>Go to | 238 | <listitem><para>Go to |
239 | <ulink url='&YOCTO_TOOLCHAIN_DL_URL;'></ulink> | 239 | <ulink url='&YOCTO_TOOLCHAIN_DL_URL;'></ulink> |
240 | and find the folder that matches your host development system | 240 | and find the folder that matches your host development system |
241 | (i.e. <filename>i686</filename> for 32-bit machines or | 241 | (i.e. <filename>i686</filename> for 32-bit machines or |
242 | <filename>x86-64</filename> for 64-bit machines).</para></listitem> | 242 | <filename>x86-64</filename> for 64-bit machines).</para></listitem> |
243 | <listitem><para>Go into that folder and download the toolchain installer whose name | 243 | <listitem><para>Go into that folder and download the toolchain installer whose name |
244 | includes the appropriate target architecture. | 244 | includes the appropriate target architecture. |
245 | For example, if your host development system is an Intel-based 64-bit system and | 245 | For example, if your host development system is an Intel-based 64-bit system and |
246 | you are going to use your cross-toolchain for an Intel-based 32-bit target, go into the | 246 | you are going to use your cross-toolchain for an Intel-based 32-bit target, go into the |
247 | <filename>x86_64</filename> folder and download the following installer: | 247 | <filename>x86_64</filename> folder and download the following installer: |
248 | <literallayout class='monospaced'> | 248 | <literallayout class='monospaced'> |
249 | poky-eglibc-x86_64-i586-toolchain-gmae-&DISTRO;.sh | 249 | poky-eglibc-x86_64-i586-toolchain-gmae-&DISTRO;.sh |
250 | </literallayout> | 250 | </literallayout> |
251 | <note><para>As an alternative to steps one and two, you can build the toolchain installer | 251 | <note><para>As an alternative to steps one and two, you can build the toolchain installer |
252 | if you have a <ulink url='&YOCTO_DOCS_DEV_URL;#build-directory'>Build Directory</ulink>. | 252 | if you have a <ulink url='&YOCTO_DOCS_DEV_URL;#build-directory'>Build Directory</ulink>. |
253 | If you need GMAE, you should use the <filename>bitbake meta-toolchain-gmae</filename> | 253 | If you need GMAE, you should use the <filename>bitbake meta-toolchain-gmae</filename> |
254 | command. | 254 | command. |
255 | The resulting installation script when run will support such development. | 255 | The resulting installation script when run will support such development. |
256 | However, if you are not concerned with GMAE, | 256 | However, if you are not concerned with GMAE, |
257 | you can generate the toolchain installer using | 257 | you can generate the toolchain installer using |
258 | <filename>bitbake meta-toolchain</filename>.</para> | 258 | <filename>bitbake meta-toolchain</filename>.</para> |
259 | <para>Use the appropriate <filename>bitbake</filename> command only after you have | 259 | <para>Use the appropriate <filename>bitbake</filename> command only after you have |
260 | sourced the <filename>&OE_INIT_PATH;</filename> script located in the Source | 260 | sourced the <filename>&OE_INIT_PATH;</filename> script located in the Source |
261 | Directory and you have made sure your <filename>conf/local.conf</filename> | 261 | Directory and you have made sure your <filename>conf/local.conf</filename> |
262 | variables are correct. | 262 | variables are correct. |
263 | In particular, you need to be sure the | 263 | In particular, you need to be sure the |
264 | <ulink url='&YOCTO_DOCS_REF_URL;#var-MACHINE'><filename>MACHINE</filename></ulink> | 264 | <ulink url='&YOCTO_DOCS_REF_URL;#var-MACHINE'><filename>MACHINE</filename></ulink> |
265 | variable matches the architecture for which you are building and that the | 265 | variable matches the architecture for which you are building and that the |
266 | <filename>SDKMACHINE</filename> variable is correctly set if you are building | 266 | <filename>SDKMACHINE</filename> variable is correctly set if you are building |
267 | a toolchain for an architecture that differs from your current | 267 | a toolchain for an architecture that differs from your current |
268 | development host machine.</para> | 268 | development host machine.</para> |
269 | <para>When the <filename>bitbake</filename> command completes, the | 269 | <para>When the <filename>bitbake</filename> command completes, the |
270 | toolchain installer will be in <filename>tmp/deploy/sdk</filename> in the | 270 | toolchain installer will be in <filename>tmp/deploy/sdk</filename> in the |
271 | Build Directory. | 271 | Build Directory. |
272 | </para></note> | 272 | </para></note> |
273 | </para></listitem> | 273 | </para></listitem> |
274 | <listitem><para>Once you have the installer, run it to install the toolchain. | 274 | <listitem><para>Once you have the installer, run it to install the toolchain. |
275 | You must change the permissions on the toolchain installer | 275 | You must change the permissions on the toolchain installer |
276 | script so that it is executable.</para> | 276 | script so that it is executable.</para> |
277 | <para>The following command shows how to run the installer given a toolchain tarball | 277 | <para>The following command shows how to run the installer given a toolchain tarball |
278 | for a 64-bit development host system and a 32-bit target architecture. | 278 | for a 64-bit development host system and a 32-bit target architecture. |
279 | The example assumes the toolchain installer is located in <filename>~/Downloads/</filename>. | 279 | The example assumes the toolchain installer is located in <filename>~/Downloads/</filename>. |
280 | <literallayout class='monospaced'> | 280 | <literallayout class='monospaced'> |
281 | $ ~/Downloads/poky-eglibc-x86_64-i586-toolchain-gmae-&DISTRO;.sh | 281 | $ ~/Downloads/poky-eglibc-x86_64-i586-toolchain-gmae-&DISTRO;.sh |
282 | </literallayout> | 282 | </literallayout> |
283 | <note> | 283 | <note> |
284 | If you do not have write permissions for the directory into which you are installing | 284 | If you do not have write permissions for the directory into which you are installing |
285 | the toolchain, the toolchain installer notifies you and exits. | 285 | the toolchain, the toolchain installer notifies you and exits. |
286 | Be sure you have write permissions in the directory and run the installer again. | 286 | Be sure you have write permissions in the directory and run the installer again. |
287 | </note> | 287 | </note> |
288 | Once the tarball is expanded, the cross-toolchain is installed. | 288 | Once the tarball is expanded, the cross-toolchain is installed. |
@@ -296,50 +296,50 @@ | |||
296 | <title>Using BitBake and the Build Directory</title> | 296 | <title>Using BitBake and the Build Directory</title> |
297 | 297 | ||
298 | <para> | 298 | <para> |
299 | A final way of making the cross-toolchain available is to use BitBake | 299 | A final way of making the cross-toolchain available is to use BitBake |
300 | to generate the toolchain within an existing | 300 | to generate the toolchain within an existing |
301 | <ulink url='&YOCTO_DOCS_DEV_URL;#build-directory'>Build Directory</ulink>. | 301 | <ulink url='&YOCTO_DOCS_DEV_URL;#build-directory'>Build Directory</ulink>. |
302 | This method does not install the toolchain into the | 302 | This method does not install the toolchain into the |
303 | <filename>/opt</filename> directory. | 303 | <filename>/opt</filename> directory. |
304 | As with the previous method, if you need to install the target sysroot, you must | 304 | As with the previous method, if you need to install the target sysroot, you must |
305 | do that separately as well. | 305 | do that separately as well. |
306 | </para> | 306 | </para> |
307 | 307 | ||
308 | <para> | 308 | <para> |
309 | Follow these steps to generate the toolchain into the Build Directory: | 309 | Follow these steps to generate the toolchain into the Build Directory: |
310 | <orderedlist> | 310 | <orderedlist> |
311 | <listitem><para>Source the environment setup script | 311 | <listitem><para>Source the environment setup script |
312 | <filename>&OE_INIT_FILE;</filename> located in the | 312 | <filename>&OE_INIT_FILE;</filename> located in the |
313 | <ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink>. | 313 | <ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink>. |
314 | </para></listitem> | 314 | </para></listitem> |
315 | <listitem><para>At this point, you should be sure that the | 315 | <listitem><para>At this point, you should be sure that the |
316 | <ulink url='&YOCTO_DOCS_REF_URL;#var-MACHINE'><filename>MACHINE</filename></ulink> variable | 316 | <ulink url='&YOCTO_DOCS_REF_URL;#var-MACHINE'><filename>MACHINE</filename></ulink> variable |
317 | in the <filename>local.conf</filename> file found in the | 317 | in the <filename>local.conf</filename> file found in the |
318 | <filename>conf</filename> directory of the Build Directory | 318 | <filename>conf</filename> directory of the Build Directory |
319 | is set for the target architecture. | 319 | is set for the target architecture. |
320 | Comments within the <filename>local.conf</filename> file list the values you | 320 | Comments within the <filename>local.conf</filename> file list the values you |
321 | can use for the <filename>MACHINE</filename> variable. | 321 | can use for the <filename>MACHINE</filename> variable. |
322 | <note>You can populate the Build Directory with the cross-toolchains for more | 322 | <note>You can populate the Build Directory with the cross-toolchains for more |
323 | than a single architecture. | 323 | than a single architecture. |
324 | You just need to edit the <filename>MACHINE</filename> variable in the | 324 | You just need to edit the <filename>MACHINE</filename> variable in the |
325 | <filename>local.conf</filename> file and re-run the BitBake | 325 | <filename>local.conf</filename> file and re-run the BitBake |
326 | command.</note></para></listitem> | 326 | command.</note></para></listitem> |
327 | <listitem><para>Run <filename>bitbake meta-ide-support</filename> to complete the | 327 | <listitem><para>Run <filename>bitbake meta-ide-support</filename> to complete the |
328 | cross-toolchain generation. | 328 | cross-toolchain generation. |
329 | <note>If you change out of your working directory after you | 329 | <note>If you change out of your working directory after you |
330 | <filename>source</filename> the environment setup script and before you run | 330 | <filename>source</filename> the environment setup script and before you run |
331 | the <filename>bitbake</filename> command, the command might not work. | 331 | the <filename>bitbake</filename> command, the command might not work. |
332 | Be sure to run the <filename>bitbake</filename> command immediately | 332 | Be sure to run the <filename>bitbake</filename> command immediately |
333 | after checking or editing the <filename>local.conf</filename> but without | 333 | after checking or editing the <filename>local.conf</filename> but without |
334 | changing out of your working directory.</note> | 334 | changing out of your working directory.</note> |
335 | Once the <filename>bitbake</filename> command finishes, | 335 | Once the <filename>bitbake</filename> command finishes, |
336 | the cross-toolchain is generated and populated within the Build Directory. | 336 | the cross-toolchain is generated and populated within the Build Directory. |
337 | You will notice environment setup files for the cross-toolchain in the | 337 | You will notice environment setup files for the cross-toolchain in the |
338 | Build Directory in the <filename>tmp</filename> directory. | 338 | Build Directory in the <filename>tmp</filename> directory. |
339 | Setup script filenames contain the strings <filename>environment-setup</filename>.</para> | 339 | Setup script filenames contain the strings <filename>environment-setup</filename>.</para> |
340 | <para>Be aware that when you use this method to install the toolchain you still need | 340 | <para>Be aware that when you use this method to install the toolchain you still need |
341 | to separately extract and install the sysroot filesystem. | 341 | to separately extract and install the sysroot filesystem. |
342 | For information on how to do this, see the | 342 | For information on how to do this, see the |
343 | "<link linkend='extracting-the-root-filesystem'>Extracting the Root Filesystem</link>" section. | 343 | "<link linkend='extracting-the-root-filesystem'>Extracting the Root Filesystem</link>" section. |
344 | </para></listitem> | 344 | </para></listitem> |
345 | </orderedlist> | 345 | </orderedlist> |
@@ -351,24 +351,24 @@ | |||
351 | <title>Setting Up the Cross-Development Environment</title> | 351 | <title>Setting Up the Cross-Development Environment</title> |
352 | 352 | ||
353 | <para> | 353 | <para> |
354 | Before you can develop using the cross-toolchain, you need to set up the | 354 | Before you can develop using the cross-toolchain, you need to set up the |
355 | cross-development environment by sourcing the toolchain's environment setup script. | 355 | cross-development environment by sourcing the toolchain's environment setup script. |
356 | If you used the ADT Installer or hand-installed cross-toolchain, | 356 | If you used the ADT Installer or hand-installed cross-toolchain, |
357 | then you can find this script in the <filename>&YOCTO_ADTPATH_DIR;</filename> | 357 | then you can find this script in the <filename>&YOCTO_ADTPATH_DIR;</filename> |
358 | directory. | 358 | directory. |
359 | If you installed the toolchain in the | 359 | If you installed the toolchain in the |
360 | <ulink url='&YOCTO_DOCS_DEV_URL;#build-directory'>Build Directory</ulink>, | 360 | <ulink url='&YOCTO_DOCS_DEV_URL;#build-directory'>Build Directory</ulink>, |
361 | you can find the environment setup | 361 | you can find the environment setup |
362 | script for the toolchain in the Build Directory's <filename>tmp</filename> directory. | 362 | script for the toolchain in the Build Directory's <filename>tmp</filename> directory. |
363 | </para> | 363 | </para> |
364 | 364 | ||
365 | <para> | 365 | <para> |
366 | Be sure to run the environment setup script that matches the architecture for | 366 | Be sure to run the environment setup script that matches the architecture for |
367 | which you are developing. | 367 | which you are developing. |
368 | Environment setup scripts begin with the string “<filename>environment-setup</filename>” | 368 | Environment setup scripts begin with the string “<filename>environment-setup</filename>” |
369 | and include as part of their name the architecture. | 369 | and include as part of their name the architecture. |
370 | For example, the toolchain environment setup script for a 64-bit IA-based architecture would | 370 | For example, the toolchain environment setup script for a 64-bit IA-based architecture would |
371 | be the following: | 371 | be the following: |
372 | <literallayout class='monospaced'> | 372 | <literallayout class='monospaced'> |
373 | &YOCTO_ADTPATH_DIR;/environment-setup-x86_64-poky-linux | 373 | &YOCTO_ADTPATH_DIR;/environment-setup-x86_64-poky-linux |
374 | </literallayout> | 374 | </literallayout> |
@@ -379,7 +379,7 @@ | |||
379 | <title>Securing Kernel and Filesystem Images</title> | 379 | <title>Securing Kernel and Filesystem Images</title> |
380 | 380 | ||
381 | <para> | 381 | <para> |
382 | You will need to have a kernel and filesystem image to boot using your | 382 | You will need to have a kernel and filesystem image to boot using your |
383 | hardware or the QEMU emulator. | 383 | hardware or the QEMU emulator. |
384 | Furthermore, if you plan on booting your image using NFS or you want to use the root filesystem | 384 | Furthermore, if you plan on booting your image using NFS or you want to use the root filesystem |
385 | as the target sysroot, you need to extract the root filesystem. | 385 | as the target sysroot, you need to extract the root filesystem. |
@@ -391,62 +391,62 @@ | |||
391 | <para> | 391 | <para> |
392 | To get the kernel and filesystem images, you either have to build them or download | 392 | To get the kernel and filesystem images, you either have to build them or download |
393 | pre-built versions. | 393 | pre-built versions. |
394 | You can find examples for both these situations in the | 394 | You can find examples for both these situations in the |
395 | "<ulink url='&YOCTO_DOCS_QS_URL;#test-run'>A Quick Test Run</ulink>" section of | 395 | "<ulink url='&YOCTO_DOCS_QS_URL;#test-run'>A Quick Test Run</ulink>" section of |
396 | the Yocto Project Quick Start. | 396 | the Yocto Project Quick Start. |
397 | </para> | 397 | </para> |
398 | 398 | ||
399 | <para> | 399 | <para> |
400 | The Yocto Project ships basic kernel and filesystem images for several | 400 | The Yocto Project ships basic kernel and filesystem images for several |
401 | architectures (<filename>x86</filename>, <filename>x86-64</filename>, | 401 | architectures (<filename>x86</filename>, <filename>x86-64</filename>, |
402 | <filename>mips</filename>, <filename>powerpc</filename>, and <filename>arm</filename>) | 402 | <filename>mips</filename>, <filename>powerpc</filename>, and <filename>arm</filename>) |
403 | that you can use unaltered in the QEMU emulator. | 403 | that you can use unaltered in the QEMU emulator. |
404 | These kernel images reside in the release | 404 | These kernel images reside in the release |
405 | area - <ulink url='&YOCTO_MACHINES_DL_URL;'></ulink> | 405 | area - <ulink url='&YOCTO_MACHINES_DL_URL;'></ulink> |
406 | and are ideal for experimentation using Yocto Project. | 406 | and are ideal for experimentation using Yocto Project. |
407 | For information on the image types you can build using the OpenEmbedded build system, | 407 | For information on the image types you can build using the OpenEmbedded build system, |
408 | see the | 408 | see the |
409 | "<ulink url='&YOCTO_DOCS_REF_URL;#ref-images'>Images</ulink>" chapter in | 409 | "<ulink url='&YOCTO_DOCS_REF_URL;#ref-images'>Images</ulink>" chapter in |
410 | the Yocto Project Reference Manual. | 410 | the Yocto Project Reference Manual. |
411 | </para> | 411 | </para> |
412 | 412 | ||
413 | <para> | 413 | <para> |
414 | If you are planning on developing against your image and you are not | 414 | If you are planning on developing against your image and you are not |
415 | building or using one of the Yocto Project development images | 415 | building or using one of the Yocto Project development images |
416 | (e.g. core-image-*-dev), you must be sure to include the development | 416 | (e.g. core-image-*-dev), you must be sure to include the development |
417 | packages as part of your image recipe. | 417 | packages as part of your image recipe. |
418 | </para> | 418 | </para> |
419 | 419 | ||
420 | <para> | 420 | <para> |
421 | Furthermore, if you plan on remotely deploying and debugging your | 421 | Furthermore, if you plan on remotely deploying and debugging your |
422 | application from within the | 422 | application from within the |
423 | Eclipse IDE, you must have an image that contains the Yocto Target Communication | 423 | Eclipse IDE, you must have an image that contains the Yocto Target Communication |
424 | Framework (TCF) agent (<filename>tcf-agent</filename>). | 424 | Framework (TCF) agent (<filename>tcf-agent</filename>). |
425 | By default, the Yocto Project provides only one type pre-built image that contains the | 425 | By default, the Yocto Project provides only one type pre-built image that contains the |
426 | <filename>tcf-agent</filename>. | 426 | <filename>tcf-agent</filename>. |
427 | And, those images are SDK (e.g.<filename>core-image-sato-sdk</filename>). | 427 | And, those images are SDK (e.g.<filename>core-image-sato-sdk</filename>). |
428 | </para> | 428 | </para> |
429 | 429 | ||
430 | <para> | 430 | <para> |
431 | If you want to use a different image type that contains the <filename>tcf-agent</filename>, | 431 | If you want to use a different image type that contains the <filename>tcf-agent</filename>, |
432 | you can do so one of two ways: | 432 | you can do so one of two ways: |
433 | <itemizedlist> | 433 | <itemizedlist> |
434 | <listitem><para>Modify the <filename>conf/local.conf</filename> configuration in | 434 | <listitem><para>Modify the <filename>conf/local.conf</filename> configuration in |
435 | the <ulink url='&YOCTO_DOCS_DEV_URL;#build-directory'>Build Directory</ulink> | 435 | the <ulink url='&YOCTO_DOCS_DEV_URL;#build-directory'>Build Directory</ulink> |
436 | and then rebuild the image. | 436 | and then rebuild the image. |
437 | With this method, you need to modify the | 437 | With this method, you need to modify the |
438 | <ulink url='&YOCTO_DOCS_REF_URL;#var-EXTRA_IMAGE_FEATURES'><filename>EXTRA_IMAGE_FEATURES</filename></ulink> | 438 | <ulink url='&YOCTO_DOCS_REF_URL;#var-EXTRA_IMAGE_FEATURES'><filename>EXTRA_IMAGE_FEATURES</filename></ulink> |
439 | variable to have the value of "tools-debug" before rebuilding the image. | 439 | variable to have the value of "tools-debug" before rebuilding the image. |
440 | Once the image is rebuilt, the <filename>tcf-agent</filename> will be included | 440 | Once the image is rebuilt, the <filename>tcf-agent</filename> will be included |
441 | in the image and is launched automatically after the boot.</para></listitem> | 441 | in the image and is launched automatically after the boot.</para></listitem> |
442 | <listitem><para>Manually build the <filename>tcf-agent</filename>. | 442 | <listitem><para>Manually build the <filename>tcf-agent</filename>. |
443 | To build the agent, follow these steps: | 443 | To build the agent, follow these steps: |
444 | <orderedlist> | 444 | <orderedlist> |
445 | <listitem><para>Be sure the ADT is installed as described in the | 445 | <listitem><para>Be sure the ADT is installed as described in the |
446 | "<link linkend='installing-the-adt'>Installing the ADT and Toolchains</link>" section. | 446 | "<link linkend='installing-the-adt'>Installing the ADT and Toolchains</link>" section. |
447 | </para></listitem> | 447 | </para></listitem> |
448 | <listitem><para>Set up the cross-development environment as described in the | 448 | <listitem><para>Set up the cross-development environment as described in the |
449 | "<link linkend='setting-up-the-cross-development-environment'>Setting | 449 | "<link linkend='setting-up-the-cross-development-environment'>Setting |
450 | Up the Cross-Development Environment</link>" section.</para></listitem> | 450 | Up the Cross-Development Environment</link>" section.</para></listitem> |
451 | <listitem><para>Get the <filename>tcf-agent</filename> source code using | 451 | <listitem><para>Get the <filename>tcf-agent</filename> source code using |
452 | the following commands: | 452 | the following commands: |
@@ -455,17 +455,17 @@ | |||
455 | $ cd agent | 455 | $ cd agent |
456 | </literallayout></para></listitem> | 456 | </literallayout></para></listitem> |
457 | <listitem><para>Modify the <filename>Makefile.inc</filename> file | 457 | <listitem><para>Modify the <filename>Makefile.inc</filename> file |
458 | for the cross-compilation environment by setting the | 458 | for the cross-compilation environment by setting the |
459 | <filename>OPSYS</filename> and | 459 | <filename>OPSYS</filename> and |
460 | <ulink url='&YOCTO_DOCS_REF_URL;#var-MACHINE'><filename>MACHINE</filename></ulink> | 460 | <ulink url='&YOCTO_DOCS_REF_URL;#var-MACHINE'><filename>MACHINE</filename></ulink> |
461 | variables according to your target.</para></listitem> | 461 | variables according to your target.</para></listitem> |
462 | <listitem><para>Use the cross-development tools to build the | 462 | <listitem><para>Use the cross-development tools to build the |
463 | <filename>tcf-agent</filename>. | 463 | <filename>tcf-agent</filename>. |
464 | Before you "Make" the file, be sure your cross-tools are set up first. | 464 | Before you "Make" the file, be sure your cross-tools are set up first. |
465 | See the "<link linkend='makefile-based-projects'>Makefile-Based Projects</link>" | 465 | See the "<link linkend='makefile-based-projects'>Makefile-Based Projects</link>" |
466 | section for information on how to make sure the cross-tools are set up | 466 | section for information on how to make sure the cross-tools are set up |
467 | correctly.</para> | 467 | correctly.</para> |
468 | <para>If the build is successful, the <filename>tcf-agent</filename> output will | 468 | <para>If the build is successful, the <filename>tcf-agent</filename> output will |
469 | be <filename>obj/$(OPSYS)/$(MACHINE)/Debug/agent</filename>.</para></listitem> | 469 | be <filename>obj/$(OPSYS)/$(MACHINE)/Debug/agent</filename>.</para></listitem> |
470 | <listitem><para>Deploy the agent into the image's root filesystem.</para></listitem> | 470 | <listitem><para>Deploy the agent into the image's root filesystem.</para></listitem> |
471 | </orderedlist> | 471 | </orderedlist> |
@@ -480,19 +480,19 @@ | |||
480 | <para> | 480 | <para> |
481 | You must extract the root filesystem if you want to boot the image using NFS | 481 | You must extract the root filesystem if you want to boot the image using NFS |
482 | or you want to use the root filesystem as the target sysroot. | 482 | or you want to use the root filesystem as the target sysroot. |
483 | For example, the Eclipse IDE environment with the Eclipse Yocto Plug-in installed allows you | 483 | For example, the Eclipse IDE environment with the Eclipse Yocto Plug-in installed allows you |
484 | to use QEMU to boot under NFS. | 484 | to use QEMU to boot under NFS. |
485 | Another example is if you want to develop your target application using the | 485 | Another example is if you want to develop your target application using the |
486 | root filesystem as the target sysroot. | 486 | root filesystem as the target sysroot. |
487 | </para> | 487 | </para> |
488 | 488 | ||
489 | <para> | 489 | <para> |
490 | To extract the root filesystem, first <filename>source</filename> | 490 | To extract the root filesystem, first <filename>source</filename> |
491 | the cross-development environment setup script and then | 491 | the cross-development environment setup script and then |
492 | use the <filename>runqemu-extract-sdk</filename> command on the | 492 | use the <filename>runqemu-extract-sdk</filename> command on the |
493 | filesystem image. | 493 | filesystem image. |
494 | For example, the following commands set up the environment and then extract | 494 | For example, the following commands set up the environment and then extract |
495 | the root filesystem from a previously built filesystem image tarball named | 495 | the root filesystem from a previously built filesystem image tarball named |
496 | <filename>core-image-sato-sdk-qemux86-2011091411831.rootfs.tar.bz2</filename>. | 496 | <filename>core-image-sato-sdk-qemux86-2011091411831.rootfs.tar.bz2</filename>. |
497 | The example extracts the root filesystem into the <filename>$HOME/qemux86-sato</filename> | 497 | The example extracts the root filesystem into the <filename>$HOME/qemux86-sato</filename> |
498 | directory: | 498 | directory: |
@@ -502,7 +502,7 @@ | |||
502 | tmp/deploy/images/core-image-sato-sdk-qemux86-2011091411831.rootfs.tar.bz2 \ | 502 | tmp/deploy/images/core-image-sato-sdk-qemux86-2011091411831.rootfs.tar.bz2 \ |
503 | $HOME/qemux86-sato | 503 | $HOME/qemux86-sato |
504 | </literallayout> | 504 | </literallayout> |
505 | In this case, you could now point to the target sysroot at | 505 | In this case, you could now point to the target sysroot at |
506 | <filename>$HOME/qemux86-sato</filename>. | 506 | <filename>$HOME/qemux86-sato</filename>. |
507 | </para> | 507 | </para> |
508 | </section> | 508 | </section> |