documentation/dev-manual/dev-manual-start.xml: formats and re-wordings.

Applied consistent section referencing formats.  Also cleaned up some
terminolgy for the YP Git repo.

(From yocto-docs rev: fa3cbb835b61158357d3f6fb9ebe017b9ba405cf)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Scott Rifenbark 2011-09-19 10:16:24 -07:00 committed by Richard Purdie
parent f343aa4cc6
commit 07638448b0
1 changed files with 60 additions and 61 deletions

View File

@ -7,16 +7,15 @@
<para> <para>
This chapter introduces the Yocto Project and gives you an idea of what you need to get started. This chapter introduces the Yocto Project and gives you an idea of what you need to get started.
You can find enough information to set your development host up and build or use images for You can find enough information to set up your development host and build or use images for
hardware supported by the Yocto Project by reading the hardware supported by the Yocto Project by reading
<ulink url='http://www.yoctoproject.org/docs/yocto-quick-start/yocto-project-qs.html'> <ulink url='http://www.yoctoproject.org/docs/yocto-quick-start/yocto-project-qs.html'>
Yocto Project Quick Start</ulink> located on the <ulink url='http://www.yoctoproject.org'> The Yocto Project Quick Start</ulink>.
Yocto Project website</ulink>.
</para> </para>
<para> <para>
The remainder of this chapter summarizes what is in the Yocto Project Quick Start and provides The remainder of this chapter summarizes what is in the Yocto Project Quick Start and provides
some higher level concepts you might want to consider. some higher-level concepts you might want to consider.
</para> </para>
<section id='introducing-the-yocto-project'> <section id='introducing-the-yocto-project'>
@ -24,8 +23,8 @@
<para> <para>
The Yocto Project is an open-source collaboration project focused on embedded Linux development. The Yocto Project is an open-source collaboration project focused on embedded Linux development.
The project currently provides a build system and various ancillary tools suitable for the The project currently provides a build system, which is sometimes referred to as "Poky",
embedded developer. and provides various ancillary tools suitable for the embedded developer.
The Yocto Project also features the Sato reference User Interface, which is optimized for The Yocto Project also features the Sato reference User Interface, which is optimized for
stylus driven, low-resolution screens. stylus driven, low-resolution screens.
</para> </para>
@ -37,7 +36,7 @@
While the Yocto Project does not provide a strict testing framework, While the Yocto Project does not provide a strict testing framework,
it does provide or generate for you artifacts that let you perform target-level and it does provide or generate for you artifacts that let you perform target-level and
emulated testing and debugging. emulated testing and debugging.
And, if you are an Eclipse user, you can install an Eclipse Yocto Plug-in to allow you to And, if you are an Eclipse IDE user, you can install an Eclipse Yocto Plug-in to allow you to
develop within that familiar environment. develop within that familiar environment.
</para> </para>
</section> </section>
@ -51,50 +50,50 @@
<listitem><para><emphasis>Host System:</emphasis> You should have a reasonably current <listitem><para><emphasis>Host System:</emphasis> You should have a reasonably current
Linux-based host system. Linux-based host system.
You will have the best results with a recent release of Fedora, You will have the best results with a recent release of Fedora,
OpenSUSE, or Ubuntu as these releases are frequently tested and officially supported OpenSUSE, or Ubuntu as these releases are frequently tested against the Yocto Project
host systems. and officially supported.
You should also have about 100 gigabytes of free disk space for building images. You should also have about 100 gigabytes of free disk space for building images.
</para></listitem> </para></listitem>
<listitem><para><emphasis>Packages:</emphasis> The Yocto Project requires certain packages <listitem><para><emphasis>Packages:</emphasis> The Yocto Project requires certain packages
exist on your development system (e.g. Python 2.6 or 2.7). exist on your development system (e.g. Python 2.6 or 2.7).
See <ulink url='http://www.yoctoproject.org/docs/yocto-quick-start/yocto-project-qs.html#packages'> See "<ulink url='http://www.yoctoproject.org/docs/yocto-quick-start/yocto-project-qs.html#packages'>The Packages</ulink>"
The Packages</ulink> section in the Yocto Project Quick start for the exact package section in the Yocto Project Quick start for the exact package
requirements and the installation commands for the supported distributions.</para></listitem> requirements and the installation commands to install them
for the supported distributions.</para></listitem>
<listitem id='local-yp-release'><para><emphasis>Yocto Project Release:</emphasis> <listitem id='local-yp-release'><para><emphasis>Yocto Project Release:</emphasis>
You need a release of the Yocto Project. You need a release of the Yocto Project.
You can get set up with local Yocto Project files one of two ways depending on whether you You can get set up with local Yocto Project files one of two ways depending on whether you
are going to be contributing back into the Yocto Project source repository or not. are going to be contributing back into the Yocto Project source repository or not.
<note> <note>
Regardless of the method you use, this manual will refer to the resulting Regardless of the method you use, this manual refers to the resulting
hierarchical set of files as "the local Yocto Project files." hierarchical set of files as "the Yocto Project files" or "the Yocto Project file
structure."
</note> </note>
<itemizedlist> <itemizedlist>
<listitem><para><emphasis>Tarball Extraction:</emphasis> If you are not going to contribute <listitem><para><emphasis>Tarball Extraction:</emphasis> If you are not going to contribute
back into the Yocto Project you can simply download the Yocto Project release you want back into the Yocto Project, you can simply download the Yocto Project release you want
from the websites <ulink url='http://yoctoproject.org/download'>download page</ulink>. from the websites <ulink url='http://yoctoproject.org/download'>download page</ulink>.
Once you have the tarball, just extract it into a directory of your choice.</para> Once you have the tarball, just extract it into a directory of your choice.</para>
<para>For example, the following command extracts the Yocto Project 1.1 release tarball <para>For example, the following command extracts the Yocto Project 1.1 release tarball
into the current working directory and sets up a file structure whose top-level into the current working directory and sets up the Yocto Project file structure
directory is named <filename>poky-1.1</filename>: with a top-level directory named <filename>poky-1.1</filename>:
<literallayout class='monospaced'> <literallayout class='monospaced'>
$ tar xfj poky-1.1.tar.bz2 $ tar xfj poky-1.1.tar.bz2
</literallayout></para> </literallayout></para>
<para>This method does not produce a <filename>poky</filename> Git repository. <para>This method does not produce a Git repository.
You end up simply with a local snapshot of Yocto Project files that are based on the Instead, you simply end up with a local snapshot of the
particular release in the tarball.</para></listitem> Yocto Project files that are based on the particular release in the
tarball.</para></listitem>
<listitem><para><emphasis>Git Repository Method:</emphasis> If you are going to be contributing <listitem><para><emphasis>Git Repository Method:</emphasis> If you are going to be contributing
back into the Yocto Project you should use Git commands to set up a local back into the Yocto Project, you should use Git commands to set up a local
<filename>poky</filename> Git repository of the Yocto Project. Git repository of the Yocto Project files.
Doing so creates a Git repository with a complete history of changes and allows Doing so creates a Git repository with a complete history of changes and allows
you to easily submit your changes upstream to the project.</para> you to easily submit your changes upstream to the project.</para>
<para>The following transcript shows how to clone the Yocto Project files'
<para>The following transcript shows how to clone the <filename>poky</filename>
Git repository into the current working directory. Git repository into the current working directory.
The command creates the repository in a directory named <filename>poky</filename>. The command creates the repository in a directory named <filename>poky</filename>.
For information on the Yocto Project and Git, see For information on the Yocto Project and Git, see the
<xref linkend='git'>Git</xref> in "<link linkend='git'>Git</link>" section.
<xref linkend='dev-manual-newbie'>Working with Open Source Code</xref>.
<literallayout class='monospaced'> <literallayout class='monospaced'>
$ git clone git://git.yoctoproject.org/poky $ git clone git://git.yoctoproject.org/poky
Initialized empty Git repository in /home/scottrif/poky/.git/ Initialized empty Git repository in /home/scottrif/poky/.git/
@ -104,28 +103,28 @@
Receiving objects: 100% (107624/107624), 69.74 MiB | 483 KiB/s, done. Receiving objects: 100% (107624/107624), 69.74 MiB | 483 KiB/s, done.
Resolving deltas: 100% (73393/73393), done. Resolving deltas: 100% (73393/73393), done.
</literallayout></para> </literallayout></para>
<para>For another example of how to set up your own local Git repositories, see this
<para>For another example of how to set up your own local Git repositories see this
<ulink url='https://wiki.yoctoproject.org/wiki/Transcript:_from_git_checkout_to_meta-intel_BSP'> <ulink url='https://wiki.yoctoproject.org/wiki/Transcript:_from_git_checkout_to_meta-intel_BSP'>
wiki page</ulink>, which describes how to create both <filename>poky</filename> wiki page</ulink>, which describes how to create both <filename>poky</filename>
and <filename>meta-intel</filename> Git repositories.</para></listitem> and <filename>meta-intel</filename> Git repositories.</para></listitem>
</itemizedlist></para></listitem> </itemizedlist></para></listitem>
<listitem id='local-kernel-files'><para><emphasis>Linux Yocto Kernel:</emphasis> <listitem id='local-kernel-files'><para><emphasis>Linux Yocto Kernel:</emphasis>
If you are going to be making modifications to a supported Linux Yocto kernel you If you are going to be making modifications to a supported Linux Yocto kernel, you
need to get set up so that you can edit local copies of the source. need to establish local copies of the source.
This setup involves creating a bare clone of the Linux Yocto kernel and then cloning This setup involves creating a bare clone of the Linux Yocto kernel and then cloning
that repository. that repository.
You can create the bare clone and the copy of the bare clone anywhere you like. You can create the bare clone and the copy of the bare clone anywhere you like.
For simplicity, it is recommended that you create these structures outside of the For simplicity, it is recommended that you create these structures outside of the
Yocto Project files Git repository.</para> Yocto Project files' Git repository.</para>
<para>As an example, the following transcript shows how to create the bare clone <para>As an example, the following transcript shows how to create the bare clone
of the <filename>linux-yocto-3.0</filename> kernel and then create a copy of of the <filename>linux-yocto-3.0</filename> kernel and then create a copy of
that clone. that clone.
<note>If you currently have a local Linux Yocto kernel Git repository, you can <note>When you have a local Linux Yocto kernel Git repository, you can
reference this local repository rather than the upstream Git repository as reference that repository rather than the upstream Git repository as
part of the <filename>clone</filename> command. part of the <filename>clone</filename> command.
Doing so can speed up the process.</note> Doing so can speed up the process.</note>
The bare clone is named <filename>linux-yocto-3.0.git</filename>, while the In the following example, the bare clone is named
<filename>linux-yocto-3.0.git</filename>, while the
copy is named <filename>linux-yocto-3.0</filename>: copy is named <filename>linux-yocto-3.0</filename>:
<literallayout class='monospaced'> <literallayout class='monospaced'>
$ git clone --bare git://git.yoctoproject.org/linux-yocto-3.0 linux-yocto-3.0.git $ git clone --bare git://git.yoctoproject.org/linux-yocto-3.0 linux-yocto-3.0.git
@ -147,7 +146,7 @@
The <filename>poky-extras</filename> Git repository contains metadata needed to The <filename>poky-extras</filename> Git repository contains metadata needed to
build the kernel image. build the kernel image.
In particular, it contains the kernel <filename>.bbappend</filename> files that you In particular, it contains the kernel <filename>.bbappend</filename> files that you
edit to point to your locally modified kernel source files and to build kernel edit to point to your locally modified kernel source files and to build the kernel
image. image.
Pointing to these local files is much more efficient than requiring a download of the Pointing to these local files is much more efficient than requiring a download of the
source files from upstream each time you make changes to the kernel.</para> source files from upstream each time you make changes to the kernel.</para>
@ -166,8 +165,8 @@
Receiving objects: 100% (531/531), 517.86 KiB, done. Receiving objects: 100% (531/531), 517.86 KiB, done.
Resolving deltas: 100% (138/138), done. Resolving deltas: 100% (138/138), done.
</literallayout></para></listitem> </literallayout></para></listitem>
<listitem><para><emphasis>Supported Board Support Packages (BSPs):</emphasis> The same considerations <listitem><para><emphasis>Supported Board Support Packages (BSPs):</emphasis>
exist for BSPs. Similar considerations exist for BSPs.
You can get set up for BSP development one of two ways: tarball extraction or You can get set up for BSP development one of two ways: tarball extraction or
with a local Git repository. with a local Git repository.
Regardless of the method you use, the Yocto Project uses the following BSP layer Regardless of the method you use, the Yocto Project uses the following BSP layer
@ -185,16 +184,16 @@
<itemizedlist> <itemizedlist>
<listitem><para><emphasis>Tarball Extraction:</emphasis> You can download any released <listitem><para><emphasis>Tarball Extraction:</emphasis> You can download any released
BSP tarball from the same BSP tarball from the same
<ulink url='http://yoctoproject.org/download'>download site</ulink>. <ulink url='http://yoctoproject.org/download'>download site</ulink> used
Once you have the tarball just extract it into a directory of your choice. to get the Yocto Project release.
Once you have the tarball, just extract it into a directory of your choice.
Again, this method just produces a snapshot of the BSP layer in the form Again, this method just produces a snapshot of the BSP layer in the form
of a hierarchical directory structure.</para></listitem> of a hierarchical directory structure.</para></listitem>
<listitem><para><emphasis>Git Repository Method:</emphasis> If you are working <listitem><para><emphasis>Git Repository Method:</emphasis> If you are working
with a <filename>poky</filename> Git repository you should also set up a with a Yocto Project files Git repository, you should also set up a
<filename>meta-intel</filename> Git repository. <filename>meta-intel</filename> Git repository.
Typically, you set up the <filename>meta-intel</filename> Git repository inside Typically, you set up the <filename>meta-intel</filename> Git repository inside
the <filename>poky</filename> Git repository.</para> the Yocto Project files Git repository.</para>
<para>For example, the following transcript shows the steps to clone the <para>For example, the following transcript shows the steps to clone the
<filename>meta-intel</filename> <filename>meta-intel</filename>
Git repository inside the <filename>poky</filename> Git repository. Git repository inside the <filename>poky</filename> Git repository.
@ -208,18 +207,17 @@
Receiving objects: 100% (1325/1325), 1.56 MiB | 330 KiB/s, done. Receiving objects: 100% (1325/1325), 1.56 MiB | 330 KiB/s, done.
Resolving deltas: 100% (546/546), done. Resolving deltas: 100% (546/546), done.
</literallayout></para> </literallayout></para>
<para>The same <para>The same
<ulink url='https://wiki.yoctoproject.org/wiki/Transcript:_from_git_checkout_to_meta-intel_BSP'> <ulink url='https://wiki.yoctoproject.org/wiki/Transcript:_from_git_checkout_to_meta-intel_BSP'>
wiki page</ulink> referenced earlier covers how to wiki page</ulink> referenced earlier covers how to
set up the <filename>meta-intel</filename> Git repository.</para></listitem> set up the <filename>meta-intel</filename> Git repository.</para></listitem>
</itemizedlist></para></listitem> </itemizedlist></para></listitem>
<listitem><para><emphasis>Eclipse Yocto Plug-in:</emphasis> If you are developing <listitem><para><emphasis>Eclipse Yocto Plug-in:</emphasis> If you are developing
applications using the applications using the Eclipse Integrated Development Environment (IDE),
Eclipse Integrated Development Environment (IDE) you will need this plug-in. you will need this plug-in.
See the See the
<ulink url='http://www.yoctoproject.org/docs/adt-manual/adt-manual.html#setting-up-the-eclipse-ide'> "<ulink url='http://www.yoctoproject.org/docs/adt-manual/adt-manual.html#setting-up-the-eclipse-ide'>Setting up the Eclipse IDE</ulink>"
Setting up the Eclipse IDE</ulink> section in the Yocto Application Development Toolkit (ADT) section in the Yocto Application Development Toolkit (ADT)
Users Guide for more information.</para></listitem> Users Guide for more information.</para></listitem>
</itemizedlist> </itemizedlist>
</para> </para>
@ -231,8 +229,8 @@
<para> <para>
The build process creates an entire Linux distribution, including the toolchain, from source. The build process creates an entire Linux distribution, including the toolchain, from source.
For more information on this topic, see the For more information on this topic, see the
<ulink url='http://www.yoctoproject.org/docs/yocto-quick-start/yocto-project-qs.html#building-image'> "<ulink url='http://www.yoctoproject.org/docs/yocto-quick-start/yocto-project-qs.html#building-image'>Building an Image</ulink>"
Building an Image</ulink> section in the Yocto Project Quick Start. section in the Yocto Project Quick Start.
</para> </para>
<para> <para>
@ -244,7 +242,7 @@
script.</para></listitem> script.</para></listitem>
<listitem><para>Optionally ensure the <filename>conf/local.conf</filename> configuration file is set <listitem><para>Optionally ensure the <filename>conf/local.conf</filename> configuration file is set
up how you want it. up how you want it.
This file defines the target machine architecture and and other build options.</para></listitem> This file defines the target machine architecture and other build options.</para></listitem>
<listitem><para>Build the image using the BitBake command. <listitem><para>Build the image using the BitBake command.
If you want information on Bitbake, see the user manual at If you want information on Bitbake, see the user manual at
<ulink url='http://docs.openembedded.org/bitbake/html'></ulink>.</para></listitem> <ulink url='http://docs.openembedded.org/bitbake/html'></ulink>.</para></listitem>
@ -260,16 +258,17 @@
<para> <para>
Another option you have to get started is to use pre-built binaries. Another option you have to get started is to use pre-built binaries.
This scenario is ideal for developing software applications to run on your target hardware. This scenario is ideal for developing software applications to run on your target hardware.
To do this you need to install the stand-alone Yocto toolchain tarball and then download the To do this, you need to install the stand-alone Yocto Project cross-toolchain tarball and
pre-built kernel that you will boot using the QEMU emulator. then download the pre-built kernel that you will boot in the QEMU emulator.
Next, you must download the filesystem for your target machines architecture. Next, you must download and extract the target root filesystem for your target
Finally, you set up the environment to emulate the hardware then start the emulator. machines architecture.
Finally, you set up the environment to emulate the hardware and then start the QEMU emulator.
</para> </para>
<para> <para>
You can find details on all these steps in the You can find details on all these steps in the
<ulink url='http://www.yoctoproject.org/docs/yocto-quick-start/yocto-project-qs.html#using-pre-built'> "<ulink url='http://www.yoctoproject.org/docs/yocto-quick-start/yocto-project-qs.html#using-pre-built'>Using Pre-Built Binaries and QEMU</ulink>"
Using Pre-Built Binaries and QEMU</ulink> section in the Yocto Project Quick Start. section of the Yocto Project Quick Start.
</para> </para>
</section> </section>
</chapter> </chapter>