introduction.xml 32 KB

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