Compare commits
78 Commits
yocto-4.0.
...
1.3_M5.rc4
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c9de24d3f4 | ||
|
|
58a7160419 | ||
|
|
767ced9fa5 | ||
|
|
5ecc6d0d6f | ||
|
|
c030e463ab | ||
|
|
709f570c82 | ||
|
|
cfbf6fad48 | ||
|
|
650d20107d | ||
|
|
a8a5765fed | ||
|
|
e369448f32 | ||
|
|
d1fe084c03 | ||
|
|
486441be18 | ||
|
|
0eca2b4cb2 | ||
|
|
7c08b602e6 | ||
|
|
970d00de04 | ||
|
|
f058e96728 | ||
|
|
11fdbf2b27 | ||
|
|
bc02fb725b | ||
|
|
5d4b08853e | ||
|
|
c29e8cbb2f | ||
|
|
784f93baf3 | ||
|
|
755ca76f8e | ||
|
|
1e892fb5a0 | ||
|
|
af811fbc0b | ||
|
|
0dc25d42ef | ||
|
|
5a816edcf9 | ||
|
|
f4434bd16e | ||
|
|
e83c7d3056 | ||
|
|
571259cc48 | ||
|
|
ad41126681 | ||
|
|
f2533f35e8 | ||
|
|
dcd1428716 | ||
|
|
d81ab9f844 | ||
|
|
13bf7c1299 | ||
|
|
6d45c9f72d | ||
|
|
5ae465073f | ||
|
|
2de77b3c38 | ||
|
|
f6092be1de | ||
|
|
babe0fa137 | ||
|
|
5647682c2f | ||
|
|
77b92b01ce | ||
|
|
0a4f7521bb | ||
|
|
c1261f843e | ||
|
|
e3a3bdd81f | ||
|
|
a8def2777c | ||
|
|
9884bc2d48 | ||
|
|
2f1b47e416 | ||
|
|
016d00123a | ||
|
|
fdabda6345 | ||
|
|
99dabeb2e9 | ||
|
|
f56a4774a9 | ||
|
|
4a4cdae234 | ||
|
|
7396cef1b9 | ||
|
|
6676fb5e32 | ||
|
|
be11294d17 | ||
|
|
2d93461815 | ||
|
|
1e9d77c3b2 | ||
|
|
3634379cea | ||
|
|
43c4cdb0df | ||
|
|
28c39928d3 | ||
|
|
703eadc55f | ||
|
|
e7134d50f3 | ||
|
|
ddef53b962 | ||
|
|
c1392638ce | ||
|
|
fbd21995ae | ||
|
|
9e21f5b114 | ||
|
|
b5ad96f86b | ||
|
|
33dcf6960b | ||
|
|
5979f64829 | ||
|
|
b0ac293871 | ||
|
|
6915004b18 | ||
|
|
90d45f4264 | ||
|
|
eb1782f715 | ||
|
|
503023dd69 | ||
|
|
1164f70c34 | ||
|
|
31e19a34a5 | ||
|
|
86c9aa8081 | ||
|
|
ef5298eebd |
@@ -101,7 +101,14 @@ class HobHandler(gobject.GObject):
|
|||||||
|
|
||||||
def runCommand(self, commandline):
|
def runCommand(self, commandline):
|
||||||
try:
|
try:
|
||||||
return self.server.runCommand(commandline)
|
result = self.server.runCommand(commandline)
|
||||||
|
result_str = str(result)
|
||||||
|
if (result_str.startswith("Busy (") or
|
||||||
|
result_str == "No such command"):
|
||||||
|
raise Exception('%s has failed with output "%s". ' %
|
||||||
|
(str(commandline), result_str) +
|
||||||
|
"We recommend that you restart Hob.")
|
||||||
|
return result
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
self.commands_async = []
|
self.commands_async = []
|
||||||
self.clear_busy()
|
self.clear_busy()
|
||||||
|
|||||||
@@ -42,7 +42,7 @@ class PackageListModel(gtk.TreeStore):
|
|||||||
()),
|
()),
|
||||||
}
|
}
|
||||||
|
|
||||||
__toolchain_required_packages__ = ["task-core-standalone-sdk-target", "task-core-standalone-sdk-target-dbg"]
|
__toolchain_required_packages__ = ["packagegroup-core-standalone-sdk-target", "packagegroup-core-standalone-sdk-target-dbg"]
|
||||||
|
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
|
|
||||||
|
|||||||
@@ -368,6 +368,7 @@ class ImageConfigurationPage (HobPage):
|
|||||||
if self.builder.parameters.image_black_pattern:
|
if self.builder.parameters.image_black_pattern:
|
||||||
for i in self.builder.parameters.image_black_pattern.split():
|
for i in self.builder.parameters.image_black_pattern.split():
|
||||||
black_pattern.append(re.compile(i))
|
black_pattern.append(re.compile(i))
|
||||||
|
black_pattern.append(re.compile("hob-image"))
|
||||||
|
|
||||||
it = image_model.get_iter_first()
|
it = image_model.get_iter_first()
|
||||||
self._image_combo_disconnect_signal()
|
self._image_combo_disconnect_signal()
|
||||||
|
|||||||
@@ -24,13 +24,15 @@
|
|||||||
# manuals are being generated. The variable BRANCH is used to indicate the
|
# manuals are being generated. The variable BRANCH is used to indicate the
|
||||||
# branch (edison or denzil) and is used only when DOC=dev-manual or
|
# branch (edison or denzil) and is used only when DOC=dev-manual or
|
||||||
# DOC=mega-manual. If you do not specify a BRANCH, the default branch used
|
# DOC=mega-manual. If you do not specify a BRANCH, the default branch used
|
||||||
# will be for the latest Yocto Project release.
|
# will be for the latest Yocto Project release. If you build for either
|
||||||
|
# edison or denzil, you must use BRANCH. You do not need to use BRANCH for
|
||||||
|
# any release beyond denzil.
|
||||||
#
|
#
|
||||||
# To build a manual, you must invoke Makefile with the DOC argument. If you
|
# To build a manual, you must invoke Makefile with the DOC argument. If you
|
||||||
# are going to publish the manual, then you must invoke Makefile with both the
|
# are going to publish the manual, then you must invoke Makefile with both the
|
||||||
# DOC and the VER argument. If you are building a particular version of the
|
# DOC and the VER argument. Furthermore, if you are building or publishing
|
||||||
# Yocto Project Development Manual or you are building any version of the
|
# the edison or denzil versions of the Yocto Poject Development Manual or
|
||||||
# mega-manual, you must use the DOC and BRANCH arguments.
|
# the mega-manual, you must also use the BRANCH argument.
|
||||||
#
|
#
|
||||||
# Examples:
|
# Examples:
|
||||||
#
|
#
|
||||||
@@ -47,7 +49,8 @@
|
|||||||
# fourth example generates both the PDF and HTML 'edison' versions of the YP
|
# fourth example generates both the PDF and HTML 'edison' versions of the YP
|
||||||
# Development Manual. The last exmample generates the HTML version of the
|
# Development Manual. The last exmample generates the HTML version of the
|
||||||
# mega-manual and uses the 'denzil' branch when choosing figures for the
|
# mega-manual and uses the 'denzil' branch when choosing figures for the
|
||||||
# tarball of figures.
|
# tarball of figures. Any example that does not use the BRANCH argument
|
||||||
|
# builds the current version of the manual set.
|
||||||
#
|
#
|
||||||
# Use the publish target to push the generated manuals to the Yocto Project
|
# Use the publish target to push the generated manuals to the Yocto Project
|
||||||
# website. All files needed for the manual's HTML form are pushed as well as the
|
# website. All files needed for the manual's HTML form are pushed as well as the
|
||||||
@@ -57,16 +60,13 @@
|
|||||||
# make publish DOC=bsp-guide VER=1.3
|
# make publish DOC=bsp-guide VER=1.3
|
||||||
# make publish DOC=adt-manual VER=1.3
|
# make publish DOC=adt-manual VER=1.3
|
||||||
# make publish DOC=dev-manual VER=1.1.1 BRANCH=edison
|
# make publish DOC=dev-manual VER=1.1.1 BRANCH=edison
|
||||||
# make publish DOC=dev-manual VER=1.2
|
# make publish DOC=dev-manual VER=1.2 BRANCH=denzil
|
||||||
# make publish DOC=mega-manual VER=1.3 BRANCH=denzil
|
|
||||||
#
|
#
|
||||||
# The first example publishes the 1.2 version of both the PDF and HTML versions of
|
# The first example publishes the 1.3 version of both the PDF and HTML versions of
|
||||||
# the BSP Guide. The second example publishes the 1.2 version of both the PDF and
|
# the BSP Guide. The second example publishes the 1.3 version of both the PDF and
|
||||||
# HTML versions of the ADT Manual. The third example publishes the PDF and HTML
|
# HTML versions of the ADT Manual. The third example publishes the PDF and HTML
|
||||||
# 'edison' versions of the YP Development Manual. The fourth example publishes
|
# 'edison' versions of the YP Development Manual. The fourth example publishes
|
||||||
# the PDF and HTML 'master' versions of the YP Development Manual. The last
|
# the PDF and HTML 'denzil' versions of the YP Development Manual.
|
||||||
# example publishes the 1.3 version of the mega-manual (HTML-only) and the
|
|
||||||
# version generated and published is based on the 'denzil' branch.
|
|
||||||
#
|
#
|
||||||
|
|
||||||
ifeq ($(DOC),bsp-guide)
|
ifeq ($(DOC),bsp-guide)
|
||||||
@@ -119,9 +119,9 @@ TARFILES = dev-style.css dev-manual.html dev-manual.pdf \
|
|||||||
TARFILES = dev-style.css dev-manual.html dev-manual.pdf \
|
TARFILES = dev-style.css dev-manual.html dev-manual.pdf \
|
||||||
figures/app-dev-flow.png figures/bsp-dev-flow.png figures/dev-title.png \
|
figures/app-dev-flow.png figures/bsp-dev-flow.png figures/dev-title.png \
|
||||||
figures/git-workflow.png figures/index-downloads.png figures/kernel-dev-flow.png \
|
figures/git-workflow.png figures/index-downloads.png figures/kernel-dev-flow.png \
|
||||||
figures/kernel-example-repos-denzil.png \
|
figures/kernel-example-repos-generic.png \
|
||||||
figures/kernel-overview-1.png figures/kernel-overview-2.png \
|
figures/kernel-overview-1.png figures/kernel-overview-2-generic.png \
|
||||||
figures/kernel-overview-3-denzil.png \
|
figures/kernel-overview-3-generic.png \
|
||||||
figures/source-repos.png figures/yp-download.png \
|
figures/source-repos.png figures/yp-download.png \
|
||||||
figures/wip.png
|
figures/wip.png
|
||||||
endif
|
endif
|
||||||
@@ -184,9 +184,9 @@ TARFILES = mega-manual.html mega-style.css figures/yocto-environment.png figures
|
|||||||
figures/kernel-title.png figures/kernel-architecture-overview.png \
|
figures/kernel-title.png figures/kernel-architecture-overview.png \
|
||||||
figures/app-dev-flow.png figures/bsp-dev-flow.png figures/dev-title.png \
|
figures/app-dev-flow.png figures/bsp-dev-flow.png figures/dev-title.png \
|
||||||
figures/git-workflow.png figures/index-downloads.png figures/kernel-dev-flow.png \
|
figures/git-workflow.png figures/index-downloads.png figures/kernel-dev-flow.png \
|
||||||
figures/kernel-example-repos-denzil.png \
|
figures/kernel-example-repos-generic.png \
|
||||||
figures/kernel-overview-1.png figures/kernel-overview-2.png \
|
figures/kernel-overview-1.png figures/kernel-overview-2-generic.png \
|
||||||
figures/kernel-overview-3-denzil.png \
|
figures/kernel-overview-3-generic.png \
|
||||||
figures/source-repos.png figures/yp-download.png \
|
figures/source-repos.png figures/yp-download.png \
|
||||||
figures/wip.png
|
figures/wip.png
|
||||||
endif
|
endif
|
||||||
|
|||||||
@@ -56,6 +56,7 @@
|
|||||||
BBLAYERS = " \
|
BBLAYERS = " \
|
||||||
/usr/local/src/yocto/meta \
|
/usr/local/src/yocto/meta \
|
||||||
/usr/local/src/yocto/meta-yocto \
|
/usr/local/src/yocto/meta-yocto \
|
||||||
|
/usr/local/src/yocto/meta-yocto-bsp \
|
||||||
/usr/local/src/yocto/meta-<bsp_name> \
|
/usr/local/src/yocto/meta-<bsp_name> \
|
||||||
"
|
"
|
||||||
</literallayout>
|
</literallayout>
|
||||||
@@ -388,7 +389,7 @@
|
|||||||
<para>
|
<para>
|
||||||
Tuning files are found in the <filename>meta/conf/machine/include</filename>
|
Tuning files are found in the <filename>meta/conf/machine/include</filename>
|
||||||
directory within the
|
directory within the
|
||||||
<ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>source directory</ulink>.
|
<ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink>.
|
||||||
Tuning files can also reside in the BSP Layer itself.
|
Tuning files can also reside in the BSP Layer itself.
|
||||||
For example, the <filename>ia32-base.inc</filename> file resides in the
|
For example, the <filename>ia32-base.inc</filename> file resides in the
|
||||||
<filename>meta-intel</filename> BSP Layer in <filename>conf/machine/include</filename>.
|
<filename>meta-intel</filename> BSP Layer in <filename>conf/machine/include</filename>.
|
||||||
@@ -440,7 +441,7 @@
|
|||||||
formfactor recipe
|
formfactor recipe
|
||||||
<filename>meta/recipes-bsp/formfactor/formfactor_0.0.bb</filename>,
|
<filename>meta/recipes-bsp/formfactor/formfactor_0.0.bb</filename>,
|
||||||
which is found in the
|
which is found in the
|
||||||
<ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>source directory</ulink>.
|
<ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink>.
|
||||||
</para></note>
|
</para></note>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
@@ -485,7 +486,7 @@
|
|||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
For your BSP, you typically want to use an existing Yocto Project kernel recipe found in the
|
For your BSP, you typically want to use an existing Yocto Project kernel recipe found in the
|
||||||
<ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>source directory</ulink>
|
<ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink>
|
||||||
at <filename>meta/recipes-kernel/linux</filename>.
|
at <filename>meta/recipes-kernel/linux</filename>.
|
||||||
You can append your specific changes to the kernel recipe by using a
|
You can append your specific changes to the kernel recipe by using a
|
||||||
similarly named append file, which is located in the BSP Layer (e.g.
|
similarly named append file, which is located in the BSP Layer (e.g.
|
||||||
@@ -557,7 +558,7 @@
|
|||||||
to ensure the build process uses the <filename>standard/default/crownbay</filename>
|
to ensure the build process uses the <filename>standard/default/crownbay</filename>
|
||||||
kernel branch.
|
kernel branch.
|
||||||
Finally, the append file points to the specific top commits in the
|
Finally, the append file points to the specific top commits in the
|
||||||
<ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>source directory</ulink> Git
|
<ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink> Git
|
||||||
repository and the <filename>meta</filename> Git repository branches to identify the
|
repository and the <filename>meta</filename> Git repository branches to identify the
|
||||||
exact kernel needed to build the Crown Bay BSP.
|
exact kernel needed to build the Crown Bay BSP.
|
||||||
</para>
|
</para>
|
||||||
@@ -617,13 +618,6 @@
|
|||||||
<filename>meta</filename> branch for your BSP.
|
<filename>meta</filename> branch for your BSP.
|
||||||
The configuration options will likely end up in that location anyway if the BSP gets
|
The configuration options will likely end up in that location anyway if the BSP gets
|
||||||
added to the Yocto Project.
|
added to the Yocto Project.
|
||||||
For an example showing how to change the BSP configuration, see the
|
|
||||||
"<ulink url='&YOCTO_DOCS_DEV_URL;#changing-the-bsp-configuration'>Changing the BSP Configuration</ulink>"
|
|
||||||
section in the Yocto Project Development Manual.
|
|
||||||
For a better understanding of working with a local clone of the kernel repository
|
|
||||||
and a local bare clone of the kernel, see the
|
|
||||||
"<ulink url='&YOCTO_DOCS_DEV_URL;#modifying-the-kernel-source-code'>Modifying the Kernel
|
|
||||||
Source Code</ulink>" section also in the Yocto Project Development Manual.
|
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
@@ -706,7 +700,7 @@
|
|||||||
<filename>recipe-*</filename> subdirectory.
|
<filename>recipe-*</filename> subdirectory.
|
||||||
You can find <filename>recipes.txt</filename> in the
|
You can find <filename>recipes.txt</filename> in the
|
||||||
<filename>meta</filename> directory of the
|
<filename>meta</filename> directory of the
|
||||||
<ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>source directory</ulink>,
|
<ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink>,
|
||||||
or in the OpenEmbedded Core Layer
|
or in the OpenEmbedded Core Layer
|
||||||
(<filename>openembedded-core</filename>) found at
|
(<filename>openembedded-core</filename>) found at
|
||||||
<ulink url='http://git.openembedded.org/openembedded-core/tree/meta'></ulink>.
|
<ulink url='http://git.openembedded.org/openembedded-core/tree/meta'></ulink>.
|
||||||
@@ -714,7 +708,7 @@
|
|||||||
<para>Within any particular <filename>recipes-*</filename> category, the layout
|
<para>Within any particular <filename>recipes-*</filename> category, the layout
|
||||||
should match what is found in the OpenEmbedded Core
|
should match what is found in the OpenEmbedded Core
|
||||||
Git repository (<filename>openembedded-core</filename>)
|
Git repository (<filename>openembedded-core</filename>)
|
||||||
or the source directory (<filename>poky</filename>).
|
or the Source Directory (<filename>poky</filename>).
|
||||||
In other words, make sure you place related files in appropriately
|
In other words, make sure you place related files in appropriately
|
||||||
related <filename>recipes-*</filename> subdirectories specific to the
|
related <filename>recipes-*</filename> subdirectories specific to the
|
||||||
recipe's function, or within a subdirectory containing a set of closely-related
|
recipe's function, or within a subdirectory containing a set of closely-related
|
||||||
@@ -1017,8 +1011,8 @@
|
|||||||
|
|
||||||
<para>
|
<para>
|
||||||
The following sections describe the common location and help features as well
|
The following sections describe the common location and help features as well
|
||||||
as details for the <filename>yocto-bsp</filename> and <filename>yocto-kernel</filename>
|
as provide details for the
|
||||||
tools.
|
<filename>yocto-bsp</filename> and <filename>yocto-kernel</filename> tools.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<section id='common-features'>
|
<section id='common-features'>
|
||||||
@@ -1037,7 +1031,7 @@
|
|||||||
|
|
||||||
<para>
|
<para>
|
||||||
Both tools reside in the <filename>scripts/</filename> subdirectory
|
Both tools reside in the <filename>scripts/</filename> subdirectory
|
||||||
of the <ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>source directory</ulink>.
|
of the <ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink>.
|
||||||
Consequently, to use the scripts, you must <filename>source</filename> the
|
Consequently, to use the scripts, you must <filename>source</filename> the
|
||||||
environment just as you would when invoking a build:
|
environment just as you would when invoking a build:
|
||||||
<literallayout class='monospaced'>
|
<literallayout class='monospaced'>
|
||||||
@@ -1049,30 +1043,27 @@
|
|||||||
The most immediately useful function is to get help on both tools.
|
The most immediately useful function is to get help on both tools.
|
||||||
The built-in help system makes it easy to drill down at
|
The built-in help system makes it easy to drill down at
|
||||||
any time and view the syntax required for any specific command.
|
any time and view the syntax required for any specific command.
|
||||||
Simply enter the name of the command, or the command along with
|
Simply enter the name of the command with the <filename>help</filename>
|
||||||
<filename>help</filename> to display a list of the available sub-commands.
|
switch:
|
||||||
Here is an example:
|
|
||||||
<literallayout class='monospaced'>
|
<literallayout class='monospaced'>
|
||||||
$ yocto-bsp
|
|
||||||
$ yocto-bsp help
|
$ yocto-bsp help
|
||||||
|
Usage:
|
||||||
|
|
||||||
Usage:
|
Create a customized Yocto BSP layer.
|
||||||
|
|
||||||
Create a customized Yocto BSP layer.
|
usage: yocto-bsp [--version] [--help] COMMAND [ARGS]
|
||||||
|
|
||||||
usage: yocto-bsp [--version] [--help] COMMAND [ARGS]
|
Current 'yocto-bsp' commands are:
|
||||||
|
create Create a new Yocto BSP
|
||||||
|
list List available values for options and BSP properties
|
||||||
|
|
||||||
The most commonly used 'yocto-bsp' commands are:
|
See 'yocto-bsp help COMMAND' for more information on a specific command.
|
||||||
create Create a new Yocto BSP
|
|
||||||
list List available values for options and BSP properties
|
|
||||||
|
|
||||||
See 'yocto-bsp help COMMAND' for more information on a specific command.
|
|
||||||
|
|
||||||
|
|
||||||
Options:
|
Options:
|
||||||
--version show program's version number and exit
|
--version show program's version number and exit
|
||||||
-h, --help show this help message and exit
|
-h, --help show this help message and exit
|
||||||
-D, --debug output debug information
|
-D, --debug output debug information
|
||||||
</literallayout>
|
</literallayout>
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
@@ -1082,19 +1073,20 @@
|
|||||||
<literallayout class='monospaced'>
|
<literallayout class='monospaced'>
|
||||||
$ yocto-bsp create
|
$ yocto-bsp create
|
||||||
|
|
||||||
Usage:
|
Usage:
|
||||||
|
|
||||||
Create a new Yocto BSP
|
Create a new Yocto BSP
|
||||||
usage: yocto-bsp create <bsp-name> <karch> [-o <DIRNAME> | --outdir <DIRNAME>]
|
|
||||||
|
usage: yocto-bsp create <bsp-name> <karch> [-o <DIRNAME> | --outdir <DIRNAME>]
|
||||||
[-i <JSON PROPERTY FILE> | --infile <JSON PROPERTY_FILE>]
|
[-i <JSON PROPERTY FILE> | --infile <JSON PROPERTY_FILE>]
|
||||||
|
|
||||||
This command creates a Yocto BSP based on the specified parameters.
|
This command creates a Yocto BSP based on the specified parameters.
|
||||||
The new BSP will be a new BSP layer contained by default within
|
The new BSP will be a new Yocto BSP layer contained by default within
|
||||||
the top-level directory specified as 'meta-bsp-name'. The -o option
|
the top-level directory specified as 'meta-bsp-name'. The -o option
|
||||||
can be used to place the BSP layer in a directory with a different
|
can be used to place the BSP layer in a directory with a different
|
||||||
name and location.
|
name and location.
|
||||||
|
|
||||||
...
|
...
|
||||||
</literallayout>
|
</literallayout>
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
@@ -1105,33 +1097,26 @@
|
|||||||
$ yocto-bsp help create
|
$ yocto-bsp help create
|
||||||
|
|
||||||
NAME
|
NAME
|
||||||
yocto-bsp create - Create a new Yocto BSP
|
yocto-bsp create - Create a new Yocto BSP
|
||||||
|
|
||||||
SYNOPSIS
|
SYNOPSIS
|
||||||
yocto-bsp create <bsp-name> <karch> [-o <DIRNAME> | --outdir <DIRNAME>]
|
yocto-bsp create <bsp-name> <karch> [-o <DIRNAME> | --outdir <DIRNAME>]
|
||||||
[-i <JSON PROPERTY FILE> | --infile <JSON PROPERTY_FILE>]
|
[-i <JSON PROPERTY FILE> | --infile <JSON PROPERTY_FILE>]
|
||||||
|
|
||||||
DESCRIPTION
|
DESCRIPTION
|
||||||
This command creates a Yocto BSP based on the specified
|
This command creates a Yocto BSP based on the specified
|
||||||
parameters. The new BSP will be a new Yocto BSP layer contained
|
parameters. The new BSP will be a new Yocto BSP layer contained
|
||||||
by default within the top-level directory specified as
|
by default within the top-level directory specified as
|
||||||
'meta-bsp-name'. The -o option can be used to place the BSP layer
|
'meta-bsp-name'. The -o option can be used to place the BSP layer
|
||||||
in a directory with a different name and location.
|
in a directory with a different name and location.
|
||||||
|
|
||||||
The value of the 'karch' parameter determines the set of files
|
The value of the 'karch' parameter determines the set of files
|
||||||
that will be generated for the BSP, along with the specific set of
|
that will be generated for the BSP, along with the specific set of
|
||||||
'properties' that will be used to fill out the BSP-specific
|
'properties' that will be used to fill out the BSP-specific
|
||||||
portions of the BSP.
|
portions of the BSP. The possible values for the 'karch' paramter
|
||||||
|
can be listed via 'yocto-bsp list karch'.
|
||||||
...
|
|
||||||
|
...
|
||||||
NOTE: Once created, you should add your new layer to your
|
|
||||||
bblayers.conf file in order for it to be subsequently seen and
|
|
||||||
modified by the yocto-kernel tool.
|
|
||||||
|
|
||||||
NOTE for x86- and x86_64-based BSPs: The generated BSP assumes the
|
|
||||||
presence of the of the meta-intel layer, so you should also have a
|
|
||||||
meta-intel layer present and added to your bblayers.conf as well.
|
|
||||||
</literallayout>
|
</literallayout>
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
@@ -1158,33 +1143,33 @@
|
|||||||
For the current set of BSPs, the script prompts you for various important
|
For the current set of BSPs, the script prompts you for various important
|
||||||
parameters such as:
|
parameters such as:
|
||||||
<itemizedlist>
|
<itemizedlist>
|
||||||
<listitem><para>which kernel to use</para></listitem>
|
<listitem><para>The kernel to use</para></listitem>
|
||||||
<listitem><para>which branch of that kernel to use (or re-use)</para></listitem>
|
<listitem><para>The branch of that kernel to use (or re-use)</para></listitem>
|
||||||
<listitem><para>whether or not to use X, and if so, which drivers to use</para></listitem>
|
<listitem><para>Whether or not to use X, and if so, which drivers to use</para></listitem>
|
||||||
<listitem><para>whether to turn on SMP</para></listitem>
|
<listitem><para>Whether to turn on SMP</para></listitem>
|
||||||
<listitem><para>whether the BSP has a keyboard</para></listitem>
|
<listitem><para>Whether the BSP has a keyboard</para></listitem>
|
||||||
<listitem><para>whether the BSP has a touchscreen</para></listitem>
|
<listitem><para>Whether the BSP has a touchscreen</para></listitem>
|
||||||
<listitem><para>any remaining configurable items associated with the BSP</para></listitem>
|
<listitem><para>Remaining configurable items associated with the BSP</para></listitem>
|
||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
You use the <filename>yocto-bsp create</filename> sub-command to create
|
You use the <filename>yocto-bsp create</filename> sub-command to create
|
||||||
a new BSP layer.
|
a new BSP layer.
|
||||||
This command requires you to specify a particular architecture on which to
|
This command requires you to specify a particular kernel architecture
|
||||||
base the BSP.
|
(<filename>karch</filename>) on which to base the BSP.
|
||||||
Assuming you have sourced the environment, you can use the
|
Assuming you have sourced the environment, you can use the
|
||||||
<filename>yocto-bsp list karch</filename> sub-command to list the
|
<filename>yocto-bsp list karch</filename> sub-command to list the
|
||||||
architectures available for BSP creation as follows:
|
architectures available for BSP creation as follows:
|
||||||
<literallayout class='monospaced'>
|
<literallayout class='monospaced'>
|
||||||
$ yocto-bsp list karch
|
$ yocto-bsp list karch
|
||||||
Architectures available:
|
Architectures available:
|
||||||
arm
|
|
||||||
powerpc
|
|
||||||
i386
|
|
||||||
mips
|
|
||||||
x86_64
|
|
||||||
qemu
|
qemu
|
||||||
|
x86_64
|
||||||
|
i386
|
||||||
|
powerpc
|
||||||
|
arm
|
||||||
|
mips
|
||||||
</literallayout>
|
</literallayout>
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
@@ -1205,53 +1190,46 @@
|
|||||||
the prompts appear in brackets.
|
the prompts appear in brackets.
|
||||||
Pressing enter without supplying anything on the command line or pressing enter
|
Pressing enter without supplying anything on the command line or pressing enter
|
||||||
and providing an invalid response causes the script to accept the default value.
|
and providing an invalid response causes the script to accept the default value.
|
||||||
|
Once the script completes, the new <filename>meta-myarm</filename> BSP layer
|
||||||
|
is created in the current working directory.
|
||||||
|
This example assumes you have source the &OE_INIT_FILE; and are currently
|
||||||
|
in the top-level folder of the
|
||||||
|
<ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink>.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
Following is the complete example:
|
Following is the complete example:
|
||||||
<literallayout class='monospaced'>
|
<literallayout class='monospaced'>
|
||||||
$ yocto-bsp create myarm qemu
|
$ yocto-bsp create myarm qemu
|
||||||
Which qemu architecture would you like to use? [default: x86]
|
Which qemu architecture would you like to use? [default: i386]
|
||||||
1) common 32-bit x86
|
1) i386 (32-bit)
|
||||||
2) common 64-bit x86
|
2) x86_64 (64-bit)
|
||||||
3) common 32-bit ARM
|
3) ARM (32-bit)
|
||||||
4) common 32-bit PowerPC
|
4) PowerPC (32-bit)
|
||||||
5) common 32-bit MIPS
|
5) MIPS (32-bit)
|
||||||
3
|
3
|
||||||
Would you like to use the default (3.2) kernel? (Y/n)
|
Would you like to use the default (3.4) kernel? (y/n) [default: y]
|
||||||
Do you need a new machine branch for this BSP (the alternative is to re-use an existing branch)? [Y/n]
|
Do you need a new machine branch for this BSP (the alternative is to re-use an existing branch)? [y/n] [default: y]
|
||||||
Getting branches from remote repo git://git.yoctoproject.org/linux-yocto-3.2...
|
Getting branches from remote repo git://git.yoctoproject.org/linux-yocto-3.4.git...
|
||||||
Please choose a machine branch to base this BSP on => [default: standard/default/common-pc]
|
Please choose a machine branch to base your new BSP branch on: [default: standard/base]
|
||||||
1) base
|
1) standard/arm-versatile-926ejs
|
||||||
2) standard/base
|
2) standard/base
|
||||||
3) standard/default/arm-versatile-926ejs
|
3) standard/beagleboard
|
||||||
4) standard/default/base
|
4) standard/cedartrail
|
||||||
5) standard/default/beagleboard
|
5) standard/crownbay
|
||||||
6) standard/default/cedartrailbsp (copy).xml
|
6) standard/emenlow
|
||||||
7) standard/default/common-pc-64/base
|
7) standard/fishriver
|
||||||
8) standard/default/common-pc-64/jasperforest
|
8) standard/fri2
|
||||||
9) standard/default/common-pc-64/romley
|
9) standard/fsl-mpc8315e-rdb
|
||||||
10) standard/default/common-pc-64/sugarbay
|
10) standard/mti-malta32
|
||||||
11) standard/default/common-pc/atom-pc
|
11) standard/mti-malta64
|
||||||
12) standard/default/common-pc/base
|
12) standard/qemuppc
|
||||||
13) standard/default/crownbay
|
13) standard/routerstationpro
|
||||||
14) standard/default/emenlow
|
14) standard/sys940x
|
||||||
15) standard/default/fishriver
|
1
|
||||||
16) standard/default/fri2
|
Would you like SMP support? (y/n) [default: y]
|
||||||
17) standard/default/fsl-mpc8315e-rdb
|
Does your BSP have a touchscreen? (y/n) [default: n]
|
||||||
18) standard/default/mti-malta32-be
|
Does your BSP have a keyboard? (y/n) [default: y]
|
||||||
19) standard/default/mti-malta32-le
|
|
||||||
20) standard/default/preempt-rt
|
|
||||||
21) standard/default/qemu-ppc32
|
|
||||||
22) standard/default/routerstationpro
|
|
||||||
23) standard/preempt-rt/base
|
|
||||||
24) standard/preempt-rt/qemu-ppc32
|
|
||||||
25) standard/preempt-rt/routerstationpro
|
|
||||||
26) standard/tiny
|
|
||||||
3
|
|
||||||
Do you need SMP support? (Y/n)
|
|
||||||
Does your BSP have a touchscreen? (y/N)
|
|
||||||
Does your BSP have a keyboard? (Y/n)
|
|
||||||
New qemu BSP created in meta-myarm
|
New qemu BSP created in meta-myarm
|
||||||
</literallayout>
|
</literallayout>
|
||||||
Let's take a closer look at the example now:
|
Let's take a closer look at the example now:
|
||||||
@@ -1261,10 +1239,10 @@
|
|||||||
In the example, we use the <filename>arm</filename> architecture.
|
In the example, we use the <filename>arm</filename> architecture.
|
||||||
</para></listitem>
|
</para></listitem>
|
||||||
<listitem><para>The script then prompts you for the kernel.
|
<listitem><para>The script then prompts you for the kernel.
|
||||||
The default kernel is 3.2 and is acceptable.
|
The default 3.4 kernel is acceptable.
|
||||||
So, the example accepts the default.
|
So, the example accepts the default.
|
||||||
If you enter 'n', the script prompts you to further enter the kernel
|
If you enter 'n', the script prompts you to further enter the kernel
|
||||||
you do want to use (e.g. 3.0, 3.2_preempt-rt, etc.).</para></listitem>
|
you do want to use (e.g. 3.0, 3.2_preempt-rt, and so forth.).</para></listitem>
|
||||||
<listitem><para>Next, the script asks whether you would like to have a new
|
<listitem><para>Next, the script asks whether you would like to have a new
|
||||||
branch created especially for your BSP in the local
|
branch created especially for your BSP in the local
|
||||||
<ulink url='&YOCTO_DOCS_DEV_URL;#local-kernel-files'>Linux Yocto Kernel</ulink>
|
<ulink url='&YOCTO_DOCS_DEV_URL;#local-kernel-files'>Linux Yocto Kernel</ulink>
|
||||||
@@ -1277,25 +1255,20 @@
|
|||||||
The reason a new branch is the default is that typically
|
The reason a new branch is the default is that typically
|
||||||
new BSPs do require BSP-specific patches.
|
new BSPs do require BSP-specific patches.
|
||||||
The tool thus assumes that most of time a new branch is required.
|
The tool thus assumes that most of time a new branch is required.
|
||||||
<note>In the current implementation, creation or re-use of a branch does
|
</para></listitem>
|
||||||
not actually matter.
|
<listitem><para>Regardless of which choice you make in the previous step,
|
||||||
The reason is because the generated BSPs assume that patches and
|
|
||||||
configurations live in recipe-space, which is something that can be done
|
|
||||||
with or without a dedicated branch.
|
|
||||||
Generated BSPs, however, are different.
|
|
||||||
This difference becomes significant once the tool's 'publish' functionality
|
|
||||||
is implemented.</note></para></listitem>
|
|
||||||
<listitem><para>Regardless of which choice is made in the previous step,
|
|
||||||
you are now given the opportunity to select a particular machine branch on
|
you are now given the opportunity to select a particular machine branch on
|
||||||
which to base your new BSP-specific machine branch on
|
which to base your new BSP-specific machine branch
|
||||||
(or to re-use if you had elected to not create a new branch).
|
(or to re-use if you had elected to not create a new branch).
|
||||||
Because this example is generating an <filename>arm</filename> BSP, the example
|
Because this example is generating an <filename>arm</filename> BSP, the example
|
||||||
uses <filename>#3</filename> at the prompt, which selects the arm-versatile branch.
|
uses <filename>#1</filename> at the prompt, which selects the arm-versatile branch.
|
||||||
</para></listitem>
|
</para></listitem>
|
||||||
<listitem><para>The remainder of the prompts are routine.
|
<listitem><para>The remainder of the prompts are routine.
|
||||||
Defaults are accepted for each.</para></listitem>
|
Defaults are accepted for each.</para></listitem>
|
||||||
<listitem><para>By default, the script creates the new BSP Layer in the
|
<listitem><para>By default, the script creates the new BSP Layer in the
|
||||||
<ulink url='&YOCTO_DOCS_DEV_URL;#build-directory'>build directory</ulink>.
|
current working directory of the
|
||||||
|
<ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink>,
|
||||||
|
which is <filename>poky</filename> in this case.
|
||||||
</para></listitem>
|
</para></listitem>
|
||||||
</orderedlist>
|
</orderedlist>
|
||||||
</para>
|
</para>
|
||||||
@@ -1308,6 +1281,7 @@
|
|||||||
BBLAYERS = " \
|
BBLAYERS = " \
|
||||||
/usr/local/src/yocto/meta \
|
/usr/local/src/yocto/meta \
|
||||||
/usr/local/src/yocto/meta-yocto \
|
/usr/local/src/yocto/meta-yocto \
|
||||||
|
/usr/local/src/yocto/meta-yocto-bsp \
|
||||||
/usr/local/src/yocto/meta-myarm \
|
/usr/local/src/yocto/meta-myarm \
|
||||||
"
|
"
|
||||||
</literallayout>
|
</literallayout>
|
||||||
@@ -1339,21 +1313,28 @@
|
|||||||
is to use the <filename>yocto-kernel</filename> built-in help as follows:
|
is to use the <filename>yocto-kernel</filename> built-in help as follows:
|
||||||
<literallayout class='monospaced'>
|
<literallayout class='monospaced'>
|
||||||
$ yocto-kernel
|
$ yocto-kernel
|
||||||
Usage:
|
Usage:
|
||||||
|
|
||||||
Modify and list Yocto BSP kernel config items and patches.
|
Modify and list Yocto BSP kernel config items and patches.
|
||||||
|
|
||||||
usage: yocto-kernel [--version] [--help] COMMAND [ARGS]
|
usage: yocto-kernel [--version] [--help] COMMAND [ARGS]
|
||||||
|
|
||||||
The most commonly used 'yocto-kernel' commands are:
|
Current 'yocto-kernel' commands are:
|
||||||
config list List the modifiable set of bare kernel config options for a BSP
|
config list List the modifiable set of bare kernel config options for a BSP
|
||||||
config add Add or modify bare kernel config options for a BSP
|
config add Add or modify bare kernel config options for a BSP
|
||||||
config rm Remove bare kernel config options from a BSP
|
config rm Remove bare kernel config options from a BSP
|
||||||
patch list List the patches associated with a BSP
|
patch list List the patches associated with a BSP
|
||||||
patch add Patch the Yocto kernel for a BSP
|
patch add Patch the Yocto kernel for a BSP
|
||||||
patch rm Remove patches from a BSP
|
patch rm Remove patches from a BSP
|
||||||
|
|
||||||
See 'yocto-kernel help COMMAND' for more information on a specific command.
|
See 'yocto-kernel help COMMAND' for more information on a specific command.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Options:
|
||||||
|
--version show program's version number and exit
|
||||||
|
-h, --help show this help message and exit
|
||||||
|
-D, --debug output debug information
|
||||||
</literallayout>
|
</literallayout>
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
|
|||||||
@@ -1,713 +0,0 @@
|
|||||||
<!DOCTYPE appendix PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
|
|
||||||
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
|
|
||||||
[<!ENTITY % poky SYSTEM "../poky.ent"> %poky; ] >
|
|
||||||
|
|
||||||
<appendix id='dev-manual-bsp-appendix'>
|
|
||||||
|
|
||||||
<title>BSP Development Example</title>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
This appendix provides a complete BSP development example.
|
|
||||||
The example assumes the following:
|
|
||||||
<itemizedlist>
|
|
||||||
<listitem><para>No previous preparation or use of the Yocto Project.</para></listitem>
|
|
||||||
<listitem><para>Use of the Fish River Island 2 Board Support Package (BSP) as a "base" BSP from
|
|
||||||
which to work.
|
|
||||||
The example begins with the Fish River Island 2 BSP as the starting point
|
|
||||||
but ends by building a new 'atom-pc' BSP, which was based on the Fish River Island 2 BSP.
|
|
||||||
</para></listitem>
|
|
||||||
<listitem><para>Shell commands assume <filename>bash</filename></para></listitem>
|
|
||||||
<listitem><para>Example was developed on an Intel-based Core i7 platform running
|
|
||||||
Ubuntu 10.04 LTS released in April of 2010.</para></listitem>
|
|
||||||
</itemizedlist>
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<section id='getting-local-yocto-project-files-and-bsp-files'>
|
|
||||||
<title>Getting Local Source Files and BSP Files</title>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
You need to have the <link linkend='source-directory'>Source Directory</link>
|
|
||||||
available on your host system.
|
|
||||||
You can set up this directory through tarball extraction or by cloning the
|
|
||||||
<filename>poky</filename> Git repository.
|
|
||||||
The following paragraphs describe both methods.
|
|
||||||
For additional information, see the bulleted item
|
|
||||||
"<link linkend='local-yp-release'>Yocto Project Release</link>".
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
As mentioned, one way to set up the Source Directory is to use Git to clone the
|
|
||||||
<filename>poky</filename> repository.
|
|
||||||
These commands create a local copy of the Git repository.
|
|
||||||
By default, the top-level directory of the repository is named <filename>poky</filename>:
|
|
||||||
<literallayout class='monospaced'>
|
|
||||||
$ git clone git://git.yoctoproject.org/poky
|
|
||||||
$ cd poky
|
|
||||||
</literallayout>
|
|
||||||
Alternatively, you can start with the downloaded Poky "&DISTRO_NAME;" tarball.
|
|
||||||
These commands unpack the tarball into a Source Directory structure.
|
|
||||||
By default, the top-level directory of the Source Directory is named
|
|
||||||
<filename>&YOCTO_POKY;</filename>:
|
|
||||||
<literallayout class='monospaced'>
|
|
||||||
$ tar xfj &YOCTO_POKY_TARBALL;
|
|
||||||
$ cd &YOCTO_POKY;
|
|
||||||
</literallayout>
|
|
||||||
<note><para>If you're using the tarball method, you can ignore all the following steps that
|
|
||||||
ask you to carry out Git operations.
|
|
||||||
You already have the results of those operations
|
|
||||||
in the form of the &DISTRO_NAME; release tarballs.
|
|
||||||
Consequently, there is nothing left to do other than extract those tarballs into the
|
|
||||||
proper locations.</para>
|
|
||||||
|
|
||||||
<para>Once you expand the released tarball, you have a snapshot of the Git repository
|
|
||||||
that represents a specific release.
|
|
||||||
Fundamentally, this is different than having a local copy of the Poky Git repository.
|
|
||||||
Given the tarball method, changes you make are building on top of a release.
|
|
||||||
With the Git repository method you have the ability to track development
|
|
||||||
and keep changes in revision control.
|
|
||||||
See the
|
|
||||||
"<link linkend='repositories-tags-and-branches'>Repositories, Tags, and Branches</link>" section
|
|
||||||
for more discussion around these differences.</para></note>
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
With the local <filename>poky</filename> Git repository set up,
|
|
||||||
you have all the development branches available to you from which you can work.
|
|
||||||
Next, you need to be sure that your local repository reflects the exact
|
|
||||||
release in which you are interested.
|
|
||||||
From inside the repository you can see the development branches that represent
|
|
||||||
areas of development that have diverged from the main (master) branch
|
|
||||||
at some point, such as a branch to track a maintenance release's development.
|
|
||||||
You can also see the tag names used to mark snapshots of stable releases or
|
|
||||||
points in the repository.
|
|
||||||
Use the following commands to list out the branches and the tags in the repository,
|
|
||||||
respectively.
|
|
||||||
<literallayout class='monospaced'>
|
|
||||||
$ git branch -a
|
|
||||||
$ git tag -l
|
|
||||||
</literallayout>
|
|
||||||
For this example, we are going to use the Yocto Project &DISTRO; Release, which is code
|
|
||||||
named "&DISTRO_NAME;".
|
|
||||||
To make sure we have a local area (branch in Git terms) on our machine that
|
|
||||||
reflects the &DISTRO; release, we can use the following commands:
|
|
||||||
<literallayout class='monospaced'>
|
|
||||||
$ cd ~/poky
|
|
||||||
$ git fetch --tags
|
|
||||||
$ git checkout -b &DISTRO_NAME;-&POKYVERSION; origin/&DISTRO_NAME;
|
|
||||||
Switched to a new branch '&DISTRO_NAME;-&POKYVERSION;'
|
|
||||||
</literallayout>
|
|
||||||
The <filename>git fetch --tags</filename> is somewhat redundant since you just set
|
|
||||||
up the repository and should have all the tags.
|
|
||||||
The <filename>fetch</filename> command makes sure all the tags are available in your
|
|
||||||
local repository.
|
|
||||||
The Git <filename>checkout</filename> command with the <filename>-b</filename> option
|
|
||||||
creates a local branch for you named <filename>&DISTRO_NAME;-&POKYVERSION;</filename>.
|
|
||||||
Your local branch begins in the same state as the Yocto Project &DISTRO; released tarball
|
|
||||||
marked with the <filename>&DISTRO_NAME;-&POKYVERSION;</filename> tag in the source repositories.
|
|
||||||
</para>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section id='choosing-a-base-bsp-app'>
|
|
||||||
<title>Choosing a Base BSP</title>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
For this example, the base BSP is the <trademark class='registered'>Intel</trademark>
|
|
||||||
<trademark class='trade'>Atom</trademark> Processor E660 with Intel Platform
|
|
||||||
Controller Hub EG20T Development Kit, which is otherwise referred to as "Fish River Island 2."
|
|
||||||
The BSP layer is <filename>meta-fri2</filename>.
|
|
||||||
The base BSP is simply the BSP
|
|
||||||
we will be using as a starting point, so don't worry if you don't actually have Fish River Island 2
|
|
||||||
hardware.
|
|
||||||
The remainder of the example transforms the base BSP into a BSP that should be
|
|
||||||
able to boot on generic atom-pc (netbook) hardware.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
For information on how to choose a base BSP, see
|
|
||||||
"<link linkend='developing-a-board-support-package-bsp'>Developing a Board Support Package (BSP)</link>".
|
|
||||||
</para>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section id='getting-your-base-bsp-app'>
|
|
||||||
<title>Getting Your Base BSP</title>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
You need to have the base BSP layer on your development system.
|
|
||||||
Similar to the local <link linkend='source-directory'>Source Directory</link>,
|
|
||||||
you can get the BSP
|
|
||||||
layer in a couple of different ways:
|
|
||||||
download the BSP tarball and extract it, or set up a local Git repository that
|
|
||||||
has the BSP layers.
|
|
||||||
You should use the same method that you used to set up the Source Directory earlier.
|
|
||||||
See "<link linkend='getting-setup'>Getting Setup</link>" for information on how to get
|
|
||||||
the BSP files.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
This example assumes the BSP layer will be located within a directory named
|
|
||||||
<filename>meta-intel</filename> contained within the <filename>poky</filename>
|
|
||||||
parent directory.
|
|
||||||
The following steps will automatically create the
|
|
||||||
<filename>meta-intel</filename> directory and the contained
|
|
||||||
<filename>meta-fri2</filename> starting point in both the Git and the tarball cases.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
If you're using the Git method, you could do the following to create
|
|
||||||
the starting layout after you have made sure you are in the <filename>poky</filename>
|
|
||||||
directory created in the previous steps:
|
|
||||||
<literallayout class='monospaced'>
|
|
||||||
$ git clone git://git.yoctoproject.org/meta-intel.git
|
|
||||||
$ cd meta-intel
|
|
||||||
</literallayout>
|
|
||||||
Alternatively, you can start with the downloaded Fish River Island 2 tarball.
|
|
||||||
You can download the &DISTRO_NAME; version of the BSP tarball from the
|
|
||||||
<ulink url='&YOCTO_HOME_URL;/download'>Downloads</ulink> page of the
|
|
||||||
Yocto Project website.
|
|
||||||
Here is the specific link for the tarball needed for this example:
|
|
||||||
<ulink url='&YOCTO_MACHINES_DL_URL;/fri2-noemgd/fri2-noemgd-&DISTRO_NAME;-&POKYVERSION;.tar.bz2'></ulink>.
|
|
||||||
Again, be sure that you are already in the <filename>poky</filename> directory
|
|
||||||
as described previously before installing the tarball:
|
|
||||||
<literallayout class='monospaced'>
|
|
||||||
$ tar xfj fri2-noemgd-&DISTRO_NAME;-&POKYVERSION;.tar.bz2
|
|
||||||
$ cd meta-intel
|
|
||||||
</literallayout>
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
The <filename>meta-intel</filename> directory contains all the metadata
|
|
||||||
that supports BSP creation.
|
|
||||||
If you're using the Git method, the following
|
|
||||||
step will switch to the &DISTRO_NAME; metadata.
|
|
||||||
If you're using the tarball method, you already have the correct metadata and can
|
|
||||||
skip to the next step.
|
|
||||||
Because <filename>meta-intel</filename> is its own Git repository, you will want
|
|
||||||
to be sure you are in the appropriate branch for your work.
|
|
||||||
For this example we are going to use the <filename>&DISTRO_NAME;</filename>
|
|
||||||
branch.
|
|
||||||
<literallayout class='monospaced'>
|
|
||||||
$ git checkout -b &DISTRO_NAME;-&POKYVERSION; origin/&DISTRO_NAME;
|
|
||||||
Branch &DISTRO_NAME;-&POKYVERSION; set up to track remote branch &DISTRO_NAME; from origin.
|
|
||||||
Switched to a new branch '&DISTRO_NAME;-&POKYVERSION;'
|
|
||||||
</literallayout>
|
|
||||||
</para>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section id='making-a-copy-of-the-base bsp-to-create-your-new-bsp-layer-app'>
|
|
||||||
<title>Making a Copy of the Base BSP to Create Your New BSP Layer</title>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
Now that you have set up the Source Directory and included the base BSP files, you need to
|
|
||||||
create a new layer for your BSP.
|
|
||||||
To create your BSP layer, you simply copy the <filename>meta-fri2</filename>
|
|
||||||
layer to a new layer.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
For this example, the new layer will be named <filename>meta-mymachine</filename>.
|
|
||||||
The name should follow the BSP layer naming convention, which is
|
|
||||||
<filename>meta-<name></filename>.
|
|
||||||
The following assumes your working directory is <filename>meta-intel</filename>
|
|
||||||
inside your Source Directory.
|
|
||||||
To start your new layer, just copy the new layer alongside the existing
|
|
||||||
BSP layers in the <filename>meta-intel</filename> directory:
|
|
||||||
<literallayout class='monospaced'>
|
|
||||||
$ cp -a meta-fri2/ meta-mymachine
|
|
||||||
</literallayout>
|
|
||||||
</para>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section id='making-changes-to-your-bsp-app'>
|
|
||||||
<title>Making Changes to Your BSP</title>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
Right now you have two identical BSP layers with different names:
|
|
||||||
<filename>meta-fri2</filename> and <filename>meta-mymachine</filename>.
|
|
||||||
You need to change your configurations so that they work for your new BSP and
|
|
||||||
your particular hardware.
|
|
||||||
The following sections look at each of these areas of the BSP.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<section id='changing-the-bsp-configuration'>
|
|
||||||
<title>Changing the BSP Configuration</title>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
We will look first at the configurations, which are all done in the layer’s
|
|
||||||
<filename>conf</filename> directory.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
First, since in this example the new BSP will not support EMGD, we will get rid of the
|
|
||||||
<filename>fri2.conf</filename> file and then rename the
|
|
||||||
<filename>fri2-noemgd.conf</filename> file to <filename>mymachine.conf</filename>.
|
|
||||||
Much of what we do in the configuration directory is designed to help the OpenEmbedded
|
|
||||||
build system work with the new layer and to be able to find and use the right software.
|
|
||||||
The following two commands result in a single machine configuration file named
|
|
||||||
<filename>mymachine.conf</filename>.
|
|
||||||
<literallayout class='monospaced'>
|
|
||||||
$ rm meta-mymachine/conf/machine/fri2.conf
|
|
||||||
$ mv meta-mymachine/conf/machine/fri2-noemgd.conf \
|
|
||||||
meta-mymachine/conf/machine/mymachine.conf
|
|
||||||
</literallayout>
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
Next, we need to make changes to the <filename>mymachine.conf</filename> itself.
|
|
||||||
The only changes we want to make for this example are to the comment lines.
|
|
||||||
Changing comments, of course, is never strictly necessary, but it's always good form to make
|
|
||||||
them reflect reality as much as possible.
|
|
||||||
|
|
||||||
Here, simply substitute the Fish River Island 2 name with an appropriate name for the BSP
|
|
||||||
(<filename>mymachine</filename> in this case) and change the description to
|
|
||||||
something that describes your hardware.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
Note that inside the <filename>mymachine.conf</filename> is the
|
|
||||||
<filename>PREFERRED_VERSION_linux-yocto</filename> statement.
|
|
||||||
This statement identifies the kernel that the BSP is going to use.
|
|
||||||
In this case, the BSP is using <filename>linux-yocto</filename>, which is the
|
|
||||||
current Yocto Project kernel based on the Linux 3.4 release.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
The next configuration file in the new BSP layer we need to edit is
|
|
||||||
<filename>meta-mymachine/conf/layer.conf</filename>.
|
|
||||||
This file identifies build information needed for the new layer.
|
|
||||||
You can see the
|
|
||||||
"<ulink url='&YOCTO_DOCS_BSP_URL;#bsp-filelayout-layer'>Layer Configuration File</ulink>" section
|
|
||||||
in The Board Support Packages (BSP) Development Guide for more information on this configuration file.
|
|
||||||
Basically, we are changing the existing statements to work with our BSP.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
The file contains these statements that reference the Fish River Island 2 BSP:
|
|
||||||
<literallayout class='monospaced'>
|
|
||||||
BBFILE_COLLECTIONS += "fri2"
|
|
||||||
BBFILE_PATTERN_fri2 := "^${LAYERDIR}/"
|
|
||||||
BBFILE_PRIORITY_fri2 = "6"
|
|
||||||
|
|
||||||
LAYERDEPENDS_fri2 = "intel"
|
|
||||||
</literallayout>
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
Simply substitute the machine string name <filename>fri2</filename>
|
|
||||||
with the new machine name <filename>mymachine</filename> to get the following:
|
|
||||||
<literallayout class='monospaced'>
|
|
||||||
BBFILE_COLLECTIONS += "mymachine"
|
|
||||||
BBFILE_PATTERN_mymachine := "^${LAYERDIR}/"
|
|
||||||
BBFILE_PRIORITY_mymachine = "6"
|
|
||||||
|
|
||||||
LAYERDEPENDS_mymachine = "intel"
|
|
||||||
</literallayout>
|
|
||||||
</para>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section id='changing-the-recipes-in-your-bsp'>
|
|
||||||
<title>Changing the Recipes in Your BSP</title>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
Now we will take a look at the recipes in your new layer.
|
|
||||||
The standard BSP structure has areas for BSP, graphics, core, and kernel recipes.
|
|
||||||
When you create a BSP, you use these areas for appropriate recipes and append files.
|
|
||||||
Recipes take the form of <filename>.bb</filename> files, while append files take
|
|
||||||
the form of <filename>.bbappend</filename> files.
|
|
||||||
If you want to leverage the existing recipes the OpenEmbedded build system uses
|
|
||||||
but change those recipes, you can use <filename>.bbappend</filename> files.
|
|
||||||
All new recipes and append files for your layer must go in the layer’s
|
|
||||||
<filename>recipes-bsp</filename>, <filename>recipes-kernel</filename>,
|
|
||||||
<filename>recipes-core</filename>, and
|
|
||||||
<filename>recipes-graphics</filename> directories.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<section id='changing-recipes-bsp'>
|
|
||||||
<title>Changing <filename>recipes-bsp</filename></title>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
First, let's look at <filename>recipes-bsp</filename>.
|
|
||||||
For this example we are not adding any new BSP recipes.
|
|
||||||
And, we only need to remove the formfactor we do not want and change the name of
|
|
||||||
the remaining one that doesn't support EMGD.
|
|
||||||
These commands take care of the <filename>recipes-bsp</filename> recipes:
|
|
||||||
<literallayout class='monospaced'>
|
|
||||||
$ rm -rf meta-mymachine/recipes-bsp/formfactor/formfactor/fri2
|
|
||||||
$ mv meta-mymachine/recipes-bsp/formfactor/formfactor/fri2-noemgd/ \
|
|
||||||
meta-mymachine/recipes-bsp/formfactor/formfactor/mymachine
|
|
||||||
</literallayout>
|
|
||||||
</para>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section id='changing-recipes-graphics'>
|
|
||||||
<title>Changing <filename>recipes-graphics</filename></title>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
Now let's look at <filename>recipes-graphics</filename>.
|
|
||||||
For this example we want to remove anything that supports EMGD and
|
|
||||||
be sure to rename remaining directories appropriately.
|
|
||||||
The following commands clean up the <filename>recipes-graphics</filename> directory:
|
|
||||||
<literallayout class='monospaced'>
|
|
||||||
$ rm -rf meta-mymachine/recipes-graphics/xorg-xserver/xserver-xf86-config/fri2
|
|
||||||
$ mv meta-mymachine/recipes-graphics/xorg-xserver/xserver-xf86-config/fri2-noemgd \
|
|
||||||
meta-mymachine/recipes-graphics/xorg-xserver/xserver-xf86-config/mymachine
|
|
||||||
</literallayout>
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
At this point the <filename>recipes-graphics</filename> directory just has files that
|
|
||||||
support Video Electronics Standards Association (VESA) graphics modes and not EMGD.
|
|
||||||
</para>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section id='changing-recipes-kernel'>
|
|
||||||
<title>Changing <filename>recipes-kernel</filename></title>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
Finally, let's look at <filename>recipes-kernel</filename> changes.
|
|
||||||
Recall that the BSP uses the <filename>linux-yocto</filename> kernel as determined
|
|
||||||
earlier in the <filename>mymachine.conf</filename>.
|
|
||||||
The recipe for that kernel is not located in the
|
|
||||||
BSP layer but rather in the Source Directory at
|
|
||||||
<filename>meta/recipes-kernel/linux</filename> and is
|
|
||||||
named <filename>linux-yocto_3.4.bb</filename>.
|
|
||||||
The <filename>SRCREV_machine</filename> and <filename>SRCREV_meta</filename>
|
|
||||||
statements point to the exact commits used by the Yocto Project development team
|
|
||||||
in their source repositories that identify the right kernel for our hardware.
|
|
||||||
In other words, the <filename>SRCREV</filename> values are simply Git commit
|
|
||||||
IDs that identify which commit on each
|
|
||||||
of the kernel branches (machine and meta) will be checked out and used to build
|
|
||||||
the kernel.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
However, in the <filename>meta-mymachine</filename> layer in
|
|
||||||
<filename>recipes-kernel/linux</filename> resides a <filename>.bbappend</filename>
|
|
||||||
file named <filename>linux-yocto_3.4.bbappend</filename> that
|
|
||||||
appends the information to the recipe of the same name
|
|
||||||
that is found in <filename>meta/recipes-kernel/linux</filename>.
|
|
||||||
Thus, the <filename>SRCREV</filename> statements in our
|
|
||||||
<filename>mymachine</filename> append file override
|
|
||||||
the more general statements found in the more general recipe.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
The <filename>SRCREV</filename> statements in the
|
|
||||||
<filename>mymachine</filename> append file currently identify
|
|
||||||
the kernel that supports the Fish River Island 2 BSP with and without EMGD support.
|
|
||||||
Here are the statements:
|
|
||||||
<note>The commit ID strings used in this manual might not match the actual commit
|
|
||||||
ID strings found in the <filename>linux-yocto_3.4.bbappend</filename> file.
|
|
||||||
For the example, this difference does not matter.</note>
|
|
||||||
<literallayout class='monospaced'>
|
|
||||||
SRCREV_machine_pn-linux-yocto_fri2 ?= \
|
|
||||||
"59c3ff750831338d05ab67d5efd7fc101c451aff"
|
|
||||||
#SRCREV_meta_pn-linux-yocto_fri2 ?= \
|
|
||||||
"c5bddf8ea379406ffec550528e17b777a0eba24b"
|
|
||||||
|
|
||||||
SRCREV_machine_pn-linux-yocto_fri2-noemgd ?= \
|
|
||||||
"59c3ff750831338d05ab67d5efd7fc101c451aff"
|
|
||||||
#SRCREV_meta_pn-linux-yocto_fir2-noemgd ?= \
|
|
||||||
"c5bddf8ea379406ffec550528e17b777a0eba24b"
|
|
||||||
</literallayout>
|
|
||||||
<note>The <filename>SRCREV_meta_pn-linux-yocto_fir2-noemgd</filename>
|
|
||||||
statements in the <filename>mymachine</filename> append file,
|
|
||||||
which originated from the Fish River Island 2 BSP, are
|
|
||||||
commented out.
|
|
||||||
The reason they are not used is because the commit IDs are identical to
|
|
||||||
those in the general <filename>linux-yocto_3.4.bbappend</filename> recipe,
|
|
||||||
which is found in <filename>meta/recipes-kernel/linux</filename>.
|
|
||||||
</note>
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
You will notice that there are two pairs of <filename>SRCREV</filename> statements.
|
|
||||||
The top pair identifies the kernel that supports
|
|
||||||
EMGD, which we don’t care about in this example.
|
|
||||||
The bottom pair identifies the kernel that we will use:
|
|
||||||
<filename>linux-yocto</filename>.
|
|
||||||
At this point though, the unique commit strings all are still associated with
|
|
||||||
Fish River Island 2 and not <filename>meta-mymachine</filename>.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
To fix this situation in <filename>linux-yocto_3.4.bbappend</filename>
|
|
||||||
for <filename>mymachine</filename>,
|
|
||||||
we delete the two <filename>SRCREV</filename> statements that support
|
|
||||||
EMGD (the top pair).
|
|
||||||
We also change the remaining pair to specify <filename>mymachine</filename>
|
|
||||||
and insert the commit identifiers to identify the kernel in which we
|
|
||||||
are interested, which will be based on the <filename>atom-pc-standard</filename>
|
|
||||||
kernel.
|
|
||||||
In this case, because we're working with the &DISTRO_NAME; branch of everything, we
|
|
||||||
need to use the <filename>SRCREV</filename> values for the atom-pc branch
|
|
||||||
that are associated with the &DISTRO_NAME; release.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
To find the machine value, we need to find the <filename>SRCREV</filename>
|
|
||||||
value that &DISTRO_NAME; uses for the atom-pc branch, which we find in the
|
|
||||||
<filename>poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_3.4.bbappend</filename>
|
|
||||||
file.
|
|
||||||
The machine <filename>SRCREV</filename> we want is in the
|
|
||||||
<filename>SRCREV_machine_atom-pc</filename> variable.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
The meta <filename>SRCREV</filename> isn't specified in this file, so if you
|
|
||||||
needed it, you would find it in the base kernel recipe in the
|
|
||||||
<filename>poky/meta/recipes-kernel/linux/linux-yocto_3.4.bb</filename>.
|
|
||||||
Recall that for this example the commit ID's for the <filename>SRCREV</filename>
|
|
||||||
meta statements are identical and do not have to be used in the
|
|
||||||
<filename>mymachine</filename> append file.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
Here are the final <filename>SRCREV</filename> statements for the
|
|
||||||
<filename>mymachine</filename> append file:
|
|
||||||
<literallayout class='monospaced'>
|
|
||||||
SRCREV_machine_pn-linux-yocto_mymachine ?= \
|
|
||||||
"0985844fa6235422c67ef269952fa4e765f252f9"
|
|
||||||
#SRCREV_meta_pn-linux-yocto_mymachine ?= \
|
|
||||||
"c5bddf8ea379406ffec550528e17b777a0eba24b"
|
|
||||||
</literallayout>
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
In this example, we're using the <filename>SRCREV</filename> values we
|
|
||||||
found already captured in the &DISTRO_NAME; release because we're creating a BSP based on
|
|
||||||
&DISTRO_NAME;.
|
|
||||||
If, instead, we had based our BSP on the master branches, we would want to use
|
|
||||||
the most recent <filename>SRCREV</filename> values taken directly from the kernel's
|
|
||||||
repository.
|
|
||||||
We will not be doing that for this example.
|
|
||||||
However, if you do base a future BSP on master and
|
|
||||||
if you are familiar with Git repositories, you probably won’t have trouble locating the
|
|
||||||
exact commit strings in the Yocto Project source repositories you need to change
|
|
||||||
the <filename>SRCREV</filename> statements.
|
|
||||||
You can find all the <filename>machine</filename> and <filename>meta</filename>
|
|
||||||
branch points (commits) for the <filename>linux-yocto-3.4</filename> kernel at
|
|
||||||
<ulink url='&YOCTO_GIT_URL;/cgit/cgit.cgi/linux-yocto-3.4'></ulink>.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
If you need a little more assistance after going to the link then do the following:
|
|
||||||
<orderedlist>
|
|
||||||
<listitem><para>Expand the list of branches by clicking <filename>[…]</filename></para></listitem>
|
|
||||||
<listitem><para>Click on the <filename>standard/default/common-pc/atom-pc</filename>
|
|
||||||
branch</para></listitem>
|
|
||||||
<listitem><para>Click on the commit column header to view the top commit</para></listitem>
|
|
||||||
<listitem><para>Copy the commit string for use in the
|
|
||||||
<filename>linux-yocto_3.4.bbappend</filename> file</para></listitem>
|
|
||||||
</orderedlist>
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
For the <filename>SRCREV</filename> statement that points to the <filename>meta</filename>
|
|
||||||
branch use the same procedure except expand the <filename>meta</filename>
|
|
||||||
branch in step 2 above.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
Also in the <filename>linux-yocto_3.4.bbappend</filename> file are
|
|
||||||
<ulink url='&YOCTO_DOCS_REF_URL;#var-COMPATIBLE_MACHINE'><filename>COMPATIBLE_MACHINE</filename></ulink>,
|
|
||||||
<ulink url='&YOCTO_DOCS_REF_URL;#var-KMACHINE'><filename>KMACHINE</filename></ulink>,
|
|
||||||
and
|
|
||||||
<ulink url='&YOCTO_DOCS_REF_URL;#var-KBRANCH'><filename>KBRANCH</filename></ulink> statements.
|
|
||||||
Two sets of these exist: one set supports EMGD and one set does not.
|
|
||||||
Because we are not interested in supporting EMGD those three can be deleted.
|
|
||||||
The remaining three must be changed so that <filename>mymachine</filename> replaces
|
|
||||||
<filename>fri2-noemgd</filename> and <filename>fri2</filename>.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
Because we are using the <filename>atom-pc</filename> branch for this new BSP, we can also find
|
|
||||||
the exact branch we need for the <filename>KMACHINE</filename>
|
|
||||||
and <filename>KBRANCH</filename> variables in our new BSP from the value
|
|
||||||
we find in the
|
|
||||||
<filename>poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_3.4.bbappend</filename>
|
|
||||||
file we looked at in a previous step.
|
|
||||||
In this case, the values we want are in the <filename>KMACHINE_atom-pc</filename> variable
|
|
||||||
and the <filename>KBRANCH_atom-pc</filename> variables in that file.
|
|
||||||
Here is the final <filename>linux-yocto_3.4.bbappend</filename> file after all
|
|
||||||
the edits:
|
|
||||||
<literallayout class='monospaced'>
|
|
||||||
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
|
|
||||||
|
|
||||||
COMPATIBLE_MACHINE_mymachine = "mymachine"
|
|
||||||
KMACHINE_mymachine = "atom-pc"
|
|
||||||
KBRANCH_mymachine = "standard/default/common-pc/atom-pc"
|
|
||||||
|
|
||||||
SRCREV_machine_pn-linux-yocto_mymachine ?= \
|
|
||||||
"f29531a41df15d74be5ad47d958e4117ca9e489e"
|
|
||||||
SRCREV_meta_pn-linux-yocto_mymachine ?= \
|
|
||||||
"b14a08f5c7b469a5077c10942f4e1aec171faa9d"
|
|
||||||
</literallayout>
|
|
||||||
</para>
|
|
||||||
</section>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section id='bsp-recipe-change-summary'>
|
|
||||||
<title>BSP Recipe Change Summary</title>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
In summary, the edits to the layer’s recipe files result in removal of any files and
|
|
||||||
statements that do not support your targeted hardware in addition to the inclusion
|
|
||||||
of any new recipes you might need.
|
|
||||||
In this example, it was simply a matter of ridding the new layer
|
|
||||||
<filename>meta-mymachine</filename> of any code that supported the EMGD features
|
|
||||||
and making sure we were identifying the kernel that supports our example, which
|
|
||||||
is the <filename>atom-pc-standard</filename> kernel.
|
|
||||||
We did not introduce any new recipes to the layer.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
Finally, it is also important to update the layer’s <filename>README</filename>
|
|
||||||
file so that the information in it reflects your BSP.
|
|
||||||
</para>
|
|
||||||
</section>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section id='preparing-for-the-build-app'>
|
|
||||||
<title>Preparing for the Build</title>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
To get ready to build your image that uses the new layer you need to do the following:
|
|
||||||
<orderedlist>
|
|
||||||
<listitem><para>Get the environment ready for the build by sourcing the environment
|
|
||||||
script.
|
|
||||||
The environment script is in the top-level of the Source Directory.
|
|
||||||
The script has the string
|
|
||||||
<filename>init-build-env</filename> in the file’s name.
|
|
||||||
For this example, the following command gets the build environment ready:
|
|
||||||
<literallayout class='monospaced'>
|
|
||||||
$ source oe-init-build-env yocto-build
|
|
||||||
</literallayout>
|
|
||||||
When you source the script, a build directory is created in the current
|
|
||||||
working directory.
|
|
||||||
In our example we were in the <filename>poky</filename> directory.
|
|
||||||
Thus, entering the previous command created the <filename>yocto-build</filename> directory.
|
|
||||||
If you do not provide a name for the build directory it defaults to
|
|
||||||
<filename>build</filename>.
|
|
||||||
The <filename>yocto-build</filename> directory contains a
|
|
||||||
<filename>conf</filename> directory that has
|
|
||||||
two configuration files you will need to check: <filename>bblayers.conf</filename>
|
|
||||||
and <filename>local.conf</filename>.</para></listitem>
|
|
||||||
<listitem><para>Check and edit the resulting <filename>local.conf</filename> file.
|
|
||||||
This file minimally identifies the machine for which to build the image by
|
|
||||||
configuring the <filename>MACHINE</filename> variable.
|
|
||||||
For this example you must set the variable to mymachine as follows:
|
|
||||||
<literallayout class='monospaced'>
|
|
||||||
MACHINE ??= “mymachine”
|
|
||||||
</literallayout>
|
|
||||||
You should also be sure any other variables in which you are interested are set.
|
|
||||||
Some variables to consider are <filename>BB_NUMBER_THREADS</filename>
|
|
||||||
and <filename>PARALLEL_MAKE</filename>, both of which can greatly reduce your build time
|
|
||||||
if your development system supports multiple cores.
|
|
||||||
For development systems that support multiple cores, a good rule of thumb is to set
|
|
||||||
both the <filename>BB_NUMBER_THREADS</filename> and <filename>PARALLEL_MAKE</filename>
|
|
||||||
variables to twice the number of cores your system supports.</para></listitem>
|
|
||||||
<listitem><para>Update the <filename>bblayers.conf</filename> file so that it includes
|
|
||||||
both the path to your new BSP layer and the path to the
|
|
||||||
<filename>meta-intel</filename> layer.
|
|
||||||
In this example, you need to include both these paths as part of the
|
|
||||||
<filename>BBLAYERS</filename> variable:
|
|
||||||
<literallayout class='monospaced'>
|
|
||||||
$HOME/poky/meta-intel
|
|
||||||
$HOME/poky/meta-intel/meta-mymachine
|
|
||||||
</literallayout></para></listitem>
|
|
||||||
</orderedlist>
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
The
|
|
||||||
<ulink url='&YOCTO_DOCS_REF_URL;#ref-variables-glos'>Variables Glossary</ulink> chapter in the
|
|
||||||
Yocto Project Reference Manual has more information on configuration variables.
|
|
||||||
</para>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section id='building-the-image-app'>
|
|
||||||
<title>Building and Booting the Image</title>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
To build the image for our <filename>meta-mymachine</filename> BSP enter the following command
|
|
||||||
from the same shell from which you ran the setup script.
|
|
||||||
You should run the <filename>bitbake</filename> command without any intervening shell commands.
|
|
||||||
For example, moving your working directory around could cause problems.
|
|
||||||
Here is the command for this example:
|
|
||||||
<literallayout class='monospaced'>
|
|
||||||
$ bitbake -k core-image-sato
|
|
||||||
</literallayout>
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
This command specifies an image that has Sato support and that can be run from a USB device or
|
|
||||||
from a CD without having to first install anything.
|
|
||||||
The build process takes significant time and includes thousands of tasks, which are reported
|
|
||||||
at the console.
|
|
||||||
If the build results in any type of error you should check for misspellings in the
|
|
||||||
files you changed or problems with your host development environment such as missing packages.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
Finally, once you have an image, you can try booting it from a device
|
|
||||||
(e.g. a USB device).
|
|
||||||
To prepare a bootable USB device, insert a USB flash drive into your build system and
|
|
||||||
copy the <filename>.hddimg</filename> file, located in the
|
|
||||||
<filename>poky/build/tmp/deploy/images</filename>
|
|
||||||
directory after a successful build to the flash drive.
|
|
||||||
Assuming the USB flash drive takes device <filename>/dev/sdf</filename>,
|
|
||||||
use <filename>dd</filename> to copy the live image to it.
|
|
||||||
For example:
|
|
||||||
<literallayout class='monospaced'>
|
|
||||||
# dd if=core-image-sato-mymachine-20111101223904.hddimg of=/dev/sdf
|
|
||||||
# sync
|
|
||||||
# eject /dev/sdf
|
|
||||||
</literallayout>
|
|
||||||
You should now have a bootable USB flash device.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
Insert the device
|
|
||||||
into a bootable USB socket on the target, and power it on.
|
|
||||||
The system should boot to the Sato graphical desktop.
|
|
||||||
<footnote><para>Because
|
|
||||||
this new image is not in any way tailored to the system you're
|
|
||||||
booting it on, which is assumed to be some sort of atom-pc (netbook) system for this
|
|
||||||
example, it might not be completely functional though it should at least boot to a text
|
|
||||||
prompt.
|
|
||||||
Specifically, it might fail to boot into graphics without some tweaking.
|
|
||||||
If this ends up being the case, a possible next step would be to replace the
|
|
||||||
<filename>mymachine.conf</filename>
|
|
||||||
contents with the contents of <filename>atom-pc.conf</filename> and replace
|
|
||||||
<filename>xorg.conf</filename> with <filename>atom-pc xorg.conf</filename>
|
|
||||||
in <filename>meta-yocto</filename> and see if it fares any better.
|
|
||||||
In any case, following the previous steps will give you a buildable image that
|
|
||||||
will probably boot on most systems.
|
|
||||||
Getting things working like you want
|
|
||||||
them to for your hardware will normally require some amount of experimentation with
|
|
||||||
configuration settings.</para></footnote>
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
For reference, the sato image produced by the previous steps for &DISTRO_NAME;
|
|
||||||
should look like the following in terms of size.
|
|
||||||
If your sato image is much different from this,
|
|
||||||
you probably made a mistake in one of the above steps:
|
|
||||||
<literallayout class='monospaced'>
|
|
||||||
260538368 2012-04-27 01:44 core-image-sato-mymachine-20120427025051.hddimg
|
|
||||||
</literallayout>
|
|
||||||
<note>The previous instructions are also present in the README that was copied
|
|
||||||
from meta-fri2, which should also be updated to reflect the specifics of your
|
|
||||||
new BSP.
|
|
||||||
That file and the <filename>README.hardware</filename> file in the top-level
|
|
||||||
<filename>poky</filename> directory
|
|
||||||
also provides some suggestions for things to try if booting fails and produces
|
|
||||||
strange error messages.</note>
|
|
||||||
</para>
|
|
||||||
</section>
|
|
||||||
</appendix>
|
|
||||||
|
|
||||||
|
|
||||||
<!--
|
|
||||||
vim: expandtab tw=80 ts=4
|
|
||||||
-->
|
|
||||||
@@ -211,14 +211,17 @@
|
|||||||
<link linkend='build-directory'>build directory</link>.
|
<link linkend='build-directory'>build directory</link>.
|
||||||
The following example shows how to enable a layer named <filename>meta-mylayer</filename>:
|
The following example shows how to enable a layer named <filename>meta-mylayer</filename>:
|
||||||
<literallayout class='monospaced'>
|
<literallayout class='monospaced'>
|
||||||
LCONF_VERSION = "1"
|
LCONF_VERSION = "6"
|
||||||
|
|
||||||
|
BBPATH = "${TOPDIR}"
|
||||||
BBFILES ?= ""
|
BBFILES ?= ""
|
||||||
BBLAYERS = " \
|
|
||||||
|
BBLAYERS ?= " \
|
||||||
/path/to/poky/meta \
|
/path/to/poky/meta \
|
||||||
/path/to/poky/meta-yocto \
|
/path/to/poky/meta-yocto \
|
||||||
|
/path/to/poky/meta-yocto-bsp \
|
||||||
/path/to/poky/meta-mylayer \
|
/path/to/poky/meta-mylayer \
|
||||||
"
|
"
|
||||||
</literallayout>
|
</literallayout>
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
@@ -229,6 +232,14 @@
|
|||||||
During the processing of each <filename>conf/layer.conf</filename> file, BitBake adds the
|
During the processing of each <filename>conf/layer.conf</filename> file, BitBake adds the
|
||||||
recipes, classes and configurations contained within the particular layer to the source
|
recipes, classes and configurations contained within the particular layer to the source
|
||||||
directory.
|
directory.
|
||||||
|
<note>
|
||||||
|
Removing the <filename>meta-yocto</filename> layer exposes a bug for the
|
||||||
|
current release of the Yocto Project.
|
||||||
|
If for some reason you do remove this layer from the
|
||||||
|
<filename>bblayers.conf</filename>, you must set the
|
||||||
|
<filename>LCONF_VERSION</filename> variable to "5".
|
||||||
|
See <ulink url='https://bugzilla.yoctoproject.org/show_bug.cgi?id=3176'>[YOCTO_#3176]</ulink>
|
||||||
|
for more information.</note>
|
||||||
</para>
|
</para>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
@@ -304,7 +315,7 @@
|
|||||||
<literallayout class='monospaced'>
|
<literallayout class='monospaced'>
|
||||||
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
|
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
|
||||||
|
|
||||||
PRINC = "1"
|
PRINC := "${@int(PRINC) + 1}"
|
||||||
</literallayout>
|
</literallayout>
|
||||||
This example adds or overrides files in
|
This example adds or overrides files in
|
||||||
<ulink url='&YOCTO_DOCS_REF_URL;#var-SRC_URI'><filename>SRC_URI</filename></ulink>
|
<ulink url='&YOCTO_DOCS_REF_URL;#var-SRC_URI'><filename>SRC_URI</filename></ulink>
|
||||||
@@ -327,12 +338,6 @@
|
|||||||
paths in the final list.
|
paths in the final list.
|
||||||
</note>
|
</note>
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
|
||||||
For another example on how to use a <filename>.bbappend</filename> file, see the
|
|
||||||
"<link linkend='changing-recipes-kernel'>Changing <filename>recipes-kernel</filename></link>"
|
|
||||||
section.
|
|
||||||
</para>
|
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<section id='prioritizing-your-layer'>
|
<section id='prioritizing-your-layer'>
|
||||||
@@ -1025,8 +1030,8 @@
|
|||||||
<para>
|
<para>
|
||||||
For a complete example that shows how to add a new machine,
|
For a complete example that shows how to add a new machine,
|
||||||
see the
|
see the
|
||||||
"<ulink url='&YOCTO_DOCS_DEV_URL;#dev-manual-bsp-appendix'>BSP Development Example</ulink>"
|
"<ulink url='&YOCTO_DOCS_BSP_URL;#creating-a-new-bsp-layer-using-the-yocto-bsp-script'>Creating a New BSP Layer Using the yocto-bsp Script</ulink>"
|
||||||
in Appendix A.
|
in the Yocto Project Board Support Package (BSP) Developer's Guide.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<section id="platdev-newmachine-conffile">
|
<section id="platdev-newmachine-conffile">
|
||||||
@@ -1347,6 +1352,8 @@
|
|||||||
<para>
|
<para>
|
||||||
The easiest way to define kernel configurations is to set them through the
|
The easiest way to define kernel configurations is to set them through the
|
||||||
<filename>menuconfig</filename> tool.
|
<filename>menuconfig</filename> tool.
|
||||||
|
This tool provides an interactive method with which
|
||||||
|
to set kernel configurations.
|
||||||
For general information on <filename>menuconfig</filename>, see
|
For general information on <filename>menuconfig</filename>, see
|
||||||
<ulink url='http://en.wikipedia.org/wiki/Menuconfig'></ulink>.
|
<ulink url='http://en.wikipedia.org/wiki/Menuconfig'></ulink>.
|
||||||
</para>
|
</para>
|
||||||
@@ -1354,6 +1361,9 @@
|
|||||||
<para>
|
<para>
|
||||||
To use the <filename>menuconfig</filename> tool in the Yocto Project development
|
To use the <filename>menuconfig</filename> tool in the Yocto Project development
|
||||||
environment, you must build the tool using BitBake.
|
environment, you must build the tool using BitBake.
|
||||||
|
Thus, the environment must be set up using the <filename>&OE_INIT_FILE;</filename>
|
||||||
|
script found in the
|
||||||
|
<link linkend='build-directory'>Build Directory</link>.
|
||||||
The following commands build and invoke <filename>menuconfig</filename> assuming the
|
The following commands build and invoke <filename>menuconfig</filename> assuming the
|
||||||
source directory top-level folder is <filename>~/poky</filename>:
|
source directory top-level folder is <filename>~/poky</filename>:
|
||||||
<literallayout class='monospaced'>
|
<literallayout class='monospaced'>
|
||||||
@@ -1362,17 +1372,86 @@
|
|||||||
$ bitbake linux-yocto -c menuconfig
|
$ bitbake linux-yocto -c menuconfig
|
||||||
</literallayout>
|
</literallayout>
|
||||||
Once <filename>menuconfig</filename> comes up, its standard interface allows you to
|
Once <filename>menuconfig</filename> comes up, its standard interface allows you to
|
||||||
examine and configure all the kernel configuration parameters.
|
interactively examine and configure all the kernel configuration parameters.
|
||||||
Once you have made your changes, simply exit the tool and save your changes to
|
After making your changes, simply exit the tool and save your changes to
|
||||||
create an updated version of the <filename>.config</filename> configuration file.
|
create an updated version of the <filename>.config</filename> configuration file.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
For an example that shows how to change a specific kernel option
|
Consider an example that configures the <filename>linux-yocto-3.4</filename>
|
||||||
using <filename>menuconfig</filename>, see the
|
kernel.
|
||||||
"<link linkend='changing-the-config-smp-configuration-using-menuconfig'>Changing
|
The OpenEmbedded build system recognizes this kernel as
|
||||||
the <filename>CONFIG_SMP</filename> Configuration Using <filename>menuconfig</filename></link>"
|
<filename>linux-yocto</filename>.
|
||||||
section.
|
Thus, the following commands from the shell in which you previously sourced the
|
||||||
|
environment initialization script cleans the shared state cache and the
|
||||||
|
<ulink url='&YOCTO_DOCS_REF_URL;#var-WORKDIR'><filename>WORKDIR</filename></ulink>
|
||||||
|
directory and then builds and launches <filename>menuconfig</filename>:
|
||||||
|
<literallayout class='monospaced'>
|
||||||
|
$ bitbake linux-yocto -c menuconfig
|
||||||
|
</literallayout>
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Once <filename>menuconfig</filename> launches, you use the interface
|
||||||
|
to navigate through the selections to find the configuration settings in
|
||||||
|
which you are interested.
|
||||||
|
For example, consider the <filename>CONFIG_SMP</filename> configuration setting.
|
||||||
|
You can find it at <filename>Processor Type and Features</filename> under
|
||||||
|
the configuration selection <filename>Symmetric Multi-processing Support</filename>.
|
||||||
|
After highlighting the selection, you can use the arrow keys to select or deselect
|
||||||
|
the setting.
|
||||||
|
When you are finished with all your selections, exit out and save them.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Saving the selections updates the <filename>.config</filename> configuration file.
|
||||||
|
This is the file that the OpenEmbedded build system uses to configure the
|
||||||
|
kernel during the build.
|
||||||
|
You can find and examine this file in the build directory in
|
||||||
|
<filename>tmp/work/</filename>.
|
||||||
|
The actual <filename>.config</filename> is located in the area where the
|
||||||
|
specific kernel is built.
|
||||||
|
For example, if you were building a Linux Yocto kernel based on the
|
||||||
|
Linux 3.4 kernel and you were building a QEMU image targeted for
|
||||||
|
<filename>x86</filename> architecture, the
|
||||||
|
<filename>.config</filename> file would be located here:
|
||||||
|
<literallayout class='monospaced'>
|
||||||
|
~/poky/build/tmp/work/qemux86-poky-linux/linux-yocto-3.4.11+git1+84f...
|
||||||
|
...656ed30-r1/linux-qemux86-standard-build
|
||||||
|
</literallayout>
|
||||||
|
<note>
|
||||||
|
The previous example directory is artificially split and many of the characters
|
||||||
|
in the actual filename are omitted in order to make it more readable.
|
||||||
|
Also, depending on the kernel you are using, the exact pathname
|
||||||
|
for <filename>linux-yocto-3.4...</filename> might differ.
|
||||||
|
</note>
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Within the <filename>.config</filename> file, you can see the kernel settings.
|
||||||
|
For example, the following entry shows that symmetric multi-processor support
|
||||||
|
is not set:
|
||||||
|
<literallayout class='monospaced'>
|
||||||
|
# CONFIG_SMP is not set
|
||||||
|
</literallayout>
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
A good method to isolate changed configurations is to use a combination of the
|
||||||
|
<filename>menuconfig</filename> tool and simple shell commands.
|
||||||
|
Before changing configurations with <filename>menuconfig</filename>, copy the
|
||||||
|
existing <filename>.config</filename> and rename it to something else,
|
||||||
|
use <filename>menuconfig</filename> to make
|
||||||
|
as many changes an you want and save them, then compare the renamed configuration
|
||||||
|
file against the newly created file.
|
||||||
|
You can use the resulting differences as your base to create configuration fragments
|
||||||
|
to permanently save in your kernel layer.
|
||||||
|
<note>
|
||||||
|
Be sure to make a copy of the <filename>.config</filename> and don't just
|
||||||
|
rename it.
|
||||||
|
The build system needs an existing <filename>.config</filename>
|
||||||
|
from which to work.
|
||||||
|
</note>
|
||||||
</para>
|
</para>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
@@ -1511,6 +1590,267 @@
|
|||||||
</section>
|
</section>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<section id="patching-the-kernel">
|
||||||
|
<title>Patching the Kernel</title>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Patching the kernel involves changing or adding configurations to an existing kernel,
|
||||||
|
changing or adding recipes to the kernel that are needed to support specific hardware features,
|
||||||
|
or even altering the source code itself.
|
||||||
|
<note>
|
||||||
|
You can use the <filename>yocto-kernel</filename> script
|
||||||
|
found in the <link linkend='source-directory'>Source Directory</link>
|
||||||
|
under <filename>scripts</filename> to manage kernel patches and configuration.
|
||||||
|
See the "<ulink url='&YOCTO_DOCS_BSP_URL;#managing-kernel-patches-and-config-items-with-yocto-kernel'>Managing kernel Patches and Config Items with yocto-kernel</ulink>"
|
||||||
|
section in the Yocto Project Board Support Packages (BSP) Developer's Guide for
|
||||||
|
more information.</note>
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This example creates a simple patch by adding some QEMU emulator console
|
||||||
|
output at boot time through <filename>printk</filename> statements in the kernel's
|
||||||
|
<filename>calibrate.c</filename> source code file.
|
||||||
|
Applying the patch and booting the modified image causes the added
|
||||||
|
messages to appear on the emulator's console.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<section id='creating-the-patch'>
|
||||||
|
<title>Creating the Patch</title>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Describe how to find the source files in the build area.
|
||||||
|
We are not assuming they are using their own kernel tree.
|
||||||
|
|
||||||
|
</para>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
|
||||||
|
<section id='changing-the-source-code-and-pushing-it-to-the-bare-clone'>
|
||||||
|
<title>Changing the Source Code and Pushing it to the Bare Clone</title>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
The file you change in this example is named <filename>calibrate.c</filename>
|
||||||
|
and is located in the <filename>my-linux-yocto-3.4-work</filename> Git repository
|
||||||
|
(the copy of the bare clone) in <filename>init</filename>.
|
||||||
|
This example simply inserts several <filename>printk</filename> statements
|
||||||
|
at the beginning of the <filename>calibrate_delay</filename> function.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Here is the unaltered code at the start of this function:
|
||||||
|
<literallayout class='monospaced'>
|
||||||
|
void __cpuinit calibrate_delay(void)
|
||||||
|
{
|
||||||
|
unsigned long lpj;
|
||||||
|
static bool printed;
|
||||||
|
int this_cpu = smp_processor_id();
|
||||||
|
|
||||||
|
if (per_cpu(cpu_loops_per_jiffy, this_cpu)) {
|
||||||
|
.
|
||||||
|
.
|
||||||
|
.
|
||||||
|
</literallayout>
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Here is the altered code showing five new <filename>printk</filename> statements
|
||||||
|
near the top of the function:
|
||||||
|
<literallayout class='monospaced'>
|
||||||
|
void __cpuinit calibrate_delay(void)
|
||||||
|
{
|
||||||
|
unsigned long lpj;
|
||||||
|
static bool printed;
|
||||||
|
int this_cpu = smp_processor_id();
|
||||||
|
|
||||||
|
printk("*************************************\n");
|
||||||
|
printk("* *\n");
|
||||||
|
printk("* HELLO YOCTO KERNEL *\n");
|
||||||
|
printk("* *\n");
|
||||||
|
printk("*************************************\n");
|
||||||
|
|
||||||
|
if (per_cpu(cpu_loops_per_jiffy, this_cpu)) {
|
||||||
|
.
|
||||||
|
.
|
||||||
|
.
|
||||||
|
</literallayout>
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
After making and saving your changes, you need to stage them for the push.
|
||||||
|
The following Git commands are one method of staging and committing your changes:
|
||||||
|
<literallayout class='monospaced'>
|
||||||
|
$ git add calibrate.c
|
||||||
|
$ git commit --signoff
|
||||||
|
</literallayout>
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Once the source code has been modified, you need to use Git to push the changes to
|
||||||
|
the bare clone.
|
||||||
|
If you do not push the changes, then the OpenEmbedded build system will not pick
|
||||||
|
up the changed source files.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
The following command pushes the changes to the bare clone:
|
||||||
|
<literallayout class='monospaced'>
|
||||||
|
$ git push origin standard-common-pc-base:standard/default/common-pc/base
|
||||||
|
</literallayout>
|
||||||
|
</para>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section id='changing-build-parameters-for-your-build'>
|
||||||
|
<title>Changing Build Parameters for Your Build</title>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
At this point, the source has been changed and pushed.
|
||||||
|
The example now defines some variables used by the OpenEmbedded build system
|
||||||
|
to locate your kernel source.
|
||||||
|
You essentially need to identify where to find the kernel recipe and the changed source code.
|
||||||
|
You also need to be sure some basic configurations are in place that identify the
|
||||||
|
type of machine you are building and to help speed up the build should your host support
|
||||||
|
multiple-core and thread capabilities.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Do the following to make sure the build parameters are set up for the example.
|
||||||
|
Once you set up these build parameters, they do not have to change unless you
|
||||||
|
change the target architecture of the machine you are building or you move
|
||||||
|
the bare clone, copy of the clone, or the <filename>poky-extras</filename> repository:
|
||||||
|
<itemizedlist>
|
||||||
|
<listitem><para><emphasis>Build for the Correct Target Architecture:</emphasis> The
|
||||||
|
<filename>local.conf</filename> file in the build directory defines the build's
|
||||||
|
target architecture.
|
||||||
|
By default, <filename>MACHINE</filename> is set to
|
||||||
|
<filename>qemux86</filename>, which specifies a 32-bit
|
||||||
|
<trademark class='registered'>Intel</trademark> Architecture
|
||||||
|
target machine suitable for the QEMU emulator.
|
||||||
|
In this example, <filename>MACHINE</filename> is correctly configured.
|
||||||
|
</para></listitem>
|
||||||
|
<listitem><para><emphasis>Optimize Build Time:</emphasis> Also in the
|
||||||
|
<filename>local.conf</filename> file are two variables that can speed your
|
||||||
|
build time if your host supports multi-core and multi-thread capabilities:
|
||||||
|
<filename>BB_NUMBER_THREADS</filename> and <filename>PARALLEL_MAKE</filename>.
|
||||||
|
If the host system has multiple cores then you can optimize build time
|
||||||
|
by setting both these variables to twice the number of
|
||||||
|
cores.</para></listitem>
|
||||||
|
<listitem><para><emphasis>Identify Your <filename>meta-kernel-dev</filename>
|
||||||
|
Layer:</emphasis> The <filename>BBLAYERS</filename> variable in the
|
||||||
|
<filename>bblayers.conf</filename> file found in the
|
||||||
|
<filename>poky/build/conf</filename> directory needs to have the path to your local
|
||||||
|
<filename>meta-kernel-dev</filename> layer.
|
||||||
|
By default, the <filename>BBLAYERS</filename> variable contains paths to
|
||||||
|
<filename>meta</filename> and <filename>meta-yocto</filename> in the
|
||||||
|
<filename>poky</filename> Git repository.
|
||||||
|
Add the path to your <filename>meta-kernel-dev</filename> location.
|
||||||
|
Be sure to substitute your user information in the statement.
|
||||||
|
Here is an example:
|
||||||
|
<literallayout class='monospaced'>
|
||||||
|
BBLAYERS = " \
|
||||||
|
/home/scottrif/poky/meta \
|
||||||
|
/home/scottrif/poky/meta-yocto \
|
||||||
|
/home/scottrif/poky/meta-yocto-bsp \
|
||||||
|
/home/scottrif/poky/poky-extras/meta-kernel-dev \
|
||||||
|
"
|
||||||
|
</literallayout></para></listitem>
|
||||||
|
<listitem><para><emphasis>Identify Your Source Files:</emphasis> In the
|
||||||
|
<filename>linux-yocto_3.4.bbappend</filename> file located in the
|
||||||
|
<filename>poky-extras/meta-kernel-dev/recipes-kernel/linux</filename>
|
||||||
|
directory, you need to identify the location of the
|
||||||
|
local source code, which in this example is the bare clone named
|
||||||
|
<filename>linux-yocto-3.4.git</filename>.
|
||||||
|
To do this, set the <filename>KSRC_linux_yocto</filename> variable to point to your
|
||||||
|
local <filename>linux-yocto-3.4.git</filename> Git repository by adding the
|
||||||
|
following statement.
|
||||||
|
Also, be sure the <filename>SRC_URI</filename> variable is pointing to
|
||||||
|
your kernel source files by removing the comment.
|
||||||
|
Finally, be sure to substitute your user information in the statement:
|
||||||
|
<literallayout class='monospaced'>
|
||||||
|
KSRC_linux_yocto_3_4 ?= "/home/scottrif/linux-yocto-3.4.git"
|
||||||
|
SRC_URI = "git://${KSRC_linux_yocto_3_4};protocol=file;nocheckout=1;branch=${KBRANCH},meta;name=machine,meta"
|
||||||
|
</literallayout></para></listitem>
|
||||||
|
</itemizedlist>
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<note>
|
||||||
|
<para>Before attempting to build the modified kernel, there is one more set of changes you
|
||||||
|
need to make in the <filename>meta-kernel-dev</filename> layer.
|
||||||
|
Because all the kernel <filename>.bbappend</filename> files are parsed during the
|
||||||
|
build process regardless of whether you are using them or not, you should either
|
||||||
|
comment out the <filename>COMPATIBLE_MACHINE</filename> statements in all
|
||||||
|
unused <filename>.bbappend</filename> files, or simply remove (or rename) all the files
|
||||||
|
except the one your are using for the build
|
||||||
|
(i.e. <filename>linux-yocto_3.4.bbappend</filename> in this example).</para>
|
||||||
|
<para>If you do not make one of these two adjustments, your machine will be compatible
|
||||||
|
with all the kernel recipes in the <filename>meta-kernel-dev</filename> layer.
|
||||||
|
When your machine is comapatible with all the kernel recipes, the build attempts
|
||||||
|
to build all kernels in the layer.
|
||||||
|
You could end up with build errors blocking your work.</para>
|
||||||
|
</note>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section id='building-and-booting-the-modified-qemu-kernel-image'>
|
||||||
|
<title>Building and Booting the Modified QEMU Kernel Image</title>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Next, you need to build the modified image.
|
||||||
|
Do the following:
|
||||||
|
<orderedlist>
|
||||||
|
<listitem><para>Your environment should be set up since you previously sourced
|
||||||
|
the <filename>&OE_INIT_FILE;</filename> script.
|
||||||
|
If it isn't, source the script again from <filename>poky</filename>.
|
||||||
|
<literallayout class='monospaced'>
|
||||||
|
$ cd ~/poky
|
||||||
|
$ source &OE_INIT_FILE;
|
||||||
|
</literallayout>
|
||||||
|
</para></listitem>
|
||||||
|
<listitem><para>Be sure old images are cleaned out by running the
|
||||||
|
<filename>cleanall</filename> BitBake task as follows from your build directory:
|
||||||
|
<literallayout class='monospaced'>
|
||||||
|
$ bitbake -c cleanall linux-yocto
|
||||||
|
</literallayout></para>
|
||||||
|
<para><note>Never remove any files by hand from the <filename>tmp/deploy</filename>
|
||||||
|
directory insided the build directory.
|
||||||
|
Always use the BitBake <filename>cleanall</filename> task to clear
|
||||||
|
out previous builds.</note></para></listitem>
|
||||||
|
<listitem><para>Next, build the kernel image using this command:
|
||||||
|
<literallayout class='monospaced'>
|
||||||
|
$ bitbake -k core-image-minimal
|
||||||
|
</literallayout></para></listitem>
|
||||||
|
<listitem><para>Finally, boot the modified image in the QEMU emulator
|
||||||
|
using this command:
|
||||||
|
<literallayout class='monospaced'>
|
||||||
|
$ runqemu qemux86
|
||||||
|
</literallayout></para></listitem>
|
||||||
|
</orderedlist>
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Log into the machine using <filename>root</filename> with no password and then
|
||||||
|
use the following shell command to scroll through the console's boot output.
|
||||||
|
<literallayout class='monospaced'>
|
||||||
|
# dmesg | less
|
||||||
|
</literallayout>
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
You should see the results of your <filename>printk</filename> statements
|
||||||
|
as part of the output.
|
||||||
|
</para>
|
||||||
|
</section>
|
||||||
|
</section>
|
||||||
|
|
||||||
<section id="usingpoky-changes-updatingimages">
|
<section id="usingpoky-changes-updatingimages">
|
||||||
<title>Updating Existing Images</title>
|
<title>Updating Existing Images</title>
|
||||||
|
|
||||||
|
|||||||
@@ -23,9 +23,9 @@
|
|||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
The Yocto Project Development Manual, however, does provide detailed examples on how to create a
|
The Yocto Project Development Manual, however, does provide detailed examples
|
||||||
Board Support Package (BSP), change the kernel source code, and reconfigure the kernel.
|
on how to change the kernel source code, reconfigure the kernel, and develop
|
||||||
You can find this information in the appendices of the manual.
|
an application using the popular <trademark class='trade'>Eclipse</trademark> IDE.
|
||||||
</para>
|
</para>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
@@ -44,7 +44,7 @@
|
|||||||
<listitem><para>Development case overviews for both system development and user-space
|
<listitem><para>Development case overviews for both system development and user-space
|
||||||
applications.</para></listitem>
|
applications.</para></listitem>
|
||||||
<listitem><para>An overview and understanding of the emulation environment used with
|
<listitem><para>An overview and understanding of the emulation environment used with
|
||||||
the Yocto Project (QEMU).</para></listitem>
|
the Yocto Project - the Quick EMUlator (QEMU).</para></listitem>
|
||||||
<listitem><para>An understanding of basic kernel architecture and concepts.</para></listitem>
|
<listitem><para>An understanding of basic kernel architecture and concepts.</para></listitem>
|
||||||
<listitem><para>Many references to other sources of related information.</para></listitem>
|
<listitem><para>Many references to other sources of related information.</para></listitem>
|
||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
|
|||||||
@@ -12,6 +12,13 @@
|
|||||||
or even altering the source code itself.
|
or even altering the source code itself.
|
||||||
This appendix presents simple examples that modify the kernel source code,
|
This appendix presents simple examples that modify the kernel source code,
|
||||||
change the kernel configuration, and add a kernel source recipe.
|
change the kernel configuration, and add a kernel source recipe.
|
||||||
|
<note>
|
||||||
|
You can use the <filename>yocto-kernel</filename> script
|
||||||
|
found in the <link linkend='source-directory'>Source Directory</link>
|
||||||
|
under <filename>scripts</filename> to manage kernel patches and configuration.
|
||||||
|
See the "<ulink url='&YOCTO_DOCS_BSP_URL;#managing-kernel-patches-and-config-items-with-yocto-kernel'>Managing kernel Patches and Config Items with yocto-kernel</ulink>"
|
||||||
|
section in the Yocto Project Board Support Packages (BSP) Developer's Guide for
|
||||||
|
more information.</note>
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<section id='modifying-the-kernel-source-code'>
|
<section id='modifying-the-kernel-source-code'>
|
||||||
@@ -34,11 +41,11 @@
|
|||||||
Briefly, you need the following:
|
Briefly, you need the following:
|
||||||
<itemizedlist>
|
<itemizedlist>
|
||||||
<listitem><para>A local
|
<listitem><para>A local
|
||||||
<link linkend='source-directory'>source directory</link> for the
|
<link linkend='source-directory'>Source Directory</link> for the
|
||||||
poky Git repository</para></listitem>
|
poky Git repository</para></listitem>
|
||||||
<listitem><para>Local copies of the
|
<listitem><para>Local copies of the
|
||||||
<link linkend='poky-extras-repo'><filename>poky-extras</filename></link>
|
<link linkend='poky-extras-repo'><filename>poky-extras</filename></link>
|
||||||
Git repository placed within the source directory.</para></listitem>
|
Git repository placed within the Source Directory.</para></listitem>
|
||||||
<listitem><para>A bare clone of the
|
<listitem><para>A bare clone of the
|
||||||
<link linkend='local-kernel-files'>Yocto Project Kernel</link> upstream Git
|
<link linkend='local-kernel-files'>Yocto Project Kernel</link> upstream Git
|
||||||
repository to which you want to push your modifications.
|
repository to which you want to push your modifications.
|
||||||
@@ -59,7 +66,7 @@
|
|||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
<imagedata fileref="figures/kernel-example-repos-denzil.png" width="7in" depth="5in"
|
<imagedata fileref="figures/kernel-example-repos-generic.png" width="7in" depth="5in"
|
||||||
align="center" scale="100" />
|
align="center" scale="100" />
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
@@ -69,16 +76,18 @@
|
|||||||
<listitem><para><emphasis>Local Source Directory:</emphasis>
|
<listitem><para><emphasis>Local Source Directory:</emphasis>
|
||||||
This area contains all the metadata that supports building images
|
This area contains all the metadata that supports building images
|
||||||
using the OpenEmbedded build system.
|
using the OpenEmbedded build system.
|
||||||
In this example, the source directory also
|
In this example, the
|
||||||
contains the build directory, which contains the configuration directory
|
<link linkend='source-directory'>Source Directory</link> also
|
||||||
|
contains the
|
||||||
|
<link linkend='build-directory'>Build Directory</link>,
|
||||||
|
which contains the configuration directory
|
||||||
that lets you control the build.
|
that lets you control the build.
|
||||||
Also in this example, the source directory contains local copies of the
|
Also in this example, the Source Directory contains local copies of the
|
||||||
<filename>poky-extras</filename> Git repository.</para>
|
<filename>poky-extras</filename> Git repository.</para>
|
||||||
<para>See the bulleted item
|
<para>See the bulleted item
|
||||||
"<link linkend='local-yp-release'>Yocto Project Release</link>"
|
"<link linkend='local-yp-release'>Yocto Project Release</link>"
|
||||||
for information on how to get these files on your local system.</para></listitem>
|
for information on how to get these files on your local system.</para></listitem>
|
||||||
<listitem><para><emphasis>Local copies of the<filename>poky-extras</filename>
|
<listitem><para><emphasis>Local copies of the <filename>poky-extras</filename> Git Repository:</emphasis>
|
||||||
Git Repository:</emphasis>
|
|
||||||
This area contains the <filename>meta-kernel-dev</filename> layer,
|
This area contains the <filename>meta-kernel-dev</filename> layer,
|
||||||
which is where you make changes that append the kernel build recipes.
|
which is where you make changes that append the kernel build recipes.
|
||||||
You edit <filename>.bbappend</filename> files to locate your
|
You edit <filename>.bbappend</filename> files to locate your
|
||||||
@@ -125,17 +134,19 @@
|
|||||||
<title>Setting Up the Local Source Directory</title>
|
<title>Setting Up the Local Source Directory</title>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
You can set up the source directory through tarball extraction or by
|
You can set up the
|
||||||
|
<link linkend='source-directory'>Source Directory</link>
|
||||||
|
through tarball extraction or by
|
||||||
cloning the <filename>poky</filename> Git repository.
|
cloning the <filename>poky</filename> Git repository.
|
||||||
This example uses <filename>poky</filename> as the root directory of the
|
This example uses <filename>poky</filename> as the root directory of the
|
||||||
local source directory.
|
local Source Directory.
|
||||||
See the bulleted item
|
See the bulleted item
|
||||||
"<link linkend='local-yp-release'>Yocto Project Release</link>"
|
"<link linkend='local-yp-release'>Yocto Project Release</link>"
|
||||||
for information on how to get these files.
|
for information on how to get these files.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
Once you have source directory set up,
|
Once you have Source Directory set up,
|
||||||
you have many development branches from which you can work.
|
you have many development branches from which you can work.
|
||||||
From inside the local repository you can see the branch names and the tag names used
|
From inside the local repository you can see the branch names and the tag names used
|
||||||
in the upstream Git repository by using either of the following commands:
|
in the upstream Git repository by using either of the following commands:
|
||||||
@@ -161,7 +172,7 @@
|
|||||||
|
|
||||||
<para>
|
<para>
|
||||||
This example creates a local copy of the <filename>poky-extras</filename> Git
|
This example creates a local copy of the <filename>poky-extras</filename> Git
|
||||||
repository inside the <filename>poky</filename> source directory.
|
repository inside the <filename>poky</filename> Source Directory.
|
||||||
See the bulleted item "<link linkend='poky-extras-repo'>The
|
See the bulleted item "<link linkend='poky-extras-repo'>The
|
||||||
<filename>poky-extras</filename> Git Repository</link>"
|
<filename>poky-extras</filename> Git Repository</link>"
|
||||||
for information on how to set up a local copy of the
|
for information on how to set up a local copy of the
|
||||||
@@ -172,11 +183,12 @@
|
|||||||
Because this example uses the Yocto Project &DISTRO; Release code
|
Because this example uses the Yocto Project &DISTRO; Release code
|
||||||
named "&DISTRO_NAME;", which maps to the <filename>&DISTRO_NAME;</filename>
|
named "&DISTRO_NAME;", which maps to the <filename>&DISTRO_NAME;</filename>
|
||||||
branch in the repository, you need to be sure you are using that
|
branch in the repository, you need to be sure you are using that
|
||||||
branch for <filename>poky-extra</filename>.
|
branch for <filename>poky-extras</filename>.
|
||||||
The following commands create and checkout the local
|
The following commands create and checkout the local
|
||||||
branch you are using for the <filename>&DISTRO_NAME;</filename>
|
branch you are using for the <filename>&DISTRO_NAME;</filename>
|
||||||
branch:
|
branch:
|
||||||
<literallayout class='monospaced'>
|
<literallayout class='monospaced'>
|
||||||
|
$ cd ~/poky/poky-extras
|
||||||
$ git checkout -b &DISTRO_NAME; origin/&DISTRO_NAME;
|
$ git checkout -b &DISTRO_NAME; origin/&DISTRO_NAME;
|
||||||
Branch &DISTRO_NAME; set up to track remote branch &DISTRO_NAME; from origin.
|
Branch &DISTRO_NAME; set up to track remote branch &DISTRO_NAME; from origin.
|
||||||
Switched to a new branch '&DISTRO_NAME;'
|
Switched to a new branch '&DISTRO_NAME;'
|
||||||
@@ -188,7 +200,7 @@
|
|||||||
<title>Setting Up the Bare Clone and its Copy</title>
|
<title>Setting Up the Bare Clone and its Copy</title>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
This example modifies the <filename>linux-yocto-3.2</filename> kernel.
|
This example modifies the <filename>linux-yocto-3.4</filename> kernel.
|
||||||
Thus, you need to create a bare clone of that kernel and then make a copy of the
|
Thus, you need to create a bare clone of that kernel and then make a copy of the
|
||||||
bare clone.
|
bare clone.
|
||||||
See the bulleted item
|
See the bulleted item
|
||||||
@@ -200,17 +212,16 @@
|
|||||||
The bare clone exists for the kernel build tools and simply as the receiving end
|
The bare clone exists for the kernel build tools and simply as the receiving end
|
||||||
of <filename>git push</filename>
|
of <filename>git push</filename>
|
||||||
commands after you make edits and commits inside the copy of the clone.
|
commands after you make edits and commits inside the copy of the clone.
|
||||||
The copy (<filename>my-linux-yocto-3.2-work</filename> in this example) has to have
|
The copy (<filename>my-linux-yocto-3.4-work</filename> in this example) has to have
|
||||||
a local branch created and checked out for your work.
|
a local branch created and checked out for your work.
|
||||||
This example uses <filename>common-pc-base</filename> as the local branch.
|
This example uses <filename>common-pc-base</filename> as the local branch.
|
||||||
The following commands create and checkout the branch:
|
The following commands create and checkout the branch:
|
||||||
<literallayout class='monospaced'>
|
<literallayout class='monospaced'>
|
||||||
$ cd ~/my-linux-yocto-3.2-work
|
$ cd ~/my-linux-yocto-3.4-work
|
||||||
$ git checkout -b common-pc-base origin/standard/default/common-pc/base
|
$ git checkout -b standard-common-pc-base origin/standard/common-pc/base
|
||||||
Checking out files: 100% (532/532), done.
|
Branch standard-common-pc-base set up to track remote branch
|
||||||
Branch common-pc-base set up to track remote branch
|
standard/common-pc/base from origin.
|
||||||
standard/default/common-pc/base from origin.
|
Switched to a new branch 'standard-common-pc-base'
|
||||||
Switched to a new branch 'common-pc-base'
|
|
||||||
</literallayout>
|
</literallayout>
|
||||||
</para>
|
</para>
|
||||||
</section>
|
</section>
|
||||||
@@ -224,7 +235,7 @@
|
|||||||
<note>
|
<note>
|
||||||
Because a full build can take hours, you should check two variables in the
|
Because a full build can take hours, you should check two variables in the
|
||||||
<filename>build</filename> directory that is created after you source the
|
<filename>build</filename> directory that is created after you source the
|
||||||
<filename>oe-init-build-env</filename> script.
|
<filename>&OE_INIT_FILE;</filename> script.
|
||||||
You can find these variables
|
You can find these variables
|
||||||
<filename>BB_NUMBER_THREADS</filename> and <filename>PARALLEL_MAKE</filename>
|
<filename>BB_NUMBER_THREADS</filename> and <filename>PARALLEL_MAKE</filename>
|
||||||
in the <filename>build/conf</filename> directory in the
|
in the <filename>build/conf</filename> directory in the
|
||||||
@@ -242,11 +253,36 @@
|
|||||||
If necessary, the script creates the build directory:
|
If necessary, the script creates the build directory:
|
||||||
<literallayout class='monospaced'>
|
<literallayout class='monospaced'>
|
||||||
$ cd ~/poky
|
$ cd ~/poky
|
||||||
$ source oe-init-build-env
|
$ source &OE_INIT_FILE;
|
||||||
|
You had no conf/local.conf file. This configuration file has therefore been
|
||||||
|
created for you with some default values. You may wish to edit it to use a
|
||||||
|
different MACHINE (target hardware) or enable parallel build options to take
|
||||||
|
advantage of multiple cores for example. See the file for more information as
|
||||||
|
common configuration options are commented.
|
||||||
|
|
||||||
### Shell environment set up for builds. ###
|
The Yocto Project has extensive documentation about OE including a reference manual
|
||||||
|
which can be found at:
|
||||||
|
http://yoctoproject.org/documentation
|
||||||
|
|
||||||
You can now run 'bitbake <target>'
|
For more information about OpenEmbedded see their website:
|
||||||
|
http://www.openembedded.org/
|
||||||
|
|
||||||
|
You had no conf/bblayers.conf file. The configuration file has been created for
|
||||||
|
you with some default values. To add additional metadata layers into your
|
||||||
|
configuration please add entries to this file.
|
||||||
|
|
||||||
|
The Yocto Project has extensive documentation about OE including a reference manual
|
||||||
|
which can be found at:
|
||||||
|
http://yoctoproject.org/documentation
|
||||||
|
|
||||||
|
For more information about OpenEmbedded see their website:
|
||||||
|
http://www.openembedded.org/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### Shell environment set up for builds. ###
|
||||||
|
|
||||||
|
You can now run 'bitbake <target>>'
|
||||||
|
|
||||||
Common targets are:
|
Common targets are:
|
||||||
core-image-minimal
|
core-image-minimal
|
||||||
@@ -301,7 +337,7 @@
|
|||||||
|
|
||||||
<para>
|
<para>
|
||||||
The file you change in this example is named <filename>calibrate.c</filename>
|
The file you change in this example is named <filename>calibrate.c</filename>
|
||||||
and is located in the <filename>my-linux-yocto-3.2-work</filename> Git repository
|
and is located in the <filename>my-linux-yocto-3.4-work</filename> Git repository
|
||||||
(the copy of the bare clone) in <filename>init</filename>.
|
(the copy of the bare clone) in <filename>init</filename>.
|
||||||
This example simply inserts several <filename>printk</filename> statements
|
This example simply inserts several <filename>printk</filename> statements
|
||||||
at the beginning of the <filename>calibrate_delay</filename> function.
|
at the beginning of the <filename>calibrate_delay</filename> function.
|
||||||
@@ -365,7 +401,7 @@
|
|||||||
<para>
|
<para>
|
||||||
The following command pushes the changes to the bare clone:
|
The following command pushes the changes to the bare clone:
|
||||||
<literallayout class='monospaced'>
|
<literallayout class='monospaced'>
|
||||||
$ git push origin common-pc-base:standard/default/common-pc/base
|
$ git push origin standard-common-pc-base:standard/default/common-pc/base
|
||||||
</literallayout>
|
</literallayout>
|
||||||
</para>
|
</para>
|
||||||
</section>
|
</section>
|
||||||
@@ -420,21 +456,25 @@
|
|||||||
BBLAYERS = " \
|
BBLAYERS = " \
|
||||||
/home/scottrif/poky/meta \
|
/home/scottrif/poky/meta \
|
||||||
/home/scottrif/poky/meta-yocto \
|
/home/scottrif/poky/meta-yocto \
|
||||||
|
/home/scottrif/poky/meta-yocto-bsp \
|
||||||
/home/scottrif/poky/poky-extras/meta-kernel-dev \
|
/home/scottrif/poky/poky-extras/meta-kernel-dev \
|
||||||
"
|
"
|
||||||
</literallayout></para></listitem>
|
</literallayout></para></listitem>
|
||||||
<listitem><para><emphasis>Identify Your Source Files:</emphasis> In the
|
<listitem><para><emphasis>Identify Your Source Files:</emphasis> In the
|
||||||
<filename>linux-yocto_3.2.bbappend</filename> file located in the
|
<filename>linux-yocto_3.4.bbappend</filename> file located in the
|
||||||
<filename>poky-extras/meta-kernel-dev/recipes-kernel/linux</filename>
|
<filename>poky-extras/meta-kernel-dev/recipes-kernel/linux</filename>
|
||||||
directory, you need to identify the location of the
|
directory, you need to identify the location of the
|
||||||
local source code, which in this example is the bare clone named
|
local source code, which in this example is the bare clone named
|
||||||
<filename>linux-yocto-3.2.git</filename>.
|
<filename>linux-yocto-3.4.git</filename>.
|
||||||
To do this, set the <filename>KSRC_linux_yocto</filename> variable to point to your
|
To do this, set the <filename>KSRC_linux_yocto</filename> variable to point to your
|
||||||
local <filename>linux-yocto-3.2.git</filename> Git repository by adding the
|
local <filename>linux-yocto-3.4.git</filename> Git repository by adding the
|
||||||
following statement.
|
following statement.
|
||||||
Be sure to substitute your user information in the statement:
|
Also, be sure the <filename>SRC_URI</filename> variable is pointing to
|
||||||
|
your kernel source files by removing the comment.
|
||||||
|
Finally, be sure to substitute your user information in the statement:
|
||||||
<literallayout class='monospaced'>
|
<literallayout class='monospaced'>
|
||||||
KSRC_linux_yocto_3_2 ?= "/home/scottrif/linux-yocto-3.2.git"
|
KSRC_linux_yocto_3_4 ?= "/home/scottrif/linux-yocto-3.4.git"
|
||||||
|
SRC_URI = "git://${KSRC_linux_yocto_3_4};protocol=file;nocheckout=1;branch=${KBRANCH},meta;name=machine,meta"
|
||||||
</literallayout></para></listitem>
|
</literallayout></para></listitem>
|
||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
</para>
|
</para>
|
||||||
@@ -447,7 +487,7 @@
|
|||||||
comment out the <filename>COMPATIBLE_MACHINE</filename> statements in all
|
comment out the <filename>COMPATIBLE_MACHINE</filename> statements in all
|
||||||
unused <filename>.bbappend</filename> files, or simply remove (or rename) all the files
|
unused <filename>.bbappend</filename> files, or simply remove (or rename) all the files
|
||||||
except the one your are using for the build
|
except the one your are using for the build
|
||||||
(i.e. <filename>linux-yocto_3.2.bbappend</filename> in this example).</para>
|
(i.e. <filename>linux-yocto_3.4.bbappend</filename> in this example).</para>
|
||||||
<para>If you do not make one of these two adjustments, your machine will be compatible
|
<para>If you do not make one of these two adjustments, your machine will be compatible
|
||||||
with all the kernel recipes in the <filename>meta-kernel-dev</filename> layer.
|
with all the kernel recipes in the <filename>meta-kernel-dev</filename> layer.
|
||||||
When your machine is comapatible with all the kernel recipes, the build attempts
|
When your machine is comapatible with all the kernel recipes, the build attempts
|
||||||
@@ -464,11 +504,11 @@
|
|||||||
Do the following:
|
Do the following:
|
||||||
<orderedlist>
|
<orderedlist>
|
||||||
<listitem><para>Your environment should be set up since you previously sourced
|
<listitem><para>Your environment should be set up since you previously sourced
|
||||||
the <filename>oe-init-build-env</filename> script.
|
the <filename>&OE_INIT_FILE;</filename> script.
|
||||||
If it isn't, source the script again from <filename>poky</filename>.
|
If it isn't, source the script again from <filename>poky</filename>.
|
||||||
<literallayout class='monospaced'>
|
<literallayout class='monospaced'>
|
||||||
$ cd ~/poky
|
$ cd ~/poky
|
||||||
$ source oe-init-build-env
|
$ source &OE_INIT_FILE;
|
||||||
</literallayout>
|
</literallayout>
|
||||||
</para></listitem>
|
</para></listitem>
|
||||||
<listitem><para>Be sure old images are cleaned out by running the
|
<listitem><para>Be sure old images are cleaned out by running the
|
||||||
@@ -506,299 +546,6 @@
|
|||||||
</para>
|
</para>
|
||||||
</section>
|
</section>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<section id='changing-the-kernel-configuration'>
|
|
||||||
<title>Changing the Kernel Configuration</title>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
This example changes the default behavior, which is "on", of the Symmetric
|
|
||||||
Multi-processing Support (<filename>CONFIG_SMP</filename>) to "off".
|
|
||||||
It is a simple example that demonstrates how to reconfigure the kernel.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<section id='getting-set-up-to-run-this-example'>
|
|
||||||
<title>Getting Set Up to Run this Example</title>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
If you took the time to work through the example that modifies the kernel source code
|
|
||||||
in "<link linkend='modifying-the-kernel-source-code'>Modifying the Kernel Source
|
|
||||||
Code</link>" you should already have the source directory set up on your
|
|
||||||
host machine.
|
|
||||||
If this is the case, go to the next section, which is titled
|
|
||||||
"<link linkend='examining-the-default-config-smp-behavior'>Examining the Default
|
|
||||||
<filename>CONFIG_SMP</filename> Behavior</link>", and continue with the
|
|
||||||
example.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
If you don't have the source directory established on your system,
|
|
||||||
you can get them through tarball extraction or by
|
|
||||||
cloning the <filename>poky</filename> Git repository.
|
|
||||||
This example uses <filename>poky</filename> as the root directory of the
|
|
||||||
<link linkend='source-directory'>source directory</link>.
|
|
||||||
See the bulleted item
|
|
||||||
"<link linkend='local-yp-release'>Yocto Project Release</link>"
|
|
||||||
for information on how to get these files.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
Once you have the local copy of the repository set up,
|
|
||||||
you have many development branches from which you can work.
|
|
||||||
From inside the repository you can see the branch names and the tag names used
|
|
||||||
in the upstream Git repository using either of the following commands:
|
|
||||||
<literallayout class='monospaced'>
|
|
||||||
$ cd poky
|
|
||||||
$ git branch -a
|
|
||||||
$ git tag -l
|
|
||||||
</literallayout>
|
|
||||||
This example uses the Yocto Project &DISTRO; Release code named "&DISTRO_NAME;",
|
|
||||||
which maps to the <filename>&DISTRO_NAME;</filename> branch in the repository.
|
|
||||||
The following commands create and checkout the local <filename>&DISTRO_NAME;</filename>
|
|
||||||
branch:
|
|
||||||
<literallayout class='monospaced'>
|
|
||||||
$ git checkout -b &DISTRO_NAME; origin/&DISTRO_NAME;
|
|
||||||
Branch &DISTRO_NAME; set up to track remote branch &DISTRO_NAME; from origin.
|
|
||||||
Switched to a new branch '&DISTRO_NAME;'
|
|
||||||
</literallayout>
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
Next, you need to build the default <filename>qemux86</filename> image that you
|
|
||||||
can boot using QEMU.
|
|
||||||
<note>
|
|
||||||
Because a full build can take hours, you should check two variables in the
|
|
||||||
<filename>build</filename> directory that is created after you source the
|
|
||||||
<filename>oe-init-build-env</filename> script.
|
|
||||||
You can find these variables
|
|
||||||
<filename>BB_NUMBER_THREADS</filename> and <filename>PARALLEL_MAKE</filename>
|
|
||||||
in the <filename>build/conf</filename> directory in the
|
|
||||||
<filename>local.conf</filename> configuration file.
|
|
||||||
By default, these variables are commented out.
|
|
||||||
If your host development system supports multi-core and multi-thread capabilities,
|
|
||||||
you can uncomment these statements and set the variables to significantly shorten
|
|
||||||
the full build time.
|
|
||||||
As a guideline, set both the <filename>BB_NUMBER_THREADS</filename> and the
|
|
||||||
<filename>PARALLEL_MAKE</filename> variables to twice the number
|
|
||||||
of cores your machine supports.
|
|
||||||
</note>
|
|
||||||
The following two commands <filename>source</filename> the build environment setup script
|
|
||||||
and build the default <filename>qemux86</filename> image.
|
|
||||||
If necessary, the script creates the build directory:
|
|
||||||
<literallayout class='monospaced'>
|
|
||||||
$ cd ~/poky
|
|
||||||
$ source oe-init-build-env
|
|
||||||
|
|
||||||
### Shell environment set up for builds. ###
|
|
||||||
|
|
||||||
You can now run 'bitbake <target>'
|
|
||||||
|
|
||||||
Common targets are:
|
|
||||||
core-image-minimal
|
|
||||||
core-image-sato
|
|
||||||
meta-toolchain
|
|
||||||
meta-toolchain-sdk
|
|
||||||
adt-installer
|
|
||||||
meta-ide-support
|
|
||||||
|
|
||||||
You can also run generated qemu images with a command like 'runqemu qemux86'
|
|
||||||
</literallayout>
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
The following <filename>bitbake</filename> command starts the build:
|
|
||||||
<literallayout class='monospaced'>
|
|
||||||
$ bitbake -k core-image-minimal
|
|
||||||
</literallayout>
|
|
||||||
<note>Be sure to check the settings in the <filename>local.conf</filename>
|
|
||||||
before starting the build.</note>
|
|
||||||
</para>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section id='examining-the-default-config-smp-behavior'>
|
|
||||||
<title>Examining the Default <filename>CONFIG_SMP</filename> Behavior</title>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
By default, <filename>CONFIG_SMP</filename> supports multiple processor machines.
|
|
||||||
To see this default setting from within the QEMU emulator, boot your image using
|
|
||||||
the emulator as follows:
|
|
||||||
<literallayout class='monospaced'>
|
|
||||||
$ runqemu qemux86 qemuparams="-smp 4"
|
|
||||||
</literallayout>
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
Login to the machine using <filename>root</filename> with no password.
|
|
||||||
After logging in, enter the following command to see how many processors are
|
|
||||||
being supported in the emulator.
|
|
||||||
The emulator reports support for the number of processors you specified using
|
|
||||||
the <filename>-smp</filename> option, four in this case:
|
|
||||||
<literallayout class='monospaced'>
|
|
||||||
# cat /proc/cpuinfo | grep processor
|
|
||||||
processor : 0
|
|
||||||
processor : 1
|
|
||||||
processor : 2
|
|
||||||
processor : 3
|
|
||||||
#
|
|
||||||
</literallayout>
|
|
||||||
To check the setting for <filename>CONFIG_SMP</filename>, you can use the
|
|
||||||
following command:
|
|
||||||
<literallayout class='monospaced'>
|
|
||||||
zcat /proc/config.gz | grep CONFIG_SMP
|
|
||||||
</literallayout>
|
|
||||||
The console returns the following showing that multi-processor machine support
|
|
||||||
is set:
|
|
||||||
<literallayout class='monospaced'>
|
|
||||||
CONFIG_SMP=y
|
|
||||||
</literallayout>
|
|
||||||
Logout of the emulator using the <filename>exit</filename> command and
|
|
||||||
then close it down.
|
|
||||||
</para>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section id='changing-the-config-smp-configuration-using-menuconfig'>
|
|
||||||
<title>Changing the <filename>CONFIG_SMP</filename> Configuration Using <filename>menuconfig</filename></title>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
The <filename>menuconfig</filename> tool provides an interactive method with which
|
|
||||||
to set kernel configurations.
|
|
||||||
You need to run <filename>menuconfig</filename> inside the Yocto BitBake environment.
|
|
||||||
Thus, the environment must be set up using the <filename>oe-init-build-env</filename>
|
|
||||||
script found in the build directory.
|
|
||||||
If you have not sourced this script do so with the following commands:
|
|
||||||
<literallayout class='monospaced'>
|
|
||||||
$ cd ~/poky
|
|
||||||
$ source oe-init-build-env
|
|
||||||
</literallayout>
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
After setting up the environment to run <filename>menuconfig</filename>, you are ready
|
|
||||||
to use the tool to interactively change the kernel configuration.
|
|
||||||
In this example, we are basing our changes on the <filename>linux-yocto-3.2</filename>
|
|
||||||
kernel.
|
|
||||||
The OpenEmbedded build system recognizes this kernel as
|
|
||||||
<filename>linux-yocto</filename>.
|
|
||||||
Thus, the following commands from the shell in which you previously sourced the
|
|
||||||
environment initialization script cleans the shared state cache and the
|
|
||||||
<ulink url='&YOCTO_DOCS_REF_URL;#var-WORKDIR'><filename>WORKDIR</filename></ulink>
|
|
||||||
directory and then builds and launches <filename>menuconfig</filename>:
|
|
||||||
<literallayout class='monospaced'>
|
|
||||||
$ bitbake linux-yocto -c menuconfig
|
|
||||||
</literallayout>
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
Once <filename>menuconfig</filename> launches, navigate through the user interface
|
|
||||||
to find the <filename>CONFIG_SMP</filename> configuration setting.
|
|
||||||
You can find it at <filename>Processor Type and Features</filename>.
|
|
||||||
The configuration selection is
|
|
||||||
<filename>Symmetric Multi-processing Support</filename>.
|
|
||||||
After using the arrow keys to highlight this selection, press "n" to turn it off.
|
|
||||||
Then, exit out and save your selections.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
Once you save the selection, the <filename>.config</filename> configuration file
|
|
||||||
is updated.
|
|
||||||
This is the file that the build system uses to configure the Yocto Project kernel
|
|
||||||
when it is built.
|
|
||||||
You can find and examine this file in the build directory.
|
|
||||||
This example uses the following:
|
|
||||||
<literallayout class='monospaced'>
|
|
||||||
~/poky/build/tmp/work/qemux86-poky-linux/linux-yocto-3.2.11+git1+84f...
|
|
||||||
...656ed30-r1/linux-qemux86-standard-build
|
|
||||||
</literallayout>
|
|
||||||
<note>
|
|
||||||
The previous example directory is artificially split and many of the characters
|
|
||||||
in the actual filename are omitted in order to make it more readable.
|
|
||||||
Also, depending on the kernel you are using, the exact pathname might differ
|
|
||||||
slightly.
|
|
||||||
</note>
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
Within the <filename>.config</filename> file, you can see the following setting:
|
|
||||||
<literallayout class='monospaced'>
|
|
||||||
# CONFIG_SMP is not set
|
|
||||||
</literallayout>
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
A good method to isolate changed configurations is to use a combination of the
|
|
||||||
<filename>menuconfig</filename> tool and simple shell commands.
|
|
||||||
Before changing configurations with <filename>menuconfig</filename>, copy the
|
|
||||||
existing <filename>.config</filename> and rename it to something else,
|
|
||||||
use <filename>menuconfig</filename> to make
|
|
||||||
as many changes an you want and save them, then compare the renamed configuration
|
|
||||||
file against the newly created file.
|
|
||||||
You can use the resulting differences as your base to create configuration fragments
|
|
||||||
to permanently save in your kernel layer.
|
|
||||||
<note>
|
|
||||||
Be sure to make a copy of the <filename>.config</filename> and don't just
|
|
||||||
rename it.
|
|
||||||
The build system needs an existing <filename>.config</filename>
|
|
||||||
from which to work.
|
|
||||||
</note>
|
|
||||||
</para>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section id='recompiling-the-kernel-and-testing-the-new-configuration'>
|
|
||||||
<title>Recompiling the Kernel and Testing the New Configuration</title>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
At this point, you are ready to recompile your kernel image with
|
|
||||||
the new setting in effect using the BitBake command below:
|
|
||||||
<literallayout class='monospaced'>
|
|
||||||
$ bitbake linux-yocto
|
|
||||||
</literallayout>
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
Now run the QEMU emulator and pass it the same multi-processor option as before:
|
|
||||||
<literallayout class='monospaced'>
|
|
||||||
$ runqemu qemux86 qemuparams="-smp 4"
|
|
||||||
</literallayout>
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
Login to the machine using <filename>root</filename> with no password
|
|
||||||
and test for the number of processors the kernel supports:
|
|
||||||
<literallayout class='monospaced'>
|
|
||||||
# cat /proc/cpuinfo | grep processor
|
|
||||||
processor : 0
|
|
||||||
#
|
|
||||||
</literallayout>
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
From the output, you can see that the kernel no longer supports multi-processor systems.
|
|
||||||
The output indicates support for a single processor. You can verify the
|
|
||||||
<filename>CONFIG_SMP</filename> setting by using this command:
|
|
||||||
<literallayout class='monospaced'>
|
|
||||||
zcat /proc/config.gz | grep CONFIG_SMP
|
|
||||||
</literallayout>
|
|
||||||
The console returns the following output:
|
|
||||||
<literallayout class='monospaced'>
|
|
||||||
# CONFIG_SMP is not set
|
|
||||||
</literallayout>
|
|
||||||
You have successfully reconfigured the kernel.
|
|
||||||
</para>
|
|
||||||
</section>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section id='adding-kernel-recipes'>
|
|
||||||
<title>Adding Kernel Recipes</title>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
A future release of this manual will present an example that adds kernel recipes, which provide
|
|
||||||
new functionality to the kernel.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
<imagedata fileref="figures/wip.png"
|
|
||||||
width="2in" depth="3in" align="center" scalefit="1" />
|
|
||||||
</para>
|
|
||||||
</section>
|
|
||||||
</appendix>
|
</appendix>
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
@@ -8,15 +8,15 @@
|
|||||||
|
|
||||||
<para>
|
<para>
|
||||||
Many development models exist for which you can use the Yocto Project.
|
Many development models exist for which you can use the Yocto Project.
|
||||||
This chapter overviews the following methods:
|
This chapter overviews simple methods that use tools provided by the
|
||||||
|
Yocto Project:
|
||||||
<itemizedlist>
|
<itemizedlist>
|
||||||
<listitem><para><emphasis>System Development:</emphasis>
|
<listitem><para><emphasis>System Development:</emphasis>
|
||||||
System Development covers Board Support Package (BSP) development and kernel
|
System Development covers Board Support Package (BSP) development and kernel
|
||||||
modification or configuration.
|
modification or configuration.
|
||||||
If you want to examine specific examples of the system development models,
|
For an example on how to create a BSP, see the
|
||||||
see the "<link linkend='dev-manual-bsp-appendix'>BSP Development Example</link>"
|
"<ulink url='&YOCTO_DOCS_BSP_URL;#creating-a-new-bsp-layer-using-the-yocto-bsp-script'>Creating a New BSP Layer Using the yocto-bsp Script</ulink>"
|
||||||
appendix and the
|
section in the Yocto Project Board Support Package (BSP) Developer's Guide.
|
||||||
"<link linkend='dev-manual-kernel-appendix'>Kernel Modification Example</link>" appendix.
|
|
||||||
</para></listitem>
|
</para></listitem>
|
||||||
<listitem><para><emphasis>User Application Development:</emphasis>
|
<listitem><para><emphasis>User Application Development:</emphasis>
|
||||||
User Application Development covers development of applications that you intend
|
User Application Development covers development of applications that you intend
|
||||||
@@ -80,9 +80,11 @@
|
|||||||
|
|
||||||
<para>
|
<para>
|
||||||
The remainder of this section presents the basic steps used to create a BSP
|
The remainder of this section presents the basic steps used to create a BSP
|
||||||
based on an existing BSP that ships with the Yocto Project.
|
using the Yocto Project's
|
||||||
You can reference the "<link linkend='dev-manual-bsp-appendix'>BSP Development Example</link>"
|
<ulink url='&YOCTO_DOCS_BSP_URL;#using-the-yocto-projects-bsp-tools'>BSP Tools</ulink>.
|
||||||
appendix for a detailed example that uses the Crown Bay BSP as a base BSP from which to start.
|
For an example that shows how to create a new layer using the tools, see the
|
||||||
|
"<ulink url='&YOCTO_DOCS_BSP_URL;#creating-a-new-bsp-layer-using-the-yocto-bsp-script'>Creating a New BSP Layer Using the yocto-bsp Script</ulink>"
|
||||||
|
section in the Yocto Project Board Support Package (BSP) Developer's Guide.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
@@ -106,39 +108,26 @@
|
|||||||
Directory</link> available on your host system.
|
Directory</link> available on your host system.
|
||||||
Having these files on your system gives you access to the build
|
Having these files on your system gives you access to the build
|
||||||
process and to the tools you need.
|
process and to the tools you need.
|
||||||
For information on how to set up the Source Directory, see the
|
For information on how to set up the
|
||||||
|
<link linkend='source-directory'>Source Directory</link>, see the
|
||||||
"<link linkend='getting-setup'>Getting Setup</link>" section.</para></listitem>
|
"<link linkend='getting-setup'>Getting Setup</link>" section.</para></listitem>
|
||||||
<listitem><para><emphasis>Establish a local copy of the base BSP files</emphasis>: Having
|
<listitem><para><emphasis>Establish the <filename>meta-intel</filename>
|
||||||
the BSP files on your system gives you access to the build
|
repository on your system</emphasis>: Having local copies of the
|
||||||
|
supported BSP layers on your system gives you access to the build
|
||||||
process and to the tools you need for creating a BSP.
|
process and to the tools you need for creating a BSP.
|
||||||
For information on how to get these files, see the
|
For information on how to get these files, see the
|
||||||
"<link linkend='getting-setup'>Getting Setup</link>" section.</para></listitem>
|
"<link linkend='getting-setup'>Getting Setup</link>" section.</para></listitem>
|
||||||
<listitem><para><emphasis>Choose a BSP that is supported by the Yocto Project
|
<listitem><para><emphasis>Create your own BSP layer using the
|
||||||
as your base BSP</emphasis>:
|
<ulink url='&YOCTO_DOCS_BSP_URL;#creating-a-new-bsp-layer-using-the-yocto-bsp-script'><filename>yocto-bsp</filename></ulink> script</emphasis>:
|
||||||
The Yocto Project ships with several BSPs that support various hardware.
|
Layers are ideal for
|
||||||
It is best to base your new BSP on an existing BSP rather than create all the
|
|
||||||
recipes and configuration files from scratch.
|
|
||||||
While it is possible to create everything from scratch, basing your new BSP
|
|
||||||
on something that is close is much easier.
|
|
||||||
Or, at a minimum, leveraging off an existing BSP
|
|
||||||
gives you some structure with which to start.</para>
|
|
||||||
<para>At this point you need to understand your target hardware well enough to determine which
|
|
||||||
existing BSP it most closely matches.
|
|
||||||
Things to consider are your hardware’s on-board features, such as CPU type and graphics support.
|
|
||||||
You should look at the README files for supported BSPs to get an idea of which one
|
|
||||||
you could use.
|
|
||||||
A generic <trademark class='registered'>Intel</trademark>
|
|
||||||
<trademark class='trade'>Atom</trademark>-based BSP to consider is the
|
|
||||||
Crown Bay that does not support the <trademark class='registered'>Intel</trademark>
|
|
||||||
Embedded Media Graphics Driver (EMGD).
|
|
||||||
The remainder of this example uses that base BSP.</para>
|
|
||||||
<para>To see the supported BSPs, go to the
|
|
||||||
<ulink url='&YOCTO_HOME_URL;/download'>Downloads</ulink> page on the Yocto Project
|
|
||||||
website and click on “BSP Downloads.”</para></listitem>
|
|
||||||
<listitem><para><emphasis>Create your own BSP layer</emphasis>: Layers are ideal for
|
|
||||||
isolating and storing work for a given piece of hardware.
|
isolating and storing work for a given piece of hardware.
|
||||||
A layer is really just a location or area in which you place the recipes for your BSP.
|
A layer is really just a location or area in which you place the recipes for your BSP.
|
||||||
In fact, a BSP is, in itself, a special type of layer.
|
In fact, a BSP is, in itself, a special type of layer.
|
||||||
|
The simplest way to create a new BSP layer that is compliant with the
|
||||||
|
Yocto Project is to use the <filename>yocto-bsp</filename> script.
|
||||||
|
For information about that script, see the
|
||||||
|
"<ulink url='&YOCTO_DOCS_BSP_URL;#creating-a-new-bsp-layer-using-the-yocto-bsp-script'>Creating a New BSP Layer Using the yocto-bsp Script</ulink>"
|
||||||
|
section in the Yocto Project Board Support (BSP) Developer's Guide.
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
Another example that illustrates a layer is an application.
|
Another example that illustrates a layer is an application.
|
||||||
@@ -170,25 +159,34 @@
|
|||||||
section of the Board Support Package (BSP) Development Guide.
|
section of the Board Support Package (BSP) Development Guide.
|
||||||
In the standard layout, you will notice a suggested structure for recipes and
|
In the standard layout, you will notice a suggested structure for recipes and
|
||||||
configuration information.
|
configuration information.
|
||||||
You can see the standard layout for the Crown Bay BSP in this example by examining the
|
You can see the standard layout for a BSP by examining
|
||||||
directory structure of the <filename>meta-crownbay</filename> layer inside the
|
any supported BSP found in the <filename>meta-intel</filename> layer inside
|
||||||
Source Directory.</para></listitem>
|
the Source Directory.</para></listitem>
|
||||||
<listitem><para><emphasis>Make configuration changes to your new BSP
|
<listitem><para><emphasis>Make configuration changes to your new BSP
|
||||||
layer</emphasis>: The standard BSP layer structure organizes the files you need
|
layer</emphasis>: The standard BSP layer structure organizes the files you need
|
||||||
to edit in <filename>conf</filename> and several <filename>recipes-*</filename>
|
to edit in <filename>conf</filename> and several <filename>recipes-*</filename>
|
||||||
directories within the BSP layer.
|
directories within the BSP layer.
|
||||||
Configuration changes identify where your new layer is on the local system
|
Configuration changes identify where your new layer is on the local system
|
||||||
and identify which kernel you are going to use.
|
and identify which kernel you are going to use.
|
||||||
|
When you run the <filename>yocto-bsp</filename> script you are able to interactively
|
||||||
|
configure many things for the BSP (e.g. keyboard, touchscreen, and so forth).
|
||||||
</para></listitem>
|
</para></listitem>
|
||||||
<listitem><para><emphasis>Make recipe changes to your new BSP layer</emphasis>: Recipe
|
<listitem><para><emphasis>Make recipe changes to your new BSP layer</emphasis>: Recipe
|
||||||
changes include altering recipes (<filename>.bb</filename> files), removing
|
changes include altering recipes (<filename>.bb</filename> files), removing
|
||||||
recipes you don't use, and adding new recipes that you need to support your hardware.
|
recipes you don't use, and adding new recipes or append files
|
||||||
|
(<filename>.bbappend</filename>) that you need to support your hardware.
|
||||||
</para></listitem>
|
</para></listitem>
|
||||||
<listitem><para><emphasis>Prepare for the build</emphasis>: Once you have made all the
|
<listitem><para><emphasis>Prepare for the build</emphasis>: Once you have made all the
|
||||||
changes to your BSP layer, there remains a few things
|
changes to your BSP layer, there remains a few things
|
||||||
you need to do for the OpenEmbedded build system in order for it to create your image.
|
you need to do for the OpenEmbedded build system in order for it to create your image.
|
||||||
You need to get the build environment ready by sourcing an environment setup script
|
You need to get the build environment ready by sourcing an environment setup script
|
||||||
and you need to be sure two key configuration files are configured appropriately.</para>
|
and you need to be sure two key configuration files are configured appropriately:
|
||||||
|
the <filename>conf/local.conf</filename> and the
|
||||||
|
<filename>conf/bblayers.conf</filename> file.
|
||||||
|
You must make the OpenEmbedded build system aware of your new layer.
|
||||||
|
See the
|
||||||
|
"<link linkend='enabling-your-layer'>Enabling Your Layer</link>" section
|
||||||
|
for information on how to let the build system know about your new layer.</para>
|
||||||
<para>The entire process for building an image is overviewed in the section
|
<para>The entire process for building an image is overviewed in the section
|
||||||
"<ulink url='&YOCTO_DOCS_QS_URL;#building-image'>Building an Image</ulink>" section
|
"<ulink url='&YOCTO_DOCS_QS_URL;#building-image'>Building an Image</ulink>" section
|
||||||
of the Yocto Project Quick Start.
|
of the Yocto Project Quick Start.
|
||||||
@@ -234,9 +232,11 @@
|
|||||||
kernel architecture and the steps to modify the kernel.
|
kernel architecture and the steps to modify the kernel.
|
||||||
For a complete discussion of the kernel, see the
|
For a complete discussion of the kernel, see the
|
||||||
<ulink url='&YOCTO_DOCS_KERNEL_URL;'>Yocto Project Kernel Architecture and Use Manual</ulink>.
|
<ulink url='&YOCTO_DOCS_KERNEL_URL;'>Yocto Project Kernel Architecture and Use Manual</ulink>.
|
||||||
You can reference the appendix
|
You can reference the
|
||||||
"<link linkend='dev-manual-kernel-appendix'>Kernel Modification Example</link>"
|
"<link linkend='patching-the-kernel'>Patching the Kernel</link>" section
|
||||||
for a detailed example that changes the configuration of a kernel.
|
for an example that changes the source code of the kernel.
|
||||||
|
For information on how to configure the kernel, see the
|
||||||
|
"<link linkend='configuring-the-kernel'>Configuring the Kernel</link> section.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<section id='kernel-overview'>
|
<section id='kernel-overview'>
|
||||||
@@ -323,8 +323,8 @@
|
|||||||
</note>
|
</note>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
Storage of all the available kernel source code is one thing, while representing the
|
Upstream storage of all the available kernel source code is one thing, while
|
||||||
code on your host development system is another.
|
representing and using the code on your host development system is another.
|
||||||
Conceptually, you can think of the kernel source repositories as all the
|
Conceptually, you can think of the kernel source repositories as all the
|
||||||
source files necessary for all the supported kernels.
|
source files necessary for all the supported kernels.
|
||||||
As a developer, you are just interested in the source files for the kernel on
|
As a developer, you are just interested in the source files for the kernel on
|
||||||
@@ -333,39 +333,14 @@
|
|||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
You make kernel source code available on your host development system by using
|
Kernel source code is available on your host system a couple of different
|
||||||
Git to create a bare clone of the Yocto Project kernel Git repository
|
ways.
|
||||||
in which you are interested.
|
If you are working in the kernel all the time, you probably would want
|
||||||
Then, you use Git again to clone a copy of that bare clone.
|
to set up your own local Git repository of the kernel tree.
|
||||||
This copy represents the directory structure on your host system that is particular
|
If you just need to make some patches to the kernel, you can get at
|
||||||
to the kernel you want.
|
temporary kernel source files extracted and used during the OpenEmbedded
|
||||||
The files in the copy of the bare clone are the files you actually modify
|
build system.
|
||||||
to change the kernel.
|
We will just talk about working with the temporary source code.
|
||||||
See the <link linkend='local-kernel-files'>Yocto Project Kernel</link> item earlier
|
|
||||||
in this manual for an example of how to set up the kernel source directory
|
|
||||||
structure on your host system.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
This next figure illustrates how the kernel source files might be arranged on
|
|
||||||
your host system.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
<imagedata fileref="figures/kernel-overview-3-denzil.png"
|
|
||||||
width="6in" depth="4in" align="center" scale="100" />
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
In the previous figure, the file structure on the left represents the bare clone
|
|
||||||
set up to track the Yocto Project kernel Git repository.
|
|
||||||
The structure on the right represents the copy of the bare clone.
|
|
||||||
When you make modifcations to the kernel source code, this is the area in which
|
|
||||||
you work.
|
|
||||||
Once you make corrections, you must use Git to push the committed changes to the
|
|
||||||
bare clone.
|
|
||||||
The example in <xref linkend='modifying-the-kernel-source-code'>
|
|
||||||
Modifying the Kernel Source Code</xref> provides a detailed example.
|
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
@@ -379,11 +354,13 @@
|
|||||||
</para>
|
</para>
|
||||||
The following figure shows the temporary file structure
|
The following figure shows the temporary file structure
|
||||||
created on your host system when the build occurs.
|
created on your host system when the build occurs.
|
||||||
This build directory contains all the source files used during the build.
|
This
|
||||||
|
<link linkend='build-directory'>Build Directory</link> contains all the
|
||||||
|
source files used during the build.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
<imagedata fileref="figures/kernel-overview-2.png"
|
<imagedata fileref="figures/kernel-overview-2-generic.png"
|
||||||
width="6in" depth="5in" align="center" scale="100" />
|
width="6in" depth="5in" align="center" scale="100" />
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
@@ -392,7 +369,7 @@
|
|||||||
branching strategy, see the
|
branching strategy, see the
|
||||||
<ulink url='&YOCTO_DOCS_KERNEL_URL;'>Yocto Project Kernel Architecture and Use Manual</ulink>.
|
<ulink url='&YOCTO_DOCS_KERNEL_URL;'>Yocto Project Kernel Architecture and Use Manual</ulink>.
|
||||||
You can also reference the
|
You can also reference the
|
||||||
"<link linkend='modifying-the-kernel-source-code'>Modifying the Kernel Source Code</link>"
|
"<link linkend='patching-the-kernel'>Patching the Kernel</link>"
|
||||||
section for a detailed example that modifies the kernel.
|
section for a detailed example that modifies the kernel.
|
||||||
</para>
|
</para>
|
||||||
</section>
|
</section>
|
||||||
@@ -406,7 +383,7 @@
|
|||||||
|
|
||||||
<para>
|
<para>
|
||||||
<imagedata fileref="figures/kernel-dev-flow.png"
|
<imagedata fileref="figures/kernel-dev-flow.png"
|
||||||
width="6in" depth="7.5in" align="center" scalefit="1" />
|
width="6in" depth="5in" align="center" scalefit="1" />
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
@@ -423,43 +400,39 @@
|
|||||||
For information on how to get these files, see the bulleted item
|
For information on how to get these files, see the bulleted item
|
||||||
"<link linkend='local-yp-release'>Yocto Project Release</link>" earlier in this manual.
|
"<link linkend='local-yp-release'>Yocto Project Release</link>" earlier in this manual.
|
||||||
</para></listitem>
|
</para></listitem>
|
||||||
<listitem><para><emphasis>Set up a local copy of the <filename>poky-extras</filename> Git
|
<listitem><para><emphasis>Establish the temporary kernel source files</emphasis>:
|
||||||
repository</emphasis>: This local repository is the area for your configuration
|
Temporary kernel source files are kept in the Build Directory created by the
|
||||||
fragments, new kernel recipes, and the kernel <filename>.bbappend</filename>
|
OpenEmbedded build system when you run BitBake.
|
||||||
file used during the build.
|
If you have never built the kernel you are interested in, you need to run
|
||||||
It is good practice to set this repository up inside your local
|
an initial build to establish local kernel source files.</para>
|
||||||
<link linkend='source-directory'>Source Directory</link>.
|
<para>If you are building an image for the first time, you need to get the build
|
||||||
For information on how to get these files, see the bulleted item
|
environment ready by sourcing
|
||||||
"<link linkend='poky-extras-repo'>The <filename>poky-extras</filename> Git Repository</link>"
|
the environment setup script.
|
||||||
earlier in this manual.
|
You also need to be sure two key configuration files
|
||||||
<note>While it is certainly possible to modify the kernel without involving
|
(<filename>local.conf</filename> and <filename>bblayers.conf</filename>)
|
||||||
a local Git repository, the suggested workflow for kernel modification
|
are configured appropriately.</para>
|
||||||
using the Yocto Project does use a Git repository.</note></para></listitem>
|
<para>The entire process for building an image is overviewed in the
|
||||||
<listitem><para><emphasis>Establish a local copy of the Yocto Project kernel files on your
|
"<ulink url='&YOCTO_DOCS_QS_URL;#building-image'>Building an Image</ulink>"
|
||||||
system</emphasis>: In order to make modifications to the kernel you need two things:
|
section of the Yocto Project Quick Start.
|
||||||
a bare clone of the Yocto Project kernel you are modifying and
|
You might want to reference this information.
|
||||||
a copy of that bare clone.
|
You can find more information on BitBake in the user manual, which is found in the
|
||||||
The bare clone is required by the build process and is the area to which you
|
<filename>bitbake/doc/manual</filename> directory of the
|
||||||
push your kernel source changes (pulling does not work with bare clones).
|
<link linkend='source-directory'>Source Directory</link>.</para>
|
||||||
The copy of the bare clone is a local Git repository that contains all the kernel's
|
<para>The build process supports several types of images to satisfy different needs.
|
||||||
source files.
|
See the "<ulink url='&YOCTO_DOCS_REF_URL;#ref-images'>Images</ulink>" chapter in
|
||||||
You make your changes to the files in this copy of the bare clone.
|
the Yocto Project Reference Manual for information on supported images.
|
||||||
For information on how to set these two items up, see the bulleted item
|
</para></listitem>
|
||||||
"<link linkend='local-kernel-files'>Yocto Project Kernel</link>"
|
|
||||||
earlier in this manual.</para></listitem>
|
|
||||||
<listitem><para><emphasis>Make changes to the kernel source code if
|
<listitem><para><emphasis>Make changes to the kernel source code if
|
||||||
applicable</emphasis>: Modifying the kernel does not always mean directly
|
applicable</emphasis>: Modifying the kernel does not always mean directly
|
||||||
changing source files.
|
changing source files.
|
||||||
However, if you have to do this, you make the changes in the local
|
However, if you have to do this, you make the changes to the files in the
|
||||||
Git repository you set up to hold the source files (i.e. the copy of the
|
Build directory.</para></listitem>
|
||||||
bare clone).
|
|
||||||
Once the changes are made, you need to use Git commands to commit the changes
|
|
||||||
and then push them to the bare clone.</para></listitem>
|
|
||||||
<listitem><para><emphasis>Make kernel configuration changes
|
<listitem><para><emphasis>Make kernel configuration changes
|
||||||
if applicable</emphasis>:
|
if applicable</emphasis>:
|
||||||
If your situation calls for changing the kernel's configuration, you can
|
If your situation calls for changing the kernel's configuration, you can
|
||||||
use <filename>menuconfig</filename>
|
use the <filename>yocto-kernel</filename> script or <filename>menuconfig</filename>
|
||||||
to enable and disable kernel configurations.
|
to enable and disable kernel configurations.
|
||||||
|
Using the script lets you interactively set up kernel configurations.
|
||||||
Using <filename>menuconfig</filename> allows you to interactively develop and test the
|
Using <filename>menuconfig</filename> allows you to interactively develop and test the
|
||||||
configuration changes you are making to the kernel.
|
configuration changes you are making to the kernel.
|
||||||
When saved, changes using <filename>menuconfig</filename> update the kernel's
|
When saved, changes using <filename>menuconfig</filename> update the kernel's
|
||||||
@@ -475,55 +448,8 @@
|
|||||||
<filename>.config</filename> file against a saved original and gather those
|
<filename>.config</filename> file against a saved original and gather those
|
||||||
changes into a config fragment to be referenced from within the kernel's
|
changes into a config fragment to be referenced from within the kernel's
|
||||||
<filename>.bbappend</filename> file.</para></listitem>
|
<filename>.bbappend</filename> file.</para></listitem>
|
||||||
<listitem><para><emphasis>Add or extend kernel recipes if applicable</emphasis>:
|
<listitem><para><emphasis>Rebuild the kernel image with your changes</emphasis>:
|
||||||
The standard
|
Rebuilding the kernel image applies your changes.</para></listitem>
|
||||||
layer structure organizes recipe files inside the
|
|
||||||
<filename>meta-kernel-dev</filename> layer that is within the local
|
|
||||||
<filename>poky-extras</filename> Git repository.
|
|
||||||
If you need to add new kernel recipes, you add them within this layer.
|
|
||||||
Also within this area, you will find the <filename>.bbappend</filename>
|
|
||||||
file that appends information to the kernel's recipe file used during the
|
|
||||||
build.
|
|
||||||
</para></listitem>
|
|
||||||
<listitem><para><emphasis>Prepare for the build</emphasis>: Once you have made all the
|
|
||||||
changes to your kernel (configurations, source code changes, recipe additions,
|
|
||||||
or recipe changes), there remains a few things
|
|
||||||
you need to do in order for the build system to create your image.
|
|
||||||
If you have not done so, you need to get the build environment ready by sourcing
|
|
||||||
the environment setup script described earlier.
|
|
||||||
You also need to be sure two key configuration files
|
|
||||||
(<filename>local.conf</filename> and <filename>bblayers.conf</filename>)
|
|
||||||
are configured appropriately.</para>
|
|
||||||
<para>The entire process for building an image is overviewed in the
|
|
||||||
"<ulink url='&YOCTO_DOCS_QS_URL;#building-image'>Building an Image</ulink>"
|
|
||||||
section of the Yocto Project Quick Start.
|
|
||||||
You might want to reference this information.
|
|
||||||
Also, you should look at the detailed examples found in the appendices at
|
|
||||||
at the end of this manual.</para></listitem>
|
|
||||||
<listitem><para><emphasis>Build the image</emphasis>: The OpenEmbedded
|
|
||||||
build system uses the BitBake
|
|
||||||
tool to build images based on the type of image you want to create.
|
|
||||||
You can find more information on BitBake in the user manual, which is found in the
|
|
||||||
<filename>bitbake/doc/manual</filename> directory of the
|
|
||||||
<link linkend='source-directory'>Source Directory</link>.</para>
|
|
||||||
<para>The build process supports several types of images to satisfy different needs.
|
|
||||||
See the "<ulink url='&YOCTO_DOCS_REF_URL;#ref-images'>Images</ulink>" chapter in
|
|
||||||
the Yocto Project Reference Manual for information on supported images.</para></listitem>
|
|
||||||
<listitem><para><emphasis>Make your configuration changes available
|
|
||||||
in the kernel layer</emphasis>: Up to this point, all the configuration changes to the
|
|
||||||
kernel have been done and tested iteratively.
|
|
||||||
Once they are tested and ready to go, you can move them into the kernel layer,
|
|
||||||
which allows you to distribute the layer.</para></listitem>
|
|
||||||
<listitem><para><emphasis>If applicable, share your in-tree changes</emphasis>:
|
|
||||||
If the changes you made
|
|
||||||
are suited for all Yocto Project kernel users, you might want to send them on
|
|
||||||
for inclusion into the upstream kernel's Git repository.
|
|
||||||
If the changes are accepted, the Yocto Project Maintainer pulls them into
|
|
||||||
the master branch of the kernel tree.
|
|
||||||
Doing so makes them available to everyone using the kernel.</para>
|
|
||||||
<para>For information on how to submit a change to the Yocto Project, see the
|
|
||||||
"<link linkend='how-to-submit-a-change'>How to Submit a Change</link>" section
|
|
||||||
earlier in this manual.</para></listitem>
|
|
||||||
</orderedlist>
|
</orderedlist>
|
||||||
</para>
|
</para>
|
||||||
</section>
|
</section>
|
||||||
@@ -600,8 +526,8 @@
|
|||||||
If your target architecture is similar to a supported architecture, you can
|
If your target architecture is similar to a supported architecture, you can
|
||||||
modify the kernel image before you build it.
|
modify the kernel image before you build it.
|
||||||
See the
|
See the
|
||||||
"<link linkend='dev-manual-kernel-appendix'>Kernel Modification Example</link>"
|
"<link linkend='patching-the-kernel'>Patching the Kernel</link>"
|
||||||
appendix later in this manual for an example.</para></listitem>
|
section for an example.</para></listitem>
|
||||||
</itemizedlist></para>
|
</itemizedlist></para>
|
||||||
<para>For information on pre-built kernel image naming schemes for images
|
<para>For information on pre-built kernel image naming schemes for images
|
||||||
that can run on the QEMU emulator, see the
|
that can run on the QEMU emulator, see the
|
||||||
@@ -654,7 +580,7 @@
|
|||||||
</para></listitem>
|
</para></listitem>
|
||||||
<listitem><para><emphasis>Test and Debug the Application</emphasis>:
|
<listitem><para><emphasis>Test and Debug the Application</emphasis>:
|
||||||
Once your application is deployed, you need to test it.
|
Once your application is deployed, you need to test it.
|
||||||
Within the Eclipse IDE, you can use the debubbing environment along with the
|
Within the Eclipse IDE, you can use the debugging environment along with the
|
||||||
set of user-space tools installed along with the ADT to debug your application.
|
set of user-space tools installed along with the ADT to debug your application.
|
||||||
Of course, the same user-space tools are available separately if you choose
|
Of course, the same user-space tools are available separately if you choose
|
||||||
not to use the Eclipse IDE.</para></listitem>
|
not to use the Eclipse IDE.</para></listitem>
|
||||||
@@ -1457,7 +1383,7 @@ directory.</para></listitem>
|
|||||||
to open a new recipe wizard.</para></listitem>
|
to open a new recipe wizard.</para></listitem>
|
||||||
<listitem><para>Point to your source by filling in the "SRC_URL" field.
|
<listitem><para>Point to your source by filling in the "SRC_URL" field.
|
||||||
For example, you can add a recipe to your
|
For example, you can add a recipe to your
|
||||||
<ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink>
|
<link linkend='source-directory'>Source Directory</link>
|
||||||
by defining "SRC_URL" as follows:
|
by defining "SRC_URL" as follows:
|
||||||
<literallayout class='monospaced'>
|
<literallayout class='monospaced'>
|
||||||
ftp://ftp.gnu.org/gnu/m4/m4-1.4.9.tar.gz
|
ftp://ftp.gnu.org/gnu/m4/m4-1.4.9.tar.gz
|
||||||
|
|||||||
@@ -207,10 +207,9 @@
|
|||||||
<filename>formfactor_0.0.bb</filename> and <filename>formfactor_0.0.bbappend</filename>).
|
<filename>formfactor_0.0.bb</filename> and <filename>formfactor_0.0.bbappend</filename>).
|
||||||
</para>
|
</para>
|
||||||
<para>Information in append files overrides the information in the similarly-named recipe file.
|
<para>Information in append files overrides the information in the similarly-named recipe file.
|
||||||
For examples of <filename>.bbappend</filename> file in use, see the
|
For an example of an append file in use, see the
|
||||||
"<link linkend='using-bbappend-files'>Using .bbappend Files</link>" and
|
"<link linkend='using-bbappend-files'>Using .bbappend Files</link>" section.
|
||||||
"<link linkend='changing-recipes-kernel'>Changing <filename>recipes-kernel</filename></link>"
|
</para></listitem>
|
||||||
sections.</para></listitem>
|
|
||||||
<listitem><para id='bitbake-term'><emphasis>BitBake:</emphasis>
|
<listitem><para id='bitbake-term'><emphasis>BitBake:</emphasis>
|
||||||
The task executor and scheduler used by
|
The task executor and scheduler used by
|
||||||
the OpenEmbedded build system to build images.
|
the OpenEmbedded build system to build images.
|
||||||
|
|||||||
@@ -152,8 +152,8 @@
|
|||||||
<para>Now create a clone of the bare clone just created:
|
<para>Now create a clone of the bare clone just created:
|
||||||
<literallayout class='monospaced'>
|
<literallayout class='monospaced'>
|
||||||
$ git clone linux-yocto-3.4.git my-linux-yocto-3.4-work
|
$ git clone linux-yocto-3.4.git my-linux-yocto-3.4-work
|
||||||
Initialized empty Git repository in /home/scottrif/my-linux-yocto-3.4-work/.git/
|
Cloning into 'my-linux-yocto-3.4-work'...
|
||||||
Checking out files: 100% (37619/37619), done.
|
done.
|
||||||
</literallayout></para></listitem>
|
</literallayout></para></listitem>
|
||||||
<listitem id='poky-extras-repo'><para><emphasis>
|
<listitem id='poky-extras-repo'><para><emphasis>
|
||||||
The <filename>poky-extras</filename> Git Repository</emphasis>:
|
The <filename>poky-extras</filename> Git Repository</emphasis>:
|
||||||
|
|||||||
@@ -76,13 +76,9 @@
|
|||||||
|
|
||||||
<xi:include href="dev-manual-newbie.xml"/>
|
<xi:include href="dev-manual-newbie.xml"/>
|
||||||
|
|
||||||
<xi:include href="dev-manual-common-tasks.xml"/>
|
|
||||||
|
|
||||||
<xi:include href="dev-manual-model.xml"/>
|
<xi:include href="dev-manual-model.xml"/>
|
||||||
|
|
||||||
<xi:include href="dev-manual-bsp-appendix.xml"/>
|
<xi:include href="dev-manual-common-tasks.xml"/>
|
||||||
|
|
||||||
<xi:include href="dev-manual-kernel-appendix.xml"/>
|
|
||||||
|
|
||||||
</book>
|
</book>
|
||||||
<!--
|
<!--
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 56 KiB After Width: | Height: | Size: 55 KiB |
|
Before Width: | Height: | Size: 61 KiB After Width: | Height: | Size: 44 KiB |
|
Before Width: | Height: | Size: 34 KiB |
BIN
documentation/dev-manual/figures/kernel-overview-2-generic.png
Normal file
|
After Width: | Height: | Size: 36 KiB |
|
Before Width: | Height: | Size: 33 KiB |
|
Before Width: | Height: | Size: 41 KiB |
@@ -55,7 +55,7 @@
|
|||||||
"<ulink url='&YOCTO_DOCS_DEV_URL;#kernel-modification-workflow'>Kernel Modification Workflow</ulink>"
|
"<ulink url='&YOCTO_DOCS_DEV_URL;#kernel-modification-workflow'>Kernel Modification Workflow</ulink>"
|
||||||
</para></listitem>
|
</para></listitem>
|
||||||
<listitem><para>
|
<listitem><para>
|
||||||
"<ulink url='&YOCTO_DOCS_DEV_URL;#dev-manual-kernel-appendix'>Kernel Modification Example</ulink>"</para></listitem>
|
"<ulink url='&YOCTO_DOCS_DEV_URL;#patching-the-kernel'>Patching the Kernel</ulink>"</para></listitem>
|
||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
|
|||||||
@@ -784,9 +784,9 @@
|
|||||||
This section overviews the process of creating a BSP based on an
|
This section overviews the process of creating a BSP based on an
|
||||||
existing similar BSP.
|
existing similar BSP.
|
||||||
The information is introductory in nature and does not provide step-by-step examples.
|
The information is introductory in nature and does not provide step-by-step examples.
|
||||||
For detailed information on how to create a BSP given an existing similar BSP, see
|
For detailed information on how to create a new BSP, see
|
||||||
the "<ulink url='&YOCTO_DOCS_DEV_URL;#dev-manual-bsp-appendix'>BSP Development
|
the "<ulink url='&YOCTO_DOCS_BSP_URL;#creating-a-new-bsp-layer-using-the-yocto-bsp-script'>Creating a New BSP Layer Using the yocto-bsp Script</ulink>" section in the
|
||||||
Example</ulink>" appendix in the Yocto Project Development Manual, or see the
|
Yocto Project Board Support Package (BSP) Developer's Guide, or see the
|
||||||
<ulink url='&YOCTO_WIKI_URL;/wiki/Transcript:_creating_one_generic_Atom_BSP_from_another'>Transcript:_creating_one_generic_Atom_BSP_from_another</ulink>
|
<ulink url='&YOCTO_WIKI_URL;/wiki/Transcript:_creating_one_generic_Atom_BSP_from_another'>Transcript:_creating_one_generic_Atom_BSP_from_another</ulink>
|
||||||
wiki page.
|
wiki page.
|
||||||
</para>
|
</para>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 60 KiB After Width: | Height: | Size: 44 KiB |
|
Before Width: | Height: | Size: 34 KiB |
BIN
documentation/mega-manual/figures/kernel-overview-2-generic.png
Normal file
|
After Width: | Height: | Size: 36 KiB |
|
Before Width: | Height: | Size: 33 KiB |
|
Before Width: | Height: | Size: 41 KiB |
@@ -87,10 +87,178 @@
|
|||||||
<section id='intro-requirements'>
|
<section id='intro-requirements'>
|
||||||
<title>System Requirements</title>
|
<title>System Requirements</title>
|
||||||
<para>
|
<para>
|
||||||
For Yocto Project system requirements, see the
|
For general Yocto Project system requirements, see the
|
||||||
<ulink url='&YOCTO_DOCS_QS_URL;#yp-resources'>
|
<ulink url='&YOCTO_DOCS_QS_URL;#yp-resources'>
|
||||||
What You Need and How You Get It</ulink> section in the Yocto Project Quick Start.
|
What You Need and How You Get It</ulink> section in the Yocto Project Quick Start.
|
||||||
|
The remainder of this section provides details on system requirements
|
||||||
|
not covered in the Yocto Project Quick Start.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
|
<section id='detailed-supported-distros'>
|
||||||
|
<title>Supported Linux Distributions</title>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
TBD - a list of very specific distros and versions.
|
||||||
|
The list will be kept up-to-date via a script provided that can
|
||||||
|
be run prior to a release.
|
||||||
|
The scripts output will yield the list and it can be copied
|
||||||
|
into this section.
|
||||||
|
</para>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section id='required-packages-for-the-host-development-system'>
|
||||||
|
<title>Required Packages for the Host Development System</title>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
The list of packages you need on the host development system can
|
||||||
|
be large when covering all build scenarios using the Yocto Project.
|
||||||
|
This section provides required packages by Linux distribution and
|
||||||
|
further categorized by function.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<section id='ubuntu-packages'>
|
||||||
|
<title>Ubuntu</title>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
The following list shows the required packages by function
|
||||||
|
given a supported Ubuntu Linux distribution:
|
||||||
|
<itemizedlist>
|
||||||
|
<listitem><para><emphasis>Essentials:</emphasis>
|
||||||
|
Packages needed to build an image on a headless
|
||||||
|
system:
|
||||||
|
<literallayout class='monospaced'>
|
||||||
|
$ sudo apt-get install &UBUNTU_HOST_PACKAGES_ESSENTIAL;
|
||||||
|
</literallayout></para></listitem>
|
||||||
|
<listitem><para><emphasis>Graphical Extras:</emphasis>
|
||||||
|
Packages recommended if the host system has graphics support:
|
||||||
|
<literallayout class='monospaced'>
|
||||||
|
$ sudo apt-get install libsdl1.2-dev xterm
|
||||||
|
</literallayout></para></listitem>
|
||||||
|
<listitem><para><emphasis>Documentation:</emphasis>
|
||||||
|
Packages needed if you are going to build out the
|
||||||
|
Yocto Project documentation manuals:
|
||||||
|
<literallayout class='monospaced'>
|
||||||
|
$ sudo apt-get install make xsltproc docbook-utils fop
|
||||||
|
</literallayout></para></listitem>
|
||||||
|
<listitem><para><emphasis>ADT Installer Extras:</emphasis>
|
||||||
|
Packages needed if you are going to be using the
|
||||||
|
<ulink url='&YOCTO_DOCS_ADT_URL;#using-the-adt-installer'>Application Development Toolkit (ADT) Installer</ulink>:
|
||||||
|
<literallayout class='monospaced'>
|
||||||
|
$ sudo apt-get install autoconf automake libtool libglib2.0-dev
|
||||||
|
</literallayout></para></listitem>
|
||||||
|
</itemizedlist>
|
||||||
|
</para>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section id='fedora-packages'>
|
||||||
|
<title>Fedora Packages</title>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
The following list shows the required packages by function
|
||||||
|
given a supported Fedora Linux distribution:
|
||||||
|
<itemizedlist>
|
||||||
|
<listitem><para><emphasis>Essentials:</emphasis>
|
||||||
|
Packages needed to build an image for a headless
|
||||||
|
system:
|
||||||
|
<literallayout class='monospaced'>
|
||||||
|
$ sudo yum install &FEDORA_HOST_PACKAGES_ESSENTIAL;
|
||||||
|
</literallayout></para></listitem>
|
||||||
|
<listitem><para><emphasis>Graphical Extras:</emphasis>
|
||||||
|
Packages recommended if the host system has graphics support:
|
||||||
|
<literallayout class='monospaced'>
|
||||||
|
$ sudo yum install SDL-devel xterm
|
||||||
|
</literallayout></para></listitem>
|
||||||
|
<listitem><para><emphasis>Documentation:</emphasis>
|
||||||
|
Packages needed if you are going to build out the
|
||||||
|
Yocto Project documentation manuals:
|
||||||
|
<literallayout class='monospaced'>
|
||||||
|
$ sudo yum install make docbook-style-dsssl docbook-style-xsl \
|
||||||
|
docbook-dtds docbook-utils fop libxslt
|
||||||
|
</literallayout></para></listitem>
|
||||||
|
<listitem><para><emphasis>ADT Installer Extras:</emphasis>
|
||||||
|
Packages needed if you are going to be using the
|
||||||
|
<ulink url='&YOCTO_DOCS_ADT_URL;#using-the-adt-installer'>Application Development Toolkit (ADT) Installer</ulink>:
|
||||||
|
<literallayout class='monospaced'>
|
||||||
|
$ sudo yum install autoconf automake libtool glib2-devel
|
||||||
|
</literallayout></para></listitem>
|
||||||
|
</itemizedlist>
|
||||||
|
</para>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section id='opensuse-packages'>
|
||||||
|
<title>OpenSUSE Packages</title>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
The following list shows the required packages by function
|
||||||
|
given a supported OpenSUSE Linux distribution:
|
||||||
|
<itemizedlist>
|
||||||
|
<listitem><para><emphasis>Essentials:</emphasis>
|
||||||
|
Packages needed to build an image for a headless
|
||||||
|
system:
|
||||||
|
<literallayout class='monospaced'>
|
||||||
|
$ sudo zypper install &OPENSUSE_HOST_PACKAGES_ESSENTIAL;
|
||||||
|
</literallayout></para></listitem>
|
||||||
|
<listitem><para><emphasis>Graphical Extras:</emphasis>
|
||||||
|
Packages recommended if the host system has graphics support:
|
||||||
|
<literallayout class='monospaced'>
|
||||||
|
$ sudo zypper install libSDL-devel xterm
|
||||||
|
</literallayout></para></listitem>
|
||||||
|
<listitem><para><emphasis>Documentation:</emphasis>
|
||||||
|
Packages needed if you are going to build out the
|
||||||
|
Yocto Project documentation manuals:
|
||||||
|
<literallayout class='monospaced'>
|
||||||
|
$ sudo zypper install make fop xsltproc
|
||||||
|
</literallayout></para></listitem>
|
||||||
|
<listitem><para><emphasis>ADT Installer Extras:</emphasis>
|
||||||
|
Packages needed if you are going to be using the
|
||||||
|
<ulink url='&YOCTO_DOCS_ADT_URL;#using-the-adt-installer'>Application Development Toolkit (ADT) Installer</ulink>:
|
||||||
|
<literallayout class='monospaced'>
|
||||||
|
$ sudo zypper install autoconf automake libtool glib2-devel
|
||||||
|
</literallayout></para></listitem>
|
||||||
|
</itemizedlist>
|
||||||
|
</para>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section id='centos-packages'>
|
||||||
|
<title>CentOS Packages</title>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
The following list shows the required packages by function
|
||||||
|
given a supported CentOS Linux distribution:
|
||||||
|
<itemizedlist>
|
||||||
|
<listitem><para><emphasis>Essentials:</emphasis>
|
||||||
|
Packages needed to build an image for a headless
|
||||||
|
system:
|
||||||
|
<literallayout class='monospaced'>
|
||||||
|
$ sudo yum -y install &CENTOS_HOST_PACKAGES_ESSENTIAL;
|
||||||
|
</literallayout></para></listitem>
|
||||||
|
<listitem><para><emphasis>Graphical Extras:</emphasis>
|
||||||
|
Packages recommended if the host system has graphics support:
|
||||||
|
<literallayout class='monospaced'>
|
||||||
|
$ sudo yum -y install SDL-devel xterm
|
||||||
|
</literallayout></para></listitem>
|
||||||
|
<listitem><para><emphasis>Documentation:</emphasis>
|
||||||
|
Packages needed if you are going to build out the
|
||||||
|
Yocto Project documentation manuals:
|
||||||
|
<literallayout class='monospaced'>
|
||||||
|
$ sudo yum -y install make docbook-style-dsssl docbook-style-xsl \
|
||||||
|
docbook-dtds docbook-utils fop libxslt
|
||||||
|
</literallayout></para></listitem>
|
||||||
|
<listitem><para><emphasis>ADT Installer Extras:</emphasis>
|
||||||
|
Packages needed if you are going to be using the
|
||||||
|
<ulink url='&YOCTO_DOCS_ADT_URL;#using-the-adt-installer'>Application Development Toolkit (ADT) Installer</ulink>:
|
||||||
|
<literallayout class='monospaced'>
|
||||||
|
$ sudo yum -y install autoconf automake libtool glib2-devel
|
||||||
|
</literallayout></para></listitem>
|
||||||
|
</itemizedlist>
|
||||||
|
<note>Depending on the CentOS version you are using, other requirements
|
||||||
|
and dependencies might exist.
|
||||||
|
For details, you should look at the CentOS sections on the
|
||||||
|
<ulink url='https://wiki.yoctoproject.org/wiki/Poky/GettingStarted/Dependencies'>Poky/GettingStarted/Dependencies</ulink>
|
||||||
|
wiki page.</note>
|
||||||
|
</para>
|
||||||
|
</section>
|
||||||
|
</section>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<section id='intro-getit'>
|
<section id='intro-getit'>
|
||||||
|
|||||||
@@ -35,7 +35,7 @@
|
|||||||
<!-- <link linkend='var-glossary-q'>Q</link> -->
|
<!-- <link linkend='var-glossary-q'>Q</link> -->
|
||||||
<link linkend='var-RCONFLICTS'>R</link>
|
<link linkend='var-RCONFLICTS'>R</link>
|
||||||
<link linkend='var-S'>S</link>
|
<link linkend='var-S'>S</link>
|
||||||
<link linkend='var-TARGET_ARCH'>T</link>
|
<link linkend='var-T'>T</link>
|
||||||
<!-- <link linkend='var-glossary-u'>U</link> -->
|
<!-- <link linkend='var-glossary-u'>U</link> -->
|
||||||
<!-- <link linkend='var-glossary-v'>V</link> -->
|
<!-- <link linkend='var-glossary-v'>V</link> -->
|
||||||
<link linkend='var-WORKDIR'>W</link>
|
<link linkend='var-WORKDIR'>W</link>
|
||||||
@@ -256,10 +256,11 @@
|
|||||||
BBLAYERS = " \
|
BBLAYERS = " \
|
||||||
/home/scottrif/poky/meta \
|
/home/scottrif/poky/meta \
|
||||||
/home/scottrif/poky/meta-yocto \
|
/home/scottrif/poky/meta-yocto \
|
||||||
|
/home/scottrif/poky/meta-yocto-bsp \
|
||||||
/home/scottrif/poky/meta-mykernel \
|
/home/scottrif/poky/meta-mykernel \
|
||||||
"
|
"
|
||||||
</literallayout>
|
</literallayout>
|
||||||
This example enables three layers, one of which is a custom, user-defined layer
|
This example enables four layers, one of which is a custom, user-defined layer
|
||||||
named <filename>meta-mykernel</filename>.
|
named <filename>meta-mykernel</filename>.
|
||||||
</para>
|
</para>
|
||||||
</glossdef>
|
</glossdef>
|
||||||
@@ -279,7 +280,15 @@
|
|||||||
|
|
||||||
<glossentry id='var-BPN'><glossterm>BPN</glossterm>
|
<glossentry id='var-BPN'><glossterm>BPN</glossterm>
|
||||||
<glossdef>
|
<glossdef>
|
||||||
<para>Bare name of package with any suffixes like -cross -native removed.</para>
|
<para>The bare name of the recipe or package.
|
||||||
|
This variable is a version of the <link linkend='var-PN'><filename>PN</filename></link> variable
|
||||||
|
but has common suffixes and prefixes such as "-native", "-cross" and "multilib"
|
||||||
|
removed.
|
||||||
|
The exact list of suffixes removed is specified by the
|
||||||
|
<link linkend='var-SPECIAL_PKGSUFFIX'><filename>SPECIAL_PKGSUFFIX</filename></link> variable.
|
||||||
|
The exact list of prefixes removed is specified by the
|
||||||
|
<link linkend='var-MLPREFIX'><filename>MLPREFIX</filename></link> variable.
|
||||||
|
Prefixes are removed for multilib and nativesdk cases.</para>
|
||||||
</glossdef>
|
</glossdef>
|
||||||
</glossentry>
|
</glossentry>
|
||||||
|
|
||||||
@@ -1514,6 +1523,21 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3"
|
|||||||
<para>The email address of the distribution maintainer.</para>
|
<para>The email address of the distribution maintainer.</para>
|
||||||
</glossdef>
|
</glossdef>
|
||||||
</glossentry>
|
</glossentry>
|
||||||
|
|
||||||
|
<glossentry id='var-MLPREFIX'><glossterm>MLPREFIX</glossterm>
|
||||||
|
<glossdef>
|
||||||
|
<para>
|
||||||
|
Specifies a prefix has been added to
|
||||||
|
<link linkend='var-PN'><filename>PN</filename></link> to create a special version
|
||||||
|
of a recipe or package, such as a multilib version.
|
||||||
|
The variable is used in places where the prefix needs to be
|
||||||
|
added to or removed from a the name (e.g. the
|
||||||
|
<link linkend='var-BPN'><filename>BPN</filename></link> variable).
|
||||||
|
<filename>MLPREFIX</filename> gets set when a prefix has been
|
||||||
|
added to <filename>PN</filename>.
|
||||||
|
</para>
|
||||||
|
</glossdef>
|
||||||
|
</glossentry>
|
||||||
</glossdiv>
|
</glossdiv>
|
||||||
|
|
||||||
<!-- <glossdiv id='var-glossary-n'><title>N</title>-->
|
<!-- <glossdiv id='var-glossary-n'><title>N</title>-->
|
||||||
@@ -1933,6 +1957,17 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3"
|
|||||||
</glossdef>
|
</glossdef>
|
||||||
</glossentry>
|
</glossentry>
|
||||||
|
|
||||||
|
<glossentry id='var-SPECIAL_PKGSUFFIX'><glossterm>SPECIAL_PKGSUFFIX</glossterm>
|
||||||
|
<glossdef>
|
||||||
|
<para>
|
||||||
|
A list of prefixes for <link linkend='var-PN'><filename>PN</filename></link> used by the
|
||||||
|
OpenEmbedded build system to create variants of recipes or packages.
|
||||||
|
The list specifies the prefixes to strip off during certain circumstances
|
||||||
|
such as the generation of the <link linkend='var-BPN'><filename>BPN</filename></link> variable.
|
||||||
|
</para>
|
||||||
|
</glossdef>
|
||||||
|
</glossentry>
|
||||||
|
|
||||||
<glossentry id='var-SRC_URI'><glossterm>SRC_URI</glossterm>
|
<glossentry id='var-SRC_URI'><glossterm>SRC_URI</glossterm>
|
||||||
<glossdef>
|
<glossdef>
|
||||||
<para>The list of source files - local or remote.
|
<para>The list of source files - local or remote.
|
||||||
@@ -2134,6 +2169,25 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3"
|
|||||||
|
|
||||||
<glossdiv id='var-glossary-t'><title>T</title>
|
<glossdiv id='var-glossary-t'><title>T</title>
|
||||||
|
|
||||||
|
<glossentry id='var-T'><glossterm>T</glossterm>
|
||||||
|
<glossdef>
|
||||||
|
<para>This variable points to a directory were Bitbake places temporary
|
||||||
|
files when building a particular package.
|
||||||
|
It is typically set as follows:
|
||||||
|
<literallayout class='monospaced'>
|
||||||
|
T = ${WORKDIR}/temp
|
||||||
|
</literallayout>
|
||||||
|
The <link linkend='var-WORKDIR'><filename>WORKDIR</filename></link>
|
||||||
|
is the directory into which Bitbake unpacks and builds the package.
|
||||||
|
The default <filename>bitbake.conf</filename> file sets this variable.</para>
|
||||||
|
<para>The <filename>T</filename> variable is not to be confused with
|
||||||
|
the <link linkend='var-TMPDIR'><filename>TMPDIR</filename></link> variable,
|
||||||
|
which points to the root of the directory tree where Bitbake
|
||||||
|
places the output of an entire build.
|
||||||
|
</para>
|
||||||
|
</glossdef>
|
||||||
|
</glossentry>
|
||||||
|
|
||||||
<glossentry id='var-TARGET_ARCH'><glossterm>TARGET_ARCH</glossterm>
|
<glossentry id='var-TARGET_ARCH'><glossterm>TARGET_ARCH</glossterm>
|
||||||
<glossdef>
|
<glossdef>
|
||||||
<para>The architecture of the device being built.
|
<para>The architecture of the device being built.
|
||||||
|
|||||||
@@ -650,6 +650,7 @@
|
|||||||
BBLAYERS ?= " \
|
BBLAYERS ?= " \
|
||||||
/home/nitin/prj/poky.git/meta \
|
/home/nitin/prj/poky.git/meta \
|
||||||
/home/nitin/prj/poky.git/meta-yocto \
|
/home/nitin/prj/poky.git/meta-yocto \
|
||||||
|
/home/nitin/prj/poky.git/meta-yocto-bsp \
|
||||||
/home/nitin/prj/meta-x32.git \
|
/home/nitin/prj/meta-x32.git \
|
||||||
"
|
"
|
||||||
</literallayout></para></listitem>
|
</literallayout></para></listitem>
|
||||||
|
|||||||
@@ -48,3 +48,10 @@
|
|||||||
<!ENTITY YOCTO_POKY_TARBALL "&YOCTO_POKY;.tar.bz2">
|
<!ENTITY YOCTO_POKY_TARBALL "&YOCTO_POKY;.tar.bz2">
|
||||||
<!ENTITY OE_INIT_PATH "&YOCTO_POKY;/oe-init-build-env">
|
<!ENTITY OE_INIT_PATH "&YOCTO_POKY;/oe-init-build-env">
|
||||||
<!ENTITY OE_INIT_FILE "oe-init-build-env">
|
<!ENTITY OE_INIT_FILE "oe-init-build-env">
|
||||||
|
<!ENTITY UBUNTU_HOST_PACKAGES_ESSENTIAL "awk wget git-core diffstat unzip texinfo build-essential chrpath">
|
||||||
|
<!ENTITY FEDORA_HOST_PACKAGES_ESSENTIAL "awk make wget tar bzip2 gzip python unzip perl patch diffutils diffstat git
|
||||||
|
cpp gcc gcc-c++ eglibc-devel texinfo chrpath ccache">
|
||||||
|
<!ENTITY OPENSUSE_HOST_PACKAGES_ESSENTIAL "python gcc gcc-c++ git chrpath make wget diffstat texinfo python-curses">
|
||||||
|
<!ENTITY CENTOS_HOST_PACKAGES_ESSENTIAL "gawk make wget tar bzip2 gzip python unzip perl patch diffutils diffstat git
|
||||||
|
cpp gcc gcc-c++ glibc-devel texinfo chrpath">
|
||||||
|
|
||||||
|
|||||||
@@ -211,94 +211,85 @@
|
|||||||
<title>The Packages</title>
|
<title>The Packages</title>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
Packages and package installation vary depending on your development system.
|
Packages and package installation vary depending on your development system
|
||||||
In general, you need to have root access and then install the required packages.
|
and on your intent.
|
||||||
The next few sections show you how to get set up with the right packages for
|
For example, if you want to build an image that can run
|
||||||
Ubuntu, Fedora, openSUSE, and CentOS.
|
on QEMU in graphical mode (a minimal, basic build
|
||||||
|
requirement), then the number of packages is different than if you want to
|
||||||
|
build an image on a headless system or build out the Yocto Project
|
||||||
|
documentation set.
|
||||||
|
Collectively, the number of required packages is large
|
||||||
|
if you want to be able to cover all cases.
|
||||||
|
<note>In general, you need to have root access and then install the
|
||||||
|
required packages.
|
||||||
|
Thus, the commands in the following section may or may not work
|
||||||
|
depending on whether or not your Linux distribution has
|
||||||
|
<filename>sudo</filename> installed.</note>
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
The next few sections list, by supported Linux Distributions, the required
|
||||||
|
packages needed to build an image that runs on QEMU in graphical mode
|
||||||
|
(e.g. essential plus graphics support).
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
For lists of required packages for other scenarios, see the
|
||||||
|
"<ulink url='&YOCTO_DOCS_REF_URL;#required-packages-for-the-host-development-system'>Required Packages for the Host Development System</ulink>"
|
||||||
|
section in the Yocto Project Reference Manual.
|
||||||
|
</para>
|
||||||
|
|
||||||
<section id='ubuntu'>
|
<section id='ubuntu'>
|
||||||
<title>Ubuntu</title>
|
<title>Ubuntu</title>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
The packages you need for a supported Ubuntu distribution are shown in the following command:
|
The essential packages you need for a supported Ubuntu distribution
|
||||||
</para>
|
are shown in the following command:
|
||||||
|
|
||||||
<literallayout class='monospaced'>
|
<literallayout class='monospaced'>
|
||||||
$ sudo apt-get install sed wget subversion git-core coreutils \
|
$ sudo apt-get install &UBUNTU_HOST_PACKAGES_ESSENTIAL; libsdl1.2-dev xterm
|
||||||
unzip texi2html texinfo libsdl1.2-dev docbook-utils fop gawk \
|
|
||||||
python-pysqlite2 diffstat make gcc build-essential xsltproc \
|
|
||||||
g++ desktop-file-utils chrpath libgl1-mesa-dev libglu1-mesa-dev \
|
|
||||||
autoconf automake groff libtool xterm libxml-parser-perl dblatex
|
|
||||||
</literallayout>
|
</literallayout>
|
||||||
|
</para>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<section id='fedora'>
|
<section id='fedora'>
|
||||||
<title>Fedora</title>
|
<title>Fedora</title>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
The packages you need for a supported Fedora distribution are shown in the following
|
The essential packages you need for a supported Fedora distribution
|
||||||
commands:
|
are shown in the following command:
|
||||||
</para>
|
|
||||||
|
|
||||||
<literallayout class='monospaced'>
|
<literallayout class='monospaced'>
|
||||||
$ sudo yum groupinstall "development tools"
|
$ sudo yum install &FEDORA_HOST_PACKAGES_ESSENTIAL; SDL-devel xterm
|
||||||
$ sudo yum install python m4 make wget curl ftp tar bzip2 gzip \
|
|
||||||
unzip perl texinfo texi2html diffstat openjade \
|
|
||||||
docbook-style-dsssl sed docbook-style-xsl docbook-dtds fop libxslt \
|
|
||||||
docbook-utils sed bc eglibc-devel ccache pcre pcre-devel quilt \
|
|
||||||
groff linuxdoc-tools patch cmake \
|
|
||||||
perl-ExtUtils-MakeMaker tcl-devel gettext chrpath ncurses apr \
|
|
||||||
SDL-devel mesa-libGL-devel mesa-libGLU-devel gnome-doc-utils \
|
|
||||||
autoconf automake libtool xterm dblatex glib-gettextize
|
|
||||||
</literallayout>
|
</literallayout>
|
||||||
|
</para>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<section id='opensuse'>
|
<section id='opensuse'>
|
||||||
<title>openSUSE</title>
|
<title>openSUSE</title>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
The packages you need for a supported openSUSE distribution are shown in the following
|
The essential packages you need for a supported openSUSE
|
||||||
command:
|
distribution are shown in the following command:
|
||||||
</para>
|
|
||||||
|
|
||||||
<literallayout class='monospaced'>
|
<literallayout class='monospaced'>
|
||||||
$ sudo zypper install python gcc gcc-c++ libtool fop \
|
$ sudo zypper install &OPENSUSE_HOST_PACKAGES_ESSENTIAL; libSDL-devel xterm
|
||||||
subversion git chrpath automake make wget xsltproc \
|
|
||||||
diffstat texinfo freeglut-devel libSDL-devel dblatex \
|
|
||||||
python-curses
|
|
||||||
</literallayout>
|
</literallayout>
|
||||||
|
</para>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<section id='centos'>
|
<section id='centos'>
|
||||||
<title>CentOS</title>
|
<title>CentOS</title>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
The packages you need for a supported CentOS distribution are shown in the following
|
The essential packages you need for a supported CentOS
|
||||||
commands:
|
distribution are shown in the following command:
|
||||||
</para>
|
|
||||||
|
|
||||||
<literallayout class='monospaced'>
|
<literallayout class='monospaced'>
|
||||||
$ sudo yum -y groupinstall "development tools"
|
$ sudo yum -y install &CENTOS_HOST_PACKAGES_ESSENTIAL; SDL-devel xterm
|
||||||
$ sudo yum -y install tetex gawk sqlite-devel vim-common redhat-lsb xz \
|
|
||||||
m4 make wget curl ftp tar bzip2 gzip python-devel \
|
|
||||||
unzip perl texinfo texi2html diffstat openjade zlib-devel \
|
|
||||||
docbook-style-dsssl sed docbook-style-xsl docbook-dtds \
|
|
||||||
docbook-utils bc glibc-devel pcre pcre-devel \
|
|
||||||
groff linuxdoc-tools patch cmake \
|
|
||||||
tcl-devel gettext ncurses apr \
|
|
||||||
SDL-devel mesa-libGL-devel mesa-libGLU-devel gnome-doc-utils \
|
|
||||||
autoconf automake libtool xterm dblatex
|
|
||||||
</literallayout>
|
</literallayout>
|
||||||
<note><para>
|
<note>Depending on the CentOS version you are using, other requirements
|
||||||
Depending on the CentOS version you are using, other requirements and dependencies
|
and dependencies might exist.
|
||||||
might exist.
|
For details, you should look at the CentOS sections on the
|
||||||
For details, you should look at the CentOS sections on the
|
<ulink url='https://wiki.yoctoproject.org/wiki/Poky/GettingStarted/Dependencies'>Poky/GettingStarted/Dependencies</ulink>
|
||||||
<ulink url='&YOCTO_WIKI_URL;/wiki/Poky/GettingStarted/Dependencies'>Poky/GettingStarted/Dependencies</ulink>
|
wiki page.</note>
|
||||||
wiki page.
|
</para>
|
||||||
</para></note>
|
|
||||||
|
|
||||||
</section>
|
</section>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
|||||||
@@ -3,11 +3,10 @@ KBRANCH_routerstationpro = "standard/routerstationpro"
|
|||||||
KBRANCH_mpc8315e-rdb = "standard/fsl-mpc8315e-rdb"
|
KBRANCH_mpc8315e-rdb = "standard/fsl-mpc8315e-rdb"
|
||||||
KBRANCH_beagleboard = "standard/beagleboard"
|
KBRANCH_beagleboard = "standard/beagleboard"
|
||||||
|
|
||||||
SRCREV_machine_atom-pc ?= "59c3ff750831338d05ab67d5efd7fc101c451aff"
|
SRCREV_machine_atom-pc ?= "449f7f520350700858f21a5554b81cc8ad23267d"
|
||||||
SRCREV_machine_routerstationpro ?= "009935376be574746446f4bead6f0fb7b40d6d79"
|
SRCREV_machine_routerstationpro ?= "27e8b8dabfed786aaaafd2f7104c141597830089"
|
||||||
SRCREV_machine_mpc8315e-rdb ?= "6b18b6f483716b757c7c8642fa3792235118bb63"
|
SRCREV_machine_mpc8315e-rdb ?= "524ce8107febcfd88717f54d50d36ca7c6e6e437"
|
||||||
SRCREV_machine_beagleboard ?= "59c3ff750831338d05ab67d5efd7fc101c451aff"
|
SRCREV_machine_beagleboard ?= "449f7f520350700858f21a5554b81cc8ad23267d"
|
||||||
|
|
||||||
|
|
||||||
COMPATIBLE_MACHINE_mpc8315e-rdb = "mpc8315e-rdb"
|
COMPATIBLE_MACHINE_mpc8315e-rdb = "mpc8315e-rdb"
|
||||||
COMPATIBLE_MACHINE_routerstationpro = "routerstationpro"
|
COMPATIBLE_MACHINE_routerstationpro = "routerstationpro"
|
||||||
|
|||||||
@@ -13,8 +13,11 @@ DISTRO_PN_ALIAS_pn-aaina = "Intel"
|
|||||||
DISTRO_PN_ALIAS_pn-abiword-embedded = "Fedora=abiword Ubuntu=abiword"
|
DISTRO_PN_ALIAS_pn-abiword-embedded = "Fedora=abiword Ubuntu=abiword"
|
||||||
DISTRO_PN_ALIAS_pn-adt-installer = "Intel"
|
DISTRO_PN_ALIAS_pn-adt-installer = "Intel"
|
||||||
DISTRO_PN_ALIAS_pn-alsa-state = "OE-Core"
|
DISTRO_PN_ALIAS_pn-alsa-state = "OE-Core"
|
||||||
|
DISTRO_PN_ALIAS_pn-anjuta-remote-run = "OpenedHand"
|
||||||
DISTRO_PN_ALIAS_pn-augeas = "Ubuntu=libaugeas0 Debian=libaugeas0"
|
DISTRO_PN_ALIAS_pn-augeas = "Ubuntu=libaugeas0 Debian=libaugeas0"
|
||||||
DISTRO_PN_ALIAS_pn-avahi-ui = "Ubuntu=avahi-discover Debian=avahi-discover"
|
DISTRO_PN_ALIAS_pn-avahi-ui = "Ubuntu=avahi-discover Debian=avahi-discover"
|
||||||
|
DISTRO_PN_ALIAS_pn-babeltrace = "OSPDT"
|
||||||
|
DISTRO_PN_ALIAS_pn-bdwgc = "OSPDT"
|
||||||
DISTRO_PN_ALIAS_pn-bigreqsproto = "Meego=xorg-x11-proto-bigreqsproto"
|
DISTRO_PN_ALIAS_pn-bigreqsproto = "Meego=xorg-x11-proto-bigreqsproto"
|
||||||
DISTRO_PN_ALIAS_pn-blktool = "Debian=blktool Mandriva=blktool"
|
DISTRO_PN_ALIAS_pn-blktool = "Debian=blktool Mandriva=blktool"
|
||||||
DISTRO_PN_ALIAS_pn-bluez4= "Fedora=bluez Ubuntu=bluez Debian=bluez-utils Opensuse=bluez"
|
DISTRO_PN_ALIAS_pn-bluez4= "Fedora=bluez Ubuntu=bluez Debian=bluez-utils Opensuse=bluez"
|
||||||
@@ -22,6 +25,7 @@ DISTRO_PN_ALIAS_pn-bluez4="Meego=bluz Fedora=bluz Ubuntu=bluz OpenSuSE=bluz Mand
|
|||||||
DISTRO_PN_ALIAS_pn-bluez-dtl1-workaround = "OE-Core"
|
DISTRO_PN_ALIAS_pn-bluez-dtl1-workaround = "OE-Core"
|
||||||
DISTRO_PN_ALIAS_pn-btrfs-tools = "Debian=btrfs-tools Fedora=btrfs-progs"
|
DISTRO_PN_ALIAS_pn-btrfs-tools = "Debian=btrfs-tools Fedora=btrfs-progs"
|
||||||
DISTRO_PN_ALIAS_pn-builder = "OE-Core"
|
DISTRO_PN_ALIAS_pn-builder = "OE-Core"
|
||||||
|
DISTRO_PN_ALIAS_pn-build-appliance-image = "OSPDT"
|
||||||
DISTRO_PN_ALIAS_pn-calibrateproto = "OSPDT upstream=http://cgit.freedesktop.org/xorg/lib/libXCalibrate/"
|
DISTRO_PN_ALIAS_pn-calibrateproto = "OSPDT upstream=http://cgit.freedesktop.org/xorg/lib/libXCalibrate/"
|
||||||
DISTRO_PN_ALIAS_pn-calibrateproto = "OSPDT upstream=http://cgit.freedesktop.org/xorg/proto/calibrateproto"
|
DISTRO_PN_ALIAS_pn-calibrateproto = "OSPDT upstream=http://cgit.freedesktop.org/xorg/proto/calibrateproto"
|
||||||
DISTRO_PN_ALIAS_pn-cdrtools = "OpenSUSE=cdrtools OSPDT"
|
DISTRO_PN_ALIAS_pn-cdrtools = "OpenSUSE=cdrtools OSPDT"
|
||||||
@@ -30,8 +34,9 @@ DISTRO_PN_ALIAS_pn-claws-plugin-maildir = "Fedora=claws-mail-plugins OpenSuSE=cl
|
|||||||
DISTRO_PN_ALIAS_pn-claws-plugin-mailmbox = "Fedora=claws-mail-plugins OpenSuSE=claws-mail-extra-plugins Debian=claws-mail-extra-plugins"
|
DISTRO_PN_ALIAS_pn-claws-plugin-mailmbox = "Fedora=claws-mail-plugins OpenSuSE=claws-mail-extra-plugins Debian=claws-mail-extra-plugins"
|
||||||
DISTRO_PN_ALIAS_pn-claws-plugin-rssyl = "Fedora=claws-mail-plugins OpenSuSE=claws-mail-extra-plugins Debian=claws-mail-extra-plugins"
|
DISTRO_PN_ALIAS_pn-claws-plugin-rssyl = "Fedora=claws-mail-plugins OpenSuSE=claws-mail-extra-plugins Debian=claws-mail-extra-plugins"
|
||||||
DISTRO_PN_ALIAS_pn-clipboard-manager = "OpenedHand"
|
DISTRO_PN_ALIAS_pn-clipboard-manager = "OpenedHand"
|
||||||
DISTRO_PN_ALIAS_pn-clutter-1.8 = "Fedora=clutter OpenSuse=clutter Ubuntu=clutter-1.0 Mandriva=clutter Debian=clutter"
|
|
||||||
DISTRO_PN_ALIAS_pn-clutter = "Fedora=clutter OpenSuse=clutter Ubuntu=clutter-1.0 Mandriva=clutter Debian=clutter"
|
DISTRO_PN_ALIAS_pn-clutter = "Fedora=clutter OpenSuse=clutter Ubuntu=clutter-1.0 Mandriva=clutter Debian=clutter"
|
||||||
|
DISTRO_PN_ALIAS_pn-clutter-1.8 = "Fedora=clutter OpenSuse=clutter Ubuntu=clutter-1.0 Mandriva=clutter Debian=clutter"
|
||||||
|
DISTRO_PN_ALIAS_pn-clutter-box2d = "Meego=clutter-box2d"
|
||||||
DISTRO_PN_ALIAS_pn-clutter-gst-1.8 = "Fedora=clutter-gst Debian=libclutter-gst"
|
DISTRO_PN_ALIAS_pn-clutter-gst-1.8 = "Fedora=clutter-gst Debian=libclutter-gst"
|
||||||
DISTRO_PN_ALIAS_pn-clutter-gtk-1.8 = "Fedora=clutter-gtk OpenSuSE=clutter-gtk Ubuntu=clutter-gtk-0.10 Mandriva=clutter-gtk Debian=clutter-gtk"
|
DISTRO_PN_ALIAS_pn-clutter-gtk-1.8 = "Fedora=clutter-gtk OpenSuSE=clutter-gtk Ubuntu=clutter-gtk-0.10 Mandriva=clutter-gtk Debian=clutter-gtk"
|
||||||
DISTRO_PN_ALIAS_pn-cogl = "Fedora=cogl OpenSuse=cogl Ubuntu=cogl Mandriva=cogl Debian=cogl"
|
DISTRO_PN_ALIAS_pn-cogl = "Fedora=cogl OpenSuse=cogl Ubuntu=cogl Mandriva=cogl Debian=cogl"
|
||||||
@@ -64,7 +69,7 @@ DISTRO_PN_ALIAS_pn-core-image-sato-sdk-directdisk = "OE-Core"
|
|||||||
DISTRO_PN_ALIAS_pn-core-image-sato-sdk-live = "OE-Core"
|
DISTRO_PN_ALIAS_pn-core-image-sato-sdk-live = "OE-Core"
|
||||||
DISTRO_PN_ALIAS_pn-core-image-sato-sdk = "OE-Core"
|
DISTRO_PN_ALIAS_pn-core-image-sato-sdk = "OE-Core"
|
||||||
DISTRO_PN_ALIAS_pn-core-image-sdk = "OE-Core"
|
DISTRO_PN_ALIAS_pn-core-image-sdk = "OE-Core"
|
||||||
DISTRO_PN_ALIAS_pn-core-x11 = "OE-Core"
|
DISTRO_PN_ALIAS_pn-core-image-x11 = "OE-Core"
|
||||||
DISTRO_PN_ALIAS_pn-cross-localedef = "OSPDT"
|
DISTRO_PN_ALIAS_pn-cross-localedef = "OSPDT"
|
||||||
DISTRO_PN_ALIAS_pn-cwautomacros= "OSPDT upstream=http://cwautomacros.berlios.de/"
|
DISTRO_PN_ALIAS_pn-cwautomacros= "OSPDT upstream=http://cwautomacros.berlios.de/"
|
||||||
DISTRO_PN_ALIAS_pn-damageproto = "Meego=xorg-x11-proto-damageproto"
|
DISTRO_PN_ALIAS_pn-damageproto = "Meego=xorg-x11-proto-damageproto"
|
||||||
@@ -72,9 +77,9 @@ DISTRO_PN_ALIAS_pn-db = "Debian=db5.1 Ubuntu=db5.1"
|
|||||||
DISTRO_PN_ALIAS_pn-dbus-wait = "OpenedHand"
|
DISTRO_PN_ALIAS_pn-dbus-wait = "OpenedHand"
|
||||||
DISTRO_PN_ALIAS_pn-directfb-examples = "Debian=directfb Fedora=directfb"
|
DISTRO_PN_ALIAS_pn-directfb-examples = "Debian=directfb Fedora=directfb"
|
||||||
DISTRO_PN_ALIAS_pn-distcc = "Debian=distcc Fedora=distcc"
|
DISTRO_PN_ALIAS_pn-distcc = "Debian=distcc Fedora=distcc"
|
||||||
|
DISTRO_PN_ALIAS_pn-distcc-config = "OpenedHand"
|
||||||
DISTRO_PN_ALIAS_pn-dmxproto = "Meego=xorg-x11-proto-dmxproto Ubuntu=x11proto-dmx Debian=x11proto-dmx"
|
DISTRO_PN_ALIAS_pn-dmxproto = "Meego=xorg-x11-proto-dmxproto Ubuntu=x11proto-dmx Debian=x11proto-dmx"
|
||||||
DISTRO_PN_ALIAS_pn-docbook-dsssl-stylesheet = "Fedora=docbook-style-dsssl Ubuntu=docbook-dsssl"
|
DISTRO_PN_ALIAS_pn-docbook-dsssl-stylesheets = "Fedora=docbook-style-dsssl Ubuntu=docbook-dsssl"
|
||||||
DISTRO_PN_ALIAS_pn-docbook-dsssl-stylesheet-native = "Fedora=docbook-style-dsssl Ubuntu=docbook-dsssl"
|
|
||||||
DISTRO_PN_ALIAS_pn-docbook-sgml-dtd-3.1 = "Fedora=docbook-dtds Mandriva=docbook-dtd31-sgml"
|
DISTRO_PN_ALIAS_pn-docbook-sgml-dtd-3.1 = "Fedora=docbook-dtds Mandriva=docbook-dtd31-sgml"
|
||||||
DISTRO_PN_ALIAS_pn-docbook-sgml-dtd-4.1 = "Fedora=docbook-dtds Mandriva=docbook-dtd41-sgml"
|
DISTRO_PN_ALIAS_pn-docbook-sgml-dtd-4.1 = "Fedora=docbook-dtds Mandriva=docbook-dtd41-sgml"
|
||||||
DISTRO_PN_ALIAS_pn-docbook-sgml-dtd-4.5 = "Fedora=docbook-dtds Mandriva=docbook-dtd42-sgml"
|
DISTRO_PN_ALIAS_pn-docbook-sgml-dtd-4.5 = "Fedora=docbook-dtds Mandriva=docbook-dtd42-sgml"
|
||||||
@@ -84,7 +89,8 @@ DISTRO_PN_ALIAS_pn-dtc = "Fedora=dtc Ubuntu=dtc"
|
|||||||
DISTRO_PN_ALIAS_pn-dtc-native = "Fedora=dtc Ubuntu=dtc"
|
DISTRO_PN_ALIAS_pn-dtc-native = "Fedora=dtc Ubuntu=dtc"
|
||||||
DISTRO_PN_ALIAS_pn-eds-tools = "OpenedHand"
|
DISTRO_PN_ALIAS_pn-eds-tools = "OpenedHand"
|
||||||
DISTRO_PN_ALIAS_pn-eee-acpi-scripts = "Debian=eeepc-acpi-scripts Ubuntu=eeepc-acpi-scripts"
|
DISTRO_PN_ALIAS_pn-eee-acpi-scripts = "Debian=eeepc-acpi-scripts Ubuntu=eeepc-acpi-scripts"
|
||||||
DISTRO_PN_ALIAS_pn-eglibc-locale-nativesdk = "OE-Core"
|
DISTRO_PN_ALIAS_pn-eglibc = "OE-Core"
|
||||||
|
DISTRO_PN_ALIAS_pn-eglibc-initial = "OE-Core"
|
||||||
DISTRO_PN_ALIAS_pn-eglibc-locale = "OE-Core"
|
DISTRO_PN_ALIAS_pn-eglibc-locale = "OE-Core"
|
||||||
DISTRO_PN_ALIAS_pn-emgd-driver-bin = "Intel"
|
DISTRO_PN_ALIAS_pn-emgd-driver-bin = "Intel"
|
||||||
DISTRO_PN_ALIAS_pn-encodings = "Ubuntu=xfonts-encodings Mandriva=x11-font-encodings Debian=xfonts-encodings"
|
DISTRO_PN_ALIAS_pn-encodings = "Ubuntu=xfonts-encodings Mandriva=x11-font-encodings Debian=xfonts-encodings"
|
||||||
@@ -111,9 +117,11 @@ DISTRO_PN_ALIAS_pn-gcc-runtime = "Ubuntu=gcc Fedora=gcc"
|
|||||||
DISTRO_PN_ALIAS_pn-gconf-dbus = "Meego=GConf-dbus"
|
DISTRO_PN_ALIAS_pn-gconf-dbus = "Meego=GConf-dbus"
|
||||||
DISTRO_PN_ALIAS_pn-gdk-pixbuf-csource-native = "Debian=libgdk-pixbuf2.0-0 Fedora=gdk-pixbuf2"
|
DISTRO_PN_ALIAS_pn-gdk-pixbuf-csource-native = "Debian=libgdk-pixbuf2.0-0 Fedora=gdk-pixbuf2"
|
||||||
DISTRO_PN_ALIAS_pn-gdk-pixbuf = "Debian=libgdk-pixbuf2.0 Fedora=gdk-pixbuf"
|
DISTRO_PN_ALIAS_pn-gdk-pixbuf = "Debian=libgdk-pixbuf2.0 Fedora=gdk-pixbuf"
|
||||||
|
DISTRO_PN_ALIAS_pn-gettext-minimal-native = "Debian=gettext Fedora=gettext"
|
||||||
DISTRO_PN_ALIAS_pn-glib-2.0 = "Meego=glib2 Fedora=glib2 OpenSuSE=glib2 Ubuntu=glib2.0 Mandriva=glib2.0 Debian=glib2.0"
|
DISTRO_PN_ALIAS_pn-glib-2.0 = "Meego=glib2 Fedora=glib2 OpenSuSE=glib2 Ubuntu=glib2.0 Mandriva=glib2.0 Debian=glib2.0"
|
||||||
DISTRO_PN_ALIAS_pn-glproto = "Meego=xorg-x11-proto-glproto"
|
DISTRO_PN_ALIAS_pn-glproto = "Meego=xorg-x11-proto-glproto"
|
||||||
DISTRO_PN_ALIAS_pn-gnu-config = "OpenedHand"
|
DISTRO_PN_ALIAS_pn-gnu-config = "OpenedHand"
|
||||||
|
DISTRO_PN_ALIAS_pn-grub-efi-i586 = "Ubuntu=grub Fedora=grub"
|
||||||
DISTRO_PN_ALIAS_pn-gst-ffmpeg = "Mandriva=gstreamer0.10-ffmpeg Debian=gstreamer0.10-ffmpeg"
|
DISTRO_PN_ALIAS_pn-gst-ffmpeg = "Mandriva=gstreamer0.10-ffmpeg Debian=gstreamer0.10-ffmpeg"
|
||||||
DISTRO_PN_ALIAS_pn-gst-fluendo-mp3 = "Debian=gstreamer0.10-fluendo-mp3 Ubuntu=gstreamer0.10-fluendo-mp3"
|
DISTRO_PN_ALIAS_pn-gst-fluendo-mp3 = "Debian=gstreamer0.10-fluendo-mp3 Ubuntu=gstreamer0.10-fluendo-mp3"
|
||||||
DISTRO_PN_ALIAS_pn-gst-fluendo-mpegdemux = "Ubuntu=gstreamer0.10-fluendo-mpegdemux Debian=gstreamer0.10-fluendo-mpegdemux"
|
DISTRO_PN_ALIAS_pn-gst-fluendo-mpegdemux = "Ubuntu=gstreamer0.10-fluendo-mpegdemux Debian=gstreamer0.10-fluendo-mpegdemux"
|
||||||
@@ -124,6 +132,7 @@ DISTRO_PN_ALIAS_pn-gst-plugins-bad = "Fedora=gstreamer-plugins-bad-free OpenSuSE
|
|||||||
DISTRO_PN_ALIAS_pn-gst-plugins-base = "Meego=gst-plugins-base Fedora=gstreamer-plugins-base OpenSuSE=gstreamer-plugins-base Ubuntu=gst-plugins-base0.10 Mandriva=gstreamer0.10-plugins-base Debian=gst-plugins-base0.10"
|
DISTRO_PN_ALIAS_pn-gst-plugins-base = "Meego=gst-plugins-base Fedora=gstreamer-plugins-base OpenSuSE=gstreamer-plugins-base Ubuntu=gst-plugins-base0.10 Mandriva=gstreamer0.10-plugins-base Debian=gst-plugins-base0.10"
|
||||||
DISTRO_PN_ALIAS_pn-gst-plugins-good = "Meego=gst-plugins-good Fedora=gstreamer-plugins-good OpenSuSE=gstreamer-plugins-good Ubuntu=gst-plugins-good0.10 Mandriva=gstreamer0.10-plugins-good Debian=gst-plugins-good0.10"
|
DISTRO_PN_ALIAS_pn-gst-plugins-good = "Meego=gst-plugins-good Fedora=gstreamer-plugins-good OpenSuSE=gstreamer-plugins-good Ubuntu=gst-plugins-good0.10 Mandriva=gstreamer0.10-plugins-good Debian=gst-plugins-good0.10"
|
||||||
DISTRO_PN_ALIAS_pn-gst-plugins-ugly = "OpenSuSE=gstreamer-plugins-ugly Mandriva=gstreamer0.10-plugins-ugly Debian=gst-plugins-ugly0.10"
|
DISTRO_PN_ALIAS_pn-gst-plugins-ugly = "OpenSuSE=gstreamer-plugins-ugly Mandriva=gstreamer0.10-plugins-ugly Debian=gst-plugins-ugly0.10"
|
||||||
|
DISTRO_PN_ALIAS_pn-gtk-doc-stub = "Fedora=gtk-doc Ubuntu=gtk-doc"
|
||||||
DISTRO_PN_ALIAS_pn-gtk-engines = "Fedora=gtk2-engines OpenSuSE=gtk2-engines Ubuntu=gtk2-engines Mandriva=gtk-engines2 Debian=gtk2-engines"
|
DISTRO_PN_ALIAS_pn-gtk-engines = "Fedora=gtk2-engines OpenSuSE=gtk2-engines Ubuntu=gtk2-engines Mandriva=gtk-engines2 Debian=gtk2-engines"
|
||||||
DISTRO_PN_ALIAS_pn-gtkhtml2 = "Debian=libgtkhtml2-0 Fedora=gtkhtml2"
|
DISTRO_PN_ALIAS_pn-gtkhtml2 = "Debian=libgtkhtml2-0 Fedora=gtkhtml2"
|
||||||
DISTRO_PN_ALIAS_pn-gtk+ = "Meego=gtk2 Fedora=gtk2 OpenSuSE=gtk2 Ubuntu=gtk+2.0 Mandriva=gtk+2.0 Debian=gtk+2.0"
|
DISTRO_PN_ALIAS_pn-gtk+ = "Meego=gtk2 Fedora=gtk2 OpenSuSE=gtk2 Ubuntu=gtk+2.0 Mandriva=gtk+2.0 Debian=gtk+2.0"
|
||||||
@@ -136,6 +145,7 @@ DISTRO_PN_ALIAS_pn-imake = "Mandriva=xutils Ubuntu=xutils"
|
|||||||
DISTRO_PN_ALIAS_pn-initramfs-boot = "OE-Core"
|
DISTRO_PN_ALIAS_pn-initramfs-boot = "OE-Core"
|
||||||
DISTRO_PN_ALIAS_pn-initramfs-live-boot = "OE-Core"
|
DISTRO_PN_ALIAS_pn-initramfs-live-boot = "OE-Core"
|
||||||
DISTRO_PN_ALIAS_pn-initramfs-live-install = "OE-Core"
|
DISTRO_PN_ALIAS_pn-initramfs-live-install = "OE-Core"
|
||||||
|
DISTRO_PN_ALIAS_pn-initramfs-live-install-efi = "OE-Core"
|
||||||
DISTRO_PN_ALIAS_pn-inputproto = "Meego=xorg-x11-proto-inputproto"
|
DISTRO_PN_ALIAS_pn-inputproto = "Meego=xorg-x11-proto-inputproto"
|
||||||
DISTRO_PN_ALIAS_pn-iproute2 = "OSPDT"
|
DISTRO_PN_ALIAS_pn-iproute2 = "OSPDT"
|
||||||
DISTRO_PN_ALIAS_pn-jpeg="OpenSuSE=libjpeg Ubuntu=libjpeg62"
|
DISTRO_PN_ALIAS_pn-jpeg="OpenSuSE=libjpeg Ubuntu=libjpeg62"
|
||||||
@@ -197,11 +207,17 @@ DISTRO_PN_ALIAS_pn-linux-libc-headers = "Debian=linux-kernel-headers Ubuntu=linu
|
|||||||
DISTRO_PN_ALIAS_pn-linux-libc-headers-yocto = "Debian=linux-kernel-headers Ubuntu=linux-kernel-headers"
|
DISTRO_PN_ALIAS_pn-linux-libc-headers-yocto = "Debian=linux-kernel-headers Ubuntu=linux-kernel-headers"
|
||||||
DISTRO_PN_ALIAS_pn-linux-yocto = "Debian=linux-base Ubuntu=linux"
|
DISTRO_PN_ALIAS_pn-linux-yocto = "Debian=linux-base Ubuntu=linux"
|
||||||
DISTRO_PN_ALIAS_pn-linux-yocto-rt = "Debian=linux-base Ubuntu=linux"
|
DISTRO_PN_ALIAS_pn-linux-yocto-rt = "Debian=linux-base Ubuntu=linux"
|
||||||
|
DISTRO_PN_ALIAS_pn-linux-yocto-tiny = "OSPDT"
|
||||||
|
DISTRO_PN_ALIAS_pn-lsbinitscripts = "Windriver"
|
||||||
DISTRO_PN_ALIAS_pn-lsbsetup = "Windriver"
|
DISTRO_PN_ALIAS_pn-lsbsetup = "Windriver"
|
||||||
|
DISTRO_PN_ALIAS_pn-lsbtest = "Windriver"
|
||||||
DISTRO_PN_ALIAS_pn-ltp = "Ubuntu=ltp"
|
DISTRO_PN_ALIAS_pn-ltp = "Ubuntu=ltp"
|
||||||
DISTRO_PN_ALIAS_pn-lttng-control = "OSPDT upstream=http://lttng.org/"
|
DISTRO_PN_ALIAS_pn-lttng-control = "OSPDT upstream=http://lttng.org/"
|
||||||
|
DISTRO_PN_ALIAS_pn-lttng-modules = "OSPDT upstream=http://lttng.org/"
|
||||||
|
DISTRO_PN_ALIAS_pn-lttng-tools = "OSPDT upstream=http://lttng.org/"
|
||||||
DISTRO_PN_ALIAS_pn-lttng-ust = "OSPDT upstream=http://lttng.org/"
|
DISTRO_PN_ALIAS_pn-lttng-ust = "OSPDT upstream=http://lttng.org/"
|
||||||
DISTRO_PN_ALIAS_pn-lttng-viewer = "OSPDT upstream=http://lttng.org/"
|
DISTRO_PN_ALIAS_pn-lttng-viewer = "OSPDT upstream=http://lttng.org/"
|
||||||
|
DISTRO_PN_ALIAS_pn-lttng2-ust = "OSPDT upstream=http://lttng.org/"
|
||||||
DISTRO_PN_ALIAS_pn-makedepend = "Mandriva=makedepend Ubuntu=xutils-dev"
|
DISTRO_PN_ALIAS_pn-makedepend = "Mandriva=makedepend Ubuntu=xutils-dev"
|
||||||
DISTRO_PN_ALIAS_pn-makedevs = "OE-Core"
|
DISTRO_PN_ALIAS_pn-makedevs = "OE-Core"
|
||||||
DISTRO_PN_ALIAS_pn-matchbox-config-gtk = "OpenedHand"
|
DISTRO_PN_ALIAS_pn-matchbox-config-gtk = "OpenedHand"
|
||||||
@@ -223,12 +239,13 @@ DISTRO_PN_ALIAS_pn-menu-cache = "OSPDT"
|
|||||||
DISTRO_PN_ALIAS_pn-mesa-dri = "Fedora=mesa Ubuntu=libgl1-mesa-dri"
|
DISTRO_PN_ALIAS_pn-mesa-dri = "Fedora=mesa Ubuntu=libgl1-mesa-dri"
|
||||||
DISTRO_PN_ALIAS_pn-mesa-dri-glsl-native = "Fedora=mesa Ubuntu=libgl1-mesa-dri"
|
DISTRO_PN_ALIAS_pn-mesa-dri-glsl-native = "Fedora=mesa Ubuntu=libgl1-mesa-dri"
|
||||||
DISTRO_PN_ALIAS_pn-meta-environment-i586 = "OE-Core"
|
DISTRO_PN_ALIAS_pn-meta-environment-i586 = "OE-Core"
|
||||||
DISTRO_PN_ALIAS_pn-meta-ide-support = 'OE-Core'
|
DISTRO_PN_ALIAS_pn-meta-ide-support = "OE-Core"
|
||||||
DISTRO_PN_ALIAS_pn-meta-toolchain-gmae = "OE-Core"
|
DISTRO_PN_ALIAS_pn-meta-toolchain-gmae = "OE-Core"
|
||||||
DISTRO_PN_ALIAS_pn-meta-toolchain = "OE-Core"
|
DISTRO_PN_ALIAS_pn-meta-toolchain = "OE-Core"
|
||||||
DISTRO_PN_ALIAS_pn-meta-toolchain-qte = "OE-Core"
|
DISTRO_PN_ALIAS_pn-meta-toolchain-qte = "OE-Core"
|
||||||
DISTRO_PN_ALIAS_pn-meta-toolchain-sdk = "OE-Core"
|
|
||||||
DISTRO_PN_ALIAS_pn-mkfontdir = "Mandriva=mkfontdir Ubuntu=xfonts-utils Fedora=xorg-x11-font-utils"
|
DISTRO_PN_ALIAS_pn-mkfontdir = "Mandriva=mkfontdir Ubuntu=xfonts-utils Fedora=xorg-x11-font-utils"
|
||||||
|
DISTRO_PN_ALIAS_pn-meta-toolchain-sdk = "OE-Core"
|
||||||
|
DISTRO_PN_ALIAS_pn-mini-x-session = "OSPDT"
|
||||||
DISTRO_PN_ALIAS_pn-mkfontscale = "Mandriva=mkfontscale Ubuntu=xfonts-utils Fedora=xorg-x11-font-utils"
|
DISTRO_PN_ALIAS_pn-mkfontscale = "Mandriva=mkfontscale Ubuntu=xfonts-utils Fedora=xorg-x11-font-utils"
|
||||||
DISTRO_PN_ALIAS_pn-mktemp = "Mandriva=mktemp Fedora=mktemp"
|
DISTRO_PN_ALIAS_pn-mktemp = "Mandriva=mktemp Fedora=mktemp"
|
||||||
DISTRO_PN_ALIAS_pn-moblin-proto = "OE-Core"
|
DISTRO_PN_ALIAS_pn-moblin-proto = "OE-Core"
|
||||||
@@ -237,20 +254,53 @@ DISTRO_PN_ALIAS_pn-modutils-initscripts = "OE-Core"
|
|||||||
DISTRO_PN_ALIAS_pn-msynctool = "OpenSuse=msynctool Mandriva=msynctool"
|
DISTRO_PN_ALIAS_pn-msynctool = "OpenSuse=msynctool Mandriva=msynctool"
|
||||||
DISTRO_PN_ALIAS_pn-n450-audio = "Intel"
|
DISTRO_PN_ALIAS_pn-n450-audio = "Intel"
|
||||||
DISTRO_PN_ALIAS_pn-network-suspend-scripts = "OE-Core"
|
DISTRO_PN_ALIAS_pn-network-suspend-scripts = "OE-Core"
|
||||||
|
DISTRO_PN_ALIAS_pn-nfs-export-root = "OpenedHand"
|
||||||
|
DISTRO_PN_ALIAS_pn-ocf-linux = "OSPDT"
|
||||||
DISTRO_PN_ALIAS_pn-ofono = "Debian=ofono Ubuntu=ofono"
|
DISTRO_PN_ALIAS_pn-ofono = "Debian=ofono Ubuntu=ofono"
|
||||||
DISTRO_PN_ALIAS_pn-oh-puzzles = "OpenedHand"
|
DISTRO_PN_ALIAS_pn-oh-puzzles = "OpenedHand"
|
||||||
DISTRO_PN_ALIAS_pn-opkg-collateral = "OE-Core"
|
DISTRO_PN_ALIAS_pn-opkg-collateral = "OE-Core"
|
||||||
DISTRO_PN_ALIAS_pn-opkg-config-base = "OE-Core"
|
DISTRO_PN_ALIAS_pn-opkg-config-base = "OE-Core"
|
||||||
DISTRO_PN_ALIAS_pn-opkg-nogpg-native = "OE-Core"
|
DISTRO_PN_ALIAS_pn-opkg-nogpg = "OSPDT upstream=http://svn.openmoko.org/trunk/src/tar"
|
||||||
DISTRO_PN_ALIAS_pn-opkg-nogpg-nativesdk = "OE-Core"
|
|
||||||
DISTRO_PN_ALIAS_pn-opkg-nogpg = "OE-Core"
|
|
||||||
DISTRO_PN_ALIAS_pn-opkg_nogpg = "OSPDT upstream=http://svn.openmoko.org/trunk/src/tar"
|
|
||||||
DISTRO_PN_ALIAS_pn-opkg = "OSPDT upstream=http://svn.openmoko.org/trunk/src/tar"
|
DISTRO_PN_ALIAS_pn-opkg = "OSPDT upstream=http://svn.openmoko.org/trunk/src/tar"
|
||||||
DISTRO_PN_ALIAS_pn-opkg-utils = "OSPDT upstream=http://svn.openmoko.org/trunk/src/target/opkg/"
|
DISTRO_PN_ALIAS_pn-opkg-utils = "OSPDT upstream=http://svn.openmoko.org/trunk/src/target/opkg/"
|
||||||
DISTRO_PN_ALIAS_pn-oprofileui = "Fedora=oprofileui Ubuntu=oprofile-gui Debian=oprofile-gui"
|
DISTRO_PN_ALIAS_pn-oprofileui = "Fedora=oprofileui Ubuntu=oprofile-gui Debian=oprofile-gui"
|
||||||
|
DISTRO_PN_ALIAS_pn-oprofileui-server = "Fedora=oprofileui Ubuntu=oprofile-gui Debian=oprofile-gui"
|
||||||
DISTRO_PN_ALIAS_pn-orinoco-conf = "OE-Core"
|
DISTRO_PN_ALIAS_pn-orinoco-conf = "OE-Core"
|
||||||
DISTRO_PN_ALIAS_pn-owl-video = "OpenedHand"
|
DISTRO_PN_ALIAS_pn-owl-video = "OpenedHand"
|
||||||
DISTRO_PN_ALIAS_pn-package-index = "OE-Core"
|
DISTRO_PN_ALIAS_pn-package-index = "OE-Core"
|
||||||
|
DISTRO_PN_ALIAS_pn-packagegroup-base = "OE-Core"
|
||||||
|
DISTRO_PN_ALIAS_pn-packagegroup-core-basic = "OE-Core"
|
||||||
|
DISTRO_PN_ALIAS_pn-packagegroup-core-boot = "OE-Core"
|
||||||
|
DISTRO_PN_ALIAS_pn-packagegroup-core-clutter = "OE-Core"
|
||||||
|
DISTRO_PN_ALIAS_pn-packagegroup-core-console = "OE-Core"
|
||||||
|
DISTRO_PN_ALIAS_pn-packagegroup-core-device-devel = "OE-Core"
|
||||||
|
DISTRO_PN_ALIAS_pn-packagegroup-core-gtk-directfb = "OE-Core"
|
||||||
|
DISTRO_PN_ALIAS_pn-packagegroup-core-lsb = "OE-Core"
|
||||||
|
DISTRO_PN_ALIAS_pn-packagegroup-core-nfs = "OE-Core"
|
||||||
|
DISTRO_PN_ALIAS_pn-packagegroup-core = "OE-Core"
|
||||||
|
DISTRO_PN_ALIAS_pn-packagegroup-core-qt = "OE-Core"
|
||||||
|
DISTRO_PN_ALIAS_pn-packagegroup-core-qt4e = "OE-Core"
|
||||||
|
DISTRO_PN_ALIAS_pn-packagegroup-core-sdk-gmae = "OE-Core"
|
||||||
|
DISTRO_PN_ALIAS_pn-packagegroup-core-sdk = "OE-Core"
|
||||||
|
DISTRO_PN_ALIAS_pn-packagegroup-core-ssh-dropbear = "OE-Core"
|
||||||
|
DISTRO_PN_ALIAS_pn-packagegroup-core-ssh-openssh = "OE-Core"
|
||||||
|
DISTRO_PN_ALIAS_pn-packagegroup-core-standalone-gmae-sdk-target = "OE-Core"
|
||||||
|
DISTRO_PN_ALIAS_pn-packagegroup-core-standalone-sdk-target = "OE-Core"
|
||||||
|
DISTRO_PN_ALIAS_pn-packagegroup-core-tools-debug = "OE-Core"
|
||||||
|
DISTRO_PN_ALIAS_pn-packagegroup-core-tools = "OE-Core"
|
||||||
|
DISTRO_PN_ALIAS_pn-packagegroup-core-tools-profile = "OE-Core"
|
||||||
|
DISTRO_PN_ALIAS_pn-packagegroup-core-tools-testapps = "OE-Core"
|
||||||
|
DISTRO_PN_ALIAS_pn-packagegroup-core-x11-mini = "OE-Core"
|
||||||
|
DISTRO_PN_ALIAS_pn-packagegroup-core-x11 = "OE-Core"
|
||||||
|
DISTRO_PN_ALIAS_pn-packagegroup-core-x11-base = "OE-Core"
|
||||||
|
DISTRO_PN_ALIAS_pn-packagegroup-core-x11-sato = "OE-Core"
|
||||||
|
DISTRO_PN_ALIAS_pn-packagegroup-core-x11-xserver = "OE-Core"
|
||||||
|
DISTRO_PN_ALIAS_pn-packagegroup-cross-canadian-i586 = "OE-Core"
|
||||||
|
DISTRO_PN_ALIAS_pn-packagegroup-qt4e = "OE-Core"
|
||||||
|
DISTRO_PN_ALIAS_pn-packagegroup-qte-toolchain-host = "OE-Core"
|
||||||
|
DISTRO_PN_ALIAS_pn-packagegroup-qte-toolchain-target = "Intel"
|
||||||
|
DISTRO_PN_ALIAS_pn-packagegroup-sdk-host = "OE-Core"
|
||||||
|
DISTRO_PN_ALIAS_pn-packagegroup-self-hosted = "OE-Core"
|
||||||
DISTRO_PN_ALIAS_pn-pointercal = "OE-Core"
|
DISTRO_PN_ALIAS_pn-pointercal = "OE-Core"
|
||||||
DISTRO_PN_ALIAS_pn-poky-feed-config-opkg = "OE-Core"
|
DISTRO_PN_ALIAS_pn-poky-feed-config-opkg = "OE-Core"
|
||||||
DISTRO_PN_ALIAS_pn-pong-clock = "OpenedHand"
|
DISTRO_PN_ALIAS_pn-pong-clock = "OpenedHand"
|
||||||
@@ -271,6 +321,7 @@ DISTRO_PN_ALIAS_pn-python-pygtk = "Debian=python-gtk2 Fedora=pygtk2 OpenSuSE=pyt
|
|||||||
DISTRO_PN_ALIAS_pn-python-pyrex = "Mandriva=python-pyrex Ubuntu=python-pyrex"
|
DISTRO_PN_ALIAS_pn-python-pyrex = "Mandriva=python-pyrex Ubuntu=python-pyrex"
|
||||||
DISTRO_PN_ALIAS_pn-python-scons = "Fedora=scons OpenSuSE=scons Ubuntu=scons Mandriva=scons Debian=scons"
|
DISTRO_PN_ALIAS_pn-python-scons = "Fedora=scons OpenSuSE=scons Ubuntu=scons Mandriva=scons Debian=scons"
|
||||||
DISTRO_PN_ALIAS_pn-python-ZSI = "OE-Core"
|
DISTRO_PN_ALIAS_pn-python-ZSI = "OE-Core"
|
||||||
|
DISTRO_PN_ALIAS_pn-qemu-helper = "OpenedHand"
|
||||||
DISTRO_PN_ALIAS_pn-qemu-config = "OpenedHand"
|
DISTRO_PN_ALIAS_pn-qemu-config = "OpenedHand"
|
||||||
DISTRO_PN_ALIAS_pn-qemugl = "OpenedHand"
|
DISTRO_PN_ALIAS_pn-qemugl = "OpenedHand"
|
||||||
DISTRO_PN_ALIAS_pn-qemu-helper-native = "OpenedHand"
|
DISTRO_PN_ALIAS_pn-qemu-helper-native = "OpenedHand"
|
||||||
@@ -281,7 +332,7 @@ DISTRO_PN_ALIAS_pn-qt4-embedded = "OSPDT"
|
|||||||
DISTRO_PN_ALIAS_pn-qt4-graphics-system = "OE-Core"
|
DISTRO_PN_ALIAS_pn-qt4-graphics-system = "OE-Core"
|
||||||
DISTRO_PN_ALIAS_pn-qt4-native = "Fedora=qt4 Debian=qt4-dev-tools"
|
DISTRO_PN_ALIAS_pn-qt4-native = "Fedora=qt4 Debian=qt4-dev-tools"
|
||||||
DISTRO_PN_ALIAS_pn-qt4-native = "Mandriva=libqt4-devel Ubuntu=libqt4-dev"
|
DISTRO_PN_ALIAS_pn-qt4-native = "Mandriva=libqt4-devel Ubuntu=libqt4-dev"
|
||||||
DISTRO_PN_ALIAS_pn-qt4-tools-nativesdk = "Mandriva=libqt4-devel Ubuntu=libqt4-dev"
|
DISTRO_PN_ALIAS_pn-qt4-tools = "Mandriva=libqt4-devel Ubuntu=libqt4-dev"
|
||||||
DISTRO_PN_ALIAS_pn-qt4-x11-free = "Ubuntu=qt-x11-free Debian=qt-x11-free"
|
DISTRO_PN_ALIAS_pn-qt4-x11-free = "Ubuntu=qt-x11-free Debian=qt-x11-free"
|
||||||
DISTRO_PN_ALIAS_pn-qt-demo-init = "OE-Core"
|
DISTRO_PN_ALIAS_pn-qt-demo-init = "OE-Core"
|
||||||
DISTRO_PN_ALIAS_pn-qt-mobility-embedded = "Ubuntu=qtmobility-dev Debian=qtmobility-dev"
|
DISTRO_PN_ALIAS_pn-qt-mobility-embedded = "Ubuntu=qtmobility-dev Debian=qtmobility-dev"
|
||||||
@@ -289,6 +340,7 @@ DISTRO_PN_ALIAS_pn-qt-mobility-x11 = "Ubuntu=qtmobility-dev Debian=qtmobility-de
|
|||||||
DISTRO_PN_ALIAS_pn-quicky = "OSPDT"
|
DISTRO_PN_ALIAS_pn-quicky = "OSPDT"
|
||||||
DISTRO_PN_ALIAS_pn-randrproto = "Meego=xorg-x11-proto-randrproto"
|
DISTRO_PN_ALIAS_pn-randrproto = "Meego=xorg-x11-proto-randrproto"
|
||||||
DISTRO_PN_ALIAS_pn-recordproto = "Meego=xorg-x11-proto-recordproto"
|
DISTRO_PN_ALIAS_pn-recordproto = "Meego=xorg-x11-proto-recordproto"
|
||||||
|
DISTRO_PN_ALIAS_pn-remake = "Mandriva=remake Debian=remake"
|
||||||
DISTRO_PN_ALIAS_pn-renderproto = "Meego=xorg-x11-proto-renderproto"
|
DISTRO_PN_ALIAS_pn-renderproto = "Meego=xorg-x11-proto-renderproto"
|
||||||
DISTRO_PN_ALIAS_pn-resourceproto = "Meego=xorg-x11-proto-resourceproto"
|
DISTRO_PN_ALIAS_pn-resourceproto = "Meego=xorg-x11-proto-resourceproto"
|
||||||
DISTRO_PN_ALIAS_pn-rgb = "Fedora=xorg-X11-server-utils Debian=x11-xserver-utils"
|
DISTRO_PN_ALIAS_pn-rgb = "Fedora=xorg-X11-server-utils Debian=x11-xserver-utils"
|
||||||
@@ -304,6 +356,7 @@ DISTRO_PN_ALIAS_pn-sgmlspl = "Debian=sgmlspl Ubuntu=sgmlspl"
|
|||||||
DISTRO_PN_ALIAS_pn-shadow-securetty = "Ubuntu=shadow Fedora=shadow"
|
DISTRO_PN_ALIAS_pn-shadow-securetty = "Ubuntu=shadow Fedora=shadow"
|
||||||
DISTRO_PN_ALIAS_pn-shadow-sysroot = "Ubuntu=shadow Fedora=shadow"
|
DISTRO_PN_ALIAS_pn-shadow-sysroot = "Ubuntu=shadow Fedora=shadow"
|
||||||
DISTRO_PN_ALIAS_pn-shasum-native = "OE-Core"
|
DISTRO_PN_ALIAS_pn-shasum-native = "OE-Core"
|
||||||
|
DISTRO_PN_ALIAS_pn-shutdown-desktop = "OpenedHand"
|
||||||
DISTRO_PN_ALIAS_pn-signgp-native = "OE-Core"
|
DISTRO_PN_ALIAS_pn-signgp-native = "OE-Core"
|
||||||
DISTRO_PN_ALIAS_pn-stat = "Debian=coreutils Fedora=coreutils"
|
DISTRO_PN_ALIAS_pn-stat = "Debian=coreutils Fedora=coreutils"
|
||||||
DISTRO_PN_ALIAS_pn-swabber-native = "OE-Core"
|
DISTRO_PN_ALIAS_pn-swabber-native = "OE-Core"
|
||||||
@@ -311,41 +364,14 @@ DISTRO_PN_ALIAS_pn-systemtap-uprobes = "Ubuntu=systemtap Debian=systemtap"
|
|||||||
DISTRO_PN_ALIAS_pn-sysvinit-inittab = "OE-Core"
|
DISTRO_PN_ALIAS_pn-sysvinit-inittab = "OE-Core"
|
||||||
DISTRO_PN_ALIAS_pn-table = "Intel"
|
DISTRO_PN_ALIAS_pn-table = "Intel"
|
||||||
DISTRO_PN_ALIAS_pn-tar-replacement-native = "OE-Core"
|
DISTRO_PN_ALIAS_pn-tar-replacement-native = "OE-Core"
|
||||||
DISTRO_PN_ALIAS_pn-packagegroup-base = "OE-Core"
|
|
||||||
DISTRO_PN_ALIAS_pn-packagegroup-core-basic = "OE-Core"
|
|
||||||
DISTRO_PN_ALIAS_pn-packagegroup-core-boot = "OE-Core"
|
|
||||||
DISTRO_PN_ALIAS_pn-packagegroup-core-clutter = "OE-Core"
|
|
||||||
DISTRO_PN_ALIAS_pn-packagegroup-core-console = "OE-Core"
|
|
||||||
DISTRO_PN_ALIAS_pn-packagegroup-core-gtk-directfb = "OE-Core"
|
|
||||||
DISTRO_PN_ALIAS_pn-packagegroup-core-lsb = "OE-Core"
|
|
||||||
DISTRO_PN_ALIAS_pn-packagegroup-core-nfs = "OE-Core"
|
|
||||||
DISTRO_PN_ALIAS_pn-packagegroup-core = "OE-Core"
|
|
||||||
DISTRO_PN_ALIAS_pn-packagegroup-core-qt = "OE-Core"
|
|
||||||
DISTRO_PN_ALIAS_pn-packagegroup-core-sdk-gmae = "OE-Core"
|
|
||||||
DISTRO_PN_ALIAS_pn-packagegroup-core-sdk = "OE-Core"
|
|
||||||
DISTRO_PN_ALIAS_pn-packagegroup-core-ssh-dropbear = "OE-Core"
|
|
||||||
DISTRO_PN_ALIAS_pn-packagegroup-core-ssh-openssh = "OE-Core"
|
|
||||||
DISTRO_PN_ALIAS_pn-packagegroup-core-standalone-gmae-sdk-target = "OE-Core"
|
|
||||||
DISTRO_PN_ALIAS_pn-packagegroup-core-standalone-sdk-target = "OE-Core"
|
|
||||||
DISTRO_PN_ALIAS_pn-packagegroup-core-tools-debug = "OE-Core"
|
|
||||||
DISTRO_PN_ALIAS_pn-packagegroup-core-tools = "OE-Core"
|
|
||||||
DISTRO_PN_ALIAS_pn-packagegroup-core-tools-profile = "OE-Core"
|
|
||||||
DISTRO_PN_ALIAS_pn-packagegroup-core-tools-testapps = "OE-Core"
|
|
||||||
DISTRO_PN_ALIAS_pn-packagegroup-core-x11-mini = "OE-Core"
|
|
||||||
DISTRO_PN_ALIAS_pn-packagegroup-core-x11 = "OE-Core"
|
|
||||||
DISTRO_PN_ALIAS_pn-packagegroup-core-x11-sato = "OE-Core"
|
|
||||||
DISTRO_PN_ALIAS_pn-packagegroup-cross-canadian-i586 = "OE-Core"
|
|
||||||
DISTRO_PN_ALIAS_pn-packagegroup-qt4e = "OE-Core"
|
|
||||||
DISTRO_PN_ALIAS_pn-packagegroup-qte-toolchain-host-nativesdk = "OE-Core"
|
|
||||||
DISTRO_PN_ALIAS_pn-packagegroup-qte-toolchain-host-natives = "OE-Core"
|
|
||||||
DISTRO_PN_ALIAS_pn-packagegroup-qte-toolchain-target = "Intel"
|
|
||||||
DISTRO_PN_ALIAS_pn-packagegroup-sdk-host = "OE-Core"
|
|
||||||
DISTRO_PN_ALIAS_pn-packagegroup-self-hosted = "OE-Core"
|
|
||||||
DISTRO_PN_ALIAS_pn-tcf-agent = "Windriver upstream=http://www.eclipse.org/dsdp/tm/"
|
DISTRO_PN_ALIAS_pn-tcf-agent = "Windriver upstream=http://www.eclipse.org/dsdp/tm/"
|
||||||
|
DISTRO_PN_ALIAS_pn-telepathy-python = "Debian=telepathy-python Ubuntu=telepathy-python"
|
||||||
|
DISTRO_PN_ALIAS_pn-tiny-init = "OSPDT"
|
||||||
DISTRO_PN_ALIAS_pn-tinylogin = "Debian=busybox Ubuntu=busybox Mandriva=busybox"
|
DISTRO_PN_ALIAS_pn-tinylogin = "Debian=busybox Ubuntu=busybox Mandriva=busybox"
|
||||||
DISTRO_PN_ALIAS_pn-trace-cmd = "Mandriva=trace-cmd Ubuntu=trace-cmd"
|
DISTRO_PN_ALIAS_pn-trace-cmd = "Mandriva=trace-cmd Ubuntu=trace-cmd"
|
||||||
DISTRO_PN_ALIAS_pn-trapproto = "Meego=xorg-x11-proto-trapproto"
|
DISTRO_PN_ALIAS_pn-trapproto = "Meego=xorg-x11-proto-trapproto"
|
||||||
DISTRO_PN_ALIAS_pn-tremor = "OSPDT upstream=http://www.xiph.org/vorbis/"
|
DISTRO_PN_ALIAS_pn-tremor = "OSPDT upstream=http://www.xiph.org/vorbis/"
|
||||||
|
DISTRO_PN_ALIAS_pn-tslib = "Debian=tslib Ubuntu=tslib"
|
||||||
DISTRO_PN_ALIAS_pn-ttf-bitstream-vera = "Debian=ttf-bitstream-vera Ubuntu=ttf-bitstream-vera"
|
DISTRO_PN_ALIAS_pn-ttf-bitstream-vera = "Debian=ttf-bitstream-vera Ubuntu=ttf-bitstream-vera"
|
||||||
DISTRO_PN_ALIAS_pn-tzcode = "OSPDT"
|
DISTRO_PN_ALIAS_pn-tzcode = "OSPDT"
|
||||||
DISTRO_PN_ALIAS_pn-ubootchart = "OSPDT upstream=http://code.google.com/p/ubootchart"
|
DISTRO_PN_ALIAS_pn-ubootchart = "OSPDT upstream=http://code.google.com/p/ubootchart"
|
||||||
@@ -361,14 +387,17 @@ DISTRO_PN_ALIAS_pn-util-macros = "Meego=xorg-x11-util-macros Fedora=xorg-x11-uti
|
|||||||
DISTRO_PN_ALIAS_pn-v86d = "Debian=v86d Ubuntu=v86d"
|
DISTRO_PN_ALIAS_pn-v86d = "Debian=v86d Ubuntu=v86d"
|
||||||
DISTRO_PN_ALIAS_pn-videoproto = "Meego=xorg-x11-proto-videoproto"
|
DISTRO_PN_ALIAS_pn-videoproto = "Meego=xorg-x11-proto-videoproto"
|
||||||
DISTRO_PN_ALIAS_pn-watchdog = "Debian=watchdog Ubuntu=watchdog Mandriva=watchdog"
|
DISTRO_PN_ALIAS_pn-watchdog = "Debian=watchdog Ubuntu=watchdog Mandriva=watchdog"
|
||||||
DISTRO_PN_ALIAS_pn-webkit-gtk = "Fedora=webkitgtk"
|
|
||||||
DISTRO_PN_ALIAS_pn-webkit-gtk = "Fedora=webkitgtk Ubuntu=libwebkit"
|
DISTRO_PN_ALIAS_pn-webkit-gtk = "Fedora=webkitgtk Ubuntu=libwebkit"
|
||||||
DISTRO_PN_ALIAS_pn-web = "OpenedHand"
|
DISTRO_PN_ALIAS_pn-web = "OpenedHand"
|
||||||
DISTRO_PN_ALIAS_pn-web-webkit = "OpenedHand"
|
DISTRO_PN_ALIAS_pn-web-webkit = "OpenedHand"
|
||||||
|
DISTRO_PN_ALIAS_pn-which = "Mandriva=which Fedora=which"
|
||||||
DISTRO_PN_ALIAS_pn-wpa-supplicant = "Meego=wpa_supplicant Fedora=wpa_supplicant OpenSuSE=wpa_supplicant Ubuntu=wpasupplicant Mandriva=wpa_supplicant Debian=wpasupplicant"
|
DISTRO_PN_ALIAS_pn-wpa-supplicant = "Meego=wpa_supplicant Fedora=wpa_supplicant OpenSuSE=wpa_supplicant Ubuntu=wpasupplicant Mandriva=wpa_supplicant Debian=wpasupplicant"
|
||||||
DISTRO_PN_ALIAS_pn-x11-common = "OE-Core"
|
DISTRO_PN_ALIAS_pn-x11-common = "OE-Core"
|
||||||
DISTRO_PN_ALIAS_pn-x11perf = "Fedora=xorg-x11-apps Ubuntu=x11-apps"
|
DISTRO_PN_ALIAS_pn-x11perf = "Fedora=xorg-x11-apps Ubuntu=x11-apps"
|
||||||
DISTRO_PN_ALIAS_pn-x11vnc = "Fedora=x11vnc Ubuntu=x11vnc"
|
DISTRO_PN_ALIAS_pn-x11vnc = "Fedora=x11vnc Ubuntu=x11vnc"
|
||||||
|
DISTRO_PN_ALIAS_pn-xcb-util-wm = "Debian=xcb-util Fedora=xcb-util"
|
||||||
|
DISTRO_PN_ALIAS_pn-xcb-util-image = "Debian=xcb-util Fedora=xcb-util"
|
||||||
|
DISTRO_PN_ALIAS_pn-xcb-util-keysyms = "Debian=xcb-util Fedora=xcb-util"
|
||||||
DISTRO_PN_ALIAS_pn-xcmiscproto = "Meego=xorg-x11-proto-xcmiscproto"
|
DISTRO_PN_ALIAS_pn-xcmiscproto = "Meego=xorg-x11-proto-xcmiscproto"
|
||||||
DISTRO_PN_ALIAS_pn-xcursor-transparent-theme = "OpenedHand"
|
DISTRO_PN_ALIAS_pn-xcursor-transparent-theme = "OpenedHand"
|
||||||
DISTRO_PN_ALIAS_pn-xdpyinfo = "Fedora=xorg-x11-utils Ubuntu=x11-utils"
|
DISTRO_PN_ALIAS_pn-xdpyinfo = "Fedora=xorg-x11-utils Ubuntu=x11-utils"
|
||||||
|
|||||||
@@ -37,7 +37,7 @@ DISTRO = "poky-tiny"
|
|||||||
# Distro config is evaluated after the machine config, so we have to explicitly
|
# Distro config is evaluated after the machine config, so we have to explicitly
|
||||||
# set the kernel provider to override a machine config.
|
# set the kernel provider to override a machine config.
|
||||||
PREFERRED_PROVIDER_virtual/kernel = "linux-yocto-tiny"
|
PREFERRED_PROVIDER_virtual/kernel = "linux-yocto-tiny"
|
||||||
PREFERRED_VERSION_linux-yocto-tiny = "3.2%"
|
PREFERRED_VERSION_linux-yocto-tiny = "3.4%"
|
||||||
|
|
||||||
# We can use packagegroup-core-boot, but in the future we may need a new packagegroup-core-tiny
|
# We can use packagegroup-core-boot, but in the future we may need a new packagegroup-core-tiny
|
||||||
#POKY_DEFAULT_EXTRA_RDEPENDS += "packagegroup-core-boot"
|
#POKY_DEFAULT_EXTRA_RDEPENDS += "packagegroup-core-boot"
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
DISTRO = "poky"
|
DISTRO = "poky"
|
||||||
DISTRO_NAME = "Poky 7.0 (Yocto Project 1.2 Reference Distro)"
|
DISTRO_NAME = "Poky 8.0 (Yocto Project 1.3 Reference Distro)"
|
||||||
DISTRO_VERSION = "1.2+snapshot-${DATE}"
|
DISTRO_VERSION = "1.3"
|
||||||
SDK_VENDOR = "-pokysdk"
|
SDK_VENDOR = "-pokysdk"
|
||||||
SDK_VERSION := "${@'${DISTRO_VERSION}'.replace('snapshot-${DATE}','snapshot')}"
|
SDK_VERSION := "${DISTRO_VERSION}"
|
||||||
|
|
||||||
MAINTAINER = "Poky <poky@yoctoproject.org>"
|
MAINTAINER = "Poky <poky@yoctoproject.org>"
|
||||||
|
|
||||||
@@ -70,8 +70,9 @@ CONNECTIVITY_CHECK_URIS ?= " \
|
|||||||
|
|
||||||
SANITY_TESTED_DISTROS ?= " \
|
SANITY_TESTED_DISTROS ?= " \
|
||||||
Yocto (Built by Poky 7.0) 1.2 \n \
|
Yocto (Built by Poky 7.0) 1.2 \n \
|
||||||
Poky 7.0 (Yocto Project 1.2 Reference Distro) \n \
|
Yocto (Built by Poky 8.0) 1.3 \n \
|
||||||
Poky 8.0 (Yocto Project 1.3 Reference Distro) \n \
|
Poky 7.0 (Yocto Project 1.2 Reference Distro) 1.2 \n \
|
||||||
|
Poky 8.0 (Yocto Project 1.3 Reference Distro) 1.3 \n \
|
||||||
Ubuntu 10.04.4 LTS \n \
|
Ubuntu 10.04.4 LTS \n \
|
||||||
Ubuntu 11.10 \n \
|
Ubuntu 11.10 \n \
|
||||||
Ubuntu 12.04 LTS \n \
|
Ubuntu 12.04 LTS \n \
|
||||||
|
|||||||
@@ -54,6 +54,13 @@ LDFLAGS = "${BUILDSDK_LDFLAGS} \
|
|||||||
|
|
||||||
DEPENDS_GETTEXT = "gettext-native nativesdk-gettext"
|
DEPENDS_GETTEXT = "gettext-native nativesdk-gettext"
|
||||||
|
|
||||||
|
#
|
||||||
|
# We need chrpath >= 0.14 to ensure we can deal with 32 and 64 bit
|
||||||
|
# binaries
|
||||||
|
#
|
||||||
|
DEPENDS_append = " chrpath-replacement-native"
|
||||||
|
EXTRANATIVEPATH += "chrpath-native"
|
||||||
|
|
||||||
# Path mangling needed by the cross packaging
|
# Path mangling needed by the cross packaging
|
||||||
# Note that we use := here to ensure that libdir and includedir are
|
# Note that we use := here to ensure that libdir and includedir are
|
||||||
# target paths.
|
# target paths.
|
||||||
|
|||||||
@@ -324,11 +324,15 @@ package_install_internal_rpm () {
|
|||||||
rm -f $m
|
rm -f $m
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
sort -u ${target_rootfs}/install/original_solution.manifest -o ${target_rootfs}/install/original_solution.manifest.new
|
||||||
|
mv ${target_rootfs}/install/original_solution.manifest.new ${target_rootfs}/install/original_solution.manifest
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Setup manifest of packages to install...
|
# Setup manifest of packages to install...
|
||||||
mkdir -p ${target_rootfs}/install
|
mkdir -p ${target_rootfs}/install
|
||||||
rm -f ${target_rootfs}/install/install.manifest
|
rm -f ${target_rootfs}/install/install.manifest
|
||||||
|
rm -f ${target_rootfs}/install/install_multilib.manifest
|
||||||
|
rm -f ${target_rootfs}/install/install_attemptonly.manifest
|
||||||
|
|
||||||
# Uclibc builds don't provide this stuff...
|
# Uclibc builds don't provide this stuff...
|
||||||
if [ x${TARGET_OS} = "xlinux" ] || [ x${TARGET_OS} = "xlinux-gnueabi" ] ; then
|
if [ x${TARGET_OS} = "xlinux" ] || [ x${TARGET_OS} = "xlinux-gnueabi" ] ; then
|
||||||
@@ -428,7 +432,7 @@ package_install_internal_rpm () {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# Now that we have a solution, pull out a list of what to install...
|
# Now that we have a solution, pull out a list of what to install...
|
||||||
echo "Manifest: ${target_rootfs}/install/install.manifest"
|
echo "Manifest: ${target_rootfs}/install/install_solution.manifest"
|
||||||
${RPM} -D "_dbpath ${target_rootfs}/install" -qa --qf "%{packageorigin}\n" \
|
${RPM} -D "_dbpath ${target_rootfs}/install" -qa --qf "%{packageorigin}\n" \
|
||||||
--root "${target_rootfs}/install" \
|
--root "${target_rootfs}/install" \
|
||||||
-D "__dbi_txn create nofsync private" \
|
-D "__dbi_txn create nofsync private" \
|
||||||
@@ -459,8 +463,8 @@ package_install_internal_rpm () {
|
|||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
cat ${target_rootfs}/install/install_solution.manifest > ${target_rootfs}/install/total_solution.manifest
|
cat ${target_rootfs}/install/install_solution.manifest \
|
||||||
cat ${target_rootfs}/install/install_multilib_solution.manifest >> ${target_rootfs}/install/total_solution.manifest
|
${target_rootfs}/install/install_multilib_solution.manifest | sort -u > ${target_rootfs}/install/total_solution.manifest
|
||||||
|
|
||||||
# Construct install scriptlet wrapper
|
# Construct install scriptlet wrapper
|
||||||
cat << EOF > ${WORKDIR}/scriptlet_wrapper
|
cat << EOF > ${WORKDIR}/scriptlet_wrapper
|
||||||
@@ -521,8 +525,8 @@ EOF
|
|||||||
if [ "${INSTALL_COMPLEMENTARY_RPM}" = "1" ] ; then
|
if [ "${INSTALL_COMPLEMENTARY_RPM}" = "1" ] ; then
|
||||||
# Only install packages not already installed (dependency calculation will
|
# Only install packages not already installed (dependency calculation will
|
||||||
# almost certainly have added some that have been)
|
# almost certainly have added some that have been)
|
||||||
sort ${target_rootfs}/install/original_solution.manifest > ${target_rootfs}/install/original_solution_sorted.manifest
|
sort -u ${target_rootfs}/install/original_solution.manifest > ${target_rootfs}/install/original_solution_sorted.manifest
|
||||||
sort ${target_rootfs}/install/total_solution.manifest > ${target_rootfs}/install/total_solution_sorted.manifest
|
sort -u ${target_rootfs}/install/total_solution.manifest > ${target_rootfs}/install/total_solution_sorted.manifest
|
||||||
comm -2 -3 ${target_rootfs}/install/total_solution_sorted.manifest \
|
comm -2 -3 ${target_rootfs}/install/total_solution_sorted.manifest \
|
||||||
${target_rootfs}/install/original_solution_sorted.manifest > \
|
${target_rootfs}/install/original_solution_sorted.manifest > \
|
||||||
${target_rootfs}/install/diff.manifest
|
${target_rootfs}/install/diff.manifest
|
||||||
|
|||||||
@@ -19,9 +19,15 @@ SSTATE_PATHSPEC = "${SSTATE_DIR}/${SSTATE_EXTRAPATHWILDCARD}*/${SSTATE_PKGSPEC
|
|||||||
|
|
||||||
# In theory we should be using:
|
# In theory we should be using:
|
||||||
# SSTATE_DUPWHITELIST = "${DEPLOY_DIR_IMAGE}/ ${DEPLOY_DIR}/licenses/ ${DEPLOY_DIR_IPK}/all/ ${DEPLOY_DIR_RPM}/all ${DEPLOY_DIR_DEB}/all/ ${TMPDIR}/pkgdata/all${TARGET_VENDOR}-${TARGET_OS}"
|
# SSTATE_DUPWHITELIST = "${DEPLOY_DIR_IMAGE}/ ${DEPLOY_DIR}/licenses/ ${DEPLOY_DIR_IPK}/all/ ${DEPLOY_DIR_RPM}/all ${DEPLOY_DIR_DEB}/all/ ${TMPDIR}/pkgdata/all${TARGET_VENDOR}-${TARGET_OS}"
|
||||||
# However until do_package is not machine specific, we'll have to make do with this:
|
# However until do_package is not machine specific, we'll have to make do with all of deploy/pkgdata.
|
||||||
SSTATE_DUPWHITELIST = "${DEPLOY_DIR}/ ${TMPDIR}/pkgdata/"
|
SSTATE_DUPWHITELIST = "${DEPLOY_DIR}/ ${TMPDIR}/pkgdata/"
|
||||||
|
# Also need to make cross recipes append to ${PN} and install once for any given PACAGE_ARCH so
|
||||||
|
# can avoid multiple installs (e.g. routerstationpro+qemumips both using mips32)
|
||||||
|
SSTATE_DUPWHITELIST += "${STAGING_LIBDIR_NATIVE}/${MULTIMACH_TARGET_SYS} ${STAGING_DIR_NATIVE}/usr/libexec/${MULTIMACH_TARGET_SYS} ${STAGING_BINDIR_NATIVE}/${MULTIMACH_TARGET_SYS} ${STAGING_DIR_NATIVE}${includedir_native}/gcc-build-internal-${MULTIMACH_TARGET_SYS}"
|
||||||
|
# Also avoid python issues until we fix the python recipe
|
||||||
|
SSTATE_DUPWHITELIST += "${STAGING_LIBDIR}/python2.7/config/Makefile ${STAGING_LIBDIR}/libpython2.7 ${STAGING_INCDIR}/python2.7/pyconfig.h"
|
||||||
|
# Avoid docbook/sgml catalog warnings for now
|
||||||
|
SSTATE_DUPWHITELIST += "${STAGING_ETCDIR_NATIVE}/sgml ${STAGING_DATADIR_NATIVE}/sgml"
|
||||||
|
|
||||||
SSTATE_SCAN_FILES ?= "*.la *-config *_config"
|
SSTATE_SCAN_FILES ?= "*.la *-config *_config"
|
||||||
SSTATE_SCAN_CMD ?= 'find ${SSTATE_BUILDDIR} \( -name "${@"\" -o -name \"".join(d.getVar("SSTATE_SCAN_FILES", True).split())}" \) -type f'
|
SSTATE_SCAN_CMD ?= 'find ${SSTATE_BUILDDIR} \( -name "${@"\" -o -name \"".join(d.getVar("SSTATE_SCAN_FILES", True).split())}" \) -type f'
|
||||||
@@ -150,6 +156,7 @@ def sstate_install(ss, d):
|
|||||||
match = []
|
match = []
|
||||||
for f in sharedfiles:
|
for f in sharedfiles:
|
||||||
if os.path.exists(f):
|
if os.path.exists(f):
|
||||||
|
f = os.path.normpath(f)
|
||||||
realmatch = True
|
realmatch = True
|
||||||
for w in whitelist:
|
for w in whitelist:
|
||||||
if f.startswith(w):
|
if f.startswith(w):
|
||||||
|
|||||||
@@ -26,6 +26,7 @@ toolchain_create_sdk_env_script () {
|
|||||||
echo 'export OBJDUMP=${TARGET_PREFIX}objdump' >> $script
|
echo 'export OBJDUMP=${TARGET_PREFIX}objdump' >> $script
|
||||||
echo 'export AR=${TARGET_PREFIX}ar' >> $script
|
echo 'export AR=${TARGET_PREFIX}ar' >> $script
|
||||||
echo 'export NM=${TARGET_PREFIX}nm' >> $script
|
echo 'export NM=${TARGET_PREFIX}nm' >> $script
|
||||||
|
echo 'export M4=m4' >> $script
|
||||||
echo 'export TARGET_PREFIX=${TARGET_PREFIX}' >> $script
|
echo 'export TARGET_PREFIX=${TARGET_PREFIX}' >> $script
|
||||||
echo 'export CONFIGURE_FLAGS="--target=${TARGET_SYS} --host=${TARGET_SYS} --build=${SDK_ARCH}-linux --with-libtool-sysroot=${SDKTARGETSYSROOT}"' >> $script
|
echo 'export CONFIGURE_FLAGS="--target=${TARGET_SYS} --host=${TARGET_SYS} --build=${SDK_ARCH}-linux --with-libtool-sysroot=${SDKTARGETSYSROOT}"' >> $script
|
||||||
if [ "${TARGET_OS}" = "darwin8" ]; then
|
if [ "${TARGET_OS}" = "darwin8" ]; then
|
||||||
|
|||||||
41
meta/files/common-licenses/bzip2
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
--------------------------------------------------------------------------
|
||||||
|
|
||||||
|
This program, "bzip2", the associated library "libbzip2", and all
|
||||||
|
documentation, are copyright (C) 1996-2010 Julian R Seward. All
|
||||||
|
rights reserved.
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms, with or without
|
||||||
|
modification, are permitted provided that the following conditions
|
||||||
|
are met:
|
||||||
|
|
||||||
|
1. Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
|
||||||
|
2. The origin of this software must not be misrepresented; you must
|
||||||
|
not claim that you wrote the original software. If you use this
|
||||||
|
software in a product, an acknowledgment in the product
|
||||||
|
documentation would be appreciated but is not required.
|
||||||
|
|
||||||
|
3. Altered source versions must be plainly marked as such, and must
|
||||||
|
not be misrepresented as being the original software.
|
||||||
|
|
||||||
|
4. The name of the author may not be used to endorse or promote
|
||||||
|
products derived from this software without specific prior written
|
||||||
|
permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
|
||||||
|
OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||||
|
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
|
ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
|
||||||
|
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||||
|
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
|
||||||
|
GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
|
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||||
|
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||||
|
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||||
|
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
Julian Seward, jseward@bzip.org
|
||||||
|
bzip2/libbzip2 version 1.0.6 of 6 September 2010
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------
|
||||||
@@ -51,6 +51,11 @@ EXTRA_OEMAKE[vardepsexclude] += "EGLIBCPARALLELISM"
|
|||||||
EXTRA_OEMAKE += "${EGLIBCPARALLELISM}"
|
EXTRA_OEMAKE += "${EGLIBCPARALLELISM}"
|
||||||
PARALLEL_MAKE = ""
|
PARALLEL_MAKE = ""
|
||||||
|
|
||||||
|
# eglibc make-syscalls.sh has a number of issues with /bin/dash and
|
||||||
|
# it's output which make calls via the SHELL also has issues, so
|
||||||
|
# ensure make uses /bin/bash
|
||||||
|
EXTRA_OEMAKE += "SHELL=/bin/bash"
|
||||||
|
|
||||||
OE_FEATURES = "${@features_to_eglibc_settings(d)}"
|
OE_FEATURES = "${@features_to_eglibc_settings(d)}"
|
||||||
do_configure_prepend() {
|
do_configure_prepend() {
|
||||||
sed -e "s#@BASH@#/bin/sh#" -i ${S}/elf/ldd.bash.in
|
sed -e "s#@BASH@#/bin/sh#" -i ${S}/elf/ldd.bash.in
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ require eglibc.inc
|
|||||||
SRCREV = "20393"
|
SRCREV = "20393"
|
||||||
|
|
||||||
DEPENDS += "gperf-native kconfig-frontends-native"
|
DEPENDS += "gperf-native kconfig-frontends-native"
|
||||||
PR = "r14"
|
PR = "r15"
|
||||||
PR_append = "+svnr${SRCPV}"
|
PR_append = "+svnr${SRCPV}"
|
||||||
|
|
||||||
EGLIBC_BRANCH="eglibc-2_16"
|
EGLIBC_BRANCH="eglibc-2_16"
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
DESCRIPTION = "An image you can boot and run using either the VMware Player or VMware Workstation. For more information, see the<a href='http://www.yoctoproject.org/documentation/build-appliance'>Build Appliance page</a>."
|
DESCRIPTION = "An image you can boot and run using either the VMware Player or VMware Workstation.\
|
||||||
|
For more information, see the <a href='http://www.yoctoproject.org/documentation/build-appliance'>Build Appliance page</a>."
|
||||||
IMAGE_INSTALL = "packagegroup-core-boot packagegroup-core-ssh-openssh packagegroup-self-hosted"
|
IMAGE_INSTALL = "packagegroup-core-boot packagegroup-core-ssh-openssh packagegroup-self-hosted"
|
||||||
|
|
||||||
LICENSE = "MIT"
|
LICENSE = "MIT"
|
||||||
@@ -20,8 +21,8 @@ IMAGE_FSTYPES = "vmdk"
|
|||||||
|
|
||||||
inherit core-image
|
inherit core-image
|
||||||
|
|
||||||
SRCREV = "f0f23f1741c29baa9601c5fa6b6b4a18175be7c5"
|
SRCREV = "58a71604193506c86b170669df76d093e447e7fd"
|
||||||
SRC_URI = "git://git.yoctoproject.org/poky;protocol=git \
|
SRC_URI = "git://git.yoctoproject.org/poky;protocol=git;branch=danny \
|
||||||
file://Yocto_Build_Appliance.vmx \
|
file://Yocto_Build_Appliance.vmx \
|
||||||
file://Yocto_Build_Appliance.vmxf \
|
file://Yocto_Build_Appliance.vmxf \
|
||||||
"
|
"
|
||||||
|
|||||||
@@ -3,6 +3,8 @@ LICENSE = "MIT"
|
|||||||
LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 \
|
LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 \
|
||||||
file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
|
file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
|
||||||
|
|
||||||
|
PR = "r1"
|
||||||
|
|
||||||
SRC_URI = "file://exports"
|
SRC_URI = "file://exports"
|
||||||
|
|
||||||
S = "${WORKDIR}"
|
S = "${WORKDIR}"
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
/ *(rw,no_root_squash,async)
|
/ *(rw,no_root_squash,async,no_subtree_check)
|
||||||
|
|||||||
@@ -4,5 +4,5 @@ DESCRIPTION = "The cross-canadian GNU cc and gcc C compilers for ${TARGET_ARCH}
|
|||||||
PN = "gcc-cross-canadian-${TRANSLATED_TARGET_ARCH}"
|
PN = "gcc-cross-canadian-${TRANSLATED_TARGET_ARCH}"
|
||||||
BPN = "gcc"
|
BPN = "gcc"
|
||||||
|
|
||||||
DEPENDS = "virtual/${HOST_PREFIX}binutils-crosssdk virtual/nativesdk-${HOST_PREFIX}libc-for-gcc gettext"
|
DEPENDS = "virtual/${HOST_PREFIX}binutils-crosssdk virtual/nativesdk-${HOST_PREFIX}libc-for-gcc nativesdk-gettext"
|
||||||
|
|
||||||
|
|||||||
@@ -69,6 +69,7 @@ api_versionstring='5.14.0'
|
|||||||
ar='ar'
|
ar='ar'
|
||||||
archlib='@LIBDIR@/perl/5.14.2/@ARCH@-thread-multi'
|
archlib='@LIBDIR@/perl/5.14.2/@ARCH@-thread-multi'
|
||||||
archlibexp='@STAGINGDIR@@LIBDIR@/perl/5.14.2/@ARCH@-thread-multi'
|
archlibexp='@STAGINGDIR@@LIBDIR@/perl/5.14.2/@ARCH@-thread-multi'
|
||||||
|
archlib_exp='@LIBDIR@/perl/5.14.2/@ARCH@-thread-multi'
|
||||||
archname64=''
|
archname64=''
|
||||||
archname='@ARCH@-thread-multi'
|
archname='@ARCH@-thread-multi'
|
||||||
archobjs=''
|
archobjs=''
|
||||||
|
|||||||
@@ -0,0 +1,40 @@
|
|||||||
|
perl: add archlib_exp variable used to generate ARCHLIB_EXP in config.h
|
||||||
|
|
||||||
|
perl.c uses an ARCHLIB_EXP define to generate compile-time code that
|
||||||
|
adds the archlibexp path to @INC during run-time initialization of a
|
||||||
|
new perl interpreter.
|
||||||
|
|
||||||
|
Because we've changed this value in a temporary way to make it
|
||||||
|
possible to use ExtUtils::Embed in the target build (the temporary
|
||||||
|
value in config.sh gets re-stripped out during packaging), the
|
||||||
|
ARCHLIB_EXP value that gets generated still uses the temporary version
|
||||||
|
instead of the original expected version (i.e. becauses it's in the
|
||||||
|
generated config.h, it doesn't get stripped out during packaging like
|
||||||
|
the others in config.sh).
|
||||||
|
|
||||||
|
This creates an unmodified version called archlib_exp that gets used
|
||||||
|
by a modified config_h.SH to get the correct value into config.h
|
||||||
|
|
||||||
|
This patch uses an unmodified version of archlibexp called
|
||||||
|
archlib_exp, introduced to config.sh, which is used to generate the
|
||||||
|
correct value of ARCHLIB_EXP into config.h
|
||||||
|
|
||||||
|
See YOCTO #3099 for more info.
|
||||||
|
|
||||||
|
Upstream-Status:Inappropriate [embedded specific]
|
||||||
|
|
||||||
|
Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
|
||||||
|
|
||||||
|
Index: perl-5.14.2/config_h.SH
|
||||||
|
===================================================================
|
||||||
|
--- perl-5.14.2.orig/config_h.SH
|
||||||
|
+++ perl-5.14.2/config_h.SH
|
||||||
|
@@ -996,7 +996,7 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#und
|
||||||
|
* in programs that are not prepared to deal with ~ expansion at run-time.
|
||||||
|
*/
|
||||||
|
#$d_archlib ARCHLIB "$archlib" /**/
|
||||||
|
-#$d_archlib ARCHLIB_EXP "$archlibexp" /**/
|
||||||
|
+#$d_archlib ARCHLIB_EXP "$archlib_exp" /**/
|
||||||
|
|
||||||
|
/* ARCHNAME:
|
||||||
|
* This symbol holds a string representing the architecture name.
|
||||||
@@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://Copying;md5=2b4c6ffbcfcbdee469f02565f253d81a \
|
|||||||
# We need gnugrep (for -I)
|
# We need gnugrep (for -I)
|
||||||
DEPENDS = "virtual/db grep-native"
|
DEPENDS = "virtual/db grep-native"
|
||||||
DEPENDS += "gdbm zlib"
|
DEPENDS += "gdbm zlib"
|
||||||
PR = "r10"
|
PR = "r11"
|
||||||
|
|
||||||
# 5.10.1 has Module::Build built-in
|
# 5.10.1 has Module::Build built-in
|
||||||
PROVIDES += "libmodule-build-perl"
|
PROVIDES += "libmodule-build-perl"
|
||||||
@@ -66,6 +66,7 @@ SRC_URI = "http://www.cpan.org/src/5.0/perl-${PV}.tar.gz \
|
|||||||
file://cross-generate_uudmap.patch \
|
file://cross-generate_uudmap.patch \
|
||||||
file://fix_bad_rpath.patch \
|
file://fix_bad_rpath.patch \
|
||||||
file://perl-build-in-t-dir.patch \
|
file://perl-build-in-t-dir.patch \
|
||||||
|
file://perl-archlib-exp.patch \
|
||||||
\
|
\
|
||||||
file://config.sh \
|
file://config.sh \
|
||||||
file://config.sh-32 \
|
file://config.sh-32 \
|
||||||
|
|||||||
@@ -37,4 +37,3 @@ BBCLASSEXTEND = "native nativesdk"
|
|||||||
# files.
|
# files.
|
||||||
FILES_${PN}-dev = ""
|
FILES_${PN}-dev = ""
|
||||||
FILES_${PN} += "${datadir}/aclocal/pkg.m4"
|
FILES_${PN} += "${datadir}/aclocal/pkg.m4"
|
||||||
RREPLACES_${PN}-dev = "${PN}"
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
require pkgconfig.inc
|
require pkgconfig.inc
|
||||||
|
|
||||||
PR = "r4"
|
PR = "r5"
|
||||||
|
|
||||||
SRC_URI[md5sum] = "a3270bab3f4b69b7dc6dbdacbcae9745"
|
SRC_URI[md5sum] = "a3270bab3f4b69b7dc6dbdacbcae9745"
|
||||||
SRC_URI[sha256sum] = "3ba691ee2431f32ccb8efa131e59bf23e37f122dc66791309023ca6dcefcd10e"
|
SRC_URI[sha256sum] = "3ba691ee2431f32ccb8efa131e59bf23e37f122dc66791309023ca6dcefcd10e"
|
||||||
|
|||||||
@@ -37,8 +37,10 @@ do_configure_prepend_virtclass-nativesdk() {
|
|||||||
# the qemu-mips works fine.
|
# the qemu-mips works fine.
|
||||||
# IMPORTANT: This piece needs to be removed once the root cause is fixed!
|
# IMPORTANT: This piece needs to be removed once the root cause is fixed!
|
||||||
do_install_append() {
|
do_install_append() {
|
||||||
create_wrapper ${D}/${bindir}/qemu-mips \
|
if [ -e "${D}/${bindir}/qemu-mips" ]; then
|
||||||
QEMU_RESERVED_VA=0x0
|
create_wrapper ${D}/${bindir}/qemu-mips \
|
||||||
|
QEMU_RESERVED_VA=0x0
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
# END of qemu-mips workaround
|
# END of qemu-mips workaround
|
||||||
|
|
||||||
|
|||||||
@@ -18,6 +18,8 @@ DEPENDS += " libpciaccess"
|
|||||||
|
|
||||||
inherit autotools pkgconfig
|
inherit autotools pkgconfig
|
||||||
|
|
||||||
|
EXTRA_OECONF += "--disable-cairo"
|
||||||
|
|
||||||
PACKAGES =+ "${PN}-tests ${PN}-drivers ${PN}-kms"
|
PACKAGES =+ "${PN}-tests ${PN}-drivers ${PN}-kms"
|
||||||
FILES_${PN}-tests = "${bindir}/dr* ${bindir}/mode*"
|
FILES_${PN}-tests = "${bindir}/dr* ${bindir}/mode*"
|
||||||
FILES_${PN}-drivers = "${libdir}/libdrm_*.so.*"
|
FILES_${PN}-drivers = "${libdir}/libdrm_*.so.*"
|
||||||
|
|||||||
39
meta/recipes-graphics/drm/libdrm/nocairo.patch
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
We don't want the cairo dependency. Unfortunately simply checking whether its present
|
||||||
|
isn't good enough. If its not in DEPENDS, it can disappear half way through building.
|
||||||
|
We therefore need to explictly disable it.
|
||||||
|
|
||||||
|
RP
|
||||||
|
2012/10/5
|
||||||
|
|
||||||
|
Index: libdrm-2.4.39/configure.ac
|
||||||
|
===================================================================
|
||||||
|
--- libdrm-2.4.39.orig/configure.ac 2012-08-24 14:54:42.000000000 +0000
|
||||||
|
+++ libdrm-2.4.39/configure.ac 2012-10-05 11:37:52.484821221 +0000
|
||||||
|
@@ -63,6 +63,11 @@
|
||||||
|
[Disable KMS mm abstraction library (default: auto)]),
|
||||||
|
[LIBKMS=$enableval], [LIBKMS=auto])
|
||||||
|
|
||||||
|
+AC_ARG_ENABLE(cairo,
|
||||||
|
+ AS_HELP_STRING([--disable-cairo],
|
||||||
|
+ [Disable cairo (default: auto)]),
|
||||||
|
+ [ENABLECAIRO=$enableval], [ENABLECAIRO=auto])
|
||||||
|
+
|
||||||
|
AC_ARG_ENABLE(intel,
|
||||||
|
AS_HELP_STRING([--disable-intel],
|
||||||
|
[Enable support for intel's KMS API (default: auto)]),
|
||||||
|
@@ -201,9 +206,12 @@
|
||||||
|
AC_DEFINE(HAVE_EXYNOS, 1, [Have EXYNOS support])
|
||||||
|
fi
|
||||||
|
|
||||||
|
-PKG_CHECK_MODULES(CAIRO, cairo, [HAVE_CAIRO=yes], [HAVE_CAIRO=no])
|
||||||
|
-if test "x$HAVE_CAIRO" = xyes; then
|
||||||
|
- AC_DEFINE(HAVE_CAIRO, 1, [Have cairo support])
|
||||||
|
+HAVE_CAIRO=no
|
||||||
|
+if test "x$ENABLECAIRO" = xyes; then
|
||||||
|
+ PKG_CHECK_MODULES(CAIRO, cairo, [HAVE_CAIRO=yes], [HAVE_CAIRO=no])
|
||||||
|
+ if test "x$HAVE_CAIRO" = xyes; then
|
||||||
|
+ AC_DEFINE(HAVE_CAIRO, 1, [Have cairo support])
|
||||||
|
+ fi
|
||||||
|
fi
|
||||||
|
AM_CONDITIONAL(HAVE_CAIRO, [test "x$HAVE_CAIRO" = xyes])
|
||||||
|
|
||||||
@@ -4,6 +4,7 @@ PR = "${INC_PR}.0"
|
|||||||
|
|
||||||
SRC_URI += "file://installtests.patch \
|
SRC_URI += "file://installtests.patch \
|
||||||
file://GNU_SOURCE_definition.patch \
|
file://GNU_SOURCE_definition.patch \
|
||||||
|
file://nocairo.patch \
|
||||||
"
|
"
|
||||||
|
|
||||||
SRC_URI[md5sum] = "9a299e021d81bab6c82307582c78319d"
|
SRC_URI[md5sum] = "9a299e021d81bab6c82307582c78319d"
|
||||||
|
|||||||
@@ -8,9 +8,9 @@ LINUX_KERNEL_TYPE = "preempt-rt"
|
|||||||
|
|
||||||
KMETA = "meta"
|
KMETA = "meta"
|
||||||
|
|
||||||
SRCREV_machine ?= "6d7122966eaae849ba3f2e1ccb94cdab17a46fbd"
|
SRCREV_machine ?= "5705c8037d2c47938034ead87c70ae3ebef552f7"
|
||||||
SRCREV_machine_qemuppc ?= "8b2acbc859c616dfcad79f786bacb856f370f4c2"
|
SRCREV_machine_qemuppc ?= "c8b651aab5d2d5c0839cdedc0c0ec5dc09cf47c0"
|
||||||
SRCREV_meta ?= "5bdc655034a58a7147176a8a882d81e2fd51e4b9"
|
SRCREV_meta ?= "a201268353c030d9fafe00f2041976f7437d9386"
|
||||||
|
|
||||||
PR = "${INC_PR}.0"
|
PR = "${INC_PR}.0"
|
||||||
PV = "${LINUX_VERSION}+git${SRCPV}"
|
PV = "${LINUX_VERSION}+git${SRCPV}"
|
||||||
|
|||||||
27
meta/recipes-kernel/linux/linux-yocto-tiny_3.4.bb
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
require recipes-kernel/linux/linux-yocto.inc
|
||||||
|
|
||||||
|
# We need lzma (as CONFIG_KERNEL_LZMA=y)
|
||||||
|
DEPENDS += "xz-native"
|
||||||
|
|
||||||
|
KBRANCH_DEFAULT = "standard/tiny/base"
|
||||||
|
KBRANCH = "${KBRANCH_DEFAULT}"
|
||||||
|
LINUX_KERNEL_TYPE = "tiny"
|
||||||
|
KCONFIG_MODE = "--allnoconfig"
|
||||||
|
|
||||||
|
LINUX_VERSION ?= "3.4.11"
|
||||||
|
|
||||||
|
KMETA = "meta"
|
||||||
|
|
||||||
|
SRCREV_machine ?= "449f7f520350700858f21a5554b81cc8ad23267d"
|
||||||
|
SRCREV_meta ?= "a201268353c030d9fafe00f2041976f7437d9386"
|
||||||
|
|
||||||
|
|
||||||
|
PR = "${INC_PR}.0"
|
||||||
|
PV = "${LINUX_VERSION}+git${SRCPV}"
|
||||||
|
|
||||||
|
SRC_URI = "git://git.yoctoproject.org/linux-yocto-3.4;protocol=git;bareclone=1;branch=${KBRANCH},meta;name=machine,meta"
|
||||||
|
|
||||||
|
COMPATIBLE_MACHINE = "(qemux86)"
|
||||||
|
|
||||||
|
# Functionality flags
|
||||||
|
KERNEL_FEATURES = ""
|
||||||
@@ -3,13 +3,13 @@ require recipes-kernel/linux/linux-yocto.inc
|
|||||||
KBRANCH_DEFAULT = "standard/base"
|
KBRANCH_DEFAULT = "standard/base"
|
||||||
KBRANCH = "${KBRANCH_DEFAULT}"
|
KBRANCH = "${KBRANCH_DEFAULT}"
|
||||||
|
|
||||||
SRCREV_machine_qemuarm ?= "8f05f1d8adbf1551a80225049dd381ffbb64a6c5"
|
SRCREV_machine_qemuarm ?= "8ee53c3b82ada3cdfd7d25f07d3975834ac9a9b2"
|
||||||
SRCREV_machine_qemumips ?= "fb23a2ed7b94548b1736fdb55efb26f88bc5c171"
|
SRCREV_machine_qemumips ?= "caf99a20e3c3ba036ed1bb46875059a0d24e4fbd"
|
||||||
SRCREV_machine_qemuppc ?= "cdecf5940d81330680ce1517a7bc101556792e71"
|
SRCREV_machine_qemuppc ?= "7833f1549c3d44cce8aea38b65cd501229aad492"
|
||||||
SRCREV_machine_qemux86 ?= "3fa06aa29078fdb2af431de2d3fdae7d281ba85f"
|
SRCREV_machine_qemux86 ?= "449f7f520350700858f21a5554b81cc8ad23267d"
|
||||||
SRCREV_machine_qemux86-64 ?= "3fa06aa29078fdb2af431de2d3fdae7d281ba85f"
|
SRCREV_machine_qemux86-64 ?= "449f7f520350700858f21a5554b81cc8ad23267d"
|
||||||
SRCREV_machine ?= "3fa06aa29078fdb2af431de2d3fdae7d281ba85f"
|
SRCREV_machine ?= "449f7f520350700858f21a5554b81cc8ad23267d"
|
||||||
SRCREV_meta ?= "5bdc655034a58a7147176a8a882d81e2fd51e4b9"
|
SRCREV_meta ?= "a201268353c030d9fafe00f2041976f7437d9386"
|
||||||
|
|
||||||
SRC_URI = "git://git.yoctoproject.org/linux-yocto-3.4.git;protocol=git;nocheckout=1;branch=${KBRANCH},meta;name=machine,meta"
|
SRC_URI = "git://git.yoctoproject.org/linux-yocto-3.4.git;protocol=git;nocheckout=1;branch=${KBRANCH},meta;name=machine,meta"
|
||||||
|
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ EXTRA_OECONF = "\
|
|||||||
--disable-lynx \
|
--disable-lynx \
|
||||||
${@base_contains('DISTRO_FEATURES', 'bluetooth', '--enable-bluez', '--disable-bluez', d)} \
|
${@base_contains('DISTRO_FEATURES', 'bluetooth', '--enable-bluez', '--disable-bluez', d)} \
|
||||||
--disable-polkit \
|
--disable-polkit \
|
||||||
${@base_contains('DISTRO_FEATURES', 'x11', '--with-x', '--without-x', d)} \
|
${@base_contains('DISTRO_FEATURES', 'x11', '--enable-x11', '--disable-x11 --disable-gtk2', d)} \
|
||||||
--without-jack \
|
--without-jack \
|
||||||
--with-glib \
|
--with-glib \
|
||||||
--with-alsa \
|
--with-alsa \
|
||||||
@@ -117,7 +117,6 @@ python populate_packages_prepend() {
|
|||||||
do_split_packages(d, plugindir, '^lib(.*)\.so$', 'pulseaudio-lib-%s', 'PulseAudio library for %s', extra_depends='' )
|
do_split_packages(d, plugindir, '^lib(.*)\.so$', 'pulseaudio-lib-%s', 'PulseAudio library for %s', extra_depends='' )
|
||||||
}
|
}
|
||||||
|
|
||||||
RDEPENDS_pulseaudio-module-console-kit =+ "consolekit"
|
|
||||||
RDEPENDS_pulseaudio-server = " \
|
RDEPENDS_pulseaudio-server = " \
|
||||||
pulseaudio-module-filter-apply \
|
pulseaudio-module-filter-apply \
|
||||||
pulseaudio-module-filter-heuristics \
|
pulseaudio-module-filter-heuristics \
|
||||||
@@ -137,7 +136,9 @@ RDEPENDS_pulseaudio-server = " \
|
|||||||
pulseaudio-module-rescue-streams \
|
pulseaudio-module-rescue-streams \
|
||||||
pulseaudio-module-always-sink \
|
pulseaudio-module-always-sink \
|
||||||
pulseaudio-module-suspend-on-idle \
|
pulseaudio-module-suspend-on-idle \
|
||||||
pulseaudio-module-console-kit \
|
|
||||||
pulseaudio-module-position-event-sounds \
|
pulseaudio-module-position-event-sounds \
|
||||||
pulseaudio-module-role-cork "
|
pulseaudio-module-role-cork "
|
||||||
|
|
||||||
|
RDEPENDS_pulseaudio-module-console-kit =+ "consolekit"
|
||||||
|
RDEPENDS_pulseaudio-server += "\
|
||||||
|
${@base_contains('DISTRO_FEATURES', 'x11', 'pulseaudio-module-console-kit', '', d)}"
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
require pulseaudio.inc
|
require pulseaudio.inc
|
||||||
|
|
||||||
PR = "r5"
|
PR = "r6"
|
||||||
|
|
||||||
DEPENDS += "libjson gdbm speex libxml-parser-perl-native"
|
DEPENDS += "libjson gdbm speex libxml-parser-perl-native"
|
||||||
|
|
||||||
|
|||||||
@@ -8,18 +8,17 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=56a830bbe6e4697fe6cbbae01bb7c2b2"
|
|||||||
SECTION = "x11"
|
SECTION = "x11"
|
||||||
DEPENDS = ""
|
DEPENDS = ""
|
||||||
|
|
||||||
inherit autotools pkgconfig allarch
|
inherit autotools pkgconfig allarch gtk-icon-cache
|
||||||
|
|
||||||
FILES_${PN} += "${datadir}"
|
FILES_${PN} += "${datadir}"
|
||||||
|
|
||||||
EXTRA_OECONF += "--with-iconmap=${STAGING_LIBDIR_NATIVE}/../libexec/icon-name-mapping"
|
EXTRA_OECONF += "--with-iconmap=${STAGING_LIBDIR_NATIVE}/../libexec/icon-name-mapping"
|
||||||
|
|
||||||
#explictly setting "Sato" as default icon theme to avoid icon missing due to
|
# Explictly setting "Sato" as the default icon theme to avoid flickering from
|
||||||
#tricky race condition
|
# the desktop and settings daemon racing. This shouldn't be done here but in the sato image
|
||||||
pkg_postinst_${PN} () {
|
pkg_postinst_${PN} () {
|
||||||
if [ "x$D" != "x" ]; then
|
mkdir -p $D/etc/gtk-2.0
|
||||||
exit 1
|
|
||||||
fi
|
grep -s -q -e ^gtk-icon-theme-name.*\"Sato\" $D/etc/gtk-2.0/gtkrc || \
|
||||||
gtk-update-icon-cache -q /usr/share/icons/Sato
|
echo 'gtk-icon-theme-name = "Sato"' >> $D/etc/gtk-2.0/gtkrc
|
||||||
echo 'gtk-icon-theme-name = "Sato"' >> /etc/gtk-2.0/gtkrc
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ require sato-icon-theme.inc
|
|||||||
|
|
||||||
DEPENDS += "icon-naming-utils-native"
|
DEPENDS += "icon-naming-utils-native"
|
||||||
|
|
||||||
PR = "r3"
|
PR = "r4"
|
||||||
|
|
||||||
SRC_URI = "http://pokylinux.org/releases/sato/${BPN}-${PV}.tar.gz \
|
SRC_URI = "http://pokylinux.org/releases/sato/${BPN}-${PV}.tar.gz \
|
||||||
file://iconpath-option.patch \
|
file://iconpath-option.patch \
|
||||||
|
|||||||
@@ -5,6 +5,8 @@ LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3
|
|||||||
|
|
||||||
SRC_URI = "file://shutdown.desktop"
|
SRC_URI = "file://shutdown.desktop"
|
||||||
|
|
||||||
|
PR = "r1"
|
||||||
|
|
||||||
S = "${WORKDIR}"
|
S = "${WORKDIR}"
|
||||||
|
|
||||||
do_install() {
|
do_install() {
|
||||||
@@ -14,7 +16,8 @@ do_install() {
|
|||||||
|
|
||||||
pkg_postinst_${PN} () {
|
pkg_postinst_${PN} () {
|
||||||
grep -q qemuarm $D${sysconfdir}/hostname && \
|
grep -q qemuarm $D${sysconfdir}/hostname && \
|
||||||
sed -i $D${datadir}/applications/shutdown.desktop -e 's/^Exec=halt/Exec=reboot/'
|
sed -i $D${datadir}/applications/shutdown.desktop -e 's/^Exec=halt/Exec=reboot/' \
|
||||||
|
|| true
|
||||||
}
|
}
|
||||||
|
|
||||||
inherit allarch
|
inherit allarch
|
||||||
|
|||||||
@@ -16,6 +16,9 @@ inherit autotools gettext lib_package
|
|||||||
# Needed for dbm python module
|
# Needed for dbm python module
|
||||||
EXTRA_OECONF = "-enable-libgdbm-compat"
|
EXTRA_OECONF = "-enable-libgdbm-compat"
|
||||||
|
|
||||||
|
# Stop presence of dbm/nbdm on the host contaminating builds
|
||||||
|
CACHED_CONFIGUREVARS += "ac_cv_lib_ndbm_main=no ac_cv_lib_dbm_main=no"
|
||||||
|
|
||||||
BBCLASSEXTEND = "native nativesdk"
|
BBCLASSEXTEND = "native nativesdk"
|
||||||
|
|
||||||
do_install_append () {
|
do_install_append () {
|
||||||
|
|||||||
@@ -80,4 +80,4 @@ unset BITBAKEDIR
|
|||||||
# Used by the runqemu script
|
# Used by the runqemu script
|
||||||
export BUILDDIR
|
export BUILDDIR
|
||||||
export PATH
|
export PATH
|
||||||
export BB_ENV_EXTRAWHITE="MACHINE DISTRO TCMODE TCLIBC http_proxy ftp_proxy https_proxy all_proxy ALL_PROXY no_proxy SSH_AGENT_PID SSH_AUTH_SOCK BB_SRCREV_POLICY SDKMACHINE BB_NUMBER_THREADS PARALLEL_MAKE GIT_PROXY_COMMAND GIT_PROXY_IGNORE SOCKS5_PASSWD SOCKS5_USER SCREENDIR"
|
export BB_ENV_EXTRAWHITE="MACHINE DISTRO TCMODE TCLIBC http_proxy ftp_proxy https_proxy all_proxy ALL_PROXY no_proxy SSH_AGENT_PID SSH_AUTH_SOCK BB_SRCREV_POLICY SDKMACHINE BB_NUMBER_THREADS BB_NO_NETWORK PARALLEL_MAKE GIT_PROXY_COMMAND GIT_PROXY_IGNORE SOCKS5_PASSWD SOCKS5_USER SCREENDIR"
|
||||||
|
|||||||
@@ -40,9 +40,9 @@ NFS_EXPORT_DIR=$(cd "$2" && pwd)
|
|||||||
|
|
||||||
SYSROOT_SETUP_SCRIPT=`which oe-find-native-sysroot 2> /dev/null`
|
SYSROOT_SETUP_SCRIPT=`which oe-find-native-sysroot 2> /dev/null`
|
||||||
if [ -z "$SYSROOT_SETUP_SCRIPT" ]; then
|
if [ -z "$SYSROOT_SETUP_SCRIPT" ]; then
|
||||||
echo "Error: Unable to find the oe-find-native-sysroot script"
|
echo "Error: Unable to find the oe-find-native-sysroot script"
|
||||||
echo "Did you forget to source your build environment setup script?"
|
echo "Did you forget to source your build environment setup script?"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
. $SYSROOT_SETUP_SCRIPT
|
. $SYSROOT_SETUP_SCRIPT
|
||||||
|
|
||||||
@@ -50,9 +50,9 @@ if [ ! -e "$OECORE_NATIVE_SYSROOT/usr/sbin/rpc.mountd" ]; then
|
|||||||
echo "Error: Unable to find rpc.mountd binary in $OECORE_NATIVE_SYSROOT/usr/sbin/"
|
echo "Error: Unable to find rpc.mountd binary in $OECORE_NATIVE_SYSROOT/usr/sbin/"
|
||||||
|
|
||||||
if [ "x$OECORE_DISTRO_VERSION" = "x" ]; then
|
if [ "x$OECORE_DISTRO_VERSION" = "x" ]; then
|
||||||
echo "Have you run 'bitbake meta-ide-support'?"
|
echo "Have you run 'bitbake meta-ide-support'?"
|
||||||
else
|
else
|
||||||
echo "This shouldn't happen - something is missing from your toolchain installation"
|
echo "This shouldn't happen - something is missing from your toolchain installation"
|
||||||
fi
|
fi
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
@@ -82,9 +82,9 @@ NFS_MOUNTPROG=$[ 21111 + $NFS_INSTANCE ]
|
|||||||
# rpc.nfsd RPC port
|
# rpc.nfsd RPC port
|
||||||
NFS_NFSPROG=$[ 11111 + $NFS_INSTANCE ]
|
NFS_NFSPROG=$[ 11111 + $NFS_INSTANCE ]
|
||||||
# NFS port number
|
# NFS port number
|
||||||
NFS_PORT=$[ 3049 + $NFS_INSTANCE ]
|
NFS_PORT=$[ 3049 + 2 * $NFS_INSTANCE ]
|
||||||
# mountd port number
|
# mountd port number
|
||||||
MOUNT_PORT=$[ 3048 + $NFS_INSTANCE ]
|
MOUNT_PORT=$[ 3048 + 2 * $NFS_INSTANCE ]
|
||||||
|
|
||||||
## For debugging you would additionally add
|
## For debugging you would additionally add
|
||||||
## --debug all
|
## --debug all
|
||||||
@@ -100,57 +100,72 @@ fi
|
|||||||
# See how we were called.
|
# See how we were called.
|
||||||
case "$1" in
|
case "$1" in
|
||||||
start)
|
start)
|
||||||
|
PORTMAP_RUNNING=`ps -ef | grep portmap | grep -v grep`
|
||||||
|
RPCBIND_RUNNING=`ps -ef | grep rpcbind | grep -v grep`
|
||||||
|
if [[ "x$PORTMAP_RUNNING" = "x" && "x$RPCBIND_RUNNING" = "x" ]]; then
|
||||||
|
echo "======================================================="
|
||||||
|
echo "Error: neither rpcbind nor portmap appear to be running"
|
||||||
|
echo "Please install and start one of these services first"
|
||||||
|
echo "======================================================="
|
||||||
|
echo "Tip: for recent Ubuntu hosts, run:"
|
||||||
|
echo " sudo apt-get install rpcbind"
|
||||||
|
echo "Then add OPTIONS=\"-i -w\" to /etc/default/rpcbind and run"
|
||||||
|
echo " sudo service portmap restart"
|
||||||
|
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
echo "Starting User Mode rpc.mountd"
|
echo "Starting User Mode rpc.mountd"
|
||||||
echo " $PSEUDO $PSEUDO_OPTS $OECORE_NATIVE_SYSROOT/usr/sbin/rpc.mountd $MOUNTD_OPTS"
|
echo " $PSEUDO $PSEUDO_OPTS $OECORE_NATIVE_SYSROOT/usr/sbin/rpc.mountd $MOUNTD_OPTS"
|
||||||
$PSEUDO $PSEUDO_OPTS $OECORE_NATIVE_SYSROOT/usr/sbin/rpc.mountd $MOUNTD_OPTS
|
$PSEUDO $PSEUDO_OPTS $OECORE_NATIVE_SYSROOT/usr/sbin/rpc.mountd $MOUNTD_OPTS
|
||||||
if [ ! $? = 0 ]; then
|
if [ ! $? = 0 ]; then
|
||||||
echo "====================="
|
echo "====================="
|
||||||
echo "Error starting MOUNTD"
|
echo "Error starting MOUNTD"
|
||||||
echo "====================="
|
echo "====================="
|
||||||
ps -ef | grep -v grep | grep rpcbind 2>&1 > /dev/null
|
if [ ! "x$RPCBIND_RUNNING" = "x" ] ; then
|
||||||
if [ $? = 0 ] ; then
|
echo " If you see an error above that says:"
|
||||||
echo " If you see an error above that says:"
|
echo " RPC: Authentication error; why = Client credential too weak"
|
||||||
echo " RPC: Authentication error; why = Client credential too weak"
|
echo " You need to add the -i option when running rpcbind"
|
||||||
echo " You need to change the startup of rpcbind"
|
echo "==============================================="
|
||||||
echo " on your host by doing the following as root:"
|
echo "For recent Fedora/RedHat hosts:"
|
||||||
echo "==============================================="
|
echo "Add RPCBIND_ARGS=-i to /etc/sysconfig/rpcbind"
|
||||||
echo " According to /etc/sysconfig/rpcbind, then "
|
echo " or"
|
||||||
echo " echo RPCBIND_ARGS=-i >> /etc/sysconfig/rpcbind"
|
echo "Add RPCBIND_OPTIONS=-i to /etc/sysconfig/rpcbind"
|
||||||
echo " or"
|
echo "Then run as root: /etc/init.d/rpcbind restart"
|
||||||
echo " echo RPCBIND_OPTIONS=-i >> /etc/sysconfig/rpcbind"
|
echo "==============================================="
|
||||||
echo " /etc/init.d/rpcbind restart"
|
echo "For recent Debian/Ubuntu hosts:"
|
||||||
echo "==============================================="
|
echo "Add OPTIONS=\"-i -w\" to /etc/default/rpcbind"
|
||||||
echo "For Ubuntu 11.10 hosts"
|
echo "sudo service portmap restart"
|
||||||
echo "Add OPTIONS=\"-i -w\" to /etc/default/rpcbind"
|
fi
|
||||||
echo "sudo service portmap restart"
|
|
||||||
fi
|
exit 1
|
||||||
exit 1
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "Starting User Mode nfsd"
|
echo "Starting User Mode nfsd"
|
||||||
echo " $PSEUDO $PSEUDO_OPTS $OECORE_NATIVE_SYSROOT/usr/sbin/rpc.nfsd $NFSD_OPTS"
|
echo " $PSEUDO $PSEUDO_OPTS $OECORE_NATIVE_SYSROOT/usr/sbin/rpc.nfsd $NFSD_OPTS"
|
||||||
$PSEUDO $PSEUDO_OPTS $OECORE_NATIVE_SYSROOT/usr/sbin/rpc.nfsd $NFSD_OPTS
|
$PSEUDO $PSEUDO_OPTS $OECORE_NATIVE_SYSROOT/usr/sbin/rpc.nfsd $NFSD_OPTS
|
||||||
if [ ! $? = 0 ]; then
|
if [ ! $? = 0 ]; then
|
||||||
echo "Error starting nfsd"
|
echo "Error starting nfsd"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
# Check to make sure everything started ok.
|
# Check to make sure everything started ok.
|
||||||
if [ ! -f $MOUNTPID ]; then
|
if [ ! -f $MOUNTPID ]; then
|
||||||
echo "rpc.mountd did not start correctly"
|
echo "rpc.mountd did not start correctly"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
if [ ! -f $NFSPID ]; then
|
if [ ! -f $NFSPID ]; then
|
||||||
echo "rpc.nfsd did not start correctly"
|
echo "rpc.nfsd did not start correctly"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
ps -fp `cat $MOUNTPID` > /dev/null 2> /dev/null
|
ps -fp `cat $MOUNTPID` > /dev/null 2> /dev/null
|
||||||
if [ ! $? = 0 ]; then
|
if [ ! $? = 0 ]; then
|
||||||
echo "rpc.mountd did not start correctly"
|
echo "rpc.mountd did not start correctly"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
ps -fp `cat $NFSPID` > /dev/null 2> /dev/null
|
ps -fp `cat $NFSPID` > /dev/null 2> /dev/null
|
||||||
if [ ! $? = 0 ]; then
|
if [ ! $? = 0 ]; then
|
||||||
echo "rpc.nfsd did not start correctly"
|
echo "rpc.nfsd did not start correctly"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
echo " "
|
echo " "
|
||||||
echo "On your target please remember to add the following options for NFS"
|
echo "On your target please remember to add the following options for NFS"
|
||||||
@@ -158,29 +173,29 @@ case "$1" in
|
|||||||
;;
|
;;
|
||||||
stop)
|
stop)
|
||||||
if [ -f "$MOUNTPID" ]; then
|
if [ -f "$MOUNTPID" ]; then
|
||||||
echo "Stopping rpc.mountd"
|
echo "Stopping rpc.mountd"
|
||||||
kill `cat $MOUNTPID`
|
kill `cat $MOUNTPID`
|
||||||
rm -f $MOUNTPID
|
rm -f $MOUNTPID
|
||||||
else
|
else
|
||||||
echo "No PID file, not stopping rpc.mountd"
|
echo "No PID file, not stopping rpc.mountd"
|
||||||
fi
|
fi
|
||||||
if [ -f "$NFSPID" ]; then
|
if [ -f "$NFSPID" ]; then
|
||||||
echo "Stopping rpc.nfsd"
|
echo "Stopping rpc.nfsd"
|
||||||
kill `cat $NFSPID`
|
kill `cat $NFSPID`
|
||||||
rm -f $NFSPID
|
rm -f $NFSPID
|
||||||
else
|
else
|
||||||
echo "No PID file, not stopping rpc.nfsd"
|
echo "No PID file, not stopping rpc.nfsd"
|
||||||
fi
|
fi
|
||||||
if [ -f "$EXPORTS" ]; then
|
if [ -f "$EXPORTS" ]; then
|
||||||
echo "Removing exports file"
|
echo "Removing exports file"
|
||||||
rm -f $EXPORTS
|
rm -f $EXPORTS
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
restart)
|
restart)
|
||||||
$0 stop $NFS_EXPORT_DIR
|
$0 stop $NFS_EXPORT_DIR
|
||||||
$0 start $NFS_EXPORT_DIR
|
$0 start $NFS_EXPORT_DIR
|
||||||
if [ ! $? = 0 ]; then
|
if [ ! $? = 0 ]; then
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
|
|||||||
@@ -277,8 +277,8 @@ if [ "$FSTYPE" = "nfs" ]; then
|
|||||||
NFS_DIR=`echo $ROOTFS | sed 's/^[^:]*:\(.*\)/\1/'`
|
NFS_DIR=`echo $ROOTFS | sed 's/^[^:]*:\(.*\)/\1/'`
|
||||||
MOUNTD_RPCPORT=$[ 21111 + $NFS_INSTANCE ]
|
MOUNTD_RPCPORT=$[ 21111 + $NFS_INSTANCE ]
|
||||||
NFSD_RPCPORT=$[ 11111 + $NFS_INSTANCE ]
|
NFSD_RPCPORT=$[ 11111 + $NFS_INSTANCE ]
|
||||||
NFSD_PORT=$[ 3049 + $NFS_INSTANCE ]
|
NFSD_PORT=$[ 3049 + 2 * $NFS_INSTANCE ]
|
||||||
MOUNTD_PORT=$[ 3048 + $NFS_INSTANCE ]
|
MOUNTD_PORT=$[ 3048 + 2 * $NFS_INSTANCE ]
|
||||||
UNFS_OPTS="nfsvers=2,mountprog=$MOUNTD_RPCPORT,nfsprog=$NFSD_RPCPORT,udp,port=$NFSD_PORT,mountport=$MOUNTD_PORT"
|
UNFS_OPTS="nfsvers=2,mountprog=$MOUNTD_RPCPORT,nfsprog=$NFSD_RPCPORT,udp,port=$NFSD_PORT,mountport=$MOUNTD_PORT"
|
||||||
|
|
||||||
PSEUDO_LOCALSTATEDIR=~/.runqemu-sdk/pseudo
|
PSEUDO_LOCALSTATEDIR=~/.runqemu-sdk/pseudo
|
||||||
|
|||||||
@@ -172,7 +172,7 @@ remove_duplicated () {
|
|||||||
echo -n "Figuring out the archs in the layers ... "
|
echo -n "Figuring out the archs in the layers ... "
|
||||||
oe_core_dir=$(dirname $(dirname $(readlink -e $0)))
|
oe_core_dir=$(dirname $(dirname $(readlink -e $0)))
|
||||||
topdir=$(dirname $oe_core_dir)
|
topdir=$(dirname $oe_core_dir)
|
||||||
tunedirs="`find $topdir/meta* ${oe_core_dir}/meta* $layers -path '*/meta*/conf/machine/include'`"
|
tunedirs="`find $topdir/meta* ${oe_core_dir}/meta* $layers -path '*/meta*/conf/machine/include' 2>/dev/null`"
|
||||||
[ -n "$tunedirs" ] || echo_error "Can't find the tune directory"
|
[ -n "$tunedirs" ] || echo_error "Can't find the tune directory"
|
||||||
all_machines="`find $topdir/meta* ${oe_core_dir}/meta* $layers -path '*/meta*/conf/machine/*' -name '*.conf' 2>/dev/null | sed -e 's/.*\///' -e 's/.conf$//'`"
|
all_machines="`find $topdir/meta* ${oe_core_dir}/meta* $layers -path '*/meta*/conf/machine/*' -name '*.conf' 2>/dev/null | sed -e 's/.*\///' -e 's/.conf$//'`"
|
||||||
all_archs=`grep -r -h "^AVAILTUNES .*=" $tunedirs | sed -e 's/.*=//' -e 's/\"//g'`
|
all_archs=`grep -r -h "^AVAILTUNES .*=" $tunedirs | sed -e 's/.*=//' -e 's/\"//g'`
|
||||||
|
|||||||