bsp-guide, dev-manual: Updated for 3.10 default kernel

YP 1.5 default kernel is 3.10.  This is a change from 3.8 in
the previous release.  This change affected several areas of
the documentation.

1. The BSP Guide had a crownbay BSP structure that did not
   account for the new default.

2. The yocto-bsp tool output still asked for the 3.8 kernel
   as the default.

3. The recipes-bsp section had 3.8 used and had some bad
   listings that had to be changed.

4. The recipes-graphics section had 3.8 used and also had some
   stuff supporting two versions of the graphics (emgd and
   noemgd).  I had to pull the emgd stuff.

5. There were miscellaneous spots in the dev-manual that were
   referencing 3.8 as the default kernel.  Particularly the
   list that shows what kernel repositories we have.  That needed
   updating.

(From yocto-docs rev: 9826ce760884f2ce5a4eb72c6a731a85cd6f2b2b)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Scott Rifenbark 2013-09-23 13:23:00 -07:00 committed by Richard Purdie
parent 18d6adb73e
commit 7fa2c8f6f7
3 changed files with 81 additions and 124 deletions

View File

@ -183,17 +183,15 @@
meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-config/
meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-config/crownbay/
meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-config/crownbay/xorg.conf
meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-config/crownbay-noemgd/
meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-config/crownbay-noemgd/xorg.conf
meta-crownbay/recipes-kernel/
meta-crownbay/recipes-kernel/linux/
meta-crownbay/recipes-kernel/linux/linux-yocto_3.2.bbappend
meta-crownbay/recipes-kernel/linux/linux-yocto_3.4.bbappend
meta-crownbay/recipes-kernel/linux/linux-yocto_3.8.bbappend
meta-crownbay/recipes-kernel/linux/linux-yocto_3.10.bbappend
meta-crownbay/recipes-kernel/linux/linux-yocto-dev.bbappend
meta-crownbay/recipes-kernel/linux/linux-yocto-rt_3.2.bbappend
meta-crownbay/recipes-kernel/linux/linux-yocto-rt_3.4.bbappend
meta-crownbay/recipes-kernel/linux/linux-yocto-rt_3.8.bbappend
meta-crownbay/recipes-kernel/linux/linux-yocto-rt_3.10.bbappend
</literallayout>
</para>
@ -376,15 +374,6 @@
<para>
Each BSP Layer requires at least one machine file.
However, you can supply more than one file.
For example, in the Crown Bay BSP shown earlier in this section, the
<filename>conf/machine</filename> directory contains two configuration files:
<filename>crownbay.conf</filename> and <filename>crownbay-noemgd.conf</filename>.
The <filename>crownbay.conf</filename> file is used for the Crown Bay BSP
that supports the <trademark class='registered'>Intel</trademark> Embedded
Media and Graphics Driver (<trademark class='registered'>Intel</trademark>
EMGD), while the <filename>crownbay-noemgd</filename> file is used for the
Crown Bay BSP that supports Video Electronics Standards Association (VESA)
graphics only.
</para>
<para>
@ -428,15 +417,13 @@
This optional directory contains miscellaneous recipe files for the BSP.
Most notably would be the formfactor files.
For example, in the Crown Bay BSP there is the
<filename>formfactor_0.0.bbappend</filename> file, which is an append file used
to augment the recipe that starts the build.
Furthermore, there are machine-specific settings used during the build that are
defined by the <filename>machconfig</filename> files.
In the Crown Bay example, two <filename>machconfig</filename> files exist:
one that supports the
<trademark class='registered'>Intel</trademark> Embedded
Media and Graphics Driver (<trademark class='registered'>Intel</trademark>
EMGD) and one that does not:
<filename>formfactor_0.0.bbappend</filename> file, which is an
append file used to augment the recipe that starts the build.
Furthermore, there are machine-specific settings used during the
build that are defined by the <filename>machconfig</filename>.
In the Crown Bay example, two <filename>machconfig</filename> files
exist: one that supports the Intel® Embedded Media and Graphics
Driver (Intel® EMGD) and one that does not:
<literallayout class='monospaced'>
meta-crownbay/recipes-bsp/formfactor/formfactor/crownbay/machconfig
meta-crownbay/recipes-bsp/formfactor/formfactor/crownbay-noemgd/machconfig
@ -467,15 +454,12 @@
This optional directory contains recipes for the BSP if it has
special requirements for graphics support.
All files that are needed for the BSP to support a display are kept here.
For example, the Crown Bay BSP contains two versions of the
<filename>xorg.conf</filename> file.
The version in <filename>crownbay</filename> builds a BSP that supports the
<trademark class='registered'>Intel</trademark> Embedded Media Graphics Driver (EMGD),
while the version in <filename>crownbay-noemgd</filename> builds
a BSP that supports Video Electronics Standards Association (VESA) graphics only:
For example, the Crown Bay BSP's <filename>xorg.conf</filename> file
detects the graphics support needed (i.e. the Intel® Embedded Media
Graphics Driver (EMGD) or the Video Electronics Standards Association
(VESA) graphics):
<literallayout class='monospaced'>
meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-config_0.1.bbappend
meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-config/crownbay/xorg.conf
meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-config/crownbay-noemgd/xorg.conf
</literallayout>
</para>
@ -502,28 +486,28 @@
the <filename>meta-&lt;bsp_name&gt;/recipes-kernel/linux</filename> directory).
</para>
<para>
Suppose you are using the <filename>linux-yocto_3.8.bb</filename> recipe to build
Suppose you are using the <filename>linux-yocto_3.10.bb</filename> recipe to build
the kernel.
In other words, you have selected the kernel in your
<filename>&lt;bsp_name&gt;.conf</filename> file by adding these types
of statements:
<literallayout class='monospaced'>
PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto"
PREFERRED_VERSION_linux-yocto ?= "3.8%"
PREFERRED_VERSION_linux-yocto ?= "3.10%"
</literallayout>
<note>
When the preferred provider is assumed by default, the
<filename>PREFERRED_PROVIDER</filename> statement does not appear in the
<filename>&lt;bsp_name&gt;.conf</filename> file.
</note>
You would use the <filename>linux-yocto_3.8.bbappend</filename> file to append
You would use the <filename>linux-yocto_3.10.bbappend</filename> file to append
specific BSP settings to the kernel, thus configuring the kernel for your particular BSP.
</para>
<para>
As an example, look at the existing Crown Bay BSP.
The append file used is:
<literallayout class='monospaced'>
meta-crownbay/recipes-kernel/linux/linux-yocto_3.8.bbappend
meta-crownbay/recipes-kernel/linux/linux-yocto_3.10.bbappend
</literallayout>
The following listing shows the file.
Be aware that the actual commit ID strings in this example listing might be different
@ -532,46 +516,18 @@
<literallayout class='monospaced'>
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
COMPATIBLE_MACHINE_crownbay = "crownbay"
KMACHINE_crownbay = "crownbay"
KBRANCH_crownbay = "standard/crownbay"
KERNEL_FEATURES_crownbay_append = " features/drm-emgd/drm-emgd-1.16 cfg/vesafb"
COMPATIBLE_MACHINE_crownbay-noemgd = "crownbay-noemgd"
KMACHINE_crownbay-noemgd = "crownbay"
KBRANCH_crownbay-noemgd = "standard/crownbay"
KERNEL_FEATURES_crownbay-noemgd_append = " cfg/vesafb"
KERNEL_FEATURES_append_crownbay-noemgd = " cfg/vesafb"
LINUX_VERSION = "3.8.4"
LINUX_VERSION = "3.10.11"
SRCREV_meta_crownbay = "2a6d36e75ca0a121570a389d7bab76ec240cbfda"
SRCREV_machine_crownbay = "47aed0c17c1c55988198ad39f86ae88894c8e0a4"
SRCREV_emgd_crownbay = "c780732f175ff0ec866fac2130175876b519b576"
SRCREV_meta_crownbay-noemgd = "2a6d36e75ca0a121570a389d7bab76ec240cbfda"
SRCREV_machine_crownbay-noemgd = "47aed0c17c1c55988198ad39f86ae88894c8e0a4"
SRC_URI_crownbay = "git://git.yoctoproject.org/linux-yocto-3.8.git;protocol=git;nocheckout=1;branch=${KBRANCH},${KMETA},emgd-1.16;name=machine,meta,emgd"
SRCREV_meta_crownbay-noemgd = "285f93bf942e8f6fa678ffc6cc53696ed5400718"
SRCREV_machine_crownbay-noemgd = "702040ac7c7ec66a29b4d147665ccdd0ff015577"
</literallayout>
This append file contains statements used to support the Crown Bay BSP for both
<trademark class='registered'>Intel</trademark> EMGD and the VESA graphics.
The build process, in this case, recognizes and uses only the statements that
apply to the defined machine name - <filename>crownbay</filename> in this case.
So, the applicable statements in the <filename>linux-yocto_3.8.bbappend</filename>
file are follows:
<literallayout class='monospaced'>
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
COMPATIBLE_MACHINE_crownbay = "crownbay"
KMACHINE_crownbay = "crownbay"
KBRANCH_crownbay = "standard/crownbay"
KERNEL_FEATURES_crownbay_append = " features/drm-emgd/drm-emgd-1.16 cfg/vesafb"
SRCREV_meta_crownbay = "2a6d36e75ca0a121570a389d7bab76ec240cbfda"
SRCREV_machine_crownbay = "47aed0c17c1c55988198ad39f86ae88894c8e0a4"
SRCREV_emgd_crownbay = "c780732f175ff0ec866fac2130175876b519b576"
</literallayout>
The append file defines <filename>crownbay</filename> as the
This append file contains statements used to support the Crown Bay BSP.
The file defines <filename>crownbay</filename> as the
<ulink url='&YOCTO_DOCS_REF_URL;#var-COMPATIBLE_MACHINE'><filename>COMPATIBLE_MACHINE</filename></ulink>
and uses the
<ulink url='&YOCTO_DOCS_REF_URL;#var-KMACHINE'><filename>KMACHINE</filename></ulink> variable to
@ -588,12 +544,6 @@
<ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink> Git
repository and the <filename>meta</filename> Git repository branches to identify the
exact kernel needed to build the Crown Bay BSP.
<note>
For <filename>crownbay</filename>, a specific commit is also needed to point
to the branch that supports EMGD graphics.
At a minimum, every BSP points to the
<filename>machine</filename> and <filename>meta</filename> commits.
</note>
</para>
<para>
@ -1281,31 +1231,35 @@
Following is the complete example:
<literallayout class='monospaced'>
$ yocto-bsp create myarm qemu
Checking basic git connectivity...
Done.
Which qemu architecture would you like to use? [default: i386]
1) i386 (32-bit)
1) i386 (32-bit)
2) x86_64 (64-bit)
3) ARM (32-bit)
4) PowerPC (32-bit)
5) MIPS (32-bit)
3
Would you like to use the default (3.8) kernel? (y/n) [default: y]
Would you like to use the default (3.10) kernel? (y/n) [default: y] y
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.8.git...
Getting branches from remote repo git://git.yoctoproject.org/linux-yocto-3.10.git...
Please choose a machine branch to base your new BSP branch on: [default: standard/base]
1) standard/arm-versatile-926ejs
2) standard/base
3) standard/beagleboard
4) standard/ck
5) standard/crownbay
6) standard/edf
7) standard/emenlow
8) standard/fri2
9) standard/fsl-mpc8315e-rdb
10) standard/mti-malta32
11) standard/mti-malta64
12) standard/qemuppc
13) standard/routerstationpro
14) standard/sys940x
1) standard/arm-versatile-926ejs
2) standard/base
3) standard/beagleboard
4) standard/ck
5) standard/crownbay
6) standard/edf
7) standard/emenlow
8) standard/fri2
9) standard/fsl-mpc8315e-rdb
10) standard/minnow
11) standard/mti-malta32
12) standard/mti-malta64
13) standard/qemuppc
14) standard/routerstationpro
15) standard/sys940x
1
Would you like SMP support? (y/n) [default: y]
Does your BSP have a touchscreen? (y/n) [default: n]
@ -1320,7 +1274,7 @@
In the example, we use the ARM architecture.
</para></listitem>
<listitem><para>The script then prompts you for the kernel.
The default 3.8 kernel is acceptable.
The default 3.10 kernel is acceptable.
So, the example accepts the default.
If you enter 'n', the script prompts you to further enter the kernel
you do want to use (e.g. 3.2, 3.2_preempt-rt, and so forth.).</para></listitem>

View File

@ -269,15 +269,15 @@
Within this group, you will find several kernels supported by
the Yocto Project:
<itemizedlist>
<listitem><para><emphasis><filename>linux-yocto-3.2</filename></emphasis> - The
stable Yocto Project kernel to use with the Yocto Project Release 1.2. This kernel
is based on the Linux 3.2 released kernel.</para></listitem>
<listitem><para><emphasis><filename>linux-yocto-3.4</filename></emphasis> - The
stable Yocto Project kernel to use with the Yocto Project Release 1.3. This kernel
is based on the Linux 3.4 released kernel.</para></listitem>
<listitem><para><emphasis><filename>linux-yocto-3.8</filename></emphasis> - The
stable Yocto Project kernel to use with the Yocto Project Release 1.4. This kernel
is based on the Linux 3.8 released kernel.</para></listitem>
<listitem><para><emphasis><filename>linux-yocto-3.10</filename></emphasis> - The
stable Yocto Project kernel to use with the Yocto Project Release 1.5. This kernel
is based on the Linux 3.10 released kernel.</para></listitem>
<listitem><para><emphasis><filename>linux-yocto-dev</filename></emphasis> - A development
kernel based on the latest upstream release candidate available.</para></listitem>
</itemizedlist>

View File

@ -122,11 +122,11 @@
<literallayout class='monospaced'>
$ git clone git://git.yoctoproject.org/poky
Cloning into 'poky'...
remote: Counting objects: 183981, done.
remote: Compressing objects: 100% (47428/47428), done.
remote: Total 183981 (delta 132271), reused 183703 (delta 132044)
Receiving objects: 100% (183981/183981), 89.71 MiB | 2.93 MiB/s, done.
Resolving deltas: 100% (132271/132271), done.
remote: Counting objects: 203728, done.
remote: Compressing objects: 100% (52371/52371), done.
remote: Total 203728 (delta 147444), reused 202891 (delta 146614)
Receiving objects: 100% (203728/203728), 95.54 MiB | 308 KiB/s, done.
Resolving deltas: 100% (147444/147444), done.
</literallayout></para>
<para>For another example of how to set up your own local Git repositories, see this
<ulink url='&YOCTO_WIKI_URL;/wiki/Transcript:_from_git_checkout_to_meta-intel_BSP'>
@ -145,27 +145,28 @@
For simplicity, it is recommended that you create these structures outside of the
Source Directory (usually <filename>poky</filename>).</para>
<para>As an example, the following transcript shows how to create the bare clone
of the <filename>linux-yocto-3.8</filename> kernel and then create a copy of
of the <filename>linux-yocto-3.10</filename> kernel and then create a copy of
that clone.
<note>When you have a local Yocto Project kernel Git repository, you can
reference that repository rather than the upstream Git repository as
part of the <filename>clone</filename> command.
Doing so can speed up the process.</note></para>
<para>In the following example, the bare clone is named
<filename>linux-yocto-3.8.git</filename>, while the
copy is named <filename>my-linux-yocto-3.8-work</filename>:
<filename>linux-yocto-3.10.git</filename>, while the
copy is named <filename>my-linux-yocto-3.10-work</filename>:
<literallayout class='monospaced'>
$ git clone --bare git://git.yoctoproject.org/linux-yocto-3.8 linux-yocto-3.8.git
Cloning into bare repository 'linux-yocto-3.8.git'...
remote: Counting objects: 2847090, done.
remote: Compressing objects: 100% (454675/454675), done.
remote: Total 2847090 (delta 2386170), reused 2825793 (delta 2364886)
Receiving objects: 100% (2847090/2847090), 603.19 MiB | 3.54 MiB/s, done.
Resolving deltas: 100% (2386170/2386170), done. </literallayout></para>
$ git clone --bare git://git.yoctoproject.org/linux-yocto-3.10 linux-yocto-3.10.git
Cloning into bare repository 'linux-yocto-3.10.git'...
remote: Counting objects: 3364487, done.
remote: Compressing objects: 100% (507178/507178), done.
remote: Total 3364487 (delta 2827715), reused 3364481 (delta 2827709)
Receiving objects: 100% (3364487/3364487), 722.95 MiB | 423 KiB/s, done.
Resolving deltas: 100% (2827715/2827715), done.
</literallayout></para>
<para>Now create a clone of the bare clone just created:
<literallayout class='monospaced'>
$ git clone linux-yocto-3.8.git my-linux-yocto-3.8-work
Cloning into 'my-linux-yocto-3.8-work'...
$ git clone linux-yocto-3.10.git my-linux-yocto-3.10-work
Cloning into 'my-linux-yocto-3.10-work'...
done.
</literallayout></para></listitem>
<listitem id='meta-yocto-kernel-extras-repo'><para><emphasis>
@ -189,11 +190,12 @@
$ cd ~/poky
$ git clone git://git.yoctoproject.org/meta-yocto-kernel-extras meta-yocto-kernel-extras
Cloning into 'meta-yocto-kernel-extras'...
remote: Counting objects: 690, done.
remote: Compressing objects: 100% (431/431), done.
remote: Total 690 (delta 238), reused 690 (delta 238)
Receiving objects: 100% (690/690), 532.60 KiB, done.
Resolving deltas: 100% (238/238), done. </literallayout></para></listitem>
remote: Counting objects: 727, done.
remote: Compressing objects: 100% (452/452), done.
remote: Total 727 (delta 260), reused 719 (delta 252)
Receiving objects: 100% (727/727), 536.36 KiB | 102 KiB/s, done.
Resolving deltas: 100% (260/260), done.
</literallayout></para></listitem>
<listitem><para id='supported-board-support-packages-(bsps)'><emphasis>Supported Board
Support Packages (BSPs):</emphasis>
The Yocto Project provides a layer called <filename>meta-intel</filename> and
@ -246,16 +248,17 @@
$ cd ~/poky
$ git clone git://git.yoctoproject.org/meta-intel.git
Cloning into 'meta-intel'...
remote: Counting objects: 6264, done.
remote: Compressing objects: 100% (2135/2135), done.
remote: Total 6264 (delta 3321), reused 6235 (delta 3293)
Receiving objects: 100% (6264/6264), 2.17 MiB | 2.63 MiB/s, done.
Resolving deltas: 100% (3321/3321), done.
remote: Counting objects: 7366, done.
remote: Compressing objects: 100% (2491/2491), done.
remote: Total 7366 (delta 3997), reused 7299 (delta 3930)
Receiving objects: 100% (7366/7366), 2.31 MiB | 95 KiB/s, done.
Resolving deltas: 100% (3997/3997), done.
</literallayout></para>
<para>The same
<ulink url='&YOCTO_WIKI_URL;/wiki/Transcript:_from_git_checkout_to_meta-intel_BSP'>
wiki page</ulink> referenced earlier covers how to
set up the <filename>meta-intel</filename> Git repository.</para></listitem>
<ulink url='&YOCTO_WIKI_URL;/wiki/Transcript:_from_git_checkout_to_meta-intel_BSP'>wiki page</ulink>
referenced earlier covers how to
set up the <filename>meta-intel</filename> Git repository.
</para></listitem>
</itemizedlist></para></listitem>
<listitem><para><emphasis>Eclipse Yocto Plug-in:</emphasis> If you are developing
applications using the Eclipse Integrated Development Environment (IDE),