diff options
Diffstat (limited to 'documentation/yocto-project-qs/yocto-project-qs.xml')
-rw-r--r-- | documentation/yocto-project-qs/yocto-project-qs.xml | 338 |
1 files changed, 169 insertions, 169 deletions
diff --git a/documentation/yocto-project-qs/yocto-project-qs.xml b/documentation/yocto-project-qs/yocto-project-qs.xml index b1e5df0ecd..f36e7738b7 100644 --- a/documentation/yocto-project-qs/yocto-project-qs.xml +++ b/documentation/yocto-project-qs/yocto-project-qs.xml | |||
@@ -1,5 +1,5 @@ | |||
1 | <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" | 1 | <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" |
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 | <article id='intro'> | 5 | <article id='intro'> |
@@ -13,7 +13,7 @@ | |||
13 | <section id='welcome'> | 13 | <section id='welcome'> |
14 | <title>Welcome!</title> | 14 | <title>Welcome!</title> |
15 | <para> | 15 | <para> |
16 | Welcome to the Yocto Project! | 16 | Welcome to the Yocto Project! |
17 | The Yocto Project is an open-source collaboration project focused on embedded Linux | 17 | The Yocto Project is an open-source collaboration project focused on embedded Linux |
18 | developers. | 18 | developers. |
19 | Among other things, the Yocto Project uses a build system based on the Poky project | 19 | Among other things, the Yocto Project uses a build system based on the Poky project |
@@ -22,27 +22,27 @@ | |||
22 | </para> | 22 | </para> |
23 | 23 | ||
24 | <para> | 24 | <para> |
25 | If you don't have a system that runs Linux and you want to give the Yocto Project a test run, | 25 | If you don't have a system that runs Linux and you want to give the Yocto Project a test run, |
26 | you might consider using the Yocto Project Build Appliance. | 26 | you might consider using the Yocto Project Build Appliance. |
27 | The Build Appliance allows you to build and boot a custom embedded Linux image with the Yocto | 27 | The Build Appliance allows you to build and boot a custom embedded Linux image with the Yocto |
28 | Project using a non-Linux development system. | 28 | Project using a non-Linux development system. |
29 | See the <ulink url='http://www.yoctoproject.org/documentation/build-appliance'>Yocto | 29 | See the <ulink url='http://www.yoctoproject.org/documentation/build-appliance'>Yocto |
30 | Project Build Appliance</ulink> for more information. | 30 | Project Build Appliance</ulink> for more information. |
31 | </para> | 31 | </para> |
32 | 32 | ||
33 | <para> | 33 | <para> |
34 | On the other hand, if you know all about open-source development, Linux development environments, | 34 | On the other hand, if you know all about open-source development, Linux development environments, |
35 | Git source repositories and the like and you just want some quick information that lets you try out | 35 | Git source repositories and the like and you just want some quick information that lets you try out |
36 | the Yocto Project on your Linux system, skip right to the | 36 | the Yocto Project on your Linux system, skip right to the |
37 | "<link linkend='super-user'>Super User</link>" section at the end of this quick start. | 37 | "<link linkend='super-user'>Super User</link>" section at the end of this quick start. |
38 | </para> | 38 | </para> |
39 | 39 | ||
40 | <para> | 40 | <para> |
41 | For the rest of you, this short document will give you some basic information about the environment and | 41 | For the rest of you, this short document will give you some basic information about the environment and |
42 | let you experience it in its simplest form. | 42 | let you experience it in its simplest form. |
43 | After reading this document, you will have a basic understanding of what the Yocto Project is | 43 | After reading this document, you will have a basic understanding of what the Yocto Project is |
44 | and how to use some of its core components. | 44 | and how to use some of its core components. |
45 | This document steps you through a simple example showing you how to build a small image | 45 | This document steps you through a simple example showing you how to build a small image |
46 | and run it using the Quick EMUlator (QEMU emulator). | 46 | and run it using the Quick EMUlator (QEMU emulator). |
47 | </para> | 47 | </para> |
48 | 48 | ||
@@ -50,24 +50,24 @@ | |||
50 | For more detailed information on the Yocto Project, you should check out these resources: | 50 | For more detailed information on the Yocto Project, you should check out these resources: |
51 | <itemizedlist> | 51 | <itemizedlist> |
52 | <listitem><para><emphasis>Website:</emphasis> The <ulink url='&YOCTO_HOME_URL;'>Yocto Project Website</ulink> | 52 | <listitem><para><emphasis>Website:</emphasis> The <ulink url='&YOCTO_HOME_URL;'>Yocto Project Website</ulink> |
53 | provides the latest builds, breaking news, full development documentation, and a rich Yocto | 53 | provides the latest builds, breaking news, full development documentation, and a rich Yocto |
54 | Project Development Community into which you can tap. | 54 | Project Development Community into which you can tap. |
55 | </para></listitem> | 55 | </para></listitem> |
56 | <listitem><para><emphasis>FAQs:</emphasis> Lists commonly asked Yocto Project questions and answers. | 56 | <listitem><para><emphasis>FAQs:</emphasis> Lists commonly asked Yocto Project questions and answers. |
57 | You can find two FAQs: <ulink url='&YOCTO_WIKI_URL;/wiki/FAQ'>Yocto Project FAQ</ulink> on | 57 | You can find two FAQs: <ulink url='&YOCTO_WIKI_URL;/wiki/FAQ'>Yocto Project FAQ</ulink> on |
58 | a wiki, and the | 58 | a wiki, and the |
59 | "<ulink url='&YOCTO_DOCS_REF_URL;#faq'>FAQ</ulink>" chapter in | 59 | "<ulink url='&YOCTO_DOCS_REF_URL;#faq'>FAQ</ulink>" chapter in |
60 | the Yocto Project Reference Manual. | 60 | the Yocto Project Reference Manual. |
61 | </para></listitem> | 61 | </para></listitem> |
62 | <listitem><para><emphasis>Developer Screencast:</emphasis> The | 62 | <listitem><para><emphasis>Developer Screencast:</emphasis> The |
63 | <ulink url='http://vimeo.com/36450321'>Getting Started with the Yocto Project - New | 63 | <ulink url='http://vimeo.com/36450321'>Getting Started with the Yocto Project - New |
64 | Developer Screencast Tutorial</ulink> provides a 30-minute video for the user | 64 | Developer Screencast Tutorial</ulink> provides a 30-minute video for the user |
65 | new to the Yocto Project but familiar with Linux build systems.</para></listitem> | 65 | new to the Yocto Project but familiar with Linux build systems.</para></listitem> |
66 | </itemizedlist> | 66 | </itemizedlist> |
67 | </para> | 67 | </para> |
68 | <note> | 68 | <note> |
69 | Due to production processes, there could be differences between the Yocto Project | 69 | Due to production processes, there could be differences between the Yocto Project |
70 | documentation bundled in a released tarball and the | 70 | documentation bundled in a released tarball and the |
71 | <ulink url='&YOCTO_DOCS_QS_URL;'>Yocto Project Quick Start</ulink> on | 71 | <ulink url='&YOCTO_DOCS_QS_URL;'>Yocto Project Quick Start</ulink> on |
72 | the <ulink url='&YOCTO_HOME_URL;'>Yocto Project</ulink> website. | 72 | the <ulink url='&YOCTO_HOME_URL;'>Yocto Project</ulink> website. |
73 | For the latest version of this manual, see the manual on the website. | 73 | For the latest version of this manual, see the manual on the website. |
@@ -77,8 +77,8 @@ | |||
77 | <section id='yp-intro'> | 77 | <section id='yp-intro'> |
78 | <title>Introducing the Yocto Project Development Environment</title> | 78 | <title>Introducing the Yocto Project Development Environment</title> |
79 | <para> | 79 | <para> |
80 | The Yocto Project through the OpenEmbedded build system provides an open source development | 80 | The Yocto Project through the OpenEmbedded build system provides an open source development |
81 | environment targeting the ARM, MIPS, PowerPC and x86 architectures for a variety of | 81 | environment targeting the ARM, MIPS, PowerPC and x86 architectures for a variety of |
82 | platforms including x86-64 and emulated ones. | 82 | platforms including x86-64 and emulated ones. |
83 | You can use components from the Yocto Project to design, develop, build, debug, simulate, | 83 | You can use components from the Yocto Project to design, develop, build, debug, simulate, |
84 | and test the complete software stack using Linux, the X Window System, GNOME Mobile-based | 84 | and test the complete software stack using Linux, the X Window System, GNOME Mobile-based |
@@ -87,7 +87,7 @@ | |||
87 | 87 | ||
88 | <mediaobject> | 88 | <mediaobject> |
89 | <imageobject> | 89 | <imageobject> |
90 | <imagedata fileref="figures/yocto-environment.png" | 90 | <imagedata fileref="figures/yocto-environment.png" |
91 | format="PNG" align='center' scalefit='1' width="100%"/> | 91 | format="PNG" align='center' scalefit='1' width="100%"/> |
92 | </imageobject> | 92 | </imageobject> |
93 | <caption> | 93 | <caption> |
@@ -111,7 +111,7 @@ | |||
111 | frameworks, these components need not be installed.</para> | 111 | frameworks, these components need not be installed.</para> |
112 | </listitem> | 112 | </listitem> |
113 | <listitem> | 113 | <listitem> |
114 | <para>Creates a focused and stable core compatible with the OpenEmbedded | 114 | <para>Creates a focused and stable core compatible with the OpenEmbedded |
115 | project with which you can easily and reliably build and develop.</para> | 115 | project with which you can easily and reliably build and develop.</para> |
116 | </listitem> | 116 | </listitem> |
117 | <listitem> | 117 | <listitem> |
@@ -121,20 +121,20 @@ | |||
121 | </itemizedlist> | 121 | </itemizedlist> |
122 | 122 | ||
123 | <para> | 123 | <para> |
124 | The Yocto Project can generate images for many kinds of devices. | 124 | The Yocto Project can generate images for many kinds of devices. |
125 | However, the standard example machines target QEMU full-system emulation for x86, x86-64, ARM, MIPS, | 125 | However, the standard example machines target QEMU full-system emulation for x86, x86-64, ARM, MIPS, |
126 | and PPC-based architectures as well as specific hardware such as the | 126 | and PPC-based architectures as well as specific hardware such as the |
127 | <trademark class='registered'>Intel</trademark> Desktop Board DH55TC. | 127 | <trademark class='registered'>Intel</trademark> Desktop Board DH55TC. |
128 | Because an image developed with the Yocto Project can boot inside a QEMU emulator, the | 128 | Because an image developed with the Yocto Project can boot inside a QEMU emulator, the |
129 | development environment works nicely as a test platform for developing embedded software. | 129 | development environment works nicely as a test platform for developing embedded software. |
130 | </para> | 130 | </para> |
131 | 131 | ||
132 | <para> | 132 | <para> |
133 | Another important Yocto Project feature is the Sato reference User Interface. | 133 | Another important Yocto Project feature is the Sato reference User Interface. |
134 | This optional GNOME mobile-based UI, which is intended for devices with | 134 | This optional GNOME mobile-based UI, which is intended for devices with |
135 | restricted screen sizes, sits neatly on top of a device using the | 135 | restricted screen sizes, sits neatly on top of a device using the |
136 | GNOME Mobile Stack and provides a well-defined user experience. | 136 | GNOME Mobile Stack and provides a well-defined user experience. |
137 | Implemented in its own layer, it makes it clear to developers how they can implement | 137 | Implemented in its own layer, it makes it clear to developers how they can implement |
138 | their own user interface on top of a Linux image created with the Yocto Project. | 138 | their own user interface on top of a Linux image created with the Yocto Project. |
139 | </para> | 139 | </para> |
140 | </section> | 140 | </section> |
@@ -150,7 +150,7 @@ | |||
150 | <listitem> | 150 | <listitem> |
151 | <para>A host system running a supported Linux distribution (i.e. recent releases of | 151 | <para>A host system running a supported Linux distribution (i.e. recent releases of |
152 | Fedora, openSUSE, CentOS, and Ubuntu). | 152 | Fedora, openSUSE, CentOS, and Ubuntu). |
153 | If the host system supports multiple cores and threads, you can configure the | 153 | If the host system supports multiple cores and threads, you can configure the |
154 | Yocto Project build system to decrease the time needed to build images | 154 | Yocto Project build system to decrease the time needed to build images |
155 | significantly. | 155 | significantly. |
156 | </para> | 156 | </para> |
@@ -167,9 +167,9 @@ | |||
167 | <title>The Linux Distribution</title> | 167 | <title>The Linux Distribution</title> |
168 | 168 | ||
169 | <para> | 169 | <para> |
170 | The Yocto Project team is continually verifying more and more Linux | 170 | The Yocto Project team is continually verifying more and more Linux |
171 | distributions with each release. | 171 | distributions with each release. |
172 | In general, if you have the current release minus one of the following | 172 | In general, if you have the current release minus one of the following |
173 | distributions you should have no problems. | 173 | distributions you should have no problems. |
174 | <itemizedlist> | 174 | <itemizedlist> |
175 | <listitem><para>Ubuntu</para></listitem> | 175 | <listitem><para>Ubuntu</para></listitem> |
@@ -177,8 +177,8 @@ | |||
177 | <listitem><para>openSUSE</para></listitem> | 177 | <listitem><para>openSUSE</para></listitem> |
178 | <listitem><para>CentOS</para></listitem> | 178 | <listitem><para>CentOS</para></listitem> |
179 | </itemizedlist> | 179 | </itemizedlist> |
180 | For a more detailed list of distributions that support the Yocto Project, | 180 | For a more detailed list of distributions that support the Yocto Project, |
181 | see the | 181 | see the |
182 | "<ulink url='&YOCTO_DOCS_REF_URL;#detailed-supported-distros'>Supported Linux Distributions</ulink>" section | 182 | "<ulink url='&YOCTO_DOCS_REF_URL;#detailed-supported-distros'>Supported Linux Distributions</ulink>" section |
183 | in the Yocto Project Reference Manual. | 183 | in the Yocto Project Reference Manual. |
184 | <note> | 184 | <note> |
@@ -190,15 +190,15 @@ | |||
190 | <para> | 190 | <para> |
191 | The OpenEmbedded build system should be able to run on any modern distribution with Python 2.6 or 2.7. | 191 | The OpenEmbedded build system should be able to run on any modern distribution with Python 2.6 or 2.7. |
192 | Earlier releases of Python are known to not work and the system does not support Python 3 at this time. | 192 | Earlier releases of Python are known to not work and the system does not support Python 3 at this time. |
193 | This document assumes you are running one of the previously noted distributions on your Linux-based | 193 | This document assumes you are running one of the previously noted distributions on your Linux-based |
194 | host systems. | 194 | host systems. |
195 | </para> | 195 | </para> |
196 | <note><para> | 196 | <note><para> |
197 | If you attempt to use a distribution not in the above list, you may or may not have success - you | 197 | If you attempt to use a distribution not in the above list, you may or may not have success - you |
198 | are venturing into untested territory. | 198 | are venturing into untested territory. |
199 | Refer to | 199 | Refer to |
200 | <ulink url='&OE_HOME_URL;/index.php?title=OEandYourDistro'>OE and Your Distro</ulink> and | 200 | <ulink url='&OE_HOME_URL;/index.php?title=OEandYourDistro'>OE and Your Distro</ulink> and |
201 | <ulink url='&OE_HOME_URL;/index.php?title=Required_software'>Required Software</ulink> | 201 | <ulink url='&OE_HOME_URL;/index.php?title=Required_software'>Required Software</ulink> |
202 | for information for other distributions used with the OpenEmbedded project, which might be | 202 | for information for other distributions used with the OpenEmbedded project, which might be |
203 | a starting point for exploration. | 203 | a starting point for exploration. |
204 | If you go down this path, you should expect problems. | 204 | If you go down this path, you should expect problems. |
@@ -213,18 +213,18 @@ | |||
213 | 213 | ||
214 | <para> | 214 | <para> |
215 | Packages and package installation vary depending on your development system | 215 | Packages and package installation vary depending on your development system |
216 | and on your intent. | 216 | and on your intent. |
217 | For example, if you want to build an image that can run | 217 | For example, if you want to build an image that can run |
218 | on QEMU in graphical mode (a minimal, basic build | 218 | on QEMU in graphical mode (a minimal, basic build |
219 | requirement), then the number of packages is different than if you want to | 219 | requirement), then the number of packages is different than if you want to |
220 | build an image on a headless system or build out the Yocto Project | 220 | build an image on a headless system or build out the Yocto Project |
221 | documentation set. | 221 | documentation set. |
222 | Collectively, the number of required packages is large | 222 | Collectively, the number of required packages is large |
223 | if you want to be able to cover all cases. | 223 | if you want to be able to cover all cases. |
224 | <note>In general, you need to have root access and then install the | 224 | <note>In general, you need to have root access and then install the |
225 | required packages. | 225 | required packages. |
226 | Thus, the commands in the following section may or may not work | 226 | Thus, the commands in the following section may or may not work |
227 | depending on whether or not your Linux distribution has | 227 | depending on whether or not your Linux distribution has |
228 | <filename>sudo</filename> installed.</note> | 228 | <filename>sudo</filename> installed.</note> |
229 | </para> | 229 | </para> |
230 | 230 | ||
@@ -234,9 +234,9 @@ | |||
234 | (e.g. essential plus graphics support). | 234 | (e.g. essential plus graphics support). |
235 | </para> | 235 | </para> |
236 | 236 | ||
237 | <para> | 237 | <para> |
238 | For lists of required packages for other scenarios, see the | 238 | For lists of required packages for other scenarios, see the |
239 | "<ulink url='&YOCTO_DOCS_REF_URL;#required-packages-for-the-host-development-system'>Required Packages for the Host Development System</ulink>" | 239 | "<ulink url='&YOCTO_DOCS_REF_URL;#required-packages-for-the-host-development-system'>Required Packages for the Host Development System</ulink>" |
240 | section in the Yocto Project Reference Manual. | 240 | section in the Yocto Project Reference Manual. |
241 | </para> | 241 | </para> |
242 | 242 | ||
@@ -244,7 +244,7 @@ | |||
244 | <title>Ubuntu</title> | 244 | <title>Ubuntu</title> |
245 | 245 | ||
246 | <para> | 246 | <para> |
247 | The essential packages you need for a supported Ubuntu distribution | 247 | The essential packages you need for a supported Ubuntu distribution |
248 | are shown in the following command: | 248 | are shown in the following command: |
249 | <literallayout class='monospaced'> | 249 | <literallayout class='monospaced'> |
250 | $ sudo apt-get install &UBUNTU_HOST_PACKAGES_ESSENTIAL; libsdl1.2-dev xterm | 250 | $ sudo apt-get install &UBUNTU_HOST_PACKAGES_ESSENTIAL; libsdl1.2-dev xterm |
@@ -256,7 +256,7 @@ | |||
256 | <title>Fedora</title> | 256 | <title>Fedora</title> |
257 | 257 | ||
258 | <para> | 258 | <para> |
259 | The essential packages you need for a supported Fedora distribution | 259 | The essential packages you need for a supported Fedora distribution |
260 | are shown in the following command: | 260 | are shown in the following command: |
261 | <literallayout class='monospaced'> | 261 | <literallayout class='monospaced'> |
262 | $ sudo yum install &FEDORA_HOST_PACKAGES_ESSENTIAL; SDL-devel xterm | 262 | $ sudo yum install &FEDORA_HOST_PACKAGES_ESSENTIAL; SDL-devel xterm |
@@ -268,7 +268,7 @@ | |||
268 | <title>openSUSE</title> | 268 | <title>openSUSE</title> |
269 | 269 | ||
270 | <para> | 270 | <para> |
271 | The essential packages you need for a supported openSUSE | 271 | The essential packages you need for a supported openSUSE |
272 | distribution are shown in the following command: | 272 | distribution are shown in the following command: |
273 | <literallayout class='monospaced'> | 273 | <literallayout class='monospaced'> |
274 | $ sudo zypper install &OPENSUSE_HOST_PACKAGES_ESSENTIAL; libSDL-devel xterm | 274 | $ sudo zypper install &OPENSUSE_HOST_PACKAGES_ESSENTIAL; libSDL-devel xterm |
@@ -280,14 +280,14 @@ | |||
280 | <title>CentOS</title> | 280 | <title>CentOS</title> |
281 | 281 | ||
282 | <para> | 282 | <para> |
283 | The essential packages you need for a supported CentOS | 283 | The essential packages you need for a supported CentOS |
284 | distribution are shown in the following command: | 284 | distribution are shown in the following command: |
285 | <literallayout class='monospaced'> | 285 | <literallayout class='monospaced'> |
286 | $ sudo yum -y install &CENTOS_HOST_PACKAGES_ESSENTIAL; SDL-devel xterm | 286 | $ sudo yum -y install &CENTOS_HOST_PACKAGES_ESSENTIAL; SDL-devel xterm |
287 | </literallayout> | 287 | </literallayout> |
288 | <note>Depending on the CentOS version you are using, other requirements | 288 | <note>Depending on the CentOS version you are using, other requirements |
289 | and dependencies might exist. | 289 | and dependencies might exist. |
290 | For details, you should look at the CentOS sections on the | 290 | For details, you should look at the CentOS sections on the |
291 | <ulink url='https://wiki.yoctoproject.org/wiki/Poky/GettingStarted/Dependencies'>Poky/GettingStarted/Dependencies</ulink> | 291 | <ulink url='https://wiki.yoctoproject.org/wiki/Poky/GettingStarted/Dependencies'>Poky/GettingStarted/Dependencies</ulink> |
292 | wiki page.</note> | 292 | wiki page.</note> |
293 | </para> | 293 | </para> |
@@ -296,26 +296,26 @@ | |||
296 | 296 | ||
297 | <section id='releases'> | 297 | <section id='releases'> |
298 | <title>Yocto Project Release</title> | 298 | <title>Yocto Project Release</title> |
299 | 299 | ||
300 | <para> | 300 | <para> |
301 | You can download the latest Yocto Project release by going to the | 301 | You can download the latest Yocto Project release by going to the |
302 | <ulink url="&YOCTO_HOME_URL;/download">Yocto Project Download page</ulink>. | 302 | <ulink url="&YOCTO_HOME_URL;/download">Yocto Project Download page</ulink>. |
303 | Just go to the page and click the "Yocto Downloads" link found in the "Download" | 303 | Just go to the page and click the "Yocto Downloads" link found in the "Download" |
304 | navigation pane to the right to view all available Yocto Project releases. | 304 | navigation pane to the right to view all available Yocto Project releases. |
305 | Then, click the "Yocto Release" link for the release you want from the list to | 305 | Then, click the "Yocto Release" link for the release you want from the list to |
306 | begin the download. | 306 | begin the download. |
307 | Nightly and developmental builds are also maintained at | 307 | Nightly and developmental builds are also maintained at |
308 | <ulink url="&YOCTO_AB_NIGHTLY_URL;"></ulink>. | 308 | <ulink url="&YOCTO_AB_NIGHTLY_URL;"></ulink>. |
309 | However, for this document a released version of Yocto Project is used. | 309 | However, for this document a released version of Yocto Project is used. |
310 | </para> | 310 | </para> |
311 | 311 | ||
312 | <para> | 312 | <para> |
313 | You can also get the Yocto Project files you need by setting up (cloning in Git terms) | 313 | You can also get the Yocto Project files you need by setting up (cloning in Git terms) |
314 | a local copy of the <filename>poky</filename> Git repository on your host development | 314 | a local copy of the <filename>poky</filename> Git repository on your host development |
315 | system. | 315 | system. |
316 | Doing so allows you to contribute back to the Yocto Project project. | 316 | Doing so allows you to contribute back to the Yocto Project project. |
317 | For information on how to get set up using this method, see the | 317 | For information on how to get set up using this method, see the |
318 | "<ulink url='&YOCTO_DOCS_DEV_URL;#local-yp-release'>Yocto | 318 | "<ulink url='&YOCTO_DOCS_DEV_URL;#local-yp-release'>Yocto |
319 | Project Release</ulink>" item in the Yocto Project Development Manual. | 319 | Project Release</ulink>" item in the Yocto Project Development Manual. |
320 | </para> | 320 | </para> |
321 | </section> | 321 | </section> |
@@ -325,7 +325,7 @@ | |||
325 | <title>A Quick Test Run</title> | 325 | <title>A Quick Test Run</title> |
326 | 326 | ||
327 | <para> | 327 | <para> |
328 | Now that you have your system requirements in order, you can give the Yocto Project a try. | 328 | Now that you have your system requirements in order, you can give the Yocto Project a try. |
329 | This section presents some steps that let you do the following: | 329 | This section presents some steps that let you do the following: |
330 | </para> | 330 | </para> |
331 | 331 | ||
@@ -340,9 +340,9 @@ | |||
340 | 340 | ||
341 | <section id='building-image'> | 341 | <section id='building-image'> |
342 | <title>Building an Image</title> | 342 | <title>Building an Image</title> |
343 | 343 | ||
344 | <para> | 344 | <para> |
345 | In the development environment you will need to build an image whenever you change hardware | 345 | In the development environment you will need to build an image whenever you change hardware |
346 | support, add or change system libraries, or add or change services that have dependencies. | 346 | support, add or change system libraries, or add or change services that have dependencies. |
347 | </para> | 347 | </para> |
348 | 348 | ||
@@ -356,21 +356,21 @@ | |||
356 | </mediaobject> | 356 | </mediaobject> |
357 | 357 | ||
358 | <para> | 358 | <para> |
359 | Use the following commands to build your image. | 359 | Use the following commands to build your image. |
360 | The OpenEmbedded build process creates an entire Linux distribution, including the toolchain, | 360 | The OpenEmbedded build process creates an entire Linux distribution, including the toolchain, |
361 | from source. | 361 | from source. |
362 | </para> | 362 | </para> |
363 | 363 | ||
364 | <note><para> | 364 | <note><para> |
365 | The build process using Sato currently consumes about 50GB of disk space. | 365 | The build process using Sato currently consumes about 50GB of disk space. |
366 | To allow for variations in the build process and for future package expansion, we | 366 | To allow for variations in the build process and for future package expansion, we |
367 | recommend having at least 100GB of free disk space. | 367 | recommend having at least 100GB of free disk space. |
368 | </para></note> | 368 | </para></note> |
369 | 369 | ||
370 | <note><para> | 370 | <note><para> |
371 | By default, the build process searches for source code using a pre-determined order | 371 | By default, the build process searches for source code using a pre-determined order |
372 | through a set of locations. | 372 | through a set of locations. |
373 | If you encounter problems with the build process finding and downloading source code, see the | 373 | If you encounter problems with the build process finding and downloading source code, see the |
374 | "<ulink url='&YOCTO_DOCS_REF_URL;#how-does-the-yocto-project-obtain-source-code-and-will-it-work-behind-my-firewall-or-proxy-server'>How does the OpenEmbedded build system obtain source code and will it work behind my | 374 | "<ulink url='&YOCTO_DOCS_REF_URL;#how-does-the-yocto-project-obtain-source-code-and-will-it-work-behind-my-firewall-or-proxy-server'>How does the OpenEmbedded build system obtain source code and will it work behind my |
375 | firewall or proxy server?</ulink>" in the Yocto Project Reference Manual. | 375 | firewall or proxy server?</ulink>" in the Yocto Project Reference Manual. |
376 | </para></note> | 376 | </para></note> |
@@ -399,11 +399,11 @@ | |||
399 | <listitem><para>In the previous example, the first command retrieves the Yocto Project | 399 | <listitem><para>In the previous example, the first command retrieves the Yocto Project |
400 | release tarball from the source repositories using the | 400 | release tarball from the source repositories using the |
401 | <filename>wget</filename> command. | 401 | <filename>wget</filename> command. |
402 | Alternatively, you can go to the | 402 | Alternatively, you can go to the |
403 | <ulink url='&YOCTO_HOME_URL;/download'>Yocto Project website's Downloads page</ulink> | 403 | <ulink url='&YOCTO_HOME_URL;/download'>Yocto Project website's Downloads page</ulink> |
404 | to retrieve the tarball.</para></listitem> | 404 | to retrieve the tarball.</para></listitem> |
405 | <listitem><para>The second command extracts the files from the tarball and places | 405 | <listitem><para>The second command extracts the files from the tarball and places |
406 | them into a directory named <filename>&YOCTO_POKY;</filename> in the current | 406 | them into a directory named <filename>&YOCTO_POKY;</filename> in the current |
407 | directory.</para></listitem> | 407 | directory.</para></listitem> |
408 | <listitem><para>The third and fourth commands change the working directory to the | 408 | <listitem><para>The third and fourth commands change the working directory to the |
409 | <ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink> | 409 | <ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink> |
@@ -411,67 +411,67 @@ | |||
411 | <ulink url='&YOCTO_DOCS_REF_URL;#structure-core-script'>environment setup script</ulink>. | 411 | <ulink url='&YOCTO_DOCS_REF_URL;#structure-core-script'>environment setup script</ulink>. |
412 | Running this script defines OpenEmbedded build environment settings needed to | 412 | Running this script defines OpenEmbedded build environment settings needed to |
413 | complete the build. | 413 | complete the build. |
414 | The script also creates the | 414 | The script also creates the |
415 | <ulink url='&YOCTO_DOCS_DEV_URL;#build-directory'>Build Directory</ulink>, | 415 | <ulink url='&YOCTO_DOCS_DEV_URL;#build-directory'>Build Directory</ulink>, |
416 | which is <filename>build</filename> in this case and is located in the | 416 | which is <filename>build</filename> in this case and is located in the |
417 | Source Directory. | 417 | Source Directory. |
418 | After the script runs, your current working directory is set | 418 | After the script runs, your current working directory is set |
419 | to the Build Directory. | 419 | to the Build Directory. |
420 | Later, when the build completes, the Build Directory contains all the files | 420 | Later, when the build completes, the Build Directory contains all the files |
421 | created during the build. | 421 | created during the build. |
422 | </para></listitem> | 422 | </para></listitem> |
423 | </itemizedlist> | 423 | </itemizedlist> |
424 | <para> | 424 | <para> |
425 | Take some time to examine your <filename>local.conf</filename> file | 425 | Take some time to examine your <filename>local.conf</filename> file |
426 | in your project's configuration directory, which is found in the Build Directory. | 426 | in your project's configuration directory, which is found in the Build Directory. |
427 | The defaults in that file should work fine. | 427 | The defaults in that file should work fine. |
428 | However, there are some variables of interest at which you might look. | 428 | However, there are some variables of interest at which you might look. |
429 | </para> | 429 | </para> |
430 | 430 | ||
431 | <para> | 431 | <para> |
432 | By default, the target architecture for the build is <filename>qemux86</filename>, | 432 | By default, the target architecture for the build is <filename>qemux86</filename>, |
433 | which produces an image that can be used in the QEMU emulator and is targeted at an | 433 | which produces an image that can be used in the QEMU emulator and is targeted at an |
434 | <trademark class='registered'>Intel</trademark> 32-bit based architecture. | 434 | <trademark class='registered'>Intel</trademark> 32-bit based architecture. |
435 | To change this default, edit the value of the <filename>MACHINE</filename> variable | 435 | To change this default, edit the value of the <filename>MACHINE</filename> variable |
436 | in the configuration file before launching the build. | 436 | in the configuration file before launching the build. |
437 | </para> | 437 | </para> |
438 | 438 | ||
439 | <para> | 439 | <para> |
440 | Another couple of variables of interest are the | 440 | Another couple of variables of interest are the |
441 | <ulink url='&YOCTO_DOCS_REF_URL;#var-BB_NUMBER_THREADS'><filename>BB_NUMBER_THREADS</filename></ulink> and the | 441 | <ulink url='&YOCTO_DOCS_REF_URL;#var-BB_NUMBER_THREADS'><filename>BB_NUMBER_THREADS</filename></ulink> and the |
442 | <ulink url='&YOCTO_DOCS_REF_URL;#var-PARALLEL_MAKE'><filename>PARALLEL_MAKE</filename></ulink> variables. | 442 | <ulink url='&YOCTO_DOCS_REF_URL;#var-PARALLEL_MAKE'><filename>PARALLEL_MAKE</filename></ulink> variables. |
443 | By default, these variables are commented out. | 443 | By default, these variables are commented out. |
444 | However, if you have a multi-core CPU you might want to uncomment | 444 | However, if you have a multi-core CPU you might want to uncomment |
445 | the lines and set both variables equal to twice the number of your | 445 | the lines and set both variables equal to twice the number of your |
446 | host's processor cores. | 446 | host's processor cores. |
447 | Setting these variables can significantly shorten your build time. | 447 | Setting these variables can significantly shorten your build time. |
448 | </para> | 448 | </para> |
449 | 449 | ||
450 | <para> | 450 | <para> |
451 | Another consideration before you build is the package manager used when creating | 451 | Another consideration before you build is the package manager used when creating |
452 | the image. | 452 | the image. |
453 | By default, the OpenEmbedded build system uses the RPM package manager. | 453 | By default, the OpenEmbedded build system uses the RPM package manager. |
454 | You can control this configuration by using the | 454 | You can control this configuration by using the |
455 | <filename><ulink url='&YOCTO_DOCS_REF_URL;#var-PACKAGE_CLASSES'><filename>PACKAGE_CLASSES</filename></ulink></filename> variable. | 455 | <filename><ulink url='&YOCTO_DOCS_REF_URL;#var-PACKAGE_CLASSES'><filename>PACKAGE_CLASSES</filename></ulink></filename> variable. |
456 | For additional package manager selection information, see | 456 | For additional package manager selection information, see |
457 | "<ulink url='&YOCTO_DOCS_REF_URL;#ref-classes-package'>Packaging - <filename>package*.bbclass</filename></ulink>" | 457 | "<ulink url='&YOCTO_DOCS_REF_URL;#ref-classes-package'>Packaging - <filename>package*.bbclass</filename></ulink>" |
458 | in the Yocto Project Reference Manual. | 458 | in the Yocto Project Reference Manual. |
459 | </para> | 459 | </para> |
460 | 460 | ||
461 | <para> | 461 | <para> |
462 | Continue with the following command to build an OS image for the target, which is | 462 | Continue with the following command to build an OS image for the target, which is |
463 | <filename>core-image-sato</filename> in this example. | 463 | <filename>core-image-sato</filename> in this example. |
464 | For information on the <filename>-k</filename> option use the | 464 | For information on the <filename>-k</filename> option use the |
465 | <filename>bitbake --help</filename> command or see the | 465 | <filename>bitbake --help</filename> command or see the |
466 | "<ulink url='&YOCTO_DOCS_REF_URL;#usingpoky-components-bitbake'>BitBake</ulink>" section in | 466 | "<ulink url='&YOCTO_DOCS_REF_URL;#usingpoky-components-bitbake'>BitBake</ulink>" section in |
467 | the Yocto Project Reference Manual. | 467 | the Yocto Project Reference Manual. |
468 | <literallayout class='monospaced'> | 468 | <literallayout class='monospaced'> |
469 | $ bitbake -k core-image-sato | 469 | $ bitbake -k core-image-sato |
470 | </literallayout> | 470 | </literallayout> |
471 | <note><para> | 471 | <note><para> |
472 | BitBake requires Python 2.6 or 2.7. For more information on this requirement, | 472 | BitBake requires Python 2.6 or 2.7. For more information on this requirement, |
473 | see the | 473 | see the |
474 | <ulink url='&YOCTO_DOCS_REF_URL;#faq'>FAQ</ulink> in the Yocto Project Reference | 474 | <ulink url='&YOCTO_DOCS_REF_URL;#faq'>FAQ</ulink> in the Yocto Project Reference |
475 | Manual. | 475 | Manual. |
476 | </para></note> | 476 | </para></note> |
477 | The final command runs the image: | 477 | The final command runs the image: |
@@ -489,10 +489,10 @@ | |||
489 | 489 | ||
490 | <section id='using-pre-built'> | 490 | <section id='using-pre-built'> |
491 | <title>Using Pre-Built Binaries and QEMU</title> | 491 | <title>Using Pre-Built Binaries and QEMU</title> |
492 | 492 | ||
493 | <para> | 493 | <para> |
494 | If hardware, libraries and services are stable, you can get started by using a pre-built binary | 494 | If hardware, libraries and services are stable, you can get started by using a pre-built binary |
495 | of the filesystem image, kernel, and toolchain and run it using the QEMU emulator. | 495 | of the filesystem image, kernel, and toolchain and run it using the QEMU emulator. |
496 | This scenario is useful for developing application software. | 496 | This scenario is useful for developing application software. |
497 | </para> | 497 | </para> |
498 | 498 | ||
@@ -511,8 +511,8 @@ | |||
511 | 511 | ||
512 | <itemizedlist> | 512 | <itemizedlist> |
513 | <listitem><para>Install the appropriate stand-alone toolchain tarball.</para></listitem> | 513 | <listitem><para>Install the appropriate stand-alone toolchain tarball.</para></listitem> |
514 | <listitem><para>Download the pre-built image that will boot with QEMU. | 514 | <listitem><para>Download the pre-built image that will boot with QEMU. |
515 | You need to be sure to get the QEMU image that matches your target machine’s | 515 | You need to be sure to get the QEMU image that matches your target machine’s |
516 | architecture (e.g. x86, ARM, etc.).</para></listitem> | 516 | architecture (e.g. x86, ARM, etc.).</para></listitem> |
517 | <listitem><para>Download the filesystem image for your target machine's architecture. | 517 | <listitem><para>Download the filesystem image for your target machine's architecture. |
518 | </para></listitem> | 518 | </para></listitem> |
@@ -523,15 +523,15 @@ | |||
523 | <section id='installing-the-toolchain'> | 523 | <section id='installing-the-toolchain'> |
524 | <title>Installing the Toolchain</title> | 524 | <title>Installing the Toolchain</title> |
525 | <para> | 525 | <para> |
526 | You can download a tarball installer, which includes the pre-built toolchain, the | 526 | You can download a tarball installer, which includes the pre-built toolchain, the |
527 | <filename>runqemu</filename> | 527 | <filename>runqemu</filename> |
528 | script, and support files from the appropriate directory under | 528 | script, and support files from the appropriate directory under |
529 | <ulink url='&YOCTO_TOOLCHAIN_DL_URL;'></ulink>. | 529 | <ulink url='&YOCTO_TOOLCHAIN_DL_URL;'></ulink>. |
530 | Toolchains are available for 32-bit and 64-bit development systems from the | 530 | Toolchains are available for 32-bit and 64-bit development systems from the |
531 | <filename>i686</filename> and <filename>x86-64</filename> directories, respectively. | 531 | <filename>i686</filename> and <filename>x86-64</filename> directories, respectively. |
532 | Each type of development system supports five target architectures. | 532 | Each type of development system supports five target architectures. |
533 | The names of the tarball installer scripts are such that a string representing the | 533 | The names of the tarball installer scripts are such that a string representing the |
534 | host system appears first in the filename and then is immediately followed by a | 534 | host system appears first in the filename and then is immediately followed by a |
535 | string representing the target architecture. | 535 | string representing the target architecture. |
536 | </para> | 536 | </para> |
537 | 537 | ||
@@ -539,17 +539,17 @@ | |||
539 | poky-eglibc-<<emphasis>host_system</emphasis>>-<<emphasis>arch</emphasis>>-toolchain-gmae-<<emphasis>release</emphasis>>.sh | 539 | poky-eglibc-<<emphasis>host_system</emphasis>>-<<emphasis>arch</emphasis>>-toolchain-gmae-<<emphasis>release</emphasis>>.sh |
540 | 540 | ||
541 | Where: | 541 | Where: |
542 | <<emphasis>host_system</emphasis>> is a string representing your development system: | 542 | <<emphasis>host_system</emphasis>> is a string representing your development system: |
543 | i686 or x86_64. | 543 | i686 or x86_64. |
544 | 544 | ||
545 | <<emphasis>arch</emphasis>> is a string representing the target architecture: | 545 | <<emphasis>arch</emphasis>> is a string representing the target architecture: |
546 | i586, x86_64, powerpc, mips, or arm. | 546 | i586, x86_64, powerpc, mips, or arm. |
547 | 547 | ||
548 | <<emphasis>release</emphasis>> is the version of Yocto Project. | 548 | <<emphasis>release</emphasis>> is the version of Yocto Project. |
549 | </literallayout> | 549 | </literallayout> |
550 | 550 | ||
551 | <para> | 551 | <para> |
552 | For example, the following toolchain installer is for a 64-bit development | 552 | For example, the following toolchain installer is for a 64-bit development |
553 | host system and a 32-bit target architecture: | 553 | host system and a 32-bit target architecture: |
554 | </para> | 554 | </para> |
555 | 555 | ||
@@ -563,17 +563,17 @@ | |||
563 | </para> | 563 | </para> |
564 | 564 | ||
565 | <para> | 565 | <para> |
566 | The following command shows how to run the installer given a toolchain tarball | 566 | The following command shows how to run the installer given a toolchain tarball |
567 | for a 64-bit development host system and a 32-bit target architecture. | 567 | for a 64-bit development host system and a 32-bit target architecture. |
568 | You must change the permissions on the toolchain | 568 | You must change the permissions on the toolchain |
569 | installer script so that it is executable. | 569 | installer script so that it is executable. |
570 | </para> | 570 | </para> |
571 | 571 | ||
572 | <para> | 572 | <para> |
573 | The example assumes the toolchain installer is located in <filename>~/Downloads/</filename>. | 573 | The example assumes the toolchain installer is located in <filename>~/Downloads/</filename>. |
574 | <note> | 574 | <note> |
575 | If you do not have write permissions for the directory into which you are installing | 575 | If you do not have write permissions for the directory into which you are installing |
576 | the toolchain, the toolchain installer notifies you and exits. | 576 | the toolchain, the toolchain installer notifies you and exits. |
577 | Be sure you have write permissions in the directory and run the installer again. | 577 | Be sure you have write permissions in the directory and run the installer again. |
578 | </note> | 578 | </note> |
579 | </para> | 579 | </para> |
@@ -585,39 +585,39 @@ | |||
585 | </para> | 585 | </para> |
586 | 586 | ||
587 | <para> | 587 | <para> |
588 | For more information on how to install tarballs, see the | 588 | For more information on how to install tarballs, see the |
589 | "<ulink url='&YOCTO_DOCS_ADT_URL;#using-an-existing-toolchain-tarball'>Using a Cross-Toolchain Tarball</ulink>" and | 589 | "<ulink url='&YOCTO_DOCS_ADT_URL;#using-an-existing-toolchain-tarball'>Using a Cross-Toolchain Tarball</ulink>" and |
590 | "<ulink url='&YOCTO_DOCS_ADT_URL;#using-the-toolchain-from-within-the-build-tree'>Using BitBake and the Build Directory</ulink>" sections in the Yocto Project Application Developer's Guide. | 590 | "<ulink url='&YOCTO_DOCS_ADT_URL;#using-the-toolchain-from-within-the-build-tree'>Using BitBake and the Build Directory</ulink>" sections in the Yocto Project Application Developer's Guide. |
591 | </para> | 591 | </para> |
592 | </section> | 592 | </section> |
593 | 593 | ||
594 | <section id='downloading-the-pre-built-linux-kernel'> | 594 | <section id='downloading-the-pre-built-linux-kernel'> |
595 | <title>Downloading the Pre-Built Linux Kernel</title> | 595 | <title>Downloading the Pre-Built Linux Kernel</title> |
596 | 596 | ||
597 | <para> | 597 | <para> |
598 | You can download the pre-built Linux kernel suitable for running in the QEMU emulator from | 598 | You can download the pre-built Linux kernel suitable for running in the QEMU emulator from |
599 | <ulink url='&YOCTO_QEMU_DL_URL;'></ulink>. | 599 | <ulink url='&YOCTO_QEMU_DL_URL;'></ulink>. |
600 | Be sure to use the kernel that matches the architecture you want to simulate. | 600 | Be sure to use the kernel that matches the architecture you want to simulate. |
601 | Download areas exist for the five supported machine architectures: | 601 | Download areas exist for the five supported machine architectures: |
602 | <filename>qemuarm</filename>, <filename>qemumips</filename>, <filename>qemuppc</filename>, | 602 | <filename>qemuarm</filename>, <filename>qemumips</filename>, <filename>qemuppc</filename>, |
603 | <filename>qemux86</filename>, and <filename>qemux86-64</filename>. | 603 | <filename>qemux86</filename>, and <filename>qemux86-64</filename>. |
604 | </para> | 604 | </para> |
605 | 605 | ||
606 | <para> | 606 | <para> |
607 | Most kernel files have one of the following forms: | 607 | Most kernel files have one of the following forms: |
608 | <literallayout class='monospaced'> | 608 | <literallayout class='monospaced'> |
609 | *zImage-qemu<<emphasis>arch</emphasis>>.bin | 609 | *zImage-qemu<<emphasis>arch</emphasis>>.bin |
610 | vmlinux-qemu<<emphasis>arch</emphasis>>.bin | 610 | vmlinux-qemu<<emphasis>arch</emphasis>>.bin |
611 | 611 | ||
612 | Where: | 612 | Where: |
613 | <<emphasis>arch</emphasis>> is a string representing the target architecture: | 613 | <<emphasis>arch</emphasis>> is a string representing the target architecture: |
614 | x86, x86-64, ppc, mips, or arm. | 614 | x86, x86-64, ppc, mips, or arm. |
615 | </literallayout> | 615 | </literallayout> |
616 | </para> | 616 | </para> |
617 | 617 | ||
618 | <para> | 618 | <para> |
619 | You can learn more about downloading a Yocto Project kernel in the | 619 | You can learn more about downloading a Yocto Project kernel in the |
620 | "<ulink url='&YOCTO_DOCS_DEV_URL;#local-kernel-files'>Yocto Project Kernel</ulink>" | 620 | "<ulink url='&YOCTO_DOCS_DEV_URL;#local-kernel-files'>Yocto Project Kernel</ulink>" |
621 | bulleted item in the Yocto Project Development Manual. | 621 | bulleted item in the Yocto Project Development Manual. |
622 | </para> | 622 | </para> |
623 | </section> | 623 | </section> |
@@ -628,14 +628,14 @@ | |||
628 | <para> | 628 | <para> |
629 | You can also download the filesystem image suitable for your target architecture from | 629 | You can also download the filesystem image suitable for your target architecture from |
630 | <ulink url='&YOCTO_QEMU_DL_URL;'></ulink>. | 630 | <ulink url='&YOCTO_QEMU_DL_URL;'></ulink>. |
631 | Again, be sure to use the filesystem that matches the architecture you want | 631 | Again, be sure to use the filesystem that matches the architecture you want |
632 | to simulate. | 632 | to simulate. |
633 | </para> | 633 | </para> |
634 | 634 | ||
635 | <para> | 635 | <para> |
636 | The filesystem image has two tarball forms: <filename>ext3</filename> and | 636 | The filesystem image has two tarball forms: <filename>ext3</filename> and |
637 | <filename>tar</filename>. | 637 | <filename>tar</filename>. |
638 | You must use the <filename>ext3</filename> form when booting an image using the | 638 | You must use the <filename>ext3</filename> form when booting an image using the |
639 | QEMU emulator. | 639 | QEMU emulator. |
640 | The <filename>tar</filename> form can be flattened out in your host development system | 640 | The <filename>tar</filename> form can be flattened out in your host development system |
641 | and used for build purposes with the Yocto Project. | 641 | and used for build purposes with the Yocto Project. |
@@ -650,7 +650,7 @@ | |||
650 | "<ulink url='&YOCTO_DOCS_REF_URL;#ref-images'>Images</ulink>" chapter | 650 | "<ulink url='&YOCTO_DOCS_REF_URL;#ref-images'>Images</ulink>" chapter |
651 | in the Yocto Project Reference Manual. | 651 | in the Yocto Project Reference Manual. |
652 | 652 | ||
653 | <<emphasis>arch</emphasis>> is a string representing the target architecture: | 653 | <<emphasis>arch</emphasis>> is a string representing the target architecture: |
654 | x86, x86-64, ppc, mips, or arm. | 654 | x86, x86-64, ppc, mips, or arm. |
655 | </literallayout> | 655 | </literallayout> |
656 | </para> | 656 | </para> |
@@ -658,15 +658,15 @@ | |||
658 | 658 | ||
659 | <section id='setting-up-the-environment-and-starting-the-qemu-emulator'> | 659 | <section id='setting-up-the-environment-and-starting-the-qemu-emulator'> |
660 | <title>Setting Up the Environment and Starting the QEMU Emulator</title> | 660 | <title>Setting Up the Environment and Starting the QEMU Emulator</title> |
661 | 661 | ||
662 | <para> | 662 | <para> |
663 | Before you start the QEMU emulator, you need to set up the emulation environment. | 663 | Before you start the QEMU emulator, you need to set up the emulation environment. |
664 | The following command form sets up the emulation environment. | 664 | The following command form sets up the emulation environment. |
665 | <literallayout class='monospaced'> | 665 | <literallayout class='monospaced'> |
666 | $ source &YOCTO_ADTPATH_DIR;/environment-setup-<<emphasis>arch</emphasis>>-poky-linux-<<emphasis>if</emphasis>> | 666 | $ source &YOCTO_ADTPATH_DIR;/environment-setup-<<emphasis>arch</emphasis>>-poky-linux-<<emphasis>if</emphasis>> |
667 | 667 | ||
668 | Where: | 668 | Where: |
669 | <<emphasis>arch</emphasis>> is a string representing the target architecture: | 669 | <<emphasis>arch</emphasis>> is a string representing the target architecture: |
670 | i586, x86_64, ppc603e, mips, or armv5te. | 670 | i586, x86_64, ppc603e, mips, or armv5te. |
671 | 671 | ||
672 | <<emphasis>if</emphasis>> is a string representing an embedded application binary interface. | 672 | <<emphasis>if</emphasis>> is a string representing an embedded application binary interface. |
@@ -675,12 +675,12 @@ | |||
675 | </para> | 675 | </para> |
676 | 676 | ||
677 | <para> | 677 | <para> |
678 | Finally, this command form invokes the QEMU emulator | 678 | Finally, this command form invokes the QEMU emulator |
679 | <literallayout class='monospaced'> | 679 | <literallayout class='monospaced'> |
680 | $ runqemu <<emphasis>qemuarch</emphasis>> <<emphasis>kernel-image</emphasis>> <<emphasis>filesystem-image</emphasis>> | 680 | $ runqemu <<emphasis>qemuarch</emphasis>> <<emphasis>kernel-image</emphasis>> <<emphasis>filesystem-image</emphasis>> |
681 | 681 | ||
682 | Where: | 682 | Where: |
683 | <<emphasis>qemuarch</emphasis>> is a string representing the target architecture: qemux86, qemux86-64, | 683 | <<emphasis>qemuarch</emphasis>> is a string representing the target architecture: qemux86, qemux86-64, |
684 | qemuppc, qemumips, or qemuarm. | 684 | qemuppc, qemumips, or qemuarm. |
685 | 685 | ||
686 | <<emphasis>kernel-image</emphasis>> is the architecture-specific kernel image. | 686 | <<emphasis>kernel-image</emphasis>> is the architecture-specific kernel image. |
@@ -691,50 +691,50 @@ | |||
691 | </para> | 691 | </para> |
692 | 692 | ||
693 | <para> | 693 | <para> |
694 | Continuing with the example, the following two commands setup the emulation | 694 | Continuing with the example, the following two commands setup the emulation |
695 | environment and launch QEMU. | 695 | environment and launch QEMU. |
696 | This example assumes the root filesystem (<filename>.ext3</filename> file) and | 696 | This example assumes the root filesystem (<filename>.ext3</filename> file) and |
697 | the pre-built kernel image file both reside in your home directory. | 697 | the pre-built kernel image file both reside in your home directory. |
698 | The kernel and filesystem are for a 32-bit target architecture. | 698 | The kernel and filesystem are for a 32-bit target architecture. |
699 | <literallayout class='monospaced'> | 699 | <literallayout class='monospaced'> |
700 | $ cd $HOME | 700 | $ cd $HOME |
701 | $ source &YOCTO_ADTPATH_DIR;/environment-setup-i586-poky-linux | 701 | $ source &YOCTO_ADTPATH_DIR;/environment-setup-i586-poky-linux |
702 | $ runqemu qemux86 bzImage-qemux86.bin \ | 702 | $ runqemu qemux86 bzImage-qemux86.bin \ |
703 | core-image-sato-qemux86.ext3 | 703 | core-image-sato-qemux86.ext3 |
704 | </literallayout> | 704 | </literallayout> |
705 | </para> | 705 | </para> |
706 | 706 | ||
707 | <para> | 707 | <para> |
708 | The environment in which QEMU launches varies depending on the filesystem image and on the | 708 | The environment in which QEMU launches varies depending on the filesystem image and on the |
709 | target architecture. | 709 | target architecture. |
710 | For example, if you source the environment for the ARM target | 710 | For example, if you source the environment for the ARM target |
711 | architecture and then boot the minimal QEMU image, the emulator comes up in a new | 711 | architecture and then boot the minimal QEMU image, the emulator comes up in a new |
712 | shell in command-line mode. | 712 | shell in command-line mode. |
713 | However, if you boot the SDK image, QEMU comes up with a GUI. | 713 | However, if you boot the SDK image, QEMU comes up with a GUI. |
714 | <note>Booting the PPC image results in QEMU launching in the same shell in | 714 | <note>Booting the PPC image results in QEMU launching in the same shell in |
715 | command-line mode.</note> | 715 | command-line mode.</note> |
716 | </para> | 716 | </para> |
717 | </section> | 717 | </section> |
718 | </section> | 718 | </section> |
719 | </section> | 719 | </section> |
720 | 720 | ||
721 | <section id='super-user'> | 721 | <section id='super-user'> |
722 | <title>Super User | 722 | <title>Super User |
723 | </title> | 723 | </title> |
724 | 724 | ||
725 | <para> | 725 | <para> |
726 | This section | 726 | This section |
727 | <footnote> | 727 | <footnote> |
728 | <para> | 728 | <para> |
729 | Kudos and thanks to Robert P. J. Day of | 729 | Kudos and thanks to Robert P. J. Day of |
730 | <ulink url='http://www.crashcourse.ca'>CrashCourse</ulink> for providing the basis | 730 | <ulink url='http://www.crashcourse.ca'>CrashCourse</ulink> for providing the basis |
731 | for this "expert" section with information from one of his | 731 | for this "expert" section with information from one of his |
732 | <ulink url='http://www.crashcourse.ca/wiki/index.php/Yocto_Project_Quick_Start'>wiki</ulink> | 732 | <ulink url='http://www.crashcourse.ca/wiki/index.php/Yocto_Project_Quick_Start'>wiki</ulink> |
733 | pages. | 733 | pages. |
734 | </para> | 734 | </para> |
735 | </footnote> | 735 | </footnote> |
736 | gives you a minimal description of how to use the Yocto Project to build images | 736 | gives you a minimal description of how to use the Yocto Project to build images |
737 | for a BeagleBoard xM starting from scratch. | 737 | for a BeagleBoard xM starting from scratch. |
738 | The steps were performed on a 64-bit Ubuntu 10.04 system. | 738 | The steps were performed on a 64-bit Ubuntu 10.04 system. |
739 | </para> | 739 | </para> |
740 | 740 | ||
@@ -745,7 +745,7 @@ | |||
745 | Set up your <ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink> | 745 | Set up your <ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink> |
746 | one of two ways: | 746 | one of two ways: |
747 | <itemizedlist> | 747 | <itemizedlist> |
748 | <listitem><para><emphasis>Tarball:</emphasis> | 748 | <listitem><para><emphasis>Tarball:</emphasis> |
749 | Use if you want the latest stable release: | 749 | Use if you want the latest stable release: |
750 | <literallayout class='monospaced'> | 750 | <literallayout class='monospaced'> |
751 | $ wget &YOCTO_RELEASE_DL_URL;/&YOCTO_POKY_TARBALL; | 751 | $ wget &YOCTO_RELEASE_DL_URL;/&YOCTO_POKY_TARBALL; |
@@ -765,7 +765,7 @@ | |||
765 | <title>Setting Up Your Host</title> | 765 | <title>Setting Up Your Host</title> |
766 | 766 | ||
767 | <para> | 767 | <para> |
768 | You need some packages for everything to work. | 768 | You need some packages for everything to work. |
769 | Rather than duplicate them here, look at the "<link linkend='packages'>The Packages</link>" | 769 | Rather than duplicate them here, look at the "<link linkend='packages'>The Packages</link>" |
770 | section earlier in this quick start. | 770 | section earlier in this quick start. |
771 | </para> | 771 | </para> |
@@ -776,14 +776,14 @@ | |||
776 | 776 | ||
777 | <para> | 777 | <para> |
778 | From the parent directory your | 778 | From the parent directory your |
779 | <ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink>, | 779 | <ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink>, |
780 | initialize your environment and provide a meaningful | 780 | initialize your environment and provide a meaningful |
781 | <ulink url='&YOCTO_DOCS_DEV_URL;#build-directory'>Build Directory</ulink> | 781 | <ulink url='&YOCTO_DOCS_DEV_URL;#build-directory'>Build Directory</ulink> |
782 | name: | 782 | name: |
783 | <literallayout class='monospaced'> | 783 | <literallayout class='monospaced'> |
784 | $ source poky/&OE_INIT_FILE; mybuilds | 784 | $ source poky/&OE_INIT_FILE; mybuilds |
785 | </literallayout> | 785 | </literallayout> |
786 | At this point, the <filename>mybuilds</filename> directory has been created for you | 786 | At this point, the <filename>mybuilds</filename> directory has been created for you |
787 | and it is now your current working directory. | 787 | and it is now your current working directory. |
788 | If you don't provide your own directory name it defaults to <filename>build</filename>, | 788 | If you don't provide your own directory name it defaults to <filename>build</filename>, |
789 | which is inside the Source Directory. | 789 | which is inside the Source Directory. |
@@ -804,20 +804,20 @@ | |||
804 | PARALLEL_MAKE = "-j 8" | 804 | PARALLEL_MAKE = "-j 8" |
805 | MACHINE ?= "beagleboard" | 805 | MACHINE ?= "beagleboard" |
806 | </literallayout> | 806 | </literallayout> |
807 | Briefly, set <ulink url='&YOCTO_DOCS_REF_URL;#var-BB_NUMBER_THREADS'><filename>BB_NUMBER_THREADS</filename></ulink> | 807 | Briefly, set <ulink url='&YOCTO_DOCS_REF_URL;#var-BB_NUMBER_THREADS'><filename>BB_NUMBER_THREADS</filename></ulink> |
808 | and <ulink url='&YOCTO_DOCS_REF_URL;#var-PARALLEL_MAKE'><filename>PARALLEL_MAKE</filename></ulink> to | 808 | and <ulink url='&YOCTO_DOCS_REF_URL;#var-PARALLEL_MAKE'><filename>PARALLEL_MAKE</filename></ulink> to |
809 | twice your host processor's number of cores. | 809 | twice your host processor's number of cores. |
810 | </para> | 810 | </para> |
811 | 811 | ||
812 | <para> | 812 | <para> |
813 | A good deal that goes into a Yocto Project build is simply downloading all of the source | 813 | A good deal that goes into a Yocto Project build is simply downloading all of the source |
814 | tarballs. | 814 | tarballs. |
815 | Maybe you have been working with another build system (OpenEmbedded or Angstrom) for which | 815 | Maybe you have been working with another build system (OpenEmbedded or Angstrom) for which |
816 | you've built up a sizable directory of source tarballs. | 816 | you've built up a sizable directory of source tarballs. |
817 | Or perhaps someone else has such a directory for which you have read access. | 817 | Or perhaps someone else has such a directory for which you have read access. |
818 | If so, you can save time by adding the <filename>PREMIRRORS</filename> | 818 | If so, you can save time by adding the <filename>PREMIRRORS</filename> |
819 | statement to your configuration file so that the build process checks | 819 | statement to your configuration file so that the build process checks |
820 | local directories first for existing tarballs before checking the | 820 | local directories first for existing tarballs before checking the |
821 | Internet. | 821 | Internet. |
822 | Here is an efficient way to set it up in your <filename>local.conf</filename> | 822 | Here is an efficient way to set it up in your <filename>local.conf</filename> |
823 | file: | 823 | file: |
@@ -850,7 +850,7 @@ | |||
850 | <literallayout class='monospaced'> | 850 | <literallayout class='monospaced'> |
851 | $ bitbake -c fetchall core-image-minimal | 851 | $ bitbake -c fetchall core-image-minimal |
852 | </literallayout> | 852 | </literallayout> |
853 | This variation guarantees that you have all the sources for that BitBake target | 853 | This variation guarantees that you have all the sources for that BitBake target |
854 | should you disconnect from the net and want to do the build later offline. | 854 | should you disconnect from the net and want to do the build later offline. |
855 | </para></listitem> | 855 | </para></listitem> |
856 | <listitem><para>Specify to continue the build even if BitBake encounters an error. | 856 | <listitem><para>Specify to continue the build even if BitBake encounters an error. |