Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 1 | <!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" |
| 2 | "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" |
| 3 | [<!ENTITY % poky SYSTEM "../poky.ent"> %poky; ] > |
| 4 | |
| 5 | <article id='yocto-project-qs-intro'> |
| 6 | <articleinfo> |
| 7 | <title>Yocto Project Quick Start</title> |
| 8 | |
| 9 | <copyright> |
| 10 | <year>©RIGHT_YEAR;</year> |
| 11 | <holder>Linux Foundation</holder> |
| 12 | </copyright> |
| 13 | |
| 14 | <legalnotice> |
| 15 | <para> |
| 16 | Permission is granted to copy, distribute and/or modify this document under |
| 17 | the terms of the <ulink type="http" url="http://creativecommons.org/licenses/by-sa/2.0/uk/">Creative Commons Attribution-Share Alike 2.0 UK: England & Wales</ulink> as published by Creative Commons. |
| 18 | </para> |
| 19 | <note> |
| 20 | For the latest version of this manual associated with this |
| 21 | Yocto Project release, see the |
| 22 | <ulink url='&YOCTO_DOCS_QS_URL;'>Yocto Project Quick Start</ulink> |
| 23 | from the Yocto Project website. |
| 24 | </note> |
| 25 | </legalnotice> |
| 26 | |
| 27 | |
| 28 | <abstract> |
| 29 | <imagedata fileref="figures/yocto-project-transp.png" |
| 30 | width="6in" depth="1in" |
| 31 | align="right" scale="25" /> |
| 32 | </abstract> |
| 33 | </articleinfo> |
| 34 | |
| 35 | <section id='welcome'> |
| 36 | <title>Welcome!</title> |
| 37 | <para> |
| 38 | Welcome to the Yocto Project! |
| 39 | The Yocto Project is an open-source collaboration project whose |
| 40 | focus is developers of embedded Linux systems. |
| 41 | Among other things, the Yocto Project uses a build host based |
| 42 | on the OpenEmbedded (OE) project, which uses the |
| 43 | <ulink url='&YOCTO_DOCS_DEV_URL;#bitbake-term'>BitBake</ulink> |
| 44 | tool, to construct complete Linux images. |
| 45 | The BitBake and OE components are combined together to form |
| 46 | a reference build host, historically known as |
| 47 | <ulink url='&YOCTO_DOCS_DEV_URL;#poky'>Poky</ulink>. |
| 48 | </para> |
| 49 | |
| 50 | <para> |
| 51 | If you do not have a system that runs Linux and you want to give |
| 52 | the Yocto Project a test run, you might consider using the Yocto |
| 53 | Project Build Appliance. |
| 54 | The Build Appliance allows you to build and boot a custom embedded |
| 55 | Linux image with the Yocto Project using a non-Linux development |
| 56 | system. |
| 57 | See the |
| 58 | <ulink url='https://www.yoctoproject.org/tools-resources/projects/build-appliance'>Yocto Project Build Appliance</ulink> |
| 59 | for more information. |
| 60 | </para> |
| 61 | |
| 62 | <para> |
Patrick Williams | d8c66bc | 2016-06-20 12:57:21 -0500 | [diff] [blame] | 63 | This quick start is written so that you can quickly get a |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 64 | build host set up to use the Yocto Project and then build some |
| 65 | Linux images. |
| 66 | Rather than go into great detail about the Yocto Project and its |
| 67 | many capabilities, this quick start provides the minimal |
| 68 | information you need to try out the Yocto Project using a |
| 69 | supported Linux build host. |
| 70 | Reading and using the quick start should result in you having a |
| 71 | basic understanding of what the Yocto Project is and how to use |
| 72 | some of its core components. |
| 73 | You will also have worked through steps to produce two images: |
Patrick Williams | d8c66bc | 2016-06-20 12:57:21 -0500 | [diff] [blame] | 74 | one that is suitable for emulation and one that boots on actual |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 75 | hardware. |
| 76 | The examples highlight the ease with which you can use the |
| 77 | Yocto Project to create images for multiple types of hardware. |
| 78 | </para> |
| 79 | |
| 80 | <para> |
| 81 | For more detailed information on the Yocto Project, you can |
| 82 | reference these resources: |
| 83 | <itemizedlist> |
| 84 | <listitem><para><emphasis>Website:</emphasis> |
| 85 | The |
| 86 | <ulink url='&YOCTO_HOME_URL;'>Yocto Project Website</ulink> |
| 87 | provides the latest builds, breaking news, full development |
| 88 | documentation, and access to a rich Yocto Project |
| 89 | Development Community into which you can tap. |
| 90 | </para></listitem> |
| 91 | <listitem><para><emphasis>FAQs:</emphasis> |
| 92 | Lists commonly asked Yocto Project questions and answers. |
| 93 | You can find two FAQs: |
| 94 | <ulink url='&YOCTO_WIKI_URL;/wiki/FAQ'>Yocto Project FAQ</ulink> |
| 95 | on a wiki, and the |
| 96 | "<ulink url='&YOCTO_DOCS_REF_URL;#faq'>FAQ</ulink>" |
| 97 | chapter in the Yocto Project Reference Manual. |
| 98 | </para></listitem> |
| 99 | <listitem><para><emphasis>Developer Screencast:</emphasis> |
| 100 | The |
| 101 | <ulink url='http://vimeo.com/36450321'>Getting Started with the Yocto Project - New Developer Screencast Tutorial</ulink> |
| 102 | provides a 30-minute video created for users unfamiliar |
| 103 | with the Yocto Project but familiar with Linux build |
| 104 | hosts. |
| 105 | While this screencast is somewhat dated, the introductory |
| 106 | and fundamental concepts are useful for the beginner. |
| 107 | </para></listitem> |
| 108 | </itemizedlist> |
| 109 | </para> |
| 110 | </section> |
| 111 | |
| 112 | <section id='yp-intro'> |
| 113 | <title>Introducing the Yocto Project Development Environment</title> |
| 114 | |
| 115 | <para> |
| 116 | The Yocto Project through the OpenEmbedded build system provides an |
| 117 | open source development environment targeting the ARM, MIPS, |
| 118 | PowerPC, and x86 architectures for a variety of platforms |
| 119 | including x86-64 and emulated ones. |
| 120 | You can use components from the Yocto Project to design, develop, |
| 121 | build, debug, simulate, and test the complete software stack using |
| 122 | Linux, the X Window System, GTK+ frameworks, and Qt frameworks. |
| 123 | </para> |
| 124 | |
| 125 | <mediaobject> |
| 126 | <imageobject> |
| 127 | <imagedata fileref="figures/yocto-environment.png" |
| 128 | format="PNG" align='center' scalefit='1' width="100%"/> |
| 129 | </imageobject> |
| 130 | <caption> |
| 131 | <para>The Yocto Project Development Environment</para> |
| 132 | </caption> |
| 133 | </mediaobject> |
| 134 | |
| 135 | <para> |
| 136 | Here are some highlights for the Yocto Project: |
| 137 | </para> |
| 138 | |
| 139 | <itemizedlist> |
| 140 | <listitem><para> |
| 141 | Provides a recent Linux kernel along with a set of system |
| 142 | commands and libraries suitable for the embedded |
| 143 | environment. |
| 144 | </para></listitem> |
| 145 | <listitem><para> |
| 146 | Makes available system components such as X11, GTK+, Qt, |
| 147 | Clutter, and SDL (among others) so you can create a rich user |
| 148 | experience on devices that have display hardware. |
| 149 | For devices that do not have a display or where you wish to |
| 150 | use alternative UI frameworks, these components need not be |
| 151 | installed. |
| 152 | </para></listitem> |
| 153 | <listitem><para> |
| 154 | Creates a focused and stable core compatible with the |
| 155 | OpenEmbedded project with which you can easily and reliably |
| 156 | build and develop. |
| 157 | </para></listitem> |
| 158 | <listitem><para> |
| 159 | Fully supports a wide range of hardware and device emulation |
| 160 | through the Quick EMUlator (QEMU). |
| 161 | </para></listitem> |
| 162 | <listitem><para> |
| 163 | Provides a layer mechanism that allows you to easily extend |
| 164 | the system, make customizations, and keep them organized. |
| 165 | </para></listitem> |
| 166 | </itemizedlist> |
| 167 | |
| 168 | <para> |
| 169 | You can use the Yocto Project to generate images for many kinds |
| 170 | of devices. |
| 171 | As mentioned earlier, the Yocto Project supports creation of |
| 172 | reference images that you can boot within and emulate using QEMU. |
| 173 | The standard example machines target QEMU full-system |
| 174 | emulation for 32-bit and 64-bit variants of x86, ARM, MIPS, and |
| 175 | PowerPC architectures. |
| 176 | Beyond emulation, you can use the layer mechanism to extend |
| 177 | support to just about any platform that Linux can run on and that |
| 178 | a toolchain can target. |
| 179 | </para> |
| 180 | |
| 181 | <para> |
| 182 | Another Yocto Project feature is the Sato reference User |
| 183 | Interface. |
| 184 | This optional UI that is based on GTK+ is intended for devices with |
| 185 | restricted screen sizes and is included as part of the |
| 186 | OpenEmbedded Core layer so that developers can test parts of the |
| 187 | software stack. |
| 188 | </para> |
| 189 | </section> |
| 190 | |
| 191 | <section id='yp-resources'> |
| 192 | <title>Setting Up to Use the Yocto Project</title> |
| 193 | |
| 194 | <para> |
| 195 | The following list shows what you need in order to use a |
| 196 | Linux-based build host to use the Yocto Project to build images: |
| 197 | </para> |
| 198 | |
| 199 | <itemizedlist> |
| 200 | <listitem><para><emphasis>Build Host</emphasis> |
| 201 | A build host with a minimum of 50 Gbytes of free disk |
| 202 | space that is running a supported Linux distribution (i.e. |
| 203 | recent releases of Fedora, openSUSE, CentOS, Debian, or |
| 204 | Ubuntu). |
| 205 | </para></listitem> |
| 206 | <listitem><para><emphasis>Build Host Packages</emphasis> |
| 207 | Appropriate packages installed on the build host. |
| 208 | </para></listitem> |
| 209 | <listitem><para><emphasis>The Yocto Project</emphasis> |
| 210 | A release of the Yocto Project. |
| 211 | </para></listitem> |
| 212 | </itemizedlist> |
| 213 | |
| 214 | <section id='the-linux-distro'> |
| 215 | <title>The Linux Distribution</title> |
| 216 | |
| 217 | <para> |
| 218 | The Yocto Project team verifies each release against recent |
| 219 | versions of the most popular Linux distributions that |
| 220 | provide stable releases. |
| 221 | In general, if you have the current release minus one of the |
| 222 | following distributions, you should have no problems. |
| 223 | <itemizedlist> |
| 224 | <listitem><para> |
| 225 | Ubuntu |
| 226 | </para></listitem> |
| 227 | <listitem><para> |
| 228 | Fedora |
| 229 | </para></listitem> |
| 230 | <listitem><para> |
| 231 | openSUSE |
| 232 | </para></listitem> |
| 233 | <listitem><para> |
| 234 | CentOS |
| 235 | </para></listitem> |
| 236 | <listitem><para> |
| 237 | Debian |
| 238 | </para></listitem> |
| 239 | </itemizedlist> |
| 240 | For a more detailed list of distributions that support the |
| 241 | Yocto Project, see the |
| 242 | "<ulink url='&YOCTO_DOCS_REF_URL;#detailed-supported-distros'>Supported Linux Distributions</ulink>" |
| 243 | section in the Yocto Project Reference Manual. |
| 244 | </para> |
| 245 | |
| 246 | <para> |
| 247 | The OpenEmbedded build system should be able to run on any |
| 248 | modern distribution that has the following versions for |
| 249 | Git, tar, and Python. |
| 250 | <itemizedlist> |
| 251 | <listitem><para> |
Patrick Williams | d8c66bc | 2016-06-20 12:57:21 -0500 | [diff] [blame] | 252 | Git 1.8.3.1 or greater |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 253 | </para></listitem> |
| 254 | <listitem><para> |
| 255 | tar 1.24 or greater |
| 256 | </para></listitem> |
| 257 | <listitem><para> |
Patrick Williams | c0f7c04 | 2017-02-23 20:41:17 -0600 | [diff] [blame] | 258 | Python 3.4.0 or greater. |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 259 | </para></listitem> |
| 260 | </itemizedlist> |
| 261 | If your build host does not meet any of these three listed |
| 262 | version requirements, you can take steps to prepare the |
| 263 | system so that you can still use the Yocto Project. |
| 264 | See the |
| 265 | "<ulink url='&YOCTO_DOCS_REF_URL;#required-git-tar-and-python-versions'>Required Git, tar, and Python Versions</ulink>" |
| 266 | section in the Yocto Project Reference Manual for information. |
| 267 | </para> |
| 268 | </section> |
| 269 | |
| 270 | <section id='packages'> |
| 271 | <title>The Build Host Packages</title> |
| 272 | |
| 273 | <para> |
| 274 | Required build host packages vary depending on your |
| 275 | build machine and what you want to do with the Yocto Project. |
| 276 | For example, if you want to build an image that can run |
| 277 | on QEMU in graphical mode (a minimal, basic build |
| 278 | requirement), then the build host package requirements |
| 279 | are different than if you want to build an image on a headless |
| 280 | system or build out the Yocto Project documentation set. |
| 281 | </para> |
| 282 | |
| 283 | <para> |
| 284 | Collectively, the number of required packages is large |
| 285 | if you want to be able to cover all cases. |
| 286 | <note> |
| 287 | In general, you need to have root access and then install |
| 288 | the required packages. |
| 289 | Thus, the commands in the following section may or may |
| 290 | not work depending on whether or not your Linux |
| 291 | distribution has <filename>sudo</filename> installed. |
| 292 | </note> |
| 293 | </para> |
| 294 | |
| 295 | <para> |
| 296 | The following list shows the required packages needed to build |
| 297 | an image that runs on QEMU in graphical mode (e.g. essential |
| 298 | plus graphics support). |
| 299 | For lists of required packages for other scenarios, see the |
| 300 | "<ulink url='&YOCTO_DOCS_REF_URL;#required-packages-for-the-host-development-system'>Required Packages for the Host Development System</ulink>" |
| 301 | section in the Yocto Project Reference Manual. |
| 302 | <itemizedlist> |
| 303 | <listitem><para><emphasis>Ubuntu and Debian</emphasis> |
| 304 | <literallayout class='monospaced'> |
Brad Bishop | 37a0e4d | 2017-12-04 01:01:44 -0500 | [diff] [blame^] | 305 | $ sudo apt-get install &UBUNTU_HOST_PACKAGES_ESSENTIAL; \ |
| 306 | libsdl1.2-dev xterm |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 307 | </literallayout> |
| 308 | </para></listitem> |
| 309 | <listitem><para><emphasis>Fedora</emphasis> |
| 310 | <literallayout class='monospaced'> |
Patrick Williams | f1e5d69 | 2016-03-30 15:21:19 -0500 | [diff] [blame] | 311 | $ sudo dnf install &FEDORA_HOST_PACKAGES_ESSENTIAL; SDL-devel xterm |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 312 | </literallayout> |
| 313 | </para></listitem> |
| 314 | <listitem><para><emphasis>OpenSUSE</emphasis> |
| 315 | <literallayout class='monospaced'> |
Brad Bishop | 37a0e4d | 2017-12-04 01:01:44 -0500 | [diff] [blame^] | 316 | $ sudo zypper install &OPENSUSE_HOST_PACKAGES_ESSENTIAL; \ |
| 317 | libSDL-devel xterm |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 318 | </literallayout> |
| 319 | </para></listitem> |
| 320 | <listitem><para><emphasis>CentOS</emphasis> |
| 321 | <literallayout class='monospaced'> |
Brad Bishop | 37a0e4d | 2017-12-04 01:01:44 -0500 | [diff] [blame^] | 322 | $ sudo yum install &CENTOS_HOST_PACKAGES_ESSENTIAL; \ |
| 323 | SDL-devel xterm |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 324 | </literallayout> |
| 325 | <note> |
| 326 | CentOS 6.x users need to ensure that the required |
| 327 | versions of Git, tar and Python are available. |
| 328 | For details, See the |
| 329 | "<ulink url='&YOCTO_DOCS_REF_URL;#required-git-tar-and-python-versions'>Required Git, tar, and Python Versions</ulink>" |
| 330 | section in the Yocto Project Reference Manual for |
| 331 | information. |
| 332 | </note> |
| 333 | </para></listitem> |
| 334 | </itemizedlist> |
| 335 | </para> |
| 336 | </section> |
| 337 | |
| 338 | <section id='releases'> |
| 339 | <title>Yocto Project Release</title> |
| 340 | |
| 341 | <para> |
| 342 | The last requirement you need to meet before using the |
| 343 | Yocto Project is getting a Yocto Project release. |
| 344 | It is recommended that you get the latest Yocto Project release |
| 345 | by setting up (cloning in |
| 346 | <ulink url='&YOCTO_DOCS_DEV_URL;#git'>Git</ulink> terms) a |
| 347 | local copy of the <filename>poky</filename> Git repository on |
| 348 | your build host and then checking out the latest release. |
| 349 | Doing so allows you to easily update to newer Yocto Project |
| 350 | releases as well as contribute back to the Yocto Project. |
| 351 | </para> |
| 352 | |
| 353 | <para> |
| 354 | Here is an example from an Ubuntu build host that clones the |
| 355 | <filename>poky</filename> repository and then checks out the |
| 356 | latest Yocto Project Release (i.e. &DISTRO;): |
| 357 | <literallayout class='monospaced'> |
| 358 | $ git clone git://git.yoctoproject.org/poky |
| 359 | Cloning into 'poky'... |
| 360 | remote: Counting objects: 226790, done. |
| 361 | remote: Compressing objects: 100% (57465/57465), done. |
| 362 | remote: Total 226790 (delta 165212), reused 225887 (delta 164327) |
| 363 | Receiving objects: 100% (226790/226790), 100.98 MiB | 263 KiB/s, done. |
| 364 | Resolving deltas: 100% (165212/165212), done. |
Patrick Williams | d8c66bc | 2016-06-20 12:57:21 -0500 | [diff] [blame] | 365 | $ git checkout &DISTRO_NAME_NO_CAP; |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 366 | </literallayout> |
| 367 | You can also get the Yocto Project Files by downloading |
| 368 | Yocto Project releases from the |
| 369 | <ulink url="&YOCTO_HOME_URL;">Yocto Project website</ulink>. |
| 370 | </para> |
| 371 | |
| 372 | <para> |
| 373 | For more information on getting set up with the Yocto Project |
| 374 | release, see the |
| 375 | "<ulink url='&YOCTO_DOCS_DEV_URL;#local-yp-release'>Yocto Project Release</ulink>" |
| 376 | item in the Yocto Project Development Manual. |
| 377 | </para> |
| 378 | </section> |
| 379 | </section> |
| 380 | |
| 381 | <section id='qs-building-images'> |
| 382 | <title>Building Images</title> |
| 383 | |
| 384 | <para> |
| 385 | Now that you have your system requirements in order, you can give |
Patrick Williams | d8c66bc | 2016-06-20 12:57:21 -0500 | [diff] [blame] | 386 | Yocto Project a try. |
| 387 | You can try out Yocto Project using either the command-line |
| 388 | interface or using Toaster, which uses a graphical user |
| 389 | interface. |
| 390 | If you want to try out the Yocto Project using a GUI, see the |
| 391 | <ulink url='&YOCTO_DOCS_TOAST_URL;'>Toaster User Manual</ulink> |
| 392 | for information on how to install and set up Toaster. |
| 393 | </para> |
| 394 | |
| 395 | <para> |
Patrick Williams | c0f7c04 | 2017-02-23 20:41:17 -0600 | [diff] [blame] | 396 | To use the Yocto Project through the command-line interface, |
| 397 | finish this quick start, which presents steps that let you |
Patrick Williams | d8c66bc | 2016-06-20 12:57:21 -0500 | [diff] [blame] | 398 | do the following: |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 399 | <itemizedlist> |
| 400 | <listitem><para> |
| 401 | Build a <filename>qemux86</filename> reference image |
| 402 | and run it in the QEMU emulator. |
| 403 | </para></listitem> |
| 404 | <listitem><para> |
| 405 | Easily change configurations so that you can quickly |
Patrick Williams | c0f7c04 | 2017-02-23 20:41:17 -0600 | [diff] [blame] | 406 | create a second image that you can load onto bootable |
| 407 | media and actually boot target hardware. |
| 408 | This example uses the MinnowBoard |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 409 | MAX-compatible boards. |
| 410 | </para></listitem> |
| 411 | </itemizedlist> |
| 412 | <note> |
Patrick Williams | c0f7c04 | 2017-02-23 20:41:17 -0600 | [diff] [blame] | 413 | The steps in the following two sections do not provide detail, |
| 414 | but rather provide minimal, working commands and examples |
| 415 | designed to just get you started. |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 416 | For more details, see the appropriate manuals in the |
| 417 | <ulink url='&YOCTO_HOME_URL;/documentation'>Yocto Project manual set</ulink>. |
| 418 | </note> |
| 419 | </para> |
| 420 | |
Patrick Williams | c0f7c04 | 2017-02-23 20:41:17 -0600 | [diff] [blame] | 421 | <section id='building-an-image-for-emulation'> |
| 422 | <title>Building an Image for Emulation</title> |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 423 | |
Patrick Williams | c0f7c04 | 2017-02-23 20:41:17 -0600 | [diff] [blame] | 424 | <para> |
| 425 | Use the following commands to build your image. |
| 426 | The OpenEmbedded build system creates an entire Linux |
| 427 | distribution, including the toolchain, from source. |
| 428 | <note><title>Note about Network Proxies</title> |
| 429 | <para> |
| 430 | By default, the build process searches for source code |
| 431 | using a pre-determined order through a set of |
| 432 | locations. |
| 433 | If you are working behind a firewall and your build |
| 434 | host is not set up for proxies, you could encounter |
| 435 | problems with the build process when fetching source |
| 436 | code (e.g. fetcher failures or Git failures). |
| 437 | </para> |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 438 | |
Patrick Williams | c0f7c04 | 2017-02-23 20:41:17 -0600 | [diff] [blame] | 439 | <para> |
| 440 | If you do not know your proxy settings, consult your |
| 441 | local network infrastructure resources and get that |
| 442 | information. |
| 443 | A good starting point could also be to check your web |
| 444 | browser settings. |
| 445 | Finally, you can find more information on using the |
| 446 | Yocto Project behind a firewall in the Yocto Project |
| 447 | Reference Manual |
| 448 | <ulink url='&YOCTO_DOCS_REF_URL;#how-does-the-yocto-project-obtain-source-code-and-will-it-work-behind-my-firewall-or-proxy-server'>FAQ</ulink> |
| 449 | and on the |
| 450 | "<ulink url='https://wiki.yoctoproject.org/wiki/Working_Behind_a_Network_Proxy'>Working Behind a Network Proxy</ulink>" |
| 451 | wiki page. |
| 452 | </para> |
| 453 | </note> |
| 454 | </para> |
| 455 | |
| 456 | <para> |
| 457 | <orderedlist> |
| 458 | <listitem><para><emphasis>Be Sure Your Build Host is Set Up:</emphasis> |
| 459 | The steps to build an image in this section depend on |
| 460 | your build host being properly set up. |
| 461 | Be sure you have worked through the requirements |
| 462 | described in the |
| 463 | "<link linkend='yp-resources'>Setting Up to Use the Yocto Project</link>" |
| 464 | section. |
| 465 | </para></listitem> |
| 466 | <listitem><para><emphasis>Check Out Your Branch:</emphasis> |
| 467 | Be sure you are in the |
| 468 | <ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink> |
| 469 | (e.g. <filename>poky</filename>) and then check out |
| 470 | the branch associated with the latest Yocto Project |
| 471 | Release: |
| 472 | <literallayout class='monospaced'> |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 473 | $ cd ~/poky |
Patrick Williams | d8c66bc | 2016-06-20 12:57:21 -0500 | [diff] [blame] | 474 | $ git checkout -b &DISTRO_NAME_NO_CAP; origin/&DISTRO_NAME_NO_CAP; |
Patrick Williams | c0f7c04 | 2017-02-23 20:41:17 -0600 | [diff] [blame] | 475 | </literallayout> |
| 476 | Git's <filename>checkout</filename> command checks out |
| 477 | the current Yocto Project release into a local branch |
| 478 | whose name matches the release (i.e. |
| 479 | <filename>&DISTRO_NAME_NO_CAP;</filename>). |
| 480 | The local branch tracks the upstream branch of the |
| 481 | same name. |
| 482 | Creating your own branch based on the released |
| 483 | branch ensures you are using the latest files for |
| 484 | that release. |
| 485 | </para></listitem> |
| 486 | <listitem><para><emphasis>Initialize the Build Environment:</emphasis> |
| 487 | Run the |
| 488 | <ulink url='&YOCTO_DOCS_REF_URL;#structure-core-script'><filename>&OE_INIT_FILE;</filename></ulink> |
| 489 | environment setup script to define the OpenEmbedded |
| 490 | build environment on your build host. |
| 491 | <literallayout class='monospaced'> |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 492 | $ source &OE_INIT_FILE; |
Patrick Williams | c0f7c04 | 2017-02-23 20:41:17 -0600 | [diff] [blame] | 493 | </literallayout> |
| 494 | Among other things, the script creates the |
| 495 | <ulink url='&YOCTO_DOCS_DEV_URL;#build-directory'>Build Directory</ulink>, |
| 496 | which is <filename>build</filename> in this case |
| 497 | and is located in the |
| 498 | <ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink>. |
| 499 | After the script runs, your current working directory |
| 500 | is set to the Build Directory. |
| 501 | Later, when the build completes, the Build Directory |
| 502 | contains all the files created during the build. |
| 503 | <note> |
| 504 | For information on running a memory-resident |
| 505 | <ulink url='&YOCTO_DOCS_REF_URL;#usingpoky-components-bitbake'>BitBake</ulink>, |
| 506 | see the |
| 507 | <ulink url='&YOCTO_DOCS_REF_URL;#structure-memres-core-script'><filename>oe-init-build-env-memres</filename></ulink> |
| 508 | setup script. |
| 509 | </note> |
| 510 | </para></listitem> |
| 511 | <listitem><para><emphasis>Examine Your Local Configuration File:</emphasis> |
| 512 | When you set up the build environment, a local |
| 513 | configuration file named |
| 514 | <filename>local.conf</filename> becomes available in |
| 515 | a <filename>conf</filename> subdirectory of the |
| 516 | Build Directory. |
| 517 | Before using BitBake to start the build, you can |
| 518 | look at this file and be sure your general |
| 519 | configurations are how you want them: |
| 520 | <itemizedlist> |
| 521 | <listitem><para> |
| 522 | To help conserve disk space during builds, |
| 523 | you can add the following statement to your |
| 524 | project's configuration file, which for this |
| 525 | example is |
| 526 | <filename>poky/build/conf/local.conf</filename>. |
| 527 | Adding this statement deletes the work |
| 528 | directory used for building a recipe once the |
| 529 | recipe is built. |
| 530 | <literallayout class='monospaced'> |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 531 | INHERIT += "rm_work" |
Patrick Williams | c0f7c04 | 2017-02-23 20:41:17 -0600 | [diff] [blame] | 532 | </literallayout> |
| 533 | </para></listitem> |
| 534 | <listitem><para> |
| 535 | By default, the target machine for the build is |
| 536 | <filename>qemux86</filename>, |
| 537 | which produces an image that can be used in |
| 538 | the QEMU emulator and is targeted at an |
| 539 | <trademark class='registered'>Intel</trademark> |
| 540 | 32-bit based architecture. |
| 541 | Further on in this example, this default is |
| 542 | easily changed through the |
| 543 | <ulink url='&YOCTO_DOCS_REF_URL;#var-MACHINE'><filename>MACHINE</filename></ulink> |
| 544 | variable so that you can quickly |
| 545 | build an image for a different machine. |
| 546 | </para></listitem> |
| 547 | <listitem><para> |
| 548 | Another consideration before you build is the |
| 549 | package manager used when creating the image. |
| 550 | The default <filename>local.conf</filename> |
| 551 | file selects the RPM package manager. |
| 552 | You can control this configuration by using the |
| 553 | <filename><ulink url='&YOCTO_DOCS_REF_URL;#var-PACKAGE_CLASSES'><filename>PACKAGE_CLASSES</filename></ulink></filename> |
| 554 | variable.</para> |
| 555 | <para>Selection of the package manager is separate |
| 556 | from whether package management is used at runtime |
| 557 | in the target image.</para> |
| 558 | <para>For additional package manager selection |
| 559 | information, see the |
| 560 | "<ulink url='&YOCTO_DOCS_REF_URL;#ref-classes-package'><filename>package.bbclass</filename></ulink>" |
| 561 | section in the Yocto Project Reference Manual. |
| 562 | </para></listitem> |
| 563 | </itemizedlist> |
| 564 | </para></listitem> |
| 565 | <listitem><para><emphasis>Start the Build:</emphasis> |
| 566 | Continue with the following command to build an OS image |
| 567 | for the target, which is |
| 568 | <filename>core-image-sato</filename> in this example: |
| 569 | <note> |
| 570 | Depending on the number of processors and cores, the |
| 571 | amount of RAM, the speed of your Internet connection |
| 572 | and other factors, the build process could take several |
| 573 | hours the first time you run it. |
| 574 | Subsequent builds run much faster since parts of the |
| 575 | build are cached. |
| 576 | </note> |
| 577 | <literallayout class='monospaced'> |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 578 | $ bitbake core-image-sato |
Patrick Williams | c0f7c04 | 2017-02-23 20:41:17 -0600 | [diff] [blame] | 579 | </literallayout> |
| 580 | For information on using the |
| 581 | <filename>bitbake</filename> command, see the |
| 582 | "<ulink url='&YOCTO_DOCS_REF_URL;#usingpoky-components-bitbake'>BitBake</ulink>" |
| 583 | section in the Yocto Project Reference Manual, or see the |
| 584 | "<ulink url='&YOCTO_DOCS_BB_URL;#bitbake-user-manual-command'>BitBake Command</ulink>" |
| 585 | section in the BitBake User Manual. |
| 586 | For information on other targets, see the |
| 587 | "<ulink url='&YOCTO_DOCS_REF_URL;#ref-images'>Images</ulink>" |
| 588 | chapter in the Yocto Project Reference Manual. |
| 589 | </para></listitem> |
| 590 | <listitem><para><emphasis>Simulate Your Image Using QEMU:</emphasis> |
| 591 | Once this particular image is built, you can start QEMU |
| 592 | and run the image: |
| 593 | <literallayout class='monospaced'> |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 594 | $ runqemu qemux86 |
Patrick Williams | c0f7c04 | 2017-02-23 20:41:17 -0600 | [diff] [blame] | 595 | </literallayout> |
| 596 | If you want to learn more about running QEMU, see the |
| 597 | "<ulink url="&YOCTO_DOCS_DEV_URL;#dev-manual-qemu">Using the Quick EMUlator (QEMU)</ulink>" |
| 598 | chapter in the Yocto Project Development Manual. |
| 599 | </para></listitem> |
| 600 | <listitem><para><emphasis>Exit QEMU:</emphasis> |
| 601 | Exit QEMU by either clicking on the shutdown icon or by |
| 602 | opening a terminal, typing |
| 603 | <filename>poweroff</filename>, and then pressing "Enter". |
| 604 | </para></listitem> |
| 605 | </orderedlist> |
| 606 | </para> |
| 607 | </section> |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 608 | |
Patrick Williams | c0f7c04 | 2017-02-23 20:41:17 -0600 | [diff] [blame] | 609 | <section id='building-an-image-for-hardware'> |
| 610 | <title>Building an Image for Hardware</title> |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 611 | |
Patrick Williams | c0f7c04 | 2017-02-23 20:41:17 -0600 | [diff] [blame] | 612 | <para id='qs-minnowboard-example'> |
| 613 | The following steps show how easy it is to set up to build an |
| 614 | image for a new machine. |
| 615 | These steps build an image for the MinnowBoard MAX, which is |
| 616 | supported by the Yocto Project and the |
| 617 | <filename>meta-intel</filename> <filename>intel-corei7-64</filename> |
| 618 | and <filename>intel-core2-32</filename> Board Support Packages |
| 619 | (BSPs). |
| 620 | <note> |
| 621 | The MinnowBoard MAX ships with 64-bit firmware. |
| 622 | If you want to use the board in 32-bit mode, you must |
| 623 | download the |
| 624 | <ulink url='http://firmware.intel.com/projects/minnowboard-max'>32-bit firmware</ulink>. |
| 625 | </note> |
| 626 | </para> |
| 627 | |
| 628 | <para> |
| 629 | <orderedlist> |
| 630 | <listitem><para><emphasis>Create a Local Copy of the |
| 631 | <filename>meta-intel</filename> Repository:</emphasis> |
| 632 | Building an image for the MinnowBoard MAX requires the |
| 633 | <filename>meta-intel</filename> layer. |
| 634 | Use the <filename>git clone</filename> command to create |
| 635 | a local copy of the repository inside your |
| 636 | <ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink>, |
| 637 | which is <filename>poky</filename> in this example: |
| 638 | <literallayout class='monospaced'> |
Patrick Williams | d8c66bc | 2016-06-20 12:57:21 -0500 | [diff] [blame] | 639 | $ cd $HOME/poky |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 640 | $ git clone git://git.yoctoproject.org/meta-intel |
| 641 | Cloning into 'meta-intel'... |
Patrick Williams | d8c66bc | 2016-06-20 12:57:21 -0500 | [diff] [blame] | 642 | remote: Counting objects: 11988, done. |
| 643 | remote: Compressing objects: 100% (3884/3884), done. |
| 644 | Receiving objects: 100% (11988/11988), 2.93 MiB | 2.51 MiB/s, done. |
| 645 | remote: Total 11988 (delta 6881), reused 11752 (delta 6645) |
| 646 | Resolving deltas: 100% (6881/6881), done. |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 647 | Checking connectivity... done. |
Patrick Williams | c0f7c04 | 2017-02-23 20:41:17 -0600 | [diff] [blame] | 648 | </literallayout> |
| 649 | By default when you clone a Git repository, the |
| 650 | "master" branch is checked out. |
| 651 | Before you build your image that uses the |
| 652 | <filename>meta-intel</filename> layer, you must be |
| 653 | sure that both repositories |
| 654 | (<filename>meta-intel</filename> and |
| 655 | <filename>poky</filename>) are using the same releases. |
| 656 | Consequently, you need to checkout out the |
| 657 | "<filename>&DISTRO_NAME_NO_CAP;</filename>" release after |
| 658 | cloning <filename>meta-intel</filename>: |
| 659 | <literallayout class='monospaced'> |
Patrick Williams | d8c66bc | 2016-06-20 12:57:21 -0500 | [diff] [blame] | 660 | $ cd $HOME/poky/meta-intel |
| 661 | $ git checkout &DISTRO_NAME_NO_CAP; |
| 662 | Branch &DISTRO_NAME_NO_CAP; set up to track remote branch &DISTRO_NAME_NO_CAP; from origin. |
| 663 | Switched to a new branch '&DISTRO_NAME_NO_CAP;' |
Patrick Williams | c0f7c04 | 2017-02-23 20:41:17 -0600 | [diff] [blame] | 664 | </literallayout> |
| 665 | </para></listitem> |
| 666 | <listitem><para><emphasis>Configure the Build:</emphasis> |
| 667 | To configure the build, you edit the |
| 668 | <filename>bblayers.conf</filename> and |
| 669 | <filename>local.conf</filename> files, both of which are |
| 670 | located in the <filename>build/conf</filename> directory. |
| 671 | </para> |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 672 | |
Patrick Williams | c0f7c04 | 2017-02-23 20:41:17 -0600 | [diff] [blame] | 673 | <para>Here is a quick way to make the edits. |
| 674 | The first command uses the |
| 675 | <filename>bitbake-layers add-layer</filename> command |
| 676 | to add the <filename>meta-intel</filename> |
| 677 | layer, which contains the <filename>intel-core*</filename> |
| 678 | BSPs to the build. |
| 679 | The second command selects the BSP by setting the |
| 680 | <ulink url='&YOCTO_DOCS_REF_URL;#var-MACHINE'><filename>MACHINE</filename></ulink> |
| 681 | variable. |
| 682 | <literallayout class='monospaced'> |
Patrick Williams | d8c66bc | 2016-06-20 12:57:21 -0500 | [diff] [blame] | 683 | $ cd $HOME/poky/build |
| 684 | $ bitbake-layers add-layer "$HOME/poky/meta-intel" |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 685 | $ echo 'MACHINE = "intel-corei7-64"' >> conf/local.conf |
Patrick Williams | c0f7c04 | 2017-02-23 20:41:17 -0600 | [diff] [blame] | 686 | </literallayout> |
| 687 | <note><title>Notes</title> |
| 688 | <para> |
| 689 | If you want a 64-bit build, use the following: |
| 690 | <literallayout class='monospaced'> |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 691 | $ echo 'MACHINE = "intel-corei7-64"' >> conf/local.conf |
Patrick Williams | c0f7c04 | 2017-02-23 20:41:17 -0600 | [diff] [blame] | 692 | </literallayout> |
| 693 | </para> |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 694 | |
Patrick Williams | c0f7c04 | 2017-02-23 20:41:17 -0600 | [diff] [blame] | 695 | <para> |
| 696 | If you want 32-bit images, use the following: |
| 697 | <literallayout class='monospaced'> |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 698 | $ echo 'MACHINE = "intel-core2-32"' >> conf/local.conf |
Patrick Williams | c0f7c04 | 2017-02-23 20:41:17 -0600 | [diff] [blame] | 699 | </literallayout> |
| 700 | </para> |
| 701 | </note> |
| 702 | </para></listitem> |
| 703 | <listitem><para><emphasis>Build an Image for MinnowBoard MAX:</emphasis> |
| 704 | The type of image you build depends on your goals. |
| 705 | For example, the previous build created a |
| 706 | <filename>core-image-sato</filename> image, which is an |
| 707 | image with Sato support. |
| 708 | It is possible to build many image types for the |
| 709 | MinnowBoard MAX. |
| 710 | Some possibilities are <filename>core-image-base</filename>, |
| 711 | which is a console-only image. |
| 712 | Another choice could be a |
| 713 | <filename>core-image-full-cmdline</filename>, which is |
| 714 | another console-only image but has more full-features |
| 715 | Linux system functionality installed. |
| 716 | For types of images you can build using the Yocto |
| 717 | Project, see the |
| 718 | "<ulink url='&YOCTO_DOCS_REF_URL;#ref-images'>Images</ulink>" |
| 719 | chapter in the Yocto Project Reference Manual.</para> |
| 720 | <para>Because configuration changes are minimal to set up |
| 721 | for this second build, the OpenEmbedded build system can |
| 722 | re-use files from previous builds as much as possible. |
| 723 | Re-using files means this second build will be much faster |
| 724 | than an initial build. |
| 725 | For this example, the <filename>core-image-base</filename> |
| 726 | image is built: |
| 727 | <literallayout class='monospaced'> |
| 728 | $ bitbake core-image-base |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 729 | </literallayout> |
Patrick Williams | c0f7c04 | 2017-02-23 20:41:17 -0600 | [diff] [blame] | 730 | Once the build completes, the resulting console-only image |
| 731 | is located in the Build Directory here: |
| 732 | <literallayout class='monospaced'> |
Brad Bishop | 37a0e4d | 2017-12-04 01:01:44 -0500 | [diff] [blame^] | 733 | tmp/deploy/images/intel-corei7-64/core-image-base-intel-corei7-64.wic |
Patrick Williams | c0f7c04 | 2017-02-23 20:41:17 -0600 | [diff] [blame] | 734 | </literallayout> |
| 735 | </para></listitem> |
| 736 | <listitem><para><emphasis>Write the Image:</emphasis> |
| 737 | You can write the image just built to a bootable media |
| 738 | (e.g. a USB key, SATA drive, SD card, etc.) using the |
| 739 | <filename>dd</filename> utility: |
| 740 | <literallayout class='monospaced'> |
Brad Bishop | 37a0e4d | 2017-12-04 01:01:44 -0500 | [diff] [blame^] | 741 | $ sudo dd if=tmp/deploy/images/intel-corei7-64/core-image-base-intel-corei7-64.wic of=TARGET_DEVICE |
Patrick Williams | c0f7c04 | 2017-02-23 20:41:17 -0600 | [diff] [blame] | 742 | </literallayout> |
| 743 | In the previous command, the |
| 744 | <filename>TARGET_DEVICE</filename> is the device node in |
| 745 | the host machine (e.g. <filename>/dev/sdc</filename>, which |
| 746 | is most likely a USB stick, or |
| 747 | <filename>/dev/mmcblk0</filename>, which is most likely an |
Brad Bishop | 37a0e4d | 2017-12-04 01:01:44 -0500 | [diff] [blame^] | 748 | SD card). |
Patrick Williams | c0f7c04 | 2017-02-23 20:41:17 -0600 | [diff] [blame] | 749 | </para></listitem> |
| 750 | <listitem><para><emphasis>Boot the Hardware:</emphasis> |
| 751 | With the boot device provisioned, you can insert the |
| 752 | media into the MinnowBoard MAX and boot the hardware. |
| 753 | The board should automatically detect the media and boot to |
| 754 | the bootloader and subsequently the operating system. |
| 755 | </para> |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 756 | |
Patrick Williams | c0f7c04 | 2017-02-23 20:41:17 -0600 | [diff] [blame] | 757 | <para>If the board does not boot automatically, you can |
| 758 | boot it manually from the EFI shell as follows: |
| 759 | <literallayout class='monospaced'> |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 760 | Shell> connect -r |
| 761 | Shell> map -r |
| 762 | Shell> fs0: |
| 763 | Shell> bootx64 |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 764 | </literallayout> |
Patrick Williams | c0f7c04 | 2017-02-23 20:41:17 -0600 | [diff] [blame] | 765 | <note> |
| 766 | For a 32-bit image use the following: |
| 767 | <literallayout class='monospaced'> |
| 768 | Shell> bootia32 |
| 769 | </literallayout> |
| 770 | </note> |
| 771 | </para></listitem> |
| 772 | </orderedlist> |
| 773 | </para> |
| 774 | </section> |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 775 | </section> |
| 776 | |
| 777 | <section id='qs-next-steps'> |
| 778 | <title>Next Steps</title> |
| 779 | |
| 780 | <para> |
| 781 | If you completed all the steps in the previous section then |
Patrick Williams | d8c66bc | 2016-06-20 12:57:21 -0500 | [diff] [blame] | 782 | congratulations! |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 783 | What now? |
| 784 | </para> |
| 785 | |
| 786 | <para> |
| 787 | Depending on what you primary interests are with the Yocto Project, |
| 788 | you could consider any of the following: |
| 789 | <itemizedlist> |
| 790 | <listitem><para><emphasis>Visit the Yocto Project Web Site:</emphasis> |
| 791 | The official |
| 792 | <ulink url='&YOCTO_HOME_URL;'>Yocto Project</ulink> |
| 793 | web site contains information on the entire project. |
| 794 | Visiting this site is a good way to familiarize yourself |
| 795 | with the overall project. |
| 796 | </para></listitem> |
Patrick Williams | d8c66bc | 2016-06-20 12:57:21 -0500 | [diff] [blame] | 797 | <listitem><para><emphasis>Look Through the Yocto Project Development Manual:</emphasis> |
| 798 | The |
| 799 | <ulink url='&YOCTO_DOCS_DEV_URL;#dev-manual-intro'>Yocto Project Development Manual</ulink> |
| 800 | is a great place to get a feel for how to use the Yocto |
| 801 | Project. |
| 802 | The manual contains conceptual and procedural information |
| 803 | that covers |
| 804 | <ulink url='&YOCTO_DOCS_DEV_URL;#dev-manual-model'>common development models</ulink> |
| 805 | and introduces |
| 806 | <ulink url='&YOCTO_DOCS_DEV_URL;#dev-manual-newbie'>the Yocto Project open source development environment</ulink>. |
| 807 | The manual also contains several targeted sections that |
| 808 | cover specific |
| 809 | <ulink url='&YOCTO_DOCS_DEV_URL;#extendpoky'>common tasks</ulink> |
| 810 | such as understanding and creating layers, customizing |
| 811 | images, writing new recipes, working with libraries, and |
| 812 | configuring and patching the kernel. |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 813 | </para></listitem> |
Patrick Williams | d8c66bc | 2016-06-20 12:57:21 -0500 | [diff] [blame] | 814 | <listitem><para><emphasis>Look Through the Yocto Project Software Development Kit (SDK) Developer's Guide:</emphasis> |
| 815 | The |
| 816 | <ulink url='&YOCTO_DOCS_SDK_URL;#sdk-intro'>Yocto Project Software Development Kit (SDK) Developer's Guide</ulink> |
| 817 | describes how to use both the |
| 818 | <ulink url='&YOCTO_DOCS_SDK_URL;#sdk-using-the-standard-sdk'>standard SDK</ulink> |
| 819 | and the |
| 820 | <ulink url='&YOCTO_DOCS_SDK_URL;#sdk-extensible'>extensible SDK</ulink>, |
| 821 | which are used primarily for application development. |
| 822 | This manual also provides an example workflow that uses |
| 823 | the popular <trademark class='trade'>Eclipse</trademark> |
| 824 | development environment. |
| 825 | See the |
| 826 | "<ulink url='&YOCTO_DOCS_SDK_URL;#workflow-using-eclipse'>Workflow using Eclipseâ„¢</ulink>" |
| 827 | section. |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 828 | </para></listitem> |
| 829 | <listitem><para><emphasis>Learn About Board Support Packages (BSPs):</emphasis> |
| 830 | If you want to learn about BSPs, see the |
| 831 | <ulink url='&YOCTO_DOCS_BSP_URL;#bsp'>Yocto Project Board Support Packages (BSP) Developer's Guide</ulink>. |
| 832 | </para></listitem> |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 833 | <listitem><para><emphasis>Learn About Toaster:</emphasis> |
| 834 | Toaster is a web interface to the Yocto Project's |
| 835 | OpenEmbedded build system. |
| 836 | If you are interested in using this type of interface to |
| 837 | create images, see the |
| 838 | <ulink url='&YOCTO_DOCS_TOAST_URL;#toaster-manual-intro'>Toaster User Manual</ulink>. |
| 839 | </para></listitem> |
Patrick Williams | d8c66bc | 2016-06-20 12:57:21 -0500 | [diff] [blame] | 840 | <listitem><para><emphasis>Have Available the Yocto Project Reference Manual</emphasis> |
| 841 | The |
| 842 | <ulink url='&YOCTO_DOCS_REF_URL;#ref-manual-intro'>Yocto Project Reference Manual</ulink>, |
| 843 | unlike the rest of the Yocto Project manual set, is |
| 844 | comprised of material suited for reference rather than |
| 845 | procedures. |
| 846 | You can get |
| 847 | <ulink url='&YOCTO_DOCS_REF_URL;#usingpoky'>build details</ulink>, |
| 848 | a |
| 849 | <ulink url='&YOCTO_DOCS_REF_URL;#closer-look'>closer look</ulink> |
| 850 | at how the pieces of the Yocto Project development |
| 851 | environment work together, information on various |
| 852 | <ulink url='&YOCTO_DOCS_REF_URL;#technical-details'>technical details</ulink>, |
| 853 | guidance on |
| 854 | <ulink url='&YOCTO_DOCS_REF_URL;#migration'>migrating to a newer Yocto Project release</ulink>, |
| 855 | reference material on the |
| 856 | <ulink url='&YOCTO_DOCS_REF_URL;#ref-structure'>directory structure</ulink>, |
| 857 | <ulink url='&YOCTO_DOCS_REF_URL;#ref-classes'>classes</ulink>, |
| 858 | and |
| 859 | <ulink url='&YOCTO_DOCS_REF_URL;#ref-tasks'>tasks</ulink>. |
| 860 | The Yocto Project Reference Manual also contains a fairly |
| 861 | comprehensive |
| 862 | <ulink url='&YOCTO_DOCS_REF_URL;#ref-variables-glossary'>glossary of variables</ulink> |
| 863 | used within the Yocto Project. |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 864 | </para></listitem> |
| 865 | </itemizedlist> |
| 866 | </para> |
| 867 | </section> |
| 868 | </article> |
| 869 | <!-- |
| 870 | vim: expandtab tw=80 ts=4 |
| 871 | --> |