introduction.xml 33 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617
  1. <!DOCTYPE chapter 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. <chapter id='ref-manual-intro'>
  5. <title>Introduction</title>
  6. <section id='intro-welcome'>
  7. <title>Introduction</title>
  8. <para>
  9. This manual provides reference information for the current release of the Yocto Project.
  10. The Yocto Project is an open-source collaboration project focused on embedded Linux
  11. developers.
  12. Amongst other things, the Yocto Project uses the OpenEmbedded build system, which
  13. is based on the Poky project, to construct complete Linux images.
  14. You can find complete introductory and getting started information on the Yocto Project
  15. by reading the
  16. <ulink url='&YOCTO_DOCS_QS_URL;'>Yocto Project Quick Start</ulink>.
  17. For task-based information using the Yocto Project, see the
  18. <ulink url='&YOCTO_DOCS_DEV_URL;'>Yocto Project Development Manual</ulink>
  19. and the <ulink url='&YOCTO_DOCS_KERNEL_DEV_URL;'>Yocto Project Linux Kernel Development Manual</ulink>.
  20. For Board Support Package (BSP) structure information, see the
  21. <ulink url='&YOCTO_DOCS_BSP_URL;'>Yocto Project Board Support Package (BSP) Developer's Guide</ulink>.
  22. You can find information on tracing and profiling in the
  23. <ulink url='&YOCTO_DOCS_PROF_URL;'>Yocto Project Profiling and Tracing Manual</ulink>.
  24. For information on BitBake, which is the task execution tool the
  25. OpenEmbedded build system is based on, see the
  26. <ulink url='&YOCTO_DOCS_BB_URL;#bitbake-user-manual'>BitBake User Manual</ulink>.
  27. Finally, you can also find lots of Yocto Project information on the
  28. <ulink url="&YOCTO_HOME_URL;">Yocto Project website</ulink>.
  29. </para>
  30. </section>
  31. <section id='intro-manualoverview'>
  32. <title>Documentation Overview</title>
  33. <para>
  34. This reference manual consists of the following:
  35. <itemizedlist>
  36. <listitem><para><emphasis>
  37. <link linkend='usingpoky'>Using the Yocto Project</link>:</emphasis>
  38. Provides an overview of the components that make up the Yocto Project
  39. followed by information about debugging images created in the Yocto Project.
  40. </para></listitem>
  41. <listitem><para><emphasis>
  42. <link linkend='closer-look'>A Closer Look at the Yocto Project Development Environment</link>:</emphasis>
  43. Provides a more detailed look at the Yocto Project development
  44. environment within the context of development.
  45. </para></listitem>
  46. <listitem><para><emphasis>
  47. <link linkend='technical-details'>Technical Details</link>:</emphasis>
  48. Describes fundamental Yocto Project components as well as an explanation
  49. behind how the Yocto Project uses shared state (sstate) cache to speed build time.
  50. </para></listitem>
  51. <listitem><para><emphasis>
  52. <link linkend='migration'>Migrating to a Newer Yocto Project Release</link>:</emphasis>
  53. Describes release-specific information that helps you move from
  54. one Yocto Project Release to another.
  55. </para></listitem>
  56. <listitem><para><emphasis>
  57. <link linkend='ref-structure'>Directory Structure</link>:</emphasis>
  58. Describes the
  59. <ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink> created
  60. either by unpacking a released Yocto Project tarball on your host development system,
  61. or by cloning the upstream
  62. <ulink url='&YOCTO_DOCS_DEV_URL;#poky'>Poky</ulink> Git repository.
  63. </para></listitem>
  64. <listitem><para><emphasis>
  65. <link linkend='ref-classes'>Classes</link>:</emphasis>
  66. Describes the classes used in the Yocto Project.</para></listitem>
  67. <listitem><para><emphasis>
  68. <link linkend='ref-tasks'>Tasks</link>:</emphasis>
  69. Describes the tasks defined by the OpenEmbedded build system.
  70. </para></listitem>
  71. <listitem><para><emphasis>
  72. <link linkend='ref-qa-checks'>QA Error and Warning Messages</link>:</emphasis>
  73. Lists and describes QA warning and error messages.
  74. </para></listitem>
  75. <listitem><para><emphasis>
  76. <link linkend='ref-images'>Images</link>:</emphasis>
  77. Describes the standard images that the Yocto Project supports.
  78. </para></listitem>
  79. <listitem><para><emphasis>
  80. <link linkend='ref-features'>Features</link>:</emphasis>
  81. Describes mechanisms for creating distribution, machine, and image
  82. features during the build process using the OpenEmbedded build system.</para></listitem>
  83. <listitem><para><emphasis>
  84. <link linkend='ref-variables-glos'>Variables Glossary</link>:</emphasis>
  85. Presents most variables used by the OpenEmbedded build system, which
  86. uses BitBake.
  87. Entries describe the function of the variable and how to apply them.
  88. </para></listitem>
  89. <listitem><para><emphasis>
  90. <link linkend='ref-varlocality'>Variable Context</link>:</emphasis>
  91. Provides variable locality or context.</para></listitem>
  92. <listitem><para><emphasis>
  93. <link linkend='faq'>FAQ</link>:</emphasis>
  94. Provides answers for commonly asked questions in the Yocto Project
  95. development environment.</para></listitem>
  96. <listitem><para><emphasis>
  97. <link linkend='resources'>Contributing to the Yocto Project</link>:</emphasis>
  98. Provides guidance on how you can contribute back to the Yocto
  99. Project.</para></listitem>
  100. </itemizedlist>
  101. </para>
  102. </section>
  103. <section id='intro-requirements'>
  104. <title>System Requirements</title>
  105. <para>
  106. For general Yocto Project system requirements, see the
  107. "<ulink url='&YOCTO_DOCS_QS_URL;#yp-resources'>Setting Up to Use the Yocto Project</ulink>" section
  108. in the Yocto Project Quick Start.
  109. The remainder of this section provides details on system requirements
  110. not covered in the Yocto Project Quick Start.
  111. </para>
  112. <section id='detailed-supported-distros'>
  113. <title>Supported Linux Distributions</title>
  114. <para>
  115. Currently, the Yocto Project is supported on the following
  116. distributions:
  117. <note>
  118. <para>
  119. Yocto Project releases are tested against the stable Linux
  120. distributions in the following list.
  121. The Yocto Project should work on other distributions but
  122. validation is not performed against them.
  123. </para>
  124. <para>
  125. In particular, the Yocto Project does not support
  126. and currently has no plans to support
  127. rolling-releases or development distributions due to their
  128. constantly changing nature.
  129. We welcome patches and bug reports, but keep in mind that
  130. our priority is on the supported platforms listed below.
  131. </para>
  132. <para>
  133. If you encounter problems, please go to
  134. <ulink url='&YOCTO_BUGZILLA_URL;'>Yocto Project Bugzilla</ulink>
  135. and submit a bug.
  136. We are interested in hearing about your experience.
  137. </para>
  138. </note>
  139. <itemizedlist>
  140. <!--
  141. <listitem><para>Ubuntu 10.04</para></listitem>
  142. <listitem><para>Ubuntu 11.10</para></listitem>
  143. <listitem><para>Ubuntu 12.04 (LTS)</para></listitem>
  144. <listitem><para>Ubuntu 13.10</para></listitem> -->
  145. <listitem><para>Ubuntu 14.04 (LTS)</para></listitem>
  146. <listitem><para>Ubuntu 14.10</para></listitem>
  147. <listitem><para>Ubuntu 15.04</para></listitem>
  148. <listitem><para>Ubuntu 15.10</para></listitem>
  149. <!-- <listitem><para>Fedora 16 (Verne)</para></listitem>
  150. <listitem><para>Fedora 17 (Spherical)</para></listitem>
  151. <listitem><para>Fedora release 19 (Schrödinger's Cat)</para></listitem>
  152. <listitem><para>Fedora release 20 (Heisenbug)</para></listitem> -->
  153. <listitem><para>Fedora release 21</para></listitem>
  154. <listitem><para>Fedora release 22</para></listitem>
  155. <!-- <listitem><para>CentOS release 5.6 (Final)</para></listitem>
  156. <listitem><para>CentOS release 5.7 (Final)</para></listitem>
  157. <listitem><para>CentOS release 5.8 (Final)</para></listitem>
  158. <listitem><para>CentOS release 6.3 (Final)</para></listitem> -->
  159. <listitem><para>CentOS release 6.x</para></listitem>
  160. <listitem><para>CentOS release 7.x</para></listitem>
  161. <!-- <listitem><para>Debian GNU/Linux 6.0 (Squeeze)</para></listitem> -->
  162. <listitem><para>Debian GNU/Linux 7.x (Wheezy)</para></listitem>
  163. <listitem><para>Debian GNU/Linux 8.x (Jessie)</para></listitem>
  164. <!-- <listitem><para>Debian GNU/Linux 7.1 (Wheezy)</para></listitem>
  165. <listitem><para>Debian GNU/Linux 7.2 (Wheezy)</para></listitem>
  166. <listitem><para>Debian GNU/Linux 7.3 (Wheezy)</para></listitem>
  167. <listitem><para>Debian GNU/Linux 7.4 (Wheezy)</para></listitem>
  168. <listitem><para>Debian GNU/Linux 7.5 (Wheezy)</para></listitem>
  169. <listitem><para>Debian GNU/Linux 7.6 (Wheezy)</para></listitem> -->
  170. <!-- <listitem><para>openSUSE 11.4</para></listitem>
  171. <listitem><para>openSUSE 12.1</para></listitem>
  172. <listitem><para>openSUSE 12.2</para></listitem>
  173. <listitem><para>openSUSE 12.3</para></listitem>
  174. <listitem><para>openSUSE 13.1</para></listitem> -->
  175. <listitem><para>openSUSE 13.2</para></listitem>
  176. </itemizedlist>
  177. </para>
  178. <note>
  179. While the Yocto Project Team attempts to ensure all Yocto Project
  180. releases are one hundred percent compatible with each officially
  181. supported Linux distribution, instances might exist where you
  182. encounter a problem while using the Yocto Project on a specific
  183. distribution.
  184. </note>
  185. </section>
  186. <section id='required-packages-for-the-host-development-system'>
  187. <title>Required Packages for the Host Development System</title>
  188. <para>
  189. The list of packages you need on the host development system can
  190. be large when covering all build scenarios using the Yocto Project.
  191. This section provides required packages according to
  192. Linux distribution and function.
  193. </para>
  194. <section id='ubuntu-packages'>
  195. <title>Ubuntu and Debian</title>
  196. <para>
  197. The following list shows the required packages by function
  198. given a supported Ubuntu or Debian Linux distribution:
  199. <note>
  200. If your build system has the
  201. <filename>oss4-dev</filename> package installed, you
  202. might experience QEMU build failures due to the package
  203. installing its own custom
  204. <filename>/usr/include/linux/soundcard.h</filename> on
  205. the Debian system.
  206. If you run into this situation, either of the following
  207. solutions exist:
  208. <literallayout class='monospaced'>
  209. $ sudo apt-get build-dep qemu
  210. $ sudo apt-get remove oss4-dev
  211. </literallayout>
  212. </note>
  213. <itemizedlist>
  214. <listitem><para><emphasis>Essentials:</emphasis>
  215. Packages needed to build an image on a headless
  216. system:
  217. <literallayout class='monospaced'>
  218. $ sudo apt-get install &UBUNTU_HOST_PACKAGES_ESSENTIAL;
  219. </literallayout></para></listitem>
  220. <listitem><para><emphasis>Graphical and Eclipse Plug-In Extras:</emphasis>
  221. Packages recommended if the host system has graphics
  222. support or if you are going to use the Eclipse
  223. IDE:
  224. <literallayout class='monospaced'>
  225. $ sudo apt-get install libsdl1.2-dev xterm
  226. </literallayout></para></listitem>
  227. <listitem><para><emphasis>Documentation:</emphasis>
  228. Packages needed if you are going to build out the
  229. Yocto Project documentation manuals:
  230. <literallayout class='monospaced'>
  231. $ sudo apt-get install make xsltproc docbook-utils fop dblatex xmlto
  232. </literallayout></para></listitem>
  233. <listitem><para><emphasis>ADT Installer Extras:</emphasis>
  234. Packages needed if you are going to be using the
  235. <ulink url='&YOCTO_DOCS_ADT_URL;#using-the-adt-installer'>Application Development Toolkit (ADT) Installer</ulink>:
  236. <literallayout class='monospaced'>
  237. $ sudo apt-get install autoconf automake libtool libglib2.0-dev libarchive-dev
  238. </literallayout></para></listitem>
  239. <listitem><para><emphasis>OpenEmbedded Self-Test (<filename>oe-selftest</filename>):</emphasis>
  240. Packages needed if you are going to run
  241. <filename>oe-selftest</filename>:
  242. <literallayout class='monospaced'>
  243. $ sudo apt-get install python-git
  244. </literallayout>
  245. </para></listitem>
  246. </itemizedlist>
  247. </para>
  248. </section>
  249. <section id='fedora-packages'>
  250. <title>Fedora Packages</title>
  251. <para>
  252. The following list shows the required packages by function
  253. given a supported Fedora Linux distribution:
  254. <itemizedlist>
  255. <listitem><para><emphasis>Essentials:</emphasis>
  256. Packages needed to build an image for a headless
  257. system:
  258. <literallayout class='monospaced'>
  259. $ sudo dnf install &FEDORA_HOST_PACKAGES_ESSENTIAL;
  260. </literallayout></para></listitem>
  261. <listitem><para><emphasis>Graphical and Eclipse Plug-In Extras:</emphasis>
  262. Packages recommended if the host system has graphics
  263. support or if you are going to use the Eclipse
  264. IDE:
  265. <literallayout class='monospaced'>
  266. $ sudo dnf install SDL-devel xterm
  267. </literallayout></para></listitem>
  268. <listitem><para><emphasis>Documentation:</emphasis>
  269. Packages needed if you are going to build out the
  270. Yocto Project documentation manuals:
  271. <literallayout class='monospaced'>
  272. $ sudo dnf install make docbook-style-dsssl docbook-style-xsl \
  273. docbook-dtds docbook-utils fop libxslt dblatex xmlto xsltproc
  274. </literallayout></para></listitem>
  275. <listitem><para><emphasis>ADT Installer Extras:</emphasis>
  276. Packages needed if you are going to be using the
  277. <ulink url='&YOCTO_DOCS_ADT_URL;#using-the-adt-installer'>Application Development Toolkit (ADT) Installer</ulink>:
  278. <literallayout class='monospaced'>
  279. $ sudo dnf install autoconf automake libtool glib2-devel libarchive-devel
  280. </literallayout></para></listitem>
  281. <listitem><para><emphasis>OpenEmbedded Self-Test (<filename>oe-selftest</filename>):</emphasis>
  282. Packages needed if you are going to run
  283. <filename>oe-selftest</filename>:
  284. <literallayout class='monospaced'>
  285. $ sudo dnf install GitPython
  286. </literallayout>
  287. </para></listitem>
  288. </itemizedlist>
  289. </para>
  290. </section>
  291. <section id='opensuse-packages'>
  292. <title>openSUSE Packages</title>
  293. <para>
  294. The following list shows the required packages by function
  295. given a supported openSUSE Linux distribution:
  296. <itemizedlist>
  297. <listitem><para><emphasis>Essentials:</emphasis>
  298. Packages needed to build an image for a headless
  299. system:
  300. <literallayout class='monospaced'>
  301. $ sudo zypper install &OPENSUSE_HOST_PACKAGES_ESSENTIAL;
  302. </literallayout></para></listitem>
  303. <listitem><para><emphasis>Graphical and Eclipse Plug-In Extras:</emphasis>
  304. Packages recommended if the host system has graphics
  305. support or if you are going to use the Eclipse
  306. IDE:
  307. <literallayout class='monospaced'>
  308. $ sudo zypper install libSDL-devel xterm
  309. </literallayout></para></listitem>
  310. <listitem><para><emphasis>Documentation:</emphasis>
  311. Packages needed if you are going to build out the
  312. Yocto Project documentation manuals:
  313. <literallayout class='monospaced'>
  314. $ sudo zypper install make fop xsltproc dblatex xmlto
  315. </literallayout></para></listitem>
  316. <listitem><para><emphasis>ADT Installer Extras:</emphasis>
  317. Packages needed if you are going to be using the
  318. <ulink url='&YOCTO_DOCS_ADT_URL;#using-the-adt-installer'>Application Development Toolkit (ADT) Installer</ulink>:
  319. <literallayout class='monospaced'>
  320. $ sudo zypper install autoconf automake libtool glib2-devel libarchive-devel
  321. </literallayout></para></listitem>
  322. <listitem><para><emphasis>OpenEmbedded Self-Test (<filename>oe-selftest</filename>):</emphasis>
  323. Packages needed if you are going to run
  324. <filename>oe-selftest</filename>:
  325. <literallayout class='monospaced'>
  326. $ sudo zypper install python-GitPython
  327. </literallayout></para></listitem>
  328. </itemizedlist>
  329. </para>
  330. </section>
  331. <section id='centos-packages'>
  332. <title>CentOS Packages</title>
  333. <para>
  334. The following list shows the required packages by function
  335. given a supported CentOS Linux distribution:
  336. <note>
  337. For CentOS 6.x, some of the versions of the components
  338. provided by the distribution are too old (e.g. Git, Python,
  339. and tar).
  340. It is recommended that you install the buildtools in order
  341. to provide versions that will work with the OpenEmbedded
  342. build system.
  343. For information on how to install the buildtools tarball,
  344. see the
  345. "<link linkend='required-git-tar-and-python-versions'>Required Git, Tar, and Python Versions</link>"
  346. section.
  347. </note>
  348. <itemizedlist>
  349. <listitem><para><emphasis>Essentials:</emphasis>
  350. Packages needed to build an image for a headless
  351. system:
  352. <literallayout class='monospaced'>
  353. $ sudo yum install &CENTOS_HOST_PACKAGES_ESSENTIAL;
  354. </literallayout></para></listitem>
  355. <listitem><para><emphasis>Graphical and Eclipse Plug-In Extras:</emphasis>
  356. Packages recommended if the host system has graphics
  357. support or if you are going to use the Eclipse
  358. IDE:
  359. <literallayout class='monospaced'>
  360. $ sudo yum install SDL-devel xterm
  361. </literallayout></para></listitem>
  362. <listitem><para><emphasis>Documentation:</emphasis>
  363. Packages needed if you are going to build out the
  364. Yocto Project documentation manuals:
  365. <literallayout class='monospaced'>
  366. $ sudo yum install make docbook-style-dsssl docbook-style-xsl \
  367. docbook-dtds docbook-utils fop libxslt dblatex xmlto xsltproc
  368. </literallayout></para></listitem>
  369. <listitem><para><emphasis>ADT Installer Extras:</emphasis>
  370. Packages needed if you are going to be using the
  371. <ulink url='&YOCTO_DOCS_ADT_URL;#using-the-adt-installer'>Application Development Toolkit (ADT) Installer</ulink>:
  372. <literallayout class='monospaced'>
  373. $ sudo yum install autoconf automake libtool glib2-devel libarchive-devel
  374. </literallayout></para></listitem>
  375. <listitem><para><emphasis>OpenEmbedded Self-Test (<filename>oe-selftest</filename>):</emphasis>
  376. Packages needed if you are going to run
  377. <filename>oe-selftest</filename>:
  378. <literallayout class='monospaced'>
  379. $ sudo yum install GitPython
  380. </literallayout>
  381. </para></listitem>
  382. </itemizedlist>
  383. </para>
  384. </section>
  385. </section>
  386. <section id='required-git-tar-and-python-versions'>
  387. <title>Required Git, tar, and Python Versions</title>
  388. <para>
  389. In order to use the build system, your host development system
  390. must meet the following version requirements for Git, tar, and
  391. Python:
  392. <itemizedlist>
  393. <listitem><para>Git 1.7.8 or greater</para></listitem>
  394. <listitem><para>tar 1.24 or greater</para></listitem>
  395. <listitem><para>Python 2.7.3 or greater not including
  396. Python 3.x, which is not supported.</para></listitem>
  397. </itemizedlist>
  398. </para>
  399. <para>
  400. If your host development system does not meet all these requirements,
  401. you can resolve this by installing a <filename>buildtools</filename>
  402. tarball that contains these tools.
  403. You can get the tarball one of two ways: download a pre-built
  404. tarball or use BitBake to build the tarball.
  405. </para>
  406. <section id='downloading-a-pre-built-buildtools-tarball'>
  407. <title>Downloading a Pre-Built <filename>buildtools</filename> Tarball</title>
  408. <para>
  409. Downloading and running a pre-built buildtools installer is
  410. the easiest of the two methods by which you can get these tools:
  411. <orderedlist>
  412. <listitem><para>
  413. Locate and download the <filename>*.sh</filename> at
  414. <ulink url='&YOCTO_DL_URL;/releases/yocto/yocto-&DISTRO;/buildtools/'></ulink>.
  415. </para></listitem>
  416. <listitem><para>
  417. Execute the installation script.
  418. Here is an example:
  419. <literallayout class='monospaced'>
  420. $ sh poky-glibc-x86_64-buildtools-tarball-x86_64-buildtools-nativesdk-standalone-&DISTRO;.sh
  421. </literallayout>
  422. During execution, a prompt appears that allows you to
  423. choose the installation directory.
  424. For example, you could choose the following:
  425. <literallayout class='monospaced'>
  426. /home/<replaceable>your-username</replaceable>/buildtools
  427. </literallayout>
  428. </para></listitem>
  429. <listitem><para>
  430. Source the tools environment setup script by using a
  431. command like the following:
  432. <literallayout class='monospaced'>
  433. $ source /home/<replaceable>your_username</replaceable>/buildtools/environment-setup-i586-poky-linux
  434. </literallayout>
  435. Of course, you need to supply your installation directory and be
  436. sure to use the right file (i.e. i585 or x86-64).
  437. </para>
  438. <para>
  439. After you have sourced the setup script,
  440. the tools are added to <filename>PATH</filename>
  441. and any other environment variables required to run the
  442. tools are initialized.
  443. The results are working versions versions of Git, tar,
  444. Python and <filename>chrpath</filename>.
  445. </para></listitem>
  446. </orderedlist>
  447. </para>
  448. </section>
  449. <section id='building-your-own-buildtools-tarball'>
  450. <title>Building Your Own <filename>buildtools</filename> Tarball</title>
  451. <para>
  452. Building and running your own buildtools installer applies
  453. only when you have a build host that can already run BitBake.
  454. In this case, you use that machine to build the
  455. <filename>.sh</filename> file and then
  456. take steps to transfer and run it on a
  457. machine that does not meet the minimal Git, tar, and Python
  458. requirements.
  459. </para>
  460. <para>
  461. Here are the steps to take to build and run your own
  462. buildtools installer:
  463. <orderedlist>
  464. <listitem><para>
  465. On the machine that is able to run BitBake,
  466. be sure you have set up your build environment with
  467. the setup script
  468. (<link linkend='structure-core-script'><filename>&OE_INIT_FILE;</filename></link>
  469. or
  470. <link linkend='structure-memres-core-script'><filename>oe-init-build-env-memres</filename></link>).
  471. </para></listitem>
  472. <listitem><para>
  473. Run the BitBake command to build the tarball:
  474. <literallayout class='monospaced'>
  475. $ bitbake buildtools-tarball
  476. </literallayout>
  477. <note>
  478. The
  479. <link linkend='var-SDKMACHINE'><filename>SDKMACHINE</filename></link>
  480. variable in your <filename>local.conf</filename> file
  481. determines whether you build tools for a 32-bit
  482. or 64-bit system.
  483. </note>
  484. Once the build completes, you can find the
  485. <filename>.sh</filename> file that installs
  486. the tools in the <filename>tmp/deploy/sdk</filename>
  487. subdirectory of the
  488. <ulink url='&YOCTO_DOCS_DEV_URL;#build-directory'>Build Directory</ulink>.
  489. The installer file has the string "buildtools"
  490. in the name.
  491. </para></listitem>
  492. <listitem><para>
  493. Transfer the <filename>.sh</filename> file from the
  494. build host to the machine that does not meet the
  495. Git, tar, or Python requirements.
  496. </para></listitem>
  497. <listitem><para>
  498. On the machine that does not meet the requirements,
  499. run the <filename>.sh</filename> file
  500. to install the tools.
  501. Here is an example:
  502. <literallayout class='monospaced'>
  503. $ sh poky-glibc-x86_64-buildtools-tarball-x86_64-buildtools-nativesdk-standalone-&DISTRO;.sh
  504. </literallayout>
  505. During execution, a prompt appears that allows you to
  506. choose the installation directory.
  507. For example, you could choose the following:
  508. <literallayout class='monospaced'>
  509. /home/<replaceable>your_username</replaceable>/buildtools
  510. </literallayout>
  511. </para></listitem>
  512. <listitem><para>
  513. Source the tools environment setup script by using a
  514. command like the following:
  515. <literallayout class='monospaced'>
  516. $ source /home/<replaceable>your_username</replaceable>/buildtools/environment-setup-i586-poky-linux
  517. </literallayout>
  518. Of course, you need to supply your installation directory and be
  519. sure to use the right file (i.e. i585 or x86-64).
  520. </para>
  521. <para>
  522. After you have sourced the setup script,
  523. the tools are added to <filename>PATH</filename>
  524. and any other environment variables required to run the
  525. tools are initialized.
  526. The results are working versions versions of Git, tar,
  527. Python and <filename>chrpath</filename>.
  528. </para></listitem>
  529. </orderedlist>
  530. </para>
  531. </section>
  532. </section>
  533. </section>
  534. <section id='intro-getit'>
  535. <title>Obtaining the Yocto Project</title>
  536. <para>
  537. The Yocto Project development team makes the Yocto Project available through a number
  538. of methods:
  539. <itemizedlist>
  540. <listitem><para><emphasis>Source Repositories:</emphasis>
  541. Working from a copy of the upstream
  542. <filename>poky</filename> repository is the
  543. preferred method for obtaining and using a Yocto Project
  544. release.
  545. You can view the Yocto Project Source Repositories at
  546. <ulink url='&YOCTO_GIT_URL;/cgit.cgi'></ulink>.
  547. In particular, you can find the
  548. <filename>poky</filename> repository at
  549. <ulink url='http://git.yoctoproject.org/cgit/cgit.cgi/poky/'></ulink>.
  550. </para></listitem>
  551. <listitem><para><emphasis>Releases:</emphasis> Stable, tested
  552. releases are available as tarballs through
  553. <ulink url='&YOCTO_DL_URL;/releases/yocto/'/>.</para></listitem>
  554. <listitem><para><emphasis>Nightly Builds:</emphasis> These
  555. tarball releases are available at
  556. <ulink url='&YOCTO_AB_NIGHTLY_URL;'/>.
  557. These builds include Yocto Project releases, meta-toolchain
  558. tarball installation scripts, and experimental builds.
  559. </para></listitem>
  560. <listitem><para><emphasis>Yocto Project Website:</emphasis> You can
  561. find tarball releases of the Yocto Project and supported BSPs
  562. at the
  563. <ulink url='&YOCTO_HOME_URL;'>Yocto Project website</ulink>.
  564. Along with these downloads, you can find lots of other
  565. information at this site.
  566. </para></listitem>
  567. </itemizedlist>
  568. </para>
  569. </section>
  570. <section id='intro-getit-dev'>
  571. <title>Development Checkouts</title>
  572. <para>
  573. Development using the Yocto Project requires a local
  574. <ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink>.
  575. You can set up the Source Directory by cloning a copy of the upstream
  576. <ulink url='&YOCTO_DOCS_DEV_URL;#poky'>poky</ulink> Git repository.
  577. For information on how to do this, see the
  578. "<ulink url='&YOCTO_DOCS_DEV_URL;#getting-setup'>Getting Set Up</ulink>"
  579. section in the Yocto Project Development Manual.
  580. </para>
  581. </section>
  582. </chapter>
  583. <!--
  584. vim: expandtab tw=80 ts=4
  585. -->