documentation: poky-ref-manual - edits to MACHINE type variables.

Did some editing that helps clarify variables that deal with
the MACHINE.

(From yocto-docs rev: f1f63acffc952cc7d755fc6dd555379572fddaf0)

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 2012-10-17 14:22:01 -07:00 committed by Richard Purdie
parent 26868e8050
commit ed96f96db0

View File

@ -1415,11 +1415,42 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3"
<glossentry id='var-MACHINE'><glossterm>MACHINE</glossterm> <glossentry id='var-MACHINE'><glossterm>MACHINE</glossterm>
<glossdef> <glossdef>
<para> <para>
Specifies the target device. Specifies the target device for which the image is built.
This variable corresponds to a file with the You define <filename>MACHINE</filename> in the
extension <filename>.conf</filename> located in a <filename>local.conf</filename> file found in the
<filename>conf/machine</filename> directory <ulink url='&YOCTO_DOCS_DEV_URL;#build-directory'>Build Directory</ulink>.
within the metadata that contains the target device configuration. By default, <filename>MACHINE</filename> is set to
"qemux86", which is a basic x86 architecture to be run on
the emulator (QEMU):
<literallayout class='monospaced'>
MACHINE ?= "qemux86"
</literallayout>
The variable corresponds to a machine configuration file of the
same name, through which machine-specific configurations are set.
Thus, when <filename>MACHINE</filename> is set to "qemux86" there
exists the corresponding <filename>qemux86.conf</filename> machine
configuration file, which can be found in the
<ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink>
in <filename>meta/conf/machine</filename>.
</para>
<para>
The possible settings for <filename>MACHINE</filename> that ship with
the Yocto Project as defined in the <filename>local.conf</filename>
include the following:
<literallayout class='monospaced'>
MACHINE ?= "qemuarm"
MACHINE ?= "qemumips"
MACHINE ?= "qemuppc"
MACHINE ?= "qemux86"
MACHINE ?= "qemux86-64"
MACHINE ?= "atom-pc"
MACHINE ?= "beagleboard"
MACHINE ?= "mpc8315e-rdb"
MACHINE ?= "routerstationpro"
</literallayout>
The last four are target machines for hardware boards used
for demonstration.
</para> </para>
</glossdef> </glossdef>
</glossentry> </glossentry>
@ -1433,7 +1464,8 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3"
The build process depends on these packages being present. The build process depends on these packages being present.
Furthermore, because this is a "machine essential" variable, the list of Furthermore, because this is a "machine essential" variable, the list of
packages are essential for the machine to boot. packages are essential for the machine to boot.
The impact of this variable affects images based on <filename>packagegroup-core-boot</filename>, The impact of this variable affects images based on
<filename>packagegroup-core-boot</filename>,
including the <filename>core-image-minimal</filename> image. including the <filename>core-image-minimal</filename> image.
</para> </para>
<para> <para>
@ -1444,11 +1476,10 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3"
In other words, the image will not build if a file in this list is not found. In other words, the image will not build if a file in this list is not found.
</para> </para>
<para> <para>
For example, suppose the machine for which you are building requires As an example, suppose the machine for which you are building requires
a specific program to be run during boot to initialise the hardware. <filename>example-init</filename> to be run during boot to initialize the hardware.
In this case, assuming the package name for the program was In this case, you would use the following in the machine's
<filename>example-init</filename>, you would use the following in the <filename>.conf</filename> configuration file:
<filename>.conf</filename> file for the machine:
<literallayout class='monospaced'> <literallayout class='monospaced'>
MACHINE_ESSENTIAL_EXTRA_RDEPENDS += "example-init" MACHINE_ESSENTIAL_EXTRA_RDEPENDS += "example-init"
</literallayout> </literallayout>
@ -1463,9 +1494,10 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3"
A list of recommended machine-specific packages to install as part of A list of recommended machine-specific packages to install as part of
the image being built. the image being built.
The build process does not depend on these packages being present. The build process does not depend on these packages being present.
Furthermore, because this is a "machine essential" variable, the list of However, because this is a "machine essential" variable, the list of
packages are essential for the machine to boot. packages are essential for the machine to boot.
The impact of this variable affects images based on <filename>packagegroup-core-boot</filename>, The impact of this variable affects images based on
<filename>packagegroup-core-boot</filename>,
including the <filename>core-image-minimal</filename> image. including the <filename>core-image-minimal</filename> image.
</para> </para>
<para> <para>
@ -1480,16 +1512,18 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3"
</para> </para>
<para> <para>
Consider an example where you have a custom kernel where a specific touchscreen Consider an example where you have a custom kernel where a specific touchscreen
driver is required for the machine to be usable, but may be built as a module or driver is required for the machine to be usable.
However, the driver can be built as a module or
into the kernel depending on the kernel configuration. into the kernel depending on the kernel configuration.
If the driver is built as a module, you want it to be installed. If the driver is built as a module, you want it to be installed.
However if But, when the driver is built into the kernel, you still want the
the driver is built into the kernel you still want the build to succeed. build to succeed.
This variable sets up a "recommends" relationship so that in the latter case, This variable sets up a "recommends" relationship so that in the latter case,
the build will not fail due to the missing package. the build will not fail due to the missing package.
To accomplish this, assuming the package for the module was called To accomplish this, assuming the package for the module was called
<filename>kernel-module-ab123</filename>, you would use the <filename>kernel-module-ab123</filename>, you would use the
following in the <filename>.conf</filename> file for the machine: following in the machine's <filename>.conf</filename> configuration
file:
<literallayout class='monospaced'> <literallayout class='monospaced'>
MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += "kernel-module-ab123" MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += "kernel-module-ab123"
</literallayout> </literallayout>
@ -1504,16 +1538,19 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3"
<glossentry id='var-MACHINE_EXTRA_RDEPENDS'><glossterm>MACHINE_EXTRA_RDEPENDS</glossterm> <glossentry id='var-MACHINE_EXTRA_RDEPENDS'><glossterm>MACHINE_EXTRA_RDEPENDS</glossterm>
<glossdef> <glossdef>
<para> <para>
A list of machine-specific packages that are not essential for booting to install as A list of machine-specific packages to install as part of the
part of the image being built. image being built that are not essential for the machine to boot.
The build process for more fully-featured images depends on them being present. However, the build process for more fully-featured images
The impact of this variable affects all images based on depends on the packages being present.
</para>
<para>
This variable affects all images based on
<filename>packagegroup-base</filename>, which does not include the <filename>packagegroup-base</filename>, which does not include the
<filename>core-image-minimal</filename> or <filename>core-image-basic</filename> <filename>core-image-minimal</filename> or <filename>core-image-basic</filename>
images. images.
</para> </para>
<para> <para>
This variable is similar to the The variable is similar to the
<filename><link linkend='var-MACHINE_EXTRA_RRECOMMENDS'>MACHINE_EXTRA_RRECOMMENDS</link></filename> <filename><link linkend='var-MACHINE_EXTRA_RRECOMMENDS'>MACHINE_EXTRA_RRECOMMENDS</link></filename>
variable with the exception that the image being built has a build variable with the exception that the image being built has a build
dependency on the variable's list of packages. dependency on the variable's list of packages.
@ -1541,11 +1578,12 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3"
<glossdef> <glossdef>
<para></para> <para></para>
<para> <para>
A list of machine-specific packages that are not essential for booting A list of machine-specific packages to install as part of the
to install as part of the image being built, if present. image being built that are not essential for booting the machine.
The image being built has no build dependency on the list of packages The image being built has no build dependency on this list of packages.
with this variable. </para>
The impact of this variable affects only images based on <para>
This variable affects only images based on
<filename>packagegroup-base</filename>, which does not include the <filename>packagegroup-base</filename>, which does not include the
<filename>core-image-minimal</filename> or <filename>core-image-basic</filename> <filename>core-image-minimal</filename> or <filename>core-image-basic</filename>
images. images.
@ -1577,9 +1615,10 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3"
<glossentry id='var-MACHINE_FEATURES'><glossterm>MACHINE_FEATURES</glossterm> <glossentry id='var-MACHINE_FEATURES'><glossterm>MACHINE_FEATURES</glossterm>
<glossdef> <glossdef>
<para>Specifies the list of device features. <para>Specifies the list of hardware features the
See the "<link linkend='ref-features-machine'>Machine</link>" section for <link linkend='var-MACHINE'>MACHINE</link> supports.
more information.</para> For a list of valid features you can provide, see the
"<link linkend='ref-features-machine'>Machine</link>" section.</para>
</glossdef> </glossdef>
</glossentry> </glossentry>