dev-manual-intro.xml 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247
  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='dev-manual-intro'>
  5. <title>The Yocto Project Development Manual</title>
  6. <section id='dev-intro'>
  7. <title>Introduction</title>
  8. <para>
  9. Welcome to the Yocto Project Development Manual!
  10. This manual provides information on how to use the Yocto Project to
  11. develop embedded Linux images and user-space applications that
  12. run on targeted devices.
  13. The manual provides an overview of image, kernel, and
  14. user-space application development using the Yocto Project.
  15. Because much of the information in this manual is general, it
  16. contains many references to other sources where you can find more
  17. detail.
  18. For example, you can find detailed information on Git, repositories,
  19. and open source in general in many places on the Internet.
  20. Another example specific to the Yocto Project is how to quickly
  21. set up your host development system and build an image, which you
  22. find in the
  23. <ulink url='&YOCTO_DOCS_QS_URL;'>Yocto Project Quick Start</ulink>.
  24. </para>
  25. <para>
  26. The Yocto Project Development Manual does, however, provide
  27. guidance and examples on how to change the kernel source code,
  28. reconfigure the kernel, and develop an application using
  29. <filename>devtool</filename>.
  30. </para>
  31. <note>
  32. By default, using the Yocto Project creates a Poky distribution.
  33. However, you can create your own distribution by providing key
  34. <link linkend='metadata'>Metadata</link>.
  35. A good example is Angstrom, which has had a distribution
  36. based on the Yocto Project since its inception.
  37. Other examples include commercial distributions like
  38. <ulink url='https://www.yoctoproject.org/organization/wind-river-systems'>Wind River Linux</ulink>,
  39. <ulink url='https://www.yoctoproject.org/organization/mentor-graphics'>Mentor Embedded Linux</ulink>,
  40. <ulink url='https://www.yoctoproject.org/organization/enea-ab'>ENEA Linux</ulink>
  41. and <ulink url='https://www.yoctoproject.org/ecosystem/member-organizations'>others</ulink>.
  42. See the "<link linkend='creating-your-own-distribution'>Creating Your Own Distribution</link>"
  43. section for more information.
  44. </note>
  45. </section>
  46. <section id='what-this-manual-provides'>
  47. <title>What This Manual Provides</title>
  48. <para>
  49. The following list describes what you can get from this manual:
  50. <itemizedlist>
  51. <listitem><para>Information that lets you get set
  52. up to develop using the Yocto Project.</para></listitem>
  53. <listitem><para>Information to help developers who are new to
  54. the open source environment and to the distributed revision
  55. control system Git, which the Yocto Project uses.
  56. </para></listitem>
  57. <listitem><para>An understanding of common end-to-end
  58. development models and tasks.</para></listitem>
  59. <listitem><para>Information about common development tasks
  60. generally used during image development for
  61. embedded devices.
  62. </para></listitem>
  63. <listitem><para>Information on using the Yocto Project
  64. integration of the QuickEMUlator (QEMU), which lets you
  65. simulate running on hardware an image you have built using
  66. the OpenEmbedded build system.
  67. </para></listitem>
  68. <listitem><para>Many references to other sources of related
  69. information.</para></listitem>
  70. </itemizedlist>
  71. </para>
  72. </section>
  73. <section id='what-this-manual-does-not-provide'>
  74. <title>What this Manual Does Not Provide</title>
  75. <para>
  76. This manual will not give you the following:
  77. <itemizedlist>
  78. <listitem><para><emphasis>Step-by-step instructions when those instructions exist in other Yocto
  79. Project documentation:</emphasis>
  80. For example, the
  81. <ulink url='&YOCTO_DOCS_SDK_URL;'>Yocto Project Software Development Kit (SDK) Developer's Guide</ulink>
  82. manual contains detailed instructions on how to install an
  83. SDK, which is used to develop applications for target
  84. hardware.
  85. </para></listitem>
  86. <listitem><para><emphasis>Reference material:</emphasis>
  87. This type of material resides in an appropriate reference manual.
  88. For example, system variables are documented in the
  89. <ulink url='&YOCTO_DOCS_REF_URL;'>Yocto Project Reference Manual</ulink>.
  90. </para></listitem>
  91. <listitem><para><emphasis>Detailed public information that is not specific to the Yocto Project:</emphasis>
  92. For example, exhaustive information on how to use Git is covered better through the
  93. Internet than in this manual.
  94. </para></listitem>
  95. </itemizedlist>
  96. </para>
  97. </section>
  98. <section id='other-information'>
  99. <title>Other Information</title>
  100. <para>
  101. Because this manual presents overview information for many different
  102. topics, supplemental information is recommended for full
  103. comprehension.
  104. The following list presents other sources of information you might find helpful:
  105. <itemizedlist>
  106. <listitem><para><emphasis><ulink url='&YOCTO_HOME_URL;'>Yocto Project Website</ulink>:
  107. </emphasis> The home page for the Yocto Project provides lots of information on the project
  108. as well as links to software and documentation.
  109. </para></listitem>
  110. <listitem><para><emphasis>
  111. <ulink url='&YOCTO_DOCS_QS_URL;'>Yocto Project Quick Start</ulink>:</emphasis>
  112. This short document lets you get started
  113. with the Yocto Project and quickly begin building an image.
  114. </para></listitem>
  115. <listitem><para><emphasis>
  116. <ulink url='&YOCTO_DOCS_REF_URL;'>Yocto Project Reference Manual</ulink>:</emphasis>
  117. This manual is a reference
  118. guide to the OpenEmbedded build system, which is based on BitBake.
  119. The build system is sometimes referred to as "Poky".
  120. </para></listitem>
  121. <listitem><para><emphasis>
  122. <ulink url='&YOCTO_DOCS_SDK_URL;'>Yocto Project Software Development Kit (SDK) Developer's Guide</ulink>:</emphasis>
  123. This guide provides information that lets you get going
  124. with the standard or extensible SDK.
  125. An SDK, with its cross-development toolchains, allows you
  126. to develop projects inside or outside of the Yocto Project
  127. environment.
  128. </para></listitem>
  129. <listitem><para><emphasis>
  130. <ulink url='&YOCTO_DOCS_BSP_URL;'>Yocto Project Board Support Package (BSP) Developer's Guide</ulink>:</emphasis>
  131. This guide defines the structure for BSP components.
  132. Having a commonly understood structure encourages standardization.
  133. </para></listitem>
  134. <listitem><para><emphasis>
  135. <ulink url='&YOCTO_DOCS_KERNEL_DEV_URL;'>Yocto Project Linux Kernel Development Manual</ulink>:</emphasis>
  136. This manual describes how to work with Linux Yocto kernels as well as provides a bit
  137. of conceptual information on the construction of the Yocto Linux kernel tree.
  138. </para></listitem>
  139. <listitem><para><emphasis>
  140. <ulink url='&YOCTO_DOCS_PROF_URL;'>Yocto Project Profiling and Tracing Manual</ulink>:</emphasis>
  141. This manual presents a set of common and generally useful tracing and
  142. profiling schemes along with their applications (as appropriate) to each tool.
  143. </para></listitem>
  144. <listitem><para><emphasis>
  145. <ulink url='&YOCTO_DOCS_TOAST_URL;'>Toaster User Manual</ulink>:</emphasis>
  146. This manual introduces and describes how to set up and use
  147. Toaster, which is a web interface to the Yocto Project's
  148. <link linkend='build-system-term'>OpenEmbedded Build System</link>.
  149. </para></listitem>
  150. <listitem><para><emphasis>
  151. <ulink url='http://www.youtube.com/watch?v=3ZlOu-gLsh0'>
  152. Eclipse IDE Yocto Plug-in</ulink>:</emphasis>
  153. A step-by-step instructional video that
  154. demonstrates how an application developer uses Yocto Plug-in features within
  155. the Eclipse IDE.
  156. </para></listitem>
  157. <listitem><para><emphasis>
  158. <ulink url='&YOCTO_WIKI_URL;/wiki/FAQ'>FAQ</ulink>:</emphasis>
  159. A list of commonly asked questions and their answers.
  160. </para></listitem>
  161. <listitem><para><emphasis>
  162. <ulink url='&YOCTO_RELEASE_NOTES;'>Release Notes</ulink>:</emphasis>
  163. Features, updates and known issues for the current
  164. release of the Yocto Project.
  165. </para></listitem>
  166. <listitem><para><emphasis>
  167. <ulink url='&YOCTO_HOME_URL;/tools-resources/projects/toaster'>Toaster</ulink>:</emphasis>
  168. An Application Programming Interface (API) and web-based
  169. interface to the OpenEmbedded build system, which uses
  170. BitBake, that reports build information.
  171. </para></listitem>
  172. <listitem><para><emphasis>
  173. <ulink url='&YOCTO_HOME_URL;/tools-resources/projects/build-appliance'>Build Appliance</ulink>:</emphasis>
  174. A virtual machine that
  175. enables you to build and boot a custom embedded Linux image
  176. with the Yocto Project using a non-Linux development system.
  177. </para></listitem>
  178. <listitem><para><emphasis>
  179. <ulink url='&YOCTO_BUGZILLA_URL;'>Bugzilla</ulink>:</emphasis>
  180. The bug tracking application the Yocto Project uses.
  181. If you find problems with the Yocto Project, you should report them using this
  182. application.
  183. </para></listitem>
  184. <listitem><para><emphasis>Yocto Project Mailing Lists:</emphasis>
  185. To subscribe to the Yocto Project mailing
  186. lists, click on the following URLs and follow the instructions:
  187. <itemizedlist>
  188. <listitem><para><ulink url='&YOCTO_LISTS_URL;/listinfo/yocto'></ulink>
  189. for a Yocto Project Discussions mailing list.
  190. </para></listitem>
  191. <listitem><para><ulink url='&YOCTO_LISTS_URL;/listinfo/poky'></ulink>
  192. for a Yocto Project Discussions mailing list about the
  193. OpenEmbedded build system (Poky).
  194. </para></listitem>
  195. <listitem><para><ulink url='&YOCTO_LISTS_URL;/listinfo/yocto-announce'></ulink>
  196. for a mailing list to receive official Yocto Project announcements
  197. as well as Yocto Project milestones.
  198. </para></listitem>
  199. <listitem><para><ulink url='&YOCTO_LISTS_URL;/listinfo'></ulink>
  200. for a listing of all public mailing lists on
  201. <filename>lists.yoctoproject.org</filename>.
  202. </para></listitem>
  203. </itemizedlist></para></listitem>
  204. <listitem><para><emphasis>Internet Relay Chat (IRC):</emphasis>
  205. Two IRC channels on freenode are available
  206. for Yocto Project and Poky discussions: <filename>#yocto</filename> and
  207. <filename>#poky</filename>, respectively.
  208. </para></listitem>
  209. <listitem><para><emphasis>
  210. <ulink url='&OE_HOME_URL;'>OpenEmbedded</ulink>:</emphasis>
  211. The build system used by the Yocto Project.
  212. This project is the upstream, generic, embedded distribution
  213. from which the Yocto Project derives its build system (Poky)
  214. and to which it contributes.
  215. </para></listitem>
  216. <listitem><para><emphasis>
  217. <ulink url='http://www.openembedded.org/wiki/BitBake'>BitBake</ulink>:</emphasis>
  218. The tool used by the OpenEmbedded build system
  219. to process project metadata.
  220. </para></listitem>
  221. <listitem><para><emphasis>
  222. <ulink url='&YOCTO_DOCS_BB_URL;'>BitBake User Manual:</ulink></emphasis>
  223. A comprehensive guide to the BitBake tool.
  224. If you want information on BitBake, see this manual.
  225. </para></listitem>
  226. <listitem><para><emphasis>
  227. <ulink url='http://wiki.qemu.org/Index.html'>Quick EMUlator (QEMU)</ulink>:</emphasis>
  228. An open-source machine emulator and virtualizer.
  229. </para></listitem>
  230. </itemizedlist>
  231. </para>
  232. </section>
  233. </chapter>
  234. <!--
  235. vim: expandtab tw=80 ts=4
  236. -->