diff options
| -rw-r--r-- | documentation/dev-manual/dev-manual-start.xml | 156 |
1 files changed, 125 insertions, 31 deletions
diff --git a/documentation/dev-manual/dev-manual-start.xml b/documentation/dev-manual/dev-manual-start.xml index 18194e6521..083080a8c3 100644 --- a/documentation/dev-manual/dev-manual-start.xml +++ b/documentation/dev-manual/dev-manual-start.xml | |||
| @@ -5,52 +5,146 @@ | |||
| 5 | 5 | ||
| 6 | <title>Getting Started with the Yocto Project</title> | 6 | <title>Getting Started with the Yocto Project</title> |
| 7 | 7 | ||
| 8 | <section id='start-intro'> | 8 | <para> |
| 9 | <title>Introduction</title> | 9 | This chapter introduces the Yocto Project and gives you an idea of what you need to get started. |
| 10 | You can find enough information to set your development host up and build or use images for | ||
| 11 | hardware supported by the Yocto Project by reading the | ||
| 12 | <ulink url='http://www.yoctoproject.org/docs/yocto-quick-start/yocto-project-qs.html'> | ||
| 13 | Yocto Project Quick Start</ulink> located on the <ulink url='http://www.yoctoproject.org'> | ||
| 14 | Yocto Project website</ulink>. | ||
| 15 | </para> | ||
| 16 | |||
| 17 | <para> | ||
| 18 | The remainder of this chapter summarizes what is in the Yocto Project Quick Start and provides | ||
| 19 | some higher level concepts you might want to consider. | ||
| 20 | </para> | ||
| 21 | |||
| 22 | <section id='introducing-the-yocto-project'> | ||
| 23 | <title>Introducing the Yocto Project</title> | ||
| 24 | |||
| 10 | <para> | 25 | <para> |
| 11 | The Yocto Project presents the kernel as a fully patched, history-clean Git | 26 | The Yocto Project is an open-source collaboration project focused on embedded Linux developers. |
| 12 | repository. | 27 | The project provides a recent Linux kernel along with a set of system commands, libraries, |
| 13 | The Git tree represents the selected features, board support, | 28 | and system components suitable for the embedded developer. |
| 14 | and configurations extensively tested by Yocto Project. | 29 | The Yocto Project also features the Sato reference User Interface should you be dealing with |
| 15 | The Yocto Project kernel allows the end user to leverage community | 30 | devices with restricted screens. |
| 16 | best practices to seamlessly manage the development, build and debug cycles. | ||
| 17 | </para> | 31 | </para> |
| 32 | |||
| 18 | <para> | 33 | <para> |
| 19 | This manual describes the Yocto Project kernel by providing information | 34 | You can use the Yocto Project, which uses the BitBake build tool, to develop complete Linux |
| 20 | on its history, organization, benefits, and use. | 35 | images and user-space applications for architectures based on ARM, MIPS, PowerPC, x86 and x86-64. |
| 21 | The manual consists of two sections: | 36 | You can perform target-level testing and debugging as well as test in a hardware emulated environment. |
| 22 | <itemizedlist> | 37 | And, if you are an Eclipse user, you can install an Eclipse Yocto Plug-in to allow you to |
| 23 | <listitem><para>Concepts - Describes concepts behind the kernel. | 38 | develop within that familiar environment. |
| 24 | You will understand how the kernel is organized and why it is organized in | ||
| 25 | the way it is. You will understand the benefits of the kernel's organization | ||
| 26 | and the mechanisms used to work with the kernel and how to apply it in your | ||
| 27 | design process.</para></listitem> | ||
| 28 | <listitem><para>Using the Kernel - Describes best practices and "how-to" information | ||
| 29 | that lets you put the kernel to practical use. Some examples are "How to Build a | ||
| 30 | Project Specific Tree", "How to Examine Changes in a Branch", and "Saving Kernel | ||
| 31 | Modifications."</para></listitem> | ||
| 32 | </itemizedlist> | ||
| 33 | </para> | 39 | </para> |
| 40 | </section> | ||
| 41 | |||
| 42 | <section id='getting-setup'> | ||
| 43 | <title>Getting Setup</title> | ||
| 44 | |||
| 34 | <para> | 45 | <para> |
| 35 | For more information on the kernel, see the following links: | 46 | Here is what you need to get set up to use the Yocto Project: |
| 36 | <itemizedlist> | 47 | <itemizedlist> |
| 37 | <listitem><para><ulink url='http://ldn.linuxfoundation.org/book/1-a-guide-kernel-development-process'></ulink></para></listitem> | 48 | <listitem><para><emphasis>Host System:</emphasis> You need a recent release of Fedora, |
| 38 | <listitem><para><ulink url='http://userweb.kernel.org/~akpm/stuff/tpp.txt'></ulink></para></listitem> | 49 | OpenSUSE, Debian, or Ubuntu. |
| 39 | <listitem><para><ulink url='http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob_plain;f=Documentation/HOWTO;hb=HEAD'></ulink></para></listitem> | 50 | You should have a reasonably current Linux-based host system. |
| 51 | You should also have about 100 gigabytes of free disk space if you plan on building | ||
| 52 | images.</para></listitem> | ||
| 53 | <listitem><para><emphasis>Packages:</emphasis> Depending on your host system (Debian-based or RPM-based), | ||
| 54 | you need certain packages. | ||
| 55 | See the <ulink url='http://www.yoctoproject.org/docs/yocto-quick-start/yocto-project-qs.html#packages'> | ||
| 56 | "The Packages"</ulink> section in the Yocto Project Quick start for the exact package | ||
| 57 | requirements.</para></listitem> | ||
| 58 | <listitem><para><emphasis>Yocto Project Release:</emphasis> You need a release of the Yocto Project. | ||
| 59 | You can get set up for this one of two ways depending on whether you are going to be contributing | ||
| 60 | back into the Yocto Project source repository or not. | ||
| 61 | <itemizedlist> | ||
| 62 | <listitem><para><emphasis>Tarball Extraction:</emphasis> If you are not going to contribute | ||
| 63 | back into the Yocto Project you can simply download the Yocto Project release you want | ||
| 64 | from the website’s <ulink url='http://yoctoproject.org/download'>download page</ulink>. | ||
| 65 | Once you have the tarball, just extract it into a directory of your choice. | ||
| 66 | If you are interested in supported Board Support Packages (BSPs) you can also download | ||
| 67 | these release tarballs from the same site and locate them in a directory of your | ||
| 68 | choice.</para></listitem> | ||
| 69 | <listitem><para><emphasis>Git Method:</emphasis> If you are going to be contributing | ||
| 70 | back into the Yocto Project you should probably use Git commands to set up a local | ||
| 71 | Git repository of the Yocto Project. | ||
| 72 | Doing so creates a history of changes you might make and allows you to easily submit | ||
| 73 | changes upstream to the project. | ||
| 74 | For an example of how to set up your own local Git repository of Yocto Project, | ||
| 75 | see this | ||
| 76 | <ulink url='https://wiki.yoctoproject.org/wiki/Transcript:_from_git_checkout_to_meta-intel_BSP'> | ||
| 77 | wiki page</ulink>, which covers checking out the Yocto sources.</para></listitem> | ||
| 78 | </itemizedlist></para></listitem> | ||
| 79 | <listitem><para><emphasis>Supported Board Support Packages (BSPs):</emphasis> The same considerations | ||
| 80 | exist for BSPs. | ||
| 81 | You can get set up for BSP development one of two ways: | ||
| 82 | <itemizedlist> | ||
| 83 | <listitem><para><emphasis>Tarball Extraction:</emphasis> You can download any released | ||
| 84 | BSP tarball from the same | ||
| 85 | <ulink url='http://yoctoproject.org/download'>download site</ulink>. | ||
| 86 | Once you have the tarball just extract it into a directory of your choice.</para></listitem> | ||
| 87 | <listitem><para><emphasis>Git Method:</emphasis> For an example of how to integrate | ||
| 88 | the metadata for BSPs into your local Yocto Project Git repository see this | ||
| 89 | <ulink url='https://wiki.yoctoproject.org/wiki/Transcript:_from_git_checkout_to_meta-intel_BSP'> | ||
| 90 | wiki page</ulink>, which covers how to check out the meta-intel repository.</para></listitem> | ||
| 91 | </itemizedlist></para></listitem> | ||
| 92 | <listitem><para><emphasis>Eclipse Yocto Plug-in:</emphasis> If you are developing using the | ||
| 93 | Eclipse Integrated Development Environment (IDE) you will need this plug-in. | ||
| 94 | See the | ||
| 95 | <ulink url='http://www.yoctoproject.org/docs/adt-manual/adt-manual.html#setting-up-the-eclipse-ide'> | ||
| 96 | "Setting up the Eclipse IDE"</ulink> section in the Yocto Application Development Toolkit (ADT) | ||
| 97 | User’s Guide for more information.</para></listitem> | ||
| 40 | </itemizedlist> | 98 | </itemizedlist> |
| 41 | <para> | ||
| 42 | You can find more information on Yocto Project by visiting the website at | ||
| 43 | <ulink url='http://www.yoctoproject.org'></ulink>. | ||
| 44 | </para> | ||
| 45 | </para> | 99 | </para> |
| 46 | </section> | 100 | </section> |
| 47 | 101 | ||
| 102 | <section id='building-images'> | ||
| 103 | <title>Building Images</title> | ||
| 48 | 104 | ||
| 105 | <para> | ||
| 106 | The build process creates an entire Linux distribution, including the toolchain, from source. | ||
| 107 | For more information on this topic, see the | ||
| 108 | <ulink url='http://www.yoctoproject.org/docs/yocto-quick-start/yocto-project-qs.html#building-image'> | ||
| 109 | "Building an Image"</ulink> section in the Yocto Project Quick Start. | ||
| 110 | </para> | ||
| 49 | 111 | ||
| 112 | <para> | ||
| 113 | The build process is as follows: | ||
| 114 | <orderedlist> | ||
| 115 | <listitem><para>Make sure you have the Yocto Project files as described in the | ||
| 116 | previous section.</para></listitem> | ||
| 117 | <listitem><para>Initialize the build environment by sourcing a build environment | ||
| 118 | script.</para></listitem> | ||
| 119 | <listitem><para>Make sure the <filename>conf/local.conf</filename> configuration file is set | ||
| 120 | up how you want it. | ||
| 121 | This file defines the target machine architecture and and other build configurations.</para></listitem> | ||
| 122 | <listitem><para>Build the image using the BitBake command. | ||
| 123 | If you want information on Bitbake, see the user manual at | ||
| 124 | <ulink url='http://docs.openembedded.org/bitbake/html'></ulink>.</para></listitem> | ||
| 125 | <listitem><para>Optionally, you can run the image in the QEMU emulator.</para></listitem> | ||
| 126 | </orderedlist> | ||
| 127 | </para> | ||
| 128 | </section> | ||
| 50 | 129 | ||
| 130 | <section id='using-pre-built-binaries-and-qemu'> | ||
| 131 | <title>Using Pre-Built Binaries and QEMU</title> | ||
| 51 | 132 | ||
| 133 | <para> | ||
| 134 | Another option you have to get started is to use a pre-built binary. | ||
| 135 | This scenario is ideal for developing software applications to run on your target hardware. | ||
| 136 | To do this you need to install the stand-alone Yocto toolchain tarball and then download the | ||
| 137 | pre-built kernel that you will boot using the QEMU emulator. | ||
| 138 | Next, you must download the filesystem for your target machine’s architecture. | ||
| 139 | Finally, you set up the environment to emulate the hardware then start the emulator. | ||
| 140 | </para> | ||
| 52 | 141 | ||
| 53 | 142 | <para> | |
| 143 | You can find details on all these steps in the | ||
| 144 | <ulink url='http://www.yoctoproject.org/docs/yocto-quick-start/yocto-project-qs.html#using-pre-built'> | ||
| 145 | "Using Pre-Built Binaries and QEMU"</ulink> section in the Yocto Project Quick Start. | ||
| 146 | </para> | ||
| 147 | </section> | ||
| 54 | </chapter> | 148 | </chapter> |
| 55 | <!-- | 149 | <!-- |
| 56 | vim: expandtab tw=80 ts=4 | 150 | vim: expandtab tw=80 ts=4 |
