documentation/yocto-project-qs/yocto-project-qs.xml: General edits to YP QS.
Revised the manual for better grammar and more technically accurate wordings. Worked closely with Scott Garman on the revision. Signed-off-by: Scott Rifenbark <scott@scott-desktop.(none)>
This commit is contained in:
parent
6d5adf1048
commit
75ee154c64
|
@ -160,14 +160,14 @@
|
||||||
autoconf automake
|
autoconf automake
|
||||||
</literallayout>
|
</literallayout>
|
||||||
|
|
||||||
<para>
|
<note><para>
|
||||||
<emphasis>NOTE:</emphasis> Packages vary in number and name for other Linux distributions.
|
Packages vary in number and name for other Linux distributions.
|
||||||
The commands here should work. We are interested, though, to learn what works for you.
|
The commands here should work. We are interested, though, to learn what works for you.
|
||||||
You can find more information for package requirements on common Linux distributions
|
You can find more information for package requirements on common Linux distributions
|
||||||
at <ulink url="http://wiki.openembedded.net/index.php/OEandYourDistro"></ulink>.
|
at <ulink url="http://wiki.openembedded.net/index.php/OEandYourDistro"></ulink>.
|
||||||
However, you should be careful when using this information as the information applies
|
However, you should be careful when using this information as the information applies
|
||||||
to old Linux distributions that are known to not work with a current Poky install.
|
to old Linux distributions that are known to not work with a current Poky install.
|
||||||
</para>
|
</para></note>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<section id='releases'>
|
<section id='releases'>
|
||||||
|
@ -216,15 +216,16 @@
|
||||||
</mediaobject>
|
</mediaobject>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
Use the following commands from a shell on your Debian-based host to build your image.
|
Use the following commands to build your image.
|
||||||
The build creates an entire Linux system including the Toolchain from the source.
|
The build process creates an entire Linux distribution, including the toolchain, from source.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para><emphasis>NOTE:</emphasis> The build process using Sato currently consumes
|
<note><para>
|
||||||
50GB of disk space.
|
The build process using Sato currently consumes
|
||||||
To allow for variations in the build process and for future package expansion we
|
about 50GB of disk space.
|
||||||
recommend 100GB of free disk space.
|
To allow for variations in the build process and for future package expansion, we
|
||||||
</para>
|
recommend having at least 100GB of free disk space.
|
||||||
|
</para></note>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
<literallayout class='monospaced'>
|
<literallayout class='monospaced'>
|
||||||
|
@ -235,52 +236,56 @@
|
||||||
</para>
|
</para>
|
||||||
<itemizedlist>
|
<itemizedlist>
|
||||||
<listitem><para>The first two commands extract the Yocto Project files from the
|
<listitem><para>The first two commands extract the Yocto Project files from the
|
||||||
release area and place them into a subdirectory of your current directory
|
release tarball and place them into a subdirectory of your current directory.</para></listitem>
|
||||||
(<command>poky-4.0-build</command> in this example).</para></listitem>
|
<listitem><para>The <command>source</command> command creates the
|
||||||
<listitem><para>The <command>$ source</command> command creates the directory and places
|
<filename>poky-4.0-build</filename> directory and executes the <command>cd</command>
|
||||||
you there.
|
command to make <filename>poky-4.0-build</filename> the working directory.
|
||||||
The build directory contains all the object files used during the build.
|
The resulting build directory contains all the files created during the build.
|
||||||
The default build directory is <command>poky-4.0-build</command>.
|
By default the target architecture is qemux86.
|
||||||
Note that you can change the target architecture by editing the
|
To change this default, edit the value of the MACHINE variable in the
|
||||||
<command><build_directory>/conf/local.conf</command> file.
|
<filename>conf/local.conf</filename> file.</para></listitem>
|
||||||
By default the target architecture is qemux86.</para></listitem>
|
|
||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
<para>
|
<para>
|
||||||
Now might be a good time to edit the <command>conf/local.conf</command>
|
Take some time to examine your <filename>conf/local.conf</filename> file.
|
||||||
file.
|
The defaults should work fine.
|
||||||
The defaults should all be fine. However, you might want to look at the variables
|
However, if you have a multi-core CPU you might want to set the variables
|
||||||
BB_NUMBER_THREADS and PARALLEL_MAKE.
|
BB_NUMBER_THREADS and PARALLEL_MAKE to the number of processor cores on your build machine.
|
||||||
By default, these variables are commented out.
|
By default, these variables are commented out.
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
Continue with the following command to build the OS image for the target, which is
|
Continue with the following command to build an OS image for the target, which is
|
||||||
poky-image-sato in this example.
|
<filename>poky-image-sato</filename> in this example.
|
||||||
<literallayout class='monospaced'>
|
<literallayout class='monospaced'>
|
||||||
$ bitbake poky-image-sato
|
$ bitbake poky-image-sato
|
||||||
</literallayout>
|
</literallayout>
|
||||||
<emphasis>NOTE:</emphasis> If you are running Fedora 14 or another distribution
|
<note><para>
|
||||||
with GNU make 3.82 you might have to run the following two
|
If you are running Fedora 14 or another distribution
|
||||||
<command>$bitbake</command> commands instead:
|
that ships with GNU make v3.82 you need to run the following two
|
||||||
<literallayout class='monospaced'>
|
<command>bitbake</command> commands instead:
|
||||||
|
<literallayout class='monospaced'>
|
||||||
$ bitbake make-native
|
$ bitbake make-native
|
||||||
$ bitbake poky-image-sato
|
$ bitbake poky-image-sato
|
||||||
</literallayout>
|
</literallayout>
|
||||||
|
</para></note>
|
||||||
The final command runs the image:
|
The final command runs the image:
|
||||||
<literallayout class='monospaced'>
|
<literallayout class='monospaced'>
|
||||||
$ poky-qemu qemux86
|
$ poky-qemu qemux86
|
||||||
</literallayout>
|
</literallayout>
|
||||||
The build process could take several hours the first time you run it.
|
<note><para>
|
||||||
Depending on the number of processors and cores, the amount or RAM, the speed of your
|
Depending on the number of processors and cores, the amount or RAM, the speed of your
|
||||||
internet connection and other factors.
|
Internet connection and other factors, the build process could take several hours the first
|
||||||
After the initial build, subsequent builds run much faster.
|
time you run it.
|
||||||
|
Subsequent builds run much faster since parts of the build are cached.
|
||||||
|
</para></note>
|
||||||
</para>
|
</para>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<section id='using-pre-built'>
|
<section id='using-pre-built'>
|
||||||
<title>Using Pre-Built Binaries and QEMU</title>
|
<title>Using Pre-Built Binaries and QEMU</title>
|
||||||
<para>
|
<para>
|
||||||
If hardware, libraries and services are stable you can use a pre-built binary of the image, kernel and toolchain and just run it on the target using the emulator QEMU.
|
If hardware, libraries and services are stable you can get started by using a pre-built binary
|
||||||
This situation is perfect for developing application software.
|
of the image, kernel and toolchain and run it using the emulator QEMU.
|
||||||
|
This scenario is useful for developing application software.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para></para>
|
<para></para>
|
||||||
|
@ -303,25 +308,60 @@
|
||||||
<itemizedlist>
|
<itemizedlist>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Install the standalone Yocto toolchain tarball.
|
Install the stand-alone Yocto toolchain tarball.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Download the pre-built kernel that will run on QEMU.
|
Download the pre-built kernel that will boot with QEMU.
|
||||||
You need to be sure to get the QEMU image that matches your target machine’s architecture (e.g. x86, ARM, etc.).
|
You need to be sure to get the QEMU image that matches your target machine’s
|
||||||
|
architecture (e.g. x86, ARM, etc.).
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Download and decompress the file image system.
|
Download the filesystem image for your target machine's architecture.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
You can download the pre-built toolchain, which includes the poky-qemu script and support files, from <ulink url='http://yoctoproject.org/downloads/yocto-0.9/toolchain/'></ulink>. These are available for i586 (32-bit) and x86_64 (64 bit) host machines, targeting each of the five supported target architectures. The tarballs are self contained and install into <filename>/opt/poky</filename>.
|
You can download the pre-built toolchain, which includes the poky-qemu script and
|
||||||
Use these commands to install the toolchain tarball (taking the 64 bit host, 32 bit i586 target as an example):
|
support files, from <ulink url='http://yoctoproject.org/downloads/yocto-0.9/toolchain/'></ulink>.
|
||||||
|
Toolchains are available for 32-bit and 64-bit development systems from the
|
||||||
|
<filename>i586</filename> and <filename>x86_64</filename> folders, respectively.
|
||||||
|
Each type of development system supports five target architectures.
|
||||||
|
The tarball files are named such that a string representing the host system appears
|
||||||
|
first in the filename and then is immediately followed by a string representing
|
||||||
|
the target architecture.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<literallayout class='monospaced'>
|
||||||
|
yocto-eglibc<<emphasis>host_system</emphasis>>-<<emphasis>arch</emphasis>>-toolchain-sdk-<<emphasis>release</emphasis>>.tar.bz2
|
||||||
|
|
||||||
|
Where:
|
||||||
|
<<emphasis>host_system</emphasis>> is a string representing your development system:
|
||||||
|
i586 or x86_64.
|
||||||
|
|
||||||
|
<<emphasis>arch</emphasis>> is a string representing the target architecture:
|
||||||
|
i585, x86_64, powerpc, mips, or arm.
|
||||||
|
|
||||||
|
<<emphasis>release</emphasis>> is the version of Yocto Project.
|
||||||
|
</literallayout>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
For example, the following toolchain tarball is for a 64-bit development
|
||||||
|
host system and a 32-bit target architecture:
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<literallayout class='monospaced'>
|
||||||
|
yocto-eglibc-x86_64-i586-toolchain-sdk-0.9.tar.bz2
|
||||||
|
</literallayout>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
The toolchain tarballs are self-contained and should be installed into <filename>/opt/poky</filename>.
|
||||||
|
The following commands show how you install the toolchain tarball given a 64-bit development host system
|
||||||
|
and a 32-bit target architecture.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
|
@ -332,44 +372,83 @@
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
You can download the pre-built Linux kernel and the file image system suitable for
|
You can download the pre-built Linux kernel and the filesystem image suitable for
|
||||||
running in the emulator QEMU from
|
running in the emulator QEMU from
|
||||||
<ulink url='http://yoctoproject.org/downloads/yocto-0.9/qemu'></ulink>.
|
<ulink url='http://yoctoproject.org/downloads/yocto-0.9/qemu'></ulink>.
|
||||||
Be sure to use the kernel and file image system that matches the architecture you want
|
Be sure to use the kernel and filesystem image that matches the architecture you want
|
||||||
to simulate.
|
to simulate.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
The kernel and file image system have the following forms, respectively:
|
Most kernel files have the following form:
|
||||||
</para>
|
|
||||||
|
|
||||||
<literallayout class='monospaced'>
|
|
||||||
*zImage*qemu*.bin
|
|
||||||
yocto-image-*-qemu*.ext3.bz2
|
|
||||||
</literallayout>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
You must decompress the file image system using the following command:
|
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<literallayout class='monospaced'>
|
<literallayout class='monospaced'>
|
||||||
$ bzip2 -d
|
*zImage*qemu<<emphasis>arch</emphasis>>*.bin
|
||||||
|
|
||||||
|
Where:
|
||||||
|
<<emphasis>arch</emphasis>> is a string representing the target architecture:
|
||||||
|
x86, x86-64, ppc, mips, or arm.
|
||||||
</literallayout>
|
</literallayout>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
You can now start the emulator using these commands (assuming an 32 bit i586 target):
|
The filesystem image has two forms.
|
||||||
|
One form is an <filename>ext3</filename> filesystem image.
|
||||||
|
The other form is a tarball of the filesystem and is booted using user-space NFS.
|
||||||
|
Here are the respective forms:
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<literallayout class='monospaced'>
|
||||||
|
yocto-image-<<emphasis>profile</emphasis>>-qemu<<emphasis>arch</emphasis>>.rootfs.ext3
|
||||||
|
yocto-image-<<emphasis>profile</emphasis>>-qemu<<emphasis>arch</emphasis>>.rootfs.tar.bz2
|
||||||
|
|
||||||
|
Where:
|
||||||
|
<<emphasis>profile</emphasis>> is the filesystem image's profile:
|
||||||
|
sdk, sato, minimal, or lsb.
|
||||||
|
|
||||||
|
<<emphasis>arch</emphasis>> is a string representing the target architecture:
|
||||||
|
x86, x86-64, ppc, mips, or arm.
|
||||||
|
</literallayout>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
The following command form sets up the emulation environment.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<literallayout class='monospaced'>
|
||||||
|
$ source /opt/poky/environment-setup-<<emphasis>arch</emphasis>>-poky-linux
|
||||||
|
|
||||||
|
Where:
|
||||||
|
<<emphasis>arch</emphasis>> is a string representing the target architecture:
|
||||||
|
i586, x86-64, ppc, mips, or arm.
|
||||||
|
</literallayout>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Finally, this command form invokes the QEMU emulator
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<literallayout class='monospaced'>
|
||||||
|
$ poky-qemu <<emphasis>qemuarch</emphasis>> <<emphasis>kernel</emphasis>> <<emphasis>image</emphasis>> <<emphasis>fstype</emphasis>>
|
||||||
|
|
||||||
|
Where:
|
||||||
|
<<emphasis>qemuarch</emphasis>> is a string representing the target architecture: qemux86, qemux86-64,
|
||||||
|
qemuppc, qemumips, or qemuarm.
|
||||||
|
|
||||||
|
<<emphasis>kernel</emphasis>> is the architecture-specific kernel.
|
||||||
|
|
||||||
|
<<emphasis>image</emphasis>> is the .ext3 filesystem image.
|
||||||
|
|
||||||
|
<<emphasis>fstype</emphasis>> is the filesystem type.
|
||||||
|
</literallayout>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Continuing with the example, the following two commands setup the emulation
|
||||||
|
environment and launch QEMu.
|
||||||
|
The kernel and filesystem are for a 32-bit target architecture.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<literallayout class='monospaced'>
|
<literallayout class='monospaced'>
|
||||||
$ source /opt/poky/environment-setup-i586-poky-linux
|
$ source /opt/poky/environment-setup-i586-poky-linux
|
||||||
$ poky-qemu <<emphasis>qemuarch</emphasis>> <<emphasis>kernel</emphasis>> <<emphasis>image</emphasis>> <<emphasis>fstype</emphasis>>
|
$ poky-qemu qemui586 zImage-2.6.34-qemux86-0.9 yocto-image-sdk-qemux86-0.9.rootfs.ext3 ext3
|
||||||
</literallayout>
|
|
||||||
<para>
|
|
||||||
For example:
|
|
||||||
</para>
|
|
||||||
<literallayout class='monospaced'>
|
|
||||||
$ poky-qemu qemuppc zImage-2.6.34-qemuppc-0.9 \
|
|
||||||
yocto-image-minimal-qemuppc-0.9.rootfs.ext3 ext3
|
|
||||||
</literallayout>
|
</literallayout>
|
||||||
|
|
||||||
</section>
|
</section>
|
||||||
|
|
Loading…
Reference in New Issue