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> |
Brad Bishop | d7bf8c1 | 2018-02-25 22:55:05 -0500 | [diff] [blame] | 19 | <note><title>Manual Notes</title> |
| 20 | <itemizedlist> |
| 21 | <listitem><para> |
| 22 | This version of the |
| 23 | <emphasis>Yocto Project Quick Start</emphasis> |
| 24 | is for the &YOCTO_DOC_VERSION; release of the |
| 25 | Yocto Project. |
| 26 | To be sure you have the latest version of the manual |
| 27 | for this release, use the manual from the |
| 28 | <ulink url='&YOCTO_HOME_URL;/documentation'>Yocto Project documentation page</ulink>. |
| 29 | </para></listitem> |
| 30 | <listitem><para> |
| 31 | For manuals associated with other releases of the Yocto |
| 32 | Project, go to the |
| 33 | <ulink url='&YOCTO_HOME_URL;/documentation'>Yocto Project documentation page</ulink> |
| 34 | and use the drop-down "Active Releases" button |
| 35 | and choose the manual associated with the desired |
| 36 | Yocto Project. |
| 37 | </para></listitem> |
| 38 | <listitem><para> |
| 39 | To report any inaccuracies or problems with this |
| 40 | manual, send an email to the Yocto Project |
| 41 | discussion group at |
| 42 | <filename>yocto@yoctoproject.com</filename> or log into |
| 43 | the freenode <filename>#yocto</filename> channel. |
Brad Bishop | 6e60e8b | 2018-02-01 10:27:11 -0500 | [diff] [blame] | 44 | </para></listitem> |
Brad Bishop | d7bf8c1 | 2018-02-25 22:55:05 -0500 | [diff] [blame] | 45 | </itemizedlist> |
| 46 | </note> |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 47 | </legalnotice> |
| 48 | |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 49 | <abstract> |
| 50 | <imagedata fileref="figures/yocto-project-transp.png" |
| 51 | width="6in" depth="1in" |
| 52 | align="right" scale="25" /> |
| 53 | </abstract> |
| 54 | </articleinfo> |
| 55 | |
| 56 | <section id='welcome'> |
| 57 | <title>Welcome!</title> |
| 58 | <para> |
| 59 | Welcome to the Yocto Project! |
| 60 | The Yocto Project is an open-source collaboration project whose |
| 61 | focus is developers of embedded Linux systems. |
| 62 | Among other things, the Yocto Project uses a build host based |
| 63 | on the OpenEmbedded (OE) project, which uses the |
Brad Bishop | d7bf8c1 | 2018-02-25 22:55:05 -0500 | [diff] [blame] | 64 | <ulink url='&YOCTO_DOCS_REF_URL;#bitbake-term'>BitBake</ulink> |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 65 | tool, to construct complete Linux images. |
Brad Bishop | d7bf8c1 | 2018-02-25 22:55:05 -0500 | [diff] [blame] | 66 | The BitBake and OE components combine together to form |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 67 | a reference build host, historically known as |
Brad Bishop | d7bf8c1 | 2018-02-25 22:55:05 -0500 | [diff] [blame] | 68 | <ulink url='&YOCTO_DOCS_REF_URL;#poky'>Poky</ulink> |
| 69 | (<emphasis>Pah</emphasis>-kee). |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 70 | </para> |
| 71 | |
| 72 | <para> |
Patrick Williams | d8c66bc | 2016-06-20 12:57:21 -0500 | [diff] [blame] | 73 | This quick start is written so that you can quickly get a |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 74 | build host set up to use the Yocto Project and then build some |
| 75 | Linux images. |
| 76 | Rather than go into great detail about the Yocto Project and its |
| 77 | many capabilities, this quick start provides the minimal |
Brad Bishop | d7bf8c1 | 2018-02-25 22:55:05 -0500 | [diff] [blame] | 78 | information you need to try out the Yocto Project using either a |
| 79 | supported Linux build host or a build host set up to use |
| 80 | <ulink url='https://git.yoctoproject.org/cgit/cgit.cgi/crops/about/'>CROPS</ulink>, |
| 81 | which leverages |
| 82 | <ulink url='https://www.docker.com/'>Docker Containers</ulink>. |
| 83 | </para> |
| 84 | |
| 85 | <para> |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 86 | Reading and using the quick start should result in you having a |
| 87 | basic understanding of what the Yocto Project is and how to use |
| 88 | some of its core components. |
| 89 | You will also have worked through steps to produce two images: |
Brad Bishop | d7bf8c1 | 2018-02-25 22:55:05 -0500 | [diff] [blame] | 90 | one that runs on the emulator (QEMU) and one that boots on actual |
| 91 | hardware (i.e. MinnowBoard Turbot). |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 92 | The examples highlight the ease with which you can use the |
| 93 | Yocto Project to create images for multiple types of hardware. |
| 94 | </para> |
| 95 | |
| 96 | <para> |
Brad Bishop | d7bf8c1 | 2018-02-25 22:55:05 -0500 | [diff] [blame] | 97 | The following list directs you to key sections of this |
| 98 | quick start: |
| 99 | <itemizedlist> |
| 100 | <listitem><para> |
| 101 | <ulink url='http://www.yoctoproject.org/docs/2.4/yocto-project-qs/yocto-project-qs.html#yp-resources'>Setting Up to Use the Yocto Project</ulink> |
| 102 | </para></listitem> |
| 103 | <listitem><para> |
| 104 | <ulink url='http://www.yoctoproject.org/docs/2.4/yocto-project-qs/yocto-project-qs.html#building-an-image-for-emulation'>Building an Image for Emulation</ulink> |
| 105 | </para></listitem> |
| 106 | <listitem><para> |
| 107 | <ulink url='http://www.yoctoproject.org/docs/2.4/yocto-project-qs/yocto-project-qs.html#building-an-image-for-hardware'>Building an Image for Hardware</ulink> |
| 108 | </para></listitem> |
| 109 | </itemizedlist> |
| 110 | <!-- |
| 111 | <note> |
| 112 | If you do not have a system that runs Linux and you want to give |
| 113 | the Yocto Project a test run, you might consider using the Yocto |
| 114 | Project Build Appliance. |
| 115 | The Build Appliance allows you to build and boot a custom |
| 116 | embedded Linux image with the Yocto Project using a non-Linux |
| 117 | development system. |
| 118 | See the |
| 119 | <ulink url='https://www.yoctoproject.org/tools-resources/projects/build-appliance'>Yocto Project Build Appliance</ulink> |
| 120 | for more information. |
| 121 | </note> |
| 122 | --> |
| 123 | </para> |
| 124 | |
| 125 | <para> |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 126 | For more detailed information on the Yocto Project, you can |
| 127 | reference these resources: |
| 128 | <itemizedlist> |
Brad Bishop | d7bf8c1 | 2018-02-25 22:55:05 -0500 | [diff] [blame] | 129 | <listitem><para> |
| 130 | <emphasis>Website:</emphasis> |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 131 | The |
| 132 | <ulink url='&YOCTO_HOME_URL;'>Yocto Project Website</ulink> |
Brad Bishop | d7bf8c1 | 2018-02-25 22:55:05 -0500 | [diff] [blame] | 133 | provides background information, the latest builds, breaking |
| 134 | news, full development documentation, and access to a rich |
| 135 | Yocto Project Development Community into which you can tap. |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 136 | </para></listitem> |
Brad Bishop | d7bf8c1 | 2018-02-25 22:55:05 -0500 | [diff] [blame] | 137 | <listitem><para> |
| 138 | <emphasis>Yocto Project Development Environment Overview:</emphasis> |
| 139 | The |
| 140 | "<ulink url='&YOCTO_DOCS_REF_URL;#yp-intro'>Introducing the Yocto Project Development Environment</ulink>" |
| 141 | section presents an overview of the Yocto Project |
| 142 | development environment. |
| 143 | </para></listitem> |
| 144 | <listitem><para> |
| 145 | <emphasis>FAQs:</emphasis> |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 146 | Lists commonly asked Yocto Project questions and answers. |
| 147 | You can find two FAQs: |
| 148 | <ulink url='&YOCTO_WIKI_URL;/wiki/FAQ'>Yocto Project FAQ</ulink> |
| 149 | on a wiki, and the |
| 150 | "<ulink url='&YOCTO_DOCS_REF_URL;#faq'>FAQ</ulink>" |
| 151 | chapter in the Yocto Project Reference Manual. |
| 152 | </para></listitem> |
Brad Bishop | d7bf8c1 | 2018-02-25 22:55:05 -0500 | [diff] [blame] | 153 | <listitem><para> |
| 154 | <emphasis>Developer Screencast:</emphasis> |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 155 | The |
| 156 | <ulink url='http://vimeo.com/36450321'>Getting Started with the Yocto Project - New Developer Screencast Tutorial</ulink> |
| 157 | provides a 30-minute video created for users unfamiliar |
| 158 | with the Yocto Project but familiar with Linux build |
| 159 | hosts. |
| 160 | While this screencast is somewhat dated, the introductory |
| 161 | and fundamental concepts are useful for the beginner. |
| 162 | </para></listitem> |
Brad Bishop | d7bf8c1 | 2018-02-25 22:55:05 -0500 | [diff] [blame] | 163 | <listitem><para> |
| 164 | <emphasis>Comprehensive List of Links and Other Documentation:</emphasis> |
| 165 | The |
| 166 | "<ulink url='&YOCTO_DOCS_REF_URL;#resources-links-and-related-documentation'>Links and Related Documentation</ulink>" |
| 167 | section in the Yocto Project Reference Manual provides a |
| 168 | comprehensive list of related links and documentation. |
| 169 | </para></listitem> |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 170 | </itemizedlist> |
| 171 | </para> |
| 172 | </section> |
| 173 | |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 174 | <section id='yp-resources'> |
| 175 | <title>Setting Up to Use the Yocto Project</title> |
| 176 | |
| 177 | <para> |
Brad Bishop | d7bf8c1 | 2018-02-25 22:55:05 -0500 | [diff] [blame] | 178 | Setting up to use the Yocto Project involves getting your build |
| 179 | host ready. |
| 180 | If you have a native Linux machine that runs a Yocto Project |
| 181 | supported distribution as described by the |
| 182 | "<ulink url='&YOCTO_DOCS_REF_URL;#detailed-supported-distros'>Supported Linux Distributions</ulink>" |
| 183 | section in the Yocto Project Reference Manual, you can prepare |
| 184 | that machine as your build host. |
| 185 | See the |
| 186 | "<link linkend='qs-native-linux-build-host'>Using a Native Linux Machine</link>" |
| 187 | section for more information. |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 188 | </para> |
| 189 | |
Brad Bishop | d7bf8c1 | 2018-02-25 22:55:05 -0500 | [diff] [blame] | 190 | <para> |
| 191 | If you do not want to use the Yocto Project on a native Linux |
| 192 | machine, you can prepare your build host to use |
| 193 | <ulink url='https://git.yoctoproject.org/cgit/cgit.cgi/crops/about/'>CROPS</ulink>, |
| 194 | which leverages |
| 195 | <ulink url='https://www.docker.com/'>Docker Containers</ulink>. |
| 196 | You can set up a build host for Windows, Mac, and Linux |
| 197 | machines. |
| 198 | See the |
| 199 | "<link linkend='qs-crops-build-host'>Using CROPS and Containers</link>" |
| 200 | section for more information. |
| 201 | </para> |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 202 | |
Brad Bishop | d7bf8c1 | 2018-02-25 22:55:05 -0500 | [diff] [blame] | 203 | <section id='qs-crops-build-host'> |
| 204 | <title>Using CROPS and Containers</title> |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 205 | |
| 206 | <para> |
Brad Bishop | d7bf8c1 | 2018-02-25 22:55:05 -0500 | [diff] [blame] | 207 | Follow these steps to get your build host set up with a |
| 208 | Poky container that you can use to complete the build |
| 209 | examples further down in the Quick Start: |
| 210 | <orderedlist> |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 211 | <listitem><para> |
Brad Bishop | d7bf8c1 | 2018-02-25 22:55:05 -0500 | [diff] [blame] | 212 | <emphasis>Set Up to use CROss PlatformS (CROPS):</emphasis> |
| 213 | Work through the first six steps of the procedure |
| 214 | in the |
| 215 | "<ulink url='&YOCTO_DOCS_DEV_URL;#setting-up-to-use-crops'>Setting Up to Use CROss PlatformS (CROPS)</ulink>" |
| 216 | section of the Yocto Project Development Tasks Manual. |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 217 | </para></listitem> |
| 218 | <listitem><para> |
Brad Bishop | d7bf8c1 | 2018-02-25 22:55:05 -0500 | [diff] [blame] | 219 | <emphasis>Set Up the Poky Container to Use the Yocto Project:</emphasis> |
| 220 | Go to |
| 221 | <ulink url='https://github.com/crops/poky-container/blob/master/README.md'></ulink> |
| 222 | and follow the directions to set up the Poky container |
| 223 | on your build host.</para> |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 224 | |
Brad Bishop | d7bf8c1 | 2018-02-25 22:55:05 -0500 | [diff] [blame] | 225 | <para>Once you complete the setup instructions for your |
| 226 | machine, you need to get a copy of the |
| 227 | <filename>poky</filename> repository on your build |
| 228 | host. |
| 229 | See the |
| 230 | "<link linkend='releases'>Yocto Project Release</link>" |
| 231 | section to continue. |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 232 | </para></listitem> |
Brad Bishop | d7bf8c1 | 2018-02-25 22:55:05 -0500 | [diff] [blame] | 233 | </orderedlist> |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 234 | </para> |
| 235 | </section> |
| 236 | |
Brad Bishop | d7bf8c1 | 2018-02-25 22:55:05 -0500 | [diff] [blame] | 237 | <section id='qs-native-linux-build-host'> |
| 238 | <title>Using a Native Linux Machine</title> |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 239 | |
| 240 | <para> |
Brad Bishop | d7bf8c1 | 2018-02-25 22:55:05 -0500 | [diff] [blame] | 241 | The following list shows what you need in order to use a |
| 242 | Linux-based build host to use the Yocto Project to build images: |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 243 | </para> |
| 244 | |
Brad Bishop | d7bf8c1 | 2018-02-25 22:55:05 -0500 | [diff] [blame] | 245 | <itemizedlist> |
| 246 | <listitem><para><emphasis>Build Host</emphasis> |
| 247 | A build host with a minimum of 50 Gbytes of free disk |
| 248 | space that is running a supported Linux distribution (i.e. |
| 249 | recent releases of Fedora, openSUSE, CentOS, Debian, or |
| 250 | Ubuntu). |
| 251 | </para></listitem> |
| 252 | <listitem><para><emphasis>Build Host Packages</emphasis> |
| 253 | Appropriate packages installed on the build host. |
| 254 | </para></listitem> |
| 255 | </itemizedlist> |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 256 | |
Brad Bishop | d7bf8c1 | 2018-02-25 22:55:05 -0500 | [diff] [blame] | 257 | <section id='the-linux-distro'> |
| 258 | <title>The Linux Distribution</title> |
| 259 | |
| 260 | <para> |
| 261 | The Yocto Project team verifies each release against recent |
| 262 | versions of the most popular Linux distributions that |
| 263 | provide stable releases. |
| 264 | In general, if you have the current release minus one of the |
| 265 | following distributions, you should have no problems. |
| 266 | <itemizedlist> |
| 267 | <listitem><para> |
| 268 | Ubuntu |
| 269 | </para></listitem> |
| 270 | <listitem><para> |
| 271 | Fedora |
| 272 | </para></listitem> |
| 273 | <listitem><para> |
| 274 | openSUSE |
| 275 | </para></listitem> |
| 276 | <listitem><para> |
| 277 | CentOS |
| 278 | </para></listitem> |
| 279 | <listitem><para> |
| 280 | Debian |
| 281 | </para></listitem> |
| 282 | </itemizedlist> |
| 283 | For a more detailed list of distributions that support the |
| 284 | Yocto Project, see the |
| 285 | "<ulink url='&YOCTO_DOCS_REF_URL;#detailed-supported-distros'>Supported Linux Distributions</ulink>" |
| 286 | section in the Yocto Project Reference Manual. |
| 287 | </para> |
| 288 | |
| 289 | <para> |
| 290 | The OpenEmbedded build system should be able to run on any |
| 291 | modern distribution that has the following versions for |
| 292 | Git, tar, and Python. |
| 293 | <itemizedlist> |
| 294 | <listitem><para> |
| 295 | Git 1.8.3.1 or greater |
| 296 | </para></listitem> |
| 297 | <listitem><para> |
| 298 | tar 1.27 or greater |
| 299 | </para></listitem> |
| 300 | <listitem><para> |
| 301 | Python 3.4.0 or greater. |
| 302 | </para></listitem> |
| 303 | </itemizedlist> |
| 304 | If your build host does not meet any of these three listed |
| 305 | version requirements, you can take steps to prepare the |
| 306 | system so that you can still use the Yocto Project. |
| 307 | See the |
| 308 | "<ulink url='&YOCTO_DOCS_REF_URL;#required-git-tar-and-python-versions'>Required Git, tar, and Python Versions</ulink>" |
| 309 | section in the Yocto Project Reference Manual for information. |
| 310 | </para> |
| 311 | </section> |
| 312 | |
| 313 | <section id='packages'> |
| 314 | <title>The Build Host Packages</title> |
| 315 | |
| 316 | <para> |
| 317 | Required build host packages vary depending on your |
| 318 | build machine and what you want to do with the Yocto Project. |
| 319 | For example, if you want to build an image that can run |
| 320 | on QEMU in graphical mode (a minimal, basic build |
| 321 | requirement), then the build host package requirements |
| 322 | are different than if you want to build an image on a headless |
| 323 | system or build out the Yocto Project documentation set. |
| 324 | </para> |
| 325 | |
| 326 | <para> |
| 327 | Collectively, the number of required packages is large |
| 328 | if you want to be able to cover all cases. |
| 329 | <note> |
| 330 | In general, you need to have root access and then install |
| 331 | the required packages. |
| 332 | Thus, the commands in the following section may or may |
| 333 | not work depending on whether or not your Linux |
| 334 | distribution has <filename>sudo</filename> installed. |
| 335 | </note> |
| 336 | </para> |
| 337 | |
| 338 | <para> |
| 339 | The following list shows the required packages needed to build |
| 340 | an image that runs on QEMU in graphical mode (e.g. essential |
| 341 | plus graphics support). |
| 342 | For lists of required packages for other scenarios, see the |
| 343 | "<ulink url='&YOCTO_DOCS_REF_URL;#required-packages-for-the-host-development-system'>Required Packages for the Host Development System</ulink>" |
| 344 | section in the Yocto Project Reference Manual. |
| 345 | <itemizedlist> |
| 346 | <listitem><para><emphasis>Ubuntu and Debian</emphasis> |
| 347 | <literallayout class='monospaced'> |
Brad Bishop | 6e60e8b | 2018-02-01 10:27:11 -0500 | [diff] [blame] | 348 | $ sudo apt-get install &UBUNTU_HOST_PACKAGES_ESSENTIAL; libsdl1.2-dev xterm |
Brad Bishop | d7bf8c1 | 2018-02-25 22:55:05 -0500 | [diff] [blame] | 349 | </literallayout> |
| 350 | </para></listitem> |
| 351 | <listitem><para><emphasis>Fedora</emphasis> |
| 352 | <literallayout class='monospaced'> |
Patrick Williams | f1e5d69 | 2016-03-30 15:21:19 -0500 | [diff] [blame] | 353 | $ sudo dnf install &FEDORA_HOST_PACKAGES_ESSENTIAL; SDL-devel xterm |
Brad Bishop | d7bf8c1 | 2018-02-25 22:55:05 -0500 | [diff] [blame] | 354 | </literallayout> |
| 355 | </para></listitem> |
| 356 | <listitem><para><emphasis>OpenSUSE</emphasis> |
| 357 | <literallayout class='monospaced'> |
Brad Bishop | 6e60e8b | 2018-02-01 10:27:11 -0500 | [diff] [blame] | 358 | $ sudo zypper install &OPENSUSE_HOST_PACKAGES_ESSENTIAL; libSDL-devel xterm |
Brad Bishop | d7bf8c1 | 2018-02-25 22:55:05 -0500 | [diff] [blame] | 359 | </literallayout> |
| 360 | </para></listitem> |
| 361 | <listitem><para><emphasis>CentOS</emphasis> |
| 362 | <literallayout class='monospaced'> |
Brad Bishop | 6e60e8b | 2018-02-01 10:27:11 -0500 | [diff] [blame] | 363 | $ sudo yum install &CENTOS_HOST_PACKAGES_ESSENTIAL; SDL-devel xterm |
Brad Bishop | d7bf8c1 | 2018-02-25 22:55:05 -0500 | [diff] [blame] | 364 | </literallayout> |
| 365 | <note><title>Notes</title> |
| 366 | <itemizedlist> |
| 367 | <listitem><para> |
| 368 | Extra Packages for Enterprise Linux |
| 369 | (i.e. <filename>epel-release</filename>) |
| 370 | is a collection of packages from Fedora |
| 371 | built on RHEL/CentOS for easy installation |
| 372 | of packages not included in enterprise |
| 373 | Linux by default. |
| 374 | You need to install these packages |
| 375 | separately. |
| 376 | </para></listitem> |
| 377 | <listitem><para> |
| 378 | The <filename>makecache</filename> command |
| 379 | consumes additional Metadata from |
| 380 | <filename>epel-release</filename>. |
| 381 | </para></listitem> |
| 382 | </itemizedlist> |
| 383 | </note> |
| 384 | </para></listitem> |
| 385 | </itemizedlist> |
| 386 | </para> |
| 387 | </section> |
| 388 | |
| 389 | <para> |
| 390 | Once you complete the setup instructions for your |
| 391 | machine, you need to get a copy of the |
| 392 | <filename>poky</filename> repository on your build |
| 393 | host. |
| 394 | Continue with the |
| 395 | "<link linkend='releases'>Yocto Project Release</link>" |
| 396 | section. |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 397 | </para> |
| 398 | </section> |
| 399 | |
| 400 | <section id='releases'> |
| 401 | <title>Yocto Project Release</title> |
| 402 | |
| 403 | <para> |
Brad Bishop | d7bf8c1 | 2018-02-25 22:55:05 -0500 | [diff] [blame] | 404 | Now that your build host has the right packages (native |
| 405 | Linux machine) or you have the Poky container set up |
| 406 | (CROPS), you need to get a copy of the Yocto Project. |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 407 | It is recommended that you get the latest Yocto Project release |
| 408 | by setting up (cloning in |
Brad Bishop | d7bf8c1 | 2018-02-25 22:55:05 -0500 | [diff] [blame] | 409 | <ulink url='&YOCTO_DOCS_REF_URL;#git'>Git</ulink> terms) a |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 410 | local copy of the <filename>poky</filename> Git repository on |
| 411 | your build host and then checking out the latest release. |
| 412 | Doing so allows you to easily update to newer Yocto Project |
| 413 | releases as well as contribute back to the Yocto Project. |
| 414 | </para> |
| 415 | |
| 416 | <para> |
Brad Bishop | d7bf8c1 | 2018-02-25 22:55:05 -0500 | [diff] [blame] | 417 | Here is an example from a native Linux machine that is |
| 418 | running Ubuntu. |
| 419 | <note> |
| 420 | If your build host is using a Poky container, you can |
| 421 | use the same Git commands. |
| 422 | </note> |
| 423 | The following example clones the <filename>poky</filename> |
| 424 | repository and then checks out the latest Yocto Project Release |
| 425 | by tag (i.e. <filename>&DISTRO_REL_TAG;</filename>): |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 426 | <literallayout class='monospaced'> |
| 427 | $ git clone git://git.yoctoproject.org/poky |
| 428 | Cloning into 'poky'... |
Brad Bishop | 6e60e8b | 2018-02-01 10:27:11 -0500 | [diff] [blame] | 429 | remote: Counting objects: 361782, done. |
| 430 | remote: Compressing objects: 100% (87100/87100), done. |
| 431 | remote: Total 361782 (delta 268619), reused 361439 (delta 268277) |
| 432 | Receiving objects: 100% (361782/361782), 131.94 MiB | 6.88 MiB/s, done. |
| 433 | Resolving deltas: 100% (268619/268619), done. |
| 434 | Checking connectivity... done. |
Brad Bishop | d7bf8c1 | 2018-02-25 22:55:05 -0500 | [diff] [blame] | 435 | $ git checkout tags/&DISTRO_REL_TAG; -b poky_&DISTRO; |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 436 | </literallayout> |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 437 | </para> |
| 438 | |
| 439 | <para> |
Brad Bishop | d7bf8c1 | 2018-02-25 22:55:05 -0500 | [diff] [blame] | 440 | The previous Git <filename>checkout</filename> command |
| 441 | creates a local branch named |
| 442 | <filename>poky_&DISTRO;</filename>. |
| 443 | The files available to you in that branch exactly match the |
| 444 | repository's files in the |
| 445 | <filename>&DISTRO_NAME_NO_CAP;</filename> |
| 446 | development branch at the time of the Yocto Project &DISTRO; |
| 447 | release. |
| 448 | <note> |
| 449 | Rather than checking out the entire development branch |
| 450 | of a release (i.e. the tip), which could be continuously |
| 451 | changing while you are doing your development, you would |
| 452 | check out a branch based on a release tag as shown in |
| 453 | the previous example. |
| 454 | Doing so provides you with an unchanging, stable set of |
| 455 | files. |
| 456 | </note> |
| 457 | </para> |
| 458 | |
| 459 | <para> |
| 460 | For more options and information about accessing Yocto |
| 461 | Project related repositories, see the |
| 462 | "<ulink url='&YOCTO_DOCS_DEV_URL;#working-with-yocto-project-source-files'>Working With Yocto Project Source Files</ulink>" |
| 463 | section in the Yocto Project Development Tasks Manual. |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 464 | </para> |
| 465 | </section> |
| 466 | </section> |
| 467 | |
| 468 | <section id='qs-building-images'> |
| 469 | <title>Building Images</title> |
| 470 | |
| 471 | <para> |
Brad Bishop | d7bf8c1 | 2018-02-25 22:55:05 -0500 | [diff] [blame] | 472 | You are now ready to give the Yocto Project a try. |
| 473 | For this example, you will be using the command line to build |
| 474 | your images. |
| 475 | <note> |
| 476 | A graphical user interface to the Yocto Project is available |
| 477 | through |
| 478 | <ulink url='&YOCTO_DOCS_REF_URL;#toaster-term'>Toaster</ulink>. |
| 479 | See the |
| 480 | <ulink url='&YOCTO_DOCS_TOAST_URL;'>Toaster User Manual</ulink> |
| 481 | for more information. |
| 482 | </note> |
Patrick Williams | d8c66bc | 2016-06-20 12:57:21 -0500 | [diff] [blame] | 483 | </para> |
| 484 | |
| 485 | <para> |
Brad Bishop | d7bf8c1 | 2018-02-25 22:55:05 -0500 | [diff] [blame] | 486 | The remainder of this quick start steps you through the |
| 487 | following: |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 488 | <itemizedlist> |
| 489 | <listitem><para> |
| 490 | Build a <filename>qemux86</filename> reference image |
| 491 | and run it in the QEMU emulator. |
| 492 | </para></listitem> |
| 493 | <listitem><para> |
| 494 | Easily change configurations so that you can quickly |
Patrick Williams | c0f7c04 | 2017-02-23 20:41:17 -0600 | [diff] [blame] | 495 | create a second image that you can load onto bootable |
| 496 | media and actually boot target hardware. |
| 497 | This example uses the MinnowBoard |
Brad Bishop | d7bf8c1 | 2018-02-25 22:55:05 -0500 | [diff] [blame] | 498 | Turbot-compatible boards. |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 499 | </para></listitem> |
| 500 | </itemizedlist> |
| 501 | <note> |
Patrick Williams | c0f7c04 | 2017-02-23 20:41:17 -0600 | [diff] [blame] | 502 | The steps in the following two sections do not provide detail, |
| 503 | but rather provide minimal, working commands and examples |
| 504 | designed to just get you started. |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 505 | For more details, see the appropriate manuals in the |
| 506 | <ulink url='&YOCTO_HOME_URL;/documentation'>Yocto Project manual set</ulink>. |
| 507 | </note> |
| 508 | </para> |
| 509 | |
Patrick Williams | c0f7c04 | 2017-02-23 20:41:17 -0600 | [diff] [blame] | 510 | <section id='building-an-image-for-emulation'> |
| 511 | <title>Building an Image for Emulation</title> |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 512 | |
Patrick Williams | c0f7c04 | 2017-02-23 20:41:17 -0600 | [diff] [blame] | 513 | <para> |
| 514 | Use the following commands to build your image. |
| 515 | The OpenEmbedded build system creates an entire Linux |
| 516 | distribution, including the toolchain, from source. |
Brad Bishop | d7bf8c1 | 2018-02-25 22:55:05 -0500 | [diff] [blame] | 517 | <note><title>Notes about Network Proxies</title> |
| 518 | <itemizedlist> |
| 519 | <listitem><para> |
| 520 | By default, the build process searches for source |
| 521 | code using a pre-determined order through a set of |
| 522 | locations. |
| 523 | If you are working behind a firewall and your build |
| 524 | host is not set up for proxies, you could encounter |
| 525 | problems with the build process when fetching source |
| 526 | code (e.g. fetcher failures or Git failures). |
| 527 | </para></listitem> |
| 528 | <listitem><para> |
| 529 | If you do not know your proxy settings, consult your |
| 530 | local network infrastructure resources and get that |
| 531 | information. |
| 532 | A good starting point could also be to check your |
| 533 | web browser settings. |
| 534 | Finally, you can find more information on using the |
| 535 | Yocto Project behind a firewall in the Yocto Project |
| 536 | Reference Manual |
| 537 | <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> |
| 538 | and on the |
| 539 | "<ulink url='https://wiki.yoctoproject.org/wiki/Working_Behind_a_Network_Proxy'>Working Behind a Network Proxy</ulink>" |
| 540 | wiki page. |
| 541 | </para></listitem> |
| 542 | </itemizedlist> |
Patrick Williams | c0f7c04 | 2017-02-23 20:41:17 -0600 | [diff] [blame] | 543 | </note> |
| 544 | </para> |
| 545 | |
| 546 | <para> |
| 547 | <orderedlist> |
Brad Bishop | d7bf8c1 | 2018-02-25 22:55:05 -0500 | [diff] [blame] | 548 | <listitem><para> |
| 549 | <emphasis>Be Sure Your Build Host is Set Up:</emphasis> |
Patrick Williams | c0f7c04 | 2017-02-23 20:41:17 -0600 | [diff] [blame] | 550 | The steps to build an image in this section depend on |
| 551 | your build host being properly set up. |
| 552 | Be sure you have worked through the requirements |
| 553 | described in the |
| 554 | "<link linkend='yp-resources'>Setting Up to Use the Yocto Project</link>" |
| 555 | section. |
| 556 | </para></listitem> |
Brad Bishop | d7bf8c1 | 2018-02-25 22:55:05 -0500 | [diff] [blame] | 557 | <listitem><para> |
| 558 | <emphasis>Check Out Your Branch:</emphasis> |
Patrick Williams | c0f7c04 | 2017-02-23 20:41:17 -0600 | [diff] [blame] | 559 | Be sure you are in the |
Brad Bishop | d7bf8c1 | 2018-02-25 22:55:05 -0500 | [diff] [blame] | 560 | <ulink url='&YOCTO_DOCS_REF_URL;#source-directory'>Source Directory</ulink> |
Patrick Williams | c0f7c04 | 2017-02-23 20:41:17 -0600 | [diff] [blame] | 561 | (e.g. <filename>poky</filename>) and then check out |
| 562 | the branch associated with the latest Yocto Project |
| 563 | Release: |
| 564 | <literallayout class='monospaced'> |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 565 | $ cd ~/poky |
Patrick Williams | d8c66bc | 2016-06-20 12:57:21 -0500 | [diff] [blame] | 566 | $ git checkout -b &DISTRO_NAME_NO_CAP; origin/&DISTRO_NAME_NO_CAP; |
Patrick Williams | c0f7c04 | 2017-02-23 20:41:17 -0600 | [diff] [blame] | 567 | </literallayout> |
| 568 | Git's <filename>checkout</filename> command checks out |
| 569 | the current Yocto Project release into a local branch |
| 570 | whose name matches the release (i.e. |
| 571 | <filename>&DISTRO_NAME_NO_CAP;</filename>). |
| 572 | The local branch tracks the upstream branch of the |
| 573 | same name. |
| 574 | Creating your own branch based on the released |
| 575 | branch ensures you are using the latest files for |
| 576 | that release. |
| 577 | </para></listitem> |
Brad Bishop | d7bf8c1 | 2018-02-25 22:55:05 -0500 | [diff] [blame] | 578 | <listitem><para> |
| 579 | <emphasis>Initialize the Build Environment:</emphasis> |
Patrick Williams | c0f7c04 | 2017-02-23 20:41:17 -0600 | [diff] [blame] | 580 | Run the |
| 581 | <ulink url='&YOCTO_DOCS_REF_URL;#structure-core-script'><filename>&OE_INIT_FILE;</filename></ulink> |
| 582 | environment setup script to define the OpenEmbedded |
| 583 | build environment on your build host. |
| 584 | <literallayout class='monospaced'> |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 585 | $ source &OE_INIT_FILE; |
Patrick Williams | c0f7c04 | 2017-02-23 20:41:17 -0600 | [diff] [blame] | 586 | </literallayout> |
| 587 | Among other things, the script creates the |
Brad Bishop | d7bf8c1 | 2018-02-25 22:55:05 -0500 | [diff] [blame] | 588 | <ulink url='&YOCTO_DOCS_REF_URL;#build-directory'>Build Directory</ulink>, |
Patrick Williams | c0f7c04 | 2017-02-23 20:41:17 -0600 | [diff] [blame] | 589 | which is <filename>build</filename> in this case |
| 590 | and is located in the |
Brad Bishop | d7bf8c1 | 2018-02-25 22:55:05 -0500 | [diff] [blame] | 591 | <ulink url='&YOCTO_DOCS_REF_URL;#source-directory'>Source Directory</ulink>. |
Patrick Williams | c0f7c04 | 2017-02-23 20:41:17 -0600 | [diff] [blame] | 592 | After the script runs, your current working directory |
| 593 | is set to the Build Directory. |
| 594 | Later, when the build completes, the Build Directory |
| 595 | contains all the files created during the build. |
Patrick Williams | c0f7c04 | 2017-02-23 20:41:17 -0600 | [diff] [blame] | 596 | </para></listitem> |
Brad Bishop | d7bf8c1 | 2018-02-25 22:55:05 -0500 | [diff] [blame] | 597 | <listitem><para> |
| 598 | <emphasis>Examine Your Local Configuration File:</emphasis> |
Patrick Williams | c0f7c04 | 2017-02-23 20:41:17 -0600 | [diff] [blame] | 599 | When you set up the build environment, a local |
| 600 | configuration file named |
| 601 | <filename>local.conf</filename> becomes available in |
| 602 | a <filename>conf</filename> subdirectory of the |
| 603 | Build Directory. |
| 604 | Before using BitBake to start the build, you can |
| 605 | look at this file and be sure your general |
| 606 | configurations are how you want them: |
| 607 | <itemizedlist> |
| 608 | <listitem><para> |
| 609 | To help conserve disk space during builds, |
| 610 | you can add the following statement to your |
| 611 | project's configuration file, which for this |
| 612 | example is |
| 613 | <filename>poky/build/conf/local.conf</filename>. |
| 614 | Adding this statement deletes the work |
| 615 | directory used for building a recipe once the |
| 616 | recipe is built. |
| 617 | <literallayout class='monospaced'> |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 618 | INHERIT += "rm_work" |
Patrick Williams | c0f7c04 | 2017-02-23 20:41:17 -0600 | [diff] [blame] | 619 | </literallayout> |
| 620 | </para></listitem> |
| 621 | <listitem><para> |
| 622 | By default, the target machine for the build is |
| 623 | <filename>qemux86</filename>, |
| 624 | which produces an image that can be used in |
| 625 | the QEMU emulator and is targeted at an |
| 626 | <trademark class='registered'>Intel</trademark> |
| 627 | 32-bit based architecture. |
| 628 | Further on in this example, this default is |
| 629 | easily changed through the |
| 630 | <ulink url='&YOCTO_DOCS_REF_URL;#var-MACHINE'><filename>MACHINE</filename></ulink> |
| 631 | variable so that you can quickly |
| 632 | build an image for a different machine. |
| 633 | </para></listitem> |
| 634 | <listitem><para> |
| 635 | Another consideration before you build is the |
| 636 | package manager used when creating the image. |
| 637 | The default <filename>local.conf</filename> |
| 638 | file selects the RPM package manager. |
| 639 | You can control this configuration by using the |
| 640 | <filename><ulink url='&YOCTO_DOCS_REF_URL;#var-PACKAGE_CLASSES'><filename>PACKAGE_CLASSES</filename></ulink></filename> |
| 641 | variable.</para> |
| 642 | <para>Selection of the package manager is separate |
| 643 | from whether package management is used at runtime |
| 644 | in the target image.</para> |
| 645 | <para>For additional package manager selection |
| 646 | information, see the |
| 647 | "<ulink url='&YOCTO_DOCS_REF_URL;#ref-classes-package'><filename>package.bbclass</filename></ulink>" |
| 648 | section in the Yocto Project Reference Manual. |
| 649 | </para></listitem> |
| 650 | </itemizedlist> |
| 651 | </para></listitem> |
Brad Bishop | d7bf8c1 | 2018-02-25 22:55:05 -0500 | [diff] [blame] | 652 | <listitem><para> |
| 653 | <emphasis>Start the Build:</emphasis> |
Patrick Williams | c0f7c04 | 2017-02-23 20:41:17 -0600 | [diff] [blame] | 654 | Continue with the following command to build an OS image |
| 655 | for the target, which is |
| 656 | <filename>core-image-sato</filename> in this example: |
| 657 | <note> |
| 658 | Depending on the number of processors and cores, the |
| 659 | amount of RAM, the speed of your Internet connection |
Brad Bishop | 6e60e8b | 2018-02-01 10:27:11 -0500 | [diff] [blame] | 660 | and other factors, the build process could take |
| 661 | several hours the first time you run it. |
Patrick Williams | c0f7c04 | 2017-02-23 20:41:17 -0600 | [diff] [blame] | 662 | Subsequent builds run much faster since parts of the |
| 663 | build are cached. |
| 664 | </note> |
| 665 | <literallayout class='monospaced'> |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 666 | $ bitbake core-image-sato |
Patrick Williams | c0f7c04 | 2017-02-23 20:41:17 -0600 | [diff] [blame] | 667 | </literallayout> |
Brad Bishop | 6e60e8b | 2018-02-01 10:27:11 -0500 | [diff] [blame] | 668 | <note> |
| 669 | <para> |
| 670 | If you experience a build error due to resources |
| 671 | temporarily being unavailable and it appears you |
| 672 | should not be having this issue, it might be due |
| 673 | to the combination of a 4.3+ Linux kernel and |
| 674 | <filename>systemd</filename> version 228+ |
| 675 | (i.e. see this |
| 676 | <ulink url='http://unix.stackexchange.com/questions/253903/creating-threads-fails-with-resource-temporarily-unavailable-with-4-3-kernel'>link</ulink> |
| 677 | for information). |
| 678 | </para> |
| 679 | |
| 680 | <para> |
| 681 | To work around this issue, you can try either |
| 682 | of the following: |
| 683 | <itemizedlist> |
| 684 | <listitem><para> |
| 685 | Try the build again. |
| 686 | </para></listitem> |
| 687 | <listitem><para> |
| 688 | Modify the "DefaultTasksMax" |
| 689 | <filename>systemd</filename> parameter |
| 690 | by uncommenting it and setting it to |
| 691 | "infinity". |
| 692 | You can find this parameter in the |
| 693 | <filename>system.conf</filename> file |
| 694 | located in |
| 695 | <filename>/etc/systemd</filename> |
| 696 | on most systems. |
| 697 | </para></listitem> |
| 698 | </itemizedlist> |
| 699 | </para> |
| 700 | </note> |
Patrick Williams | c0f7c04 | 2017-02-23 20:41:17 -0600 | [diff] [blame] | 701 | For information on using the |
| 702 | <filename>bitbake</filename> command, see the |
| 703 | "<ulink url='&YOCTO_DOCS_REF_URL;#usingpoky-components-bitbake'>BitBake</ulink>" |
| 704 | section in the Yocto Project Reference Manual, or see the |
| 705 | "<ulink url='&YOCTO_DOCS_BB_URL;#bitbake-user-manual-command'>BitBake Command</ulink>" |
| 706 | section in the BitBake User Manual. |
| 707 | For information on other targets, see the |
| 708 | "<ulink url='&YOCTO_DOCS_REF_URL;#ref-images'>Images</ulink>" |
| 709 | chapter in the Yocto Project Reference Manual. |
| 710 | </para></listitem> |
Brad Bishop | d7bf8c1 | 2018-02-25 22:55:05 -0500 | [diff] [blame] | 711 | <listitem><para> |
| 712 | <emphasis>Simulate Your Image Using QEMU:</emphasis> |
Patrick Williams | c0f7c04 | 2017-02-23 20:41:17 -0600 | [diff] [blame] | 713 | Once this particular image is built, you can start QEMU |
| 714 | and run the image: |
| 715 | <literallayout class='monospaced'> |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 716 | $ runqemu qemux86 |
Patrick Williams | c0f7c04 | 2017-02-23 20:41:17 -0600 | [diff] [blame] | 717 | </literallayout> |
| 718 | If you want to learn more about running QEMU, see the |
| 719 | "<ulink url="&YOCTO_DOCS_DEV_URL;#dev-manual-qemu">Using the Quick EMUlator (QEMU)</ulink>" |
Brad Bishop | d7bf8c1 | 2018-02-25 22:55:05 -0500 | [diff] [blame] | 720 | chapter in the Yocto Project Development Tasks Manual. |
Patrick Williams | c0f7c04 | 2017-02-23 20:41:17 -0600 | [diff] [blame] | 721 | </para></listitem> |
Brad Bishop | d7bf8c1 | 2018-02-25 22:55:05 -0500 | [diff] [blame] | 722 | <listitem><para> |
| 723 | <emphasis>Exit QEMU:</emphasis> |
Patrick Williams | c0f7c04 | 2017-02-23 20:41:17 -0600 | [diff] [blame] | 724 | Exit QEMU by either clicking on the shutdown icon or by |
Brad Bishop | 6e60e8b | 2018-02-01 10:27:11 -0500 | [diff] [blame] | 725 | typing <filename>Ctrl-C</filename> in the QEMU |
| 726 | transcript window from which you evoked QEMU. |
Patrick Williams | c0f7c04 | 2017-02-23 20:41:17 -0600 | [diff] [blame] | 727 | </para></listitem> |
| 728 | </orderedlist> |
| 729 | </para> |
| 730 | </section> |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 731 | |
Patrick Williams | c0f7c04 | 2017-02-23 20:41:17 -0600 | [diff] [blame] | 732 | <section id='building-an-image-for-hardware'> |
| 733 | <title>Building an Image for Hardware</title> |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 734 | |
Patrick Williams | c0f7c04 | 2017-02-23 20:41:17 -0600 | [diff] [blame] | 735 | <para id='qs-minnowboard-example'> |
| 736 | The following steps show how easy it is to set up to build an |
| 737 | image for a new machine. |
Brad Bishop | d7bf8c1 | 2018-02-25 22:55:05 -0500 | [diff] [blame] | 738 | These steps build an image for the MinnowBoard Turbot, which is |
Patrick Williams | c0f7c04 | 2017-02-23 20:41:17 -0600 | [diff] [blame] | 739 | supported by the Yocto Project and the |
| 740 | <filename>meta-intel</filename> <filename>intel-corei7-64</filename> |
| 741 | and <filename>intel-core2-32</filename> Board Support Packages |
| 742 | (BSPs). |
| 743 | <note> |
Brad Bishop | d7bf8c1 | 2018-02-25 22:55:05 -0500 | [diff] [blame] | 744 | The MinnowBoard Turbot ships with 64-bit firmware. |
Patrick Williams | c0f7c04 | 2017-02-23 20:41:17 -0600 | [diff] [blame] | 745 | If you want to use the board in 32-bit mode, you must |
| 746 | download the |
| 747 | <ulink url='http://firmware.intel.com/projects/minnowboard-max'>32-bit firmware</ulink>. |
| 748 | </note> |
| 749 | </para> |
| 750 | |
| 751 | <para> |
| 752 | <orderedlist> |
Brad Bishop | d7bf8c1 | 2018-02-25 22:55:05 -0500 | [diff] [blame] | 753 | <listitem><para> |
| 754 | <emphasis>Create a Local Copy of the |
Patrick Williams | c0f7c04 | 2017-02-23 20:41:17 -0600 | [diff] [blame] | 755 | <filename>meta-intel</filename> Repository:</emphasis> |
Brad Bishop | d7bf8c1 | 2018-02-25 22:55:05 -0500 | [diff] [blame] | 756 | Building an image for the MinnowBoard Turbot requires |
| 757 | the |
Patrick Williams | c0f7c04 | 2017-02-23 20:41:17 -0600 | [diff] [blame] | 758 | <filename>meta-intel</filename> layer. |
| 759 | Use the <filename>git clone</filename> command to create |
| 760 | a local copy of the repository inside your |
Brad Bishop | d7bf8c1 | 2018-02-25 22:55:05 -0500 | [diff] [blame] | 761 | <ulink url='&YOCTO_DOCS_REF_URL;#source-directory'>Source Directory</ulink>, |
Patrick Williams | c0f7c04 | 2017-02-23 20:41:17 -0600 | [diff] [blame] | 762 | which is <filename>poky</filename> in this example: |
| 763 | <literallayout class='monospaced'> |
Patrick Williams | d8c66bc | 2016-06-20 12:57:21 -0500 | [diff] [blame] | 764 | $ cd $HOME/poky |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 765 | $ git clone git://git.yoctoproject.org/meta-intel |
| 766 | Cloning into 'meta-intel'... |
Brad Bishop | 6e60e8b | 2018-02-01 10:27:11 -0500 | [diff] [blame] | 767 | remote: Counting objects: 14039, done. |
| 768 | remote: Compressing objects: 100% (4471/4471), done. |
| 769 | remote: Total 14039 (delta 8130), reused 13837 (delta 7947) |
| 770 | Receiving objects: 100% (14039/14039), 4.27 MiB | 3.98 MiB/s, done. |
| 771 | Resolving deltas: 100% (8130/8130), done. |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 772 | Checking connectivity... done. |
Patrick Williams | c0f7c04 | 2017-02-23 20:41:17 -0600 | [diff] [blame] | 773 | </literallayout> |
| 774 | By default when you clone a Git repository, the |
| 775 | "master" branch is checked out. |
| 776 | Before you build your image that uses the |
| 777 | <filename>meta-intel</filename> layer, you must be |
| 778 | sure that both repositories |
| 779 | (<filename>meta-intel</filename> and |
| 780 | <filename>poky</filename>) are using the same releases. |
Brad Bishop | d7bf8c1 | 2018-02-25 22:55:05 -0500 | [diff] [blame] | 781 | Because you used the <filename>&DISTRO_REL_TAG;</filename> |
| 782 | tag when you checked out the <filename>poky</filename> |
| 783 | repository by tag, you should use a |
| 784 | <filename>meta-intel</filename> |
| 785 | tag that corresponds with the release you used for |
| 786 | <filename>poky</filename>. |
Patrick Williams | c0f7c04 | 2017-02-23 20:41:17 -0600 | [diff] [blame] | 787 | Consequently, you need to checkout out the |
Brad Bishop | d7bf8c1 | 2018-02-25 22:55:05 -0500 | [diff] [blame] | 788 | "<filename>&METAINTELVERSION;-&DISTRO_NAME_NO_CAP;-&YOCTO_DOC_VERSION;</filename>" |
| 789 | branch after cloning <filename>meta-intel</filename>: |
Patrick Williams | c0f7c04 | 2017-02-23 20:41:17 -0600 | [diff] [blame] | 790 | <literallayout class='monospaced'> |
Patrick Williams | d8c66bc | 2016-06-20 12:57:21 -0500 | [diff] [blame] | 791 | $ cd $HOME/poky/meta-intel |
Brad Bishop | d7bf8c1 | 2018-02-25 22:55:05 -0500 | [diff] [blame] | 792 | $ git checkout tags/&METAINTELVERSION;-&DISTRO_NAME_NO_CAP;-&YOCTO_DOC_VERSION; -b meta-intel-&DISTRO_NAME_NO_CAP;-&YOCTO_DOC_VERSION; |
| 793 | Switched to a new branch 'meta-intel-&DISTRO_NAME_NO_CAP;-&YOCTO_DOC_VERSION;' |
Patrick Williams | c0f7c04 | 2017-02-23 20:41:17 -0600 | [diff] [blame] | 794 | </literallayout> |
Brad Bishop | d7bf8c1 | 2018-02-25 22:55:05 -0500 | [diff] [blame] | 795 | The previous Git <filename>checkout</filename> command |
| 796 | creates a local branch named |
| 797 | <filename>meta-intel-&DISTRO_NAME_NO_CAP;-&YOCTO_DOC_VERSION;</filename>. |
| 798 | You have the option to name your local branch whatever |
| 799 | you want by providing any name you like for |
| 800 | "meta-intel-&DISTRO_NAME_NO_CAP;-&YOCTO_DOC_VERSION;" |
| 801 | in the above example. |
Patrick Williams | c0f7c04 | 2017-02-23 20:41:17 -0600 | [diff] [blame] | 802 | </para></listitem> |
Brad Bishop | d7bf8c1 | 2018-02-25 22:55:05 -0500 | [diff] [blame] | 803 | <listitem><para> |
| 804 | <emphasis>Configure the Build:</emphasis> |
Patrick Williams | c0f7c04 | 2017-02-23 20:41:17 -0600 | [diff] [blame] | 805 | To configure the build, you edit the |
| 806 | <filename>bblayers.conf</filename> and |
| 807 | <filename>local.conf</filename> files, both of which are |
| 808 | located in the <filename>build/conf</filename> directory. |
| 809 | </para> |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 810 | |
Patrick Williams | c0f7c04 | 2017-02-23 20:41:17 -0600 | [diff] [blame] | 811 | <para>Here is a quick way to make the edits. |
| 812 | The first command uses the |
| 813 | <filename>bitbake-layers add-layer</filename> command |
| 814 | to add the <filename>meta-intel</filename> |
| 815 | layer, which contains the <filename>intel-core*</filename> |
| 816 | BSPs to the build. |
| 817 | The second command selects the BSP by setting the |
| 818 | <ulink url='&YOCTO_DOCS_REF_URL;#var-MACHINE'><filename>MACHINE</filename></ulink> |
| 819 | variable. |
| 820 | <literallayout class='monospaced'> |
Patrick Williams | d8c66bc | 2016-06-20 12:57:21 -0500 | [diff] [blame] | 821 | $ cd $HOME/poky/build |
| 822 | $ bitbake-layers add-layer "$HOME/poky/meta-intel" |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 823 | $ echo 'MACHINE = "intel-corei7-64"' >> conf/local.conf |
Patrick Williams | c0f7c04 | 2017-02-23 20:41:17 -0600 | [diff] [blame] | 824 | </literallayout> |
| 825 | <note><title>Notes</title> |
| 826 | <para> |
| 827 | If you want a 64-bit build, use the following: |
| 828 | <literallayout class='monospaced'> |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 829 | $ echo 'MACHINE = "intel-corei7-64"' >> conf/local.conf |
Patrick Williams | c0f7c04 | 2017-02-23 20:41:17 -0600 | [diff] [blame] | 830 | </literallayout> |
| 831 | </para> |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 832 | |
Patrick Williams | c0f7c04 | 2017-02-23 20:41:17 -0600 | [diff] [blame] | 833 | <para> |
| 834 | If you want 32-bit images, use the following: |
| 835 | <literallayout class='monospaced'> |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 836 | $ echo 'MACHINE = "intel-core2-32"' >> conf/local.conf |
Patrick Williams | c0f7c04 | 2017-02-23 20:41:17 -0600 | [diff] [blame] | 837 | </literallayout> |
| 838 | </para> |
| 839 | </note> |
| 840 | </para></listitem> |
Brad Bishop | d7bf8c1 | 2018-02-25 22:55:05 -0500 | [diff] [blame] | 841 | <listitem><para> |
| 842 | <emphasis>Build an Image for MinnowBoard |
| 843 | Turbot:</emphasis> |
Patrick Williams | c0f7c04 | 2017-02-23 20:41:17 -0600 | [diff] [blame] | 844 | The type of image you build depends on your goals. |
| 845 | For example, the previous build created a |
| 846 | <filename>core-image-sato</filename> image, which is an |
| 847 | image with Sato support. |
| 848 | It is possible to build many image types for the |
Brad Bishop | d7bf8c1 | 2018-02-25 22:55:05 -0500 | [diff] [blame] | 849 | MinnowBoard Turbot. |
Patrick Williams | c0f7c04 | 2017-02-23 20:41:17 -0600 | [diff] [blame] | 850 | Some possibilities are <filename>core-image-base</filename>, |
| 851 | which is a console-only image. |
| 852 | Another choice could be a |
| 853 | <filename>core-image-full-cmdline</filename>, which is |
| 854 | another console-only image but has more full-features |
| 855 | Linux system functionality installed. |
| 856 | For types of images you can build using the Yocto |
| 857 | Project, see the |
| 858 | "<ulink url='&YOCTO_DOCS_REF_URL;#ref-images'>Images</ulink>" |
| 859 | chapter in the Yocto Project Reference Manual.</para> |
| 860 | <para>Because configuration changes are minimal to set up |
| 861 | for this second build, the OpenEmbedded build system can |
| 862 | re-use files from previous builds as much as possible. |
| 863 | Re-using files means this second build will be much faster |
| 864 | than an initial build. |
| 865 | For this example, the <filename>core-image-base</filename> |
| 866 | image is built: |
| 867 | <literallayout class='monospaced'> |
| 868 | $ bitbake core-image-base |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 869 | </literallayout> |
Brad Bishop | 6e60e8b | 2018-02-01 10:27:11 -0500 | [diff] [blame] | 870 | <note> |
| 871 | <para> |
| 872 | If you experience a build error due to resources |
| 873 | temporarily being unavailable and it appears you |
| 874 | should not be having this issue, it might be due |
| 875 | to the combination of a 4.3+ Linux kernel and |
| 876 | <filename>systemd</filename> version 228+ |
| 877 | (i.e. see this |
| 878 | <ulink url='http://unix.stackexchange.com/questions/253903/creating-threads-fails-with-resource-temporarily-unavailable-with-4-3-kernel'>link</ulink> |
| 879 | for information). |
| 880 | </para> |
| 881 | |
| 882 | <para> |
| 883 | To work around this issue, you can try either |
| 884 | of the following: |
| 885 | <itemizedlist> |
| 886 | <listitem><para> |
| 887 | Try the build again. |
| 888 | </para></listitem> |
| 889 | <listitem><para> |
| 890 | Modify the "DefaultTasksMax" |
| 891 | <filename>systemd</filename> parameter |
| 892 | by uncommenting it and setting it to |
| 893 | "infinity". |
| 894 | You can find this parameter in the |
| 895 | <filename>system.conf</filename> file |
| 896 | located in |
| 897 | <filename>/etc/systemd</filename> |
| 898 | on most systems. |
| 899 | </para></listitem> |
| 900 | </itemizedlist> |
| 901 | </para> |
| 902 | </note> |
Patrick Williams | c0f7c04 | 2017-02-23 20:41:17 -0600 | [diff] [blame] | 903 | Once the build completes, the resulting console-only image |
| 904 | is located in the Build Directory here: |
| 905 | <literallayout class='monospaced'> |
Brad Bishop | 37a0e4d | 2017-12-04 01:01:44 -0500 | [diff] [blame] | 906 | 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] | 907 | </literallayout> |
| 908 | </para></listitem> |
Brad Bishop | d7bf8c1 | 2018-02-25 22:55:05 -0500 | [diff] [blame] | 909 | <listitem><para> |
| 910 | <emphasis>Write the Image:</emphasis> |
Patrick Williams | c0f7c04 | 2017-02-23 20:41:17 -0600 | [diff] [blame] | 911 | You can write the image just built to a bootable media |
| 912 | (e.g. a USB key, SATA drive, SD card, etc.) using the |
| 913 | <filename>dd</filename> utility: |
| 914 | <literallayout class='monospaced'> |
Brad Bishop | 37a0e4d | 2017-12-04 01:01:44 -0500 | [diff] [blame] | 915 | $ 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] | 916 | </literallayout> |
| 917 | In the previous command, the |
| 918 | <filename>TARGET_DEVICE</filename> is the device node in |
| 919 | the host machine (e.g. <filename>/dev/sdc</filename>, which |
| 920 | is most likely a USB stick, or |
| 921 | <filename>/dev/mmcblk0</filename>, which is most likely an |
Brad Bishop | 37a0e4d | 2017-12-04 01:01:44 -0500 | [diff] [blame] | 922 | SD card). |
Patrick Williams | c0f7c04 | 2017-02-23 20:41:17 -0600 | [diff] [blame] | 923 | </para></listitem> |
Brad Bishop | d7bf8c1 | 2018-02-25 22:55:05 -0500 | [diff] [blame] | 924 | <listitem><para> |
| 925 | <emphasis>Boot the Hardware:</emphasis> |
Patrick Williams | c0f7c04 | 2017-02-23 20:41:17 -0600 | [diff] [blame] | 926 | With the boot device provisioned, you can insert the |
Brad Bishop | d7bf8c1 | 2018-02-25 22:55:05 -0500 | [diff] [blame] | 927 | media into the MinnowBoard Turbot and boot the hardware. |
Patrick Williams | c0f7c04 | 2017-02-23 20:41:17 -0600 | [diff] [blame] | 928 | The board should automatically detect the media and boot to |
| 929 | the bootloader and subsequently the operating system. |
| 930 | </para> |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 931 | |
Patrick Williams | c0f7c04 | 2017-02-23 20:41:17 -0600 | [diff] [blame] | 932 | <para>If the board does not boot automatically, you can |
| 933 | boot it manually from the EFI shell as follows: |
| 934 | <literallayout class='monospaced'> |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 935 | Shell> connect -r |
| 936 | Shell> map -r |
| 937 | Shell> fs0: |
| 938 | Shell> bootx64 |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 939 | </literallayout> |
Patrick Williams | c0f7c04 | 2017-02-23 20:41:17 -0600 | [diff] [blame] | 940 | <note> |
| 941 | For a 32-bit image use the following: |
| 942 | <literallayout class='monospaced'> |
| 943 | Shell> bootia32 |
| 944 | </literallayout> |
| 945 | </note> |
| 946 | </para></listitem> |
| 947 | </orderedlist> |
| 948 | </para> |
| 949 | </section> |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 950 | </section> |
| 951 | |
| 952 | <section id='qs-next-steps'> |
| 953 | <title>Next Steps</title> |
| 954 | |
| 955 | <para> |
| 956 | If you completed all the steps in the previous section then |
Patrick Williams | d8c66bc | 2016-06-20 12:57:21 -0500 | [diff] [blame] | 957 | congratulations! |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 958 | What now? |
| 959 | </para> |
| 960 | |
| 961 | <para> |
| 962 | Depending on what you primary interests are with the Yocto Project, |
| 963 | you could consider any of the following: |
| 964 | <itemizedlist> |
Brad Bishop | d7bf8c1 | 2018-02-25 22:55:05 -0500 | [diff] [blame] | 965 | <listitem><para> |
| 966 | <emphasis>Visit the Yocto Project Web Site:</emphasis> |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 967 | The official |
| 968 | <ulink url='&YOCTO_HOME_URL;'>Yocto Project</ulink> |
| 969 | web site contains information on the entire project. |
| 970 | Visiting this site is a good way to familiarize yourself |
| 971 | with the overall project. |
| 972 | </para></listitem> |
Brad Bishop | d7bf8c1 | 2018-02-25 22:55:05 -0500 | [diff] [blame] | 973 | <listitem><para> |
| 974 | <emphasis>Look Through the |
| 975 | <ulink url='&YOCTO_DOCS_DEV_URL;#dev-manual-intro'>Yocto Project Development Tasks Manual</ulink>:</emphasis> |
| 976 | This manual contains procedural information grouped to |
| 977 | help you get set up, work with layers, customize images, |
| 978 | write new recipes, work with libraries, and use QEMU. |
| 979 | The information is task-based and spans the breadth of the |
| 980 | Yocto Project. |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 981 | </para></listitem> |
Brad Bishop | d7bf8c1 | 2018-02-25 22:55:05 -0500 | [diff] [blame] | 982 | <listitem><para> |
| 983 | <emphasis>Look Through the |
| 984 | <ulink url='&YOCTO_DOCS_SDK_URL;'>Yocto Project Application Development and the Extensible Software Development Kit (eSDK)</ulink> |
| 985 | manual:</emphasis> |
| 986 | This manual describes how to use both the |
Patrick Williams | d8c66bc | 2016-06-20 12:57:21 -0500 | [diff] [blame] | 987 | <ulink url='&YOCTO_DOCS_SDK_URL;#sdk-using-the-standard-sdk'>standard SDK</ulink> |
| 988 | and the |
| 989 | <ulink url='&YOCTO_DOCS_SDK_URL;#sdk-extensible'>extensible SDK</ulink>, |
| 990 | which are used primarily for application development. |
Brad Bishop | d7bf8c1 | 2018-02-25 22:55:05 -0500 | [diff] [blame] | 991 | This manual also provides example workflows |
| 992 | that use the popular <trademark class='trade'>Eclipse</trademark> |
| 993 | development environment and that use <filename>devtool</filename>. |
Patrick Williams | d8c66bc | 2016-06-20 12:57:21 -0500 | [diff] [blame] | 994 | See the |
| 995 | "<ulink url='&YOCTO_DOCS_SDK_URL;#workflow-using-eclipse'>Workflow using Eclipseâ„¢</ulink>" |
Brad Bishop | d7bf8c1 | 2018-02-25 22:55:05 -0500 | [diff] [blame] | 996 | and |
| 997 | "<ulink url='&YOCTO_DOCS_SDK_URL;#using-devtool-in-your-sdk-workflow'>Using <filename>devtool</filename> in your SDK Workflow</ulink>" |
| 998 | sections for more information. |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 999 | </para></listitem> |
Brad Bishop | d7bf8c1 | 2018-02-25 22:55:05 -0500 | [diff] [blame] | 1000 | <listitem><para> |
| 1001 | <emphasis>Learn About Kernel Development:</emphasis> |
| 1002 | If you want to see how to work with the kernel and |
| 1003 | understand Yocto Linux kernels, see the |
| 1004 | <ulink url='&YOCTO_DOCS_KERNEL_DEV_URL;#kernel-dev-intro'>Yocto Project Linux Kernel Development Manual</ulink>. |
| 1005 | This manual provides information on how to patch the |
| 1006 | kernel, modify kernel recipes, and configure the kernel. |
| 1007 | </para></listitem> |
| 1008 | <listitem><para> |
| 1009 | <emphasis>Learn About Board Support Packages (BSPs):</emphasis> |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 1010 | If you want to learn about BSPs, see the |
| 1011 | <ulink url='&YOCTO_DOCS_BSP_URL;#bsp'>Yocto Project Board Support Packages (BSP) Developer's Guide</ulink>. |
Brad Bishop | d7bf8c1 | 2018-02-25 22:55:05 -0500 | [diff] [blame] | 1012 | This manual also provides an example BSP creation workflow. |
| 1013 | See the |
| 1014 | <ulink url='&YOCTO_DOCS_BSP_URL;#developing-a-board-support-package-bsp'>"Developing a Board Support Package (BSP)</ulink>" |
| 1015 | section. |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 1016 | </para></listitem> |
Brad Bishop | d7bf8c1 | 2018-02-25 22:55:05 -0500 | [diff] [blame] | 1017 | <listitem><para> |
| 1018 | <emphasis>Learn About Toaster:</emphasis> |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 1019 | Toaster is a web interface to the Yocto Project's |
| 1020 | OpenEmbedded build system. |
| 1021 | If you are interested in using this type of interface to |
| 1022 | create images, see the |
| 1023 | <ulink url='&YOCTO_DOCS_TOAST_URL;#toaster-manual-intro'>Toaster User Manual</ulink>. |
| 1024 | </para></listitem> |
Brad Bishop | d7bf8c1 | 2018-02-25 22:55:05 -0500 | [diff] [blame] | 1025 | <listitem><para> |
| 1026 | <emphasis>Have Available the |
| 1027 | <ulink url='&YOCTO_DOCS_REF_URL;#ref-manual-intro'>Yocto Project Reference Manual:</ulink></emphasis> |
| 1028 | Unlike the rest of the Yocto Project manual set, this manual |
| 1029 | is comprised of material suited for reference rather than |
Patrick Williams | d8c66bc | 2016-06-20 12:57:21 -0500 | [diff] [blame] | 1030 | procedures. |
| 1031 | You can get |
| 1032 | <ulink url='&YOCTO_DOCS_REF_URL;#usingpoky'>build details</ulink>, |
| 1033 | a |
Brad Bishop | d7bf8c1 | 2018-02-25 22:55:05 -0500 | [diff] [blame] | 1034 | <ulink url='&YOCTO_DOCS_REF_URL;#development-concepts'>closer look</ulink> |
Patrick Williams | d8c66bc | 2016-06-20 12:57:21 -0500 | [diff] [blame] | 1035 | at how the pieces of the Yocto Project development |
| 1036 | environment work together, information on various |
| 1037 | <ulink url='&YOCTO_DOCS_REF_URL;#technical-details'>technical details</ulink>, |
| 1038 | guidance on |
| 1039 | <ulink url='&YOCTO_DOCS_REF_URL;#migration'>migrating to a newer Yocto Project release</ulink>, |
| 1040 | reference material on the |
| 1041 | <ulink url='&YOCTO_DOCS_REF_URL;#ref-structure'>directory structure</ulink>, |
| 1042 | <ulink url='&YOCTO_DOCS_REF_URL;#ref-classes'>classes</ulink>, |
| 1043 | and |
| 1044 | <ulink url='&YOCTO_DOCS_REF_URL;#ref-tasks'>tasks</ulink>. |
| 1045 | The Yocto Project Reference Manual also contains a fairly |
| 1046 | comprehensive |
| 1047 | <ulink url='&YOCTO_DOCS_REF_URL;#ref-variables-glossary'>glossary of variables</ulink> |
| 1048 | used within the Yocto Project. |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 1049 | </para></listitem> |
| 1050 | </itemizedlist> |
| 1051 | </para> |
| 1052 | </section> |
| 1053 | </article> |
| 1054 | <!-- |
| 1055 | vim: expandtab tw=80 ts=4 |
| 1056 | --> |