diff options
author | Scott Rifenbark <scott.m.rifenbark@intel.com> | 2011-07-15 09:23:55 -0700 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2011-07-21 10:59:23 +0100 |
commit | a0ff15aa3db53d9f5e35f1d84ba5331d4147b46a (patch) | |
tree | d1ef41e10d695abf718ac4ce4426c60f4529ee9d /documentation | |
parent | 387ed5934e851fc6f1d5758c62104d3a1fed1175 (diff) | |
download | poky-a0ff15aa3db53d9f5e35f1d84ba5331d4147b46a.tar.gz |
documentation/dev-manual/dev-manual-start.xml: Initial content added
The original content of this chapter was simply a copy of an existing
adt-manual file. I have added the content for the chapter.
(From yocto-docs rev: cac53540d8449f605ab40775c317b613711f3a80)
Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'documentation')
-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 |