summaryrefslogtreecommitdiffstats
path: root/documentation/adt-manual/adt-prepare.xml
diff options
context:
space:
mode:
Diffstat (limited to 'documentation/adt-manual/adt-prepare.xml')
-rw-r--r--documentation/adt-manual/adt-prepare.xml330
1 files changed, 165 insertions, 165 deletions
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_&lt;arch&gt;</filename>: The root 172 <listitem><para><filename>YOCTOADT_ROOTFS_&lt;arch&gt;</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_&lt;arch&gt;</filename>: The 175 <listitem><para><filename>YOCTOADT_TARGET_SYSROOT_IMAGE_&lt;arch&gt;</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_&lt;arch&gt;</filename>. 178 <filename>YOCTOADT_ROOTFS_&lt;arch&gt;</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_&lt;arch&gt;</filename> 181 <filename>YOCTOADT_ROOTFS_&lt;arch&gt;</filename>
182 to "minimal sato-sdk", then <filename>YOCTOADT_ROOTFS_&lt;arch&gt;</filename> 182 to "minimal sato-sdk", then <filename>YOCTOADT_ROOTFS_&lt;arch&gt;</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_&lt;arch&gt;</filename>: The 185 <listitem><para><filename>YOCTOADT_TARGET_SYSROOT_LOC_&lt;arch&gt;</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/&lt;release&gt;</filename>. 203 The default location is <filename>/opt/poky/&lt;release&gt;</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>