From 891786ee7d0c36c1ea526c1f5806a5ff69626285 Mon Sep 17 00:00:00 2001 From: "Robert P. J. Day" Date: Fri, 11 Oct 2013 07:16:55 -0700 Subject: [PATCH 001/658] bsp-guide: Fixed some grammar and some filenames. * A couple grammatical fixes. * A couple filename corrections. (From yocto-docs rev: 1bad0049c57d47aaa785b8825a9a702c16e4cb69) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/bsp-guide/bsp.xml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/documentation/bsp-guide/bsp.xml b/documentation/bsp-guide/bsp.xml index e11eb4f663f..c85e7e0883f 100644 --- a/documentation/bsp-guide/bsp.xml +++ b/documentation/bsp-guide/bsp.xml @@ -394,12 +394,13 @@ To use an include file, you simply include them in the machine configuration file. - For example, the Crown Bay BSP crownbay.conf has the + For example, the Crown Bay BSP crownbay.conf contains the following statements: require conf/machine/include/tune-atom.inc require conf/machine/include/ia32-base.inc require conf/machine/include/meta-intel.inc + require conf/machine/include/meta-intel-emgd.inc @@ -420,7 +421,7 @@ formfactor_0.0.bbappend 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 machconfig. + build that are defined by the machconfig file. In the Crown Bay example, two machconfig files exist: one that supports the IntelĀ® Embedded Media and Graphics Driver (IntelĀ® EMGD) and one that does not: @@ -460,7 +461,7 @@ (VESA) graphics): meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-config_0.1.bbappend - meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-config/crownbay-noemgd/xorg.conf + meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-config/crownbay/xorg.conf From d84f259f2371fd8fed75db45ff85c4bd03ed5db5 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Fri, 11 Oct 2013 08:41:46 -0700 Subject: [PATCH 002/658] dev-manual: Updates to "Best Practices to Follow When Creating Layers" I applied some capital letters to a bullet item for consistency. (From yocto-docs rev: c6bc04dc236ed2afaea888046091015165ab3a85) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/dev-manual/dev-manual-common-tasks.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/documentation/dev-manual/dev-manual-common-tasks.xml b/documentation/dev-manual/dev-manual-common-tasks.xml index ff4bbcd3eac..b9ad1a75a6f 100644 --- a/documentation/dev-manual/dev-manual-common-tasks.xml +++ b/documentation/dev-manual/dev-manual-common-tasks.xml @@ -296,8 +296,8 @@ impacting a build for a different machine. Following are some examples: - Modifying Variables to support - a different machine: + Modifying Variables to Support + a Different Machine: Suppose you have a layer named meta-one that adds support for building machine "one". From 3c576c802590ddfb927d22293c70c9b62529f970 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Fri, 11 Oct 2013 08:56:48 -0700 Subject: [PATCH 003/658] dev-manual: Updated "Using .bbappend Files" section. The actual file listings for the formfactor_0.0.bb and formfactor_0.0.bbappend files had changed. I updated the listings to match the actual files with the release. (From yocto-docs rev: 8b2e285d83a9bfd97ed123085d046eaeec2be6f8) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/dev-manual/dev-manual-common-tasks.xml | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/documentation/dev-manual/dev-manual-common-tasks.xml b/documentation/dev-manual/dev-manual-common-tasks.xml index b9ad1a75a6f..ab7b0ff6524 100644 --- a/documentation/dev-manual/dev-manual-common-tasks.xml +++ b/documentation/dev-manual/dev-manual-common-tasks.xml @@ -522,7 +522,7 @@ LICENSE = "MIT" LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 \ file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" - PR = "r21" + PR = "r41" SRC_URI = "file://config file://machconfig" S = "${WORKDIR}" @@ -537,7 +537,8 @@ if [ -s "${S}/machconfig" ]; then install -m 0644 ${S}/machconfig ${D}${sysconfdir}/formfactor/ fi - } + } + In the main recipe, note the SRC_URI variable, which tells the OpenEmbedded build system where to @@ -552,8 +553,6 @@ The file is in recipes-bsp/formfactor: FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" - - PRINC := "${@int(PRINC) + 2}" From b7f25ec9cd6ba6675214f2fdf05cfd17d2cf339b Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Fri, 11 Oct 2013 09:13:47 -0700 Subject: [PATCH 004/658] dev-manual: Updates to section on using script to create general layer I made some minor edits to this section for better wording. (From yocto-docs rev: 080a194f4911b97bedcef259ed8a5ab9dc0f9b0a) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/dev-manual/dev-manual-common-tasks.xml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/documentation/dev-manual/dev-manual-common-tasks.xml b/documentation/dev-manual/dev-manual-common-tasks.xml index ab7b0ff6524..835581bae37 100644 --- a/documentation/dev-manual/dev-manual-common-tasks.xml +++ b/documentation/dev-manual/dev-manual-common-tasks.xml @@ -795,10 +795,10 @@ The conf directory: - This directory contains the layers - .conf. + This directory contains the layer's configuration file. The root name for the file is the same as the root name - your provided for the layer. + your provided for the layer (e.g. + <layer>.conf). The COPYING.MIT: @@ -815,7 +815,6 @@ If you choose to generate a sample recipe file, the script prompts you for the name for the recipe and then creates it in <layer>/recipes-example/example/. - in a directory named recipes-example. The script creates a .bb file and a directory, which contains a sample helloworld.c source file and along with @@ -850,7 +849,8 @@ Once you create your general layer, you must add it to your bblayers.conf file. - Here is an example: + Here is an example where a layer named + meta-mylayer is added: BBLAYERS = ?" \ /usr/local/src/yocto/meta \ From 271b6cb7148d0ccb238199e811de46e66297121e Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Mon, 14 Oct 2013 09:55:44 -0700 Subject: [PATCH 005/658] dev-manual: Added note for BB Commander project location. Fixes [YOCTO #5203] Adding a BB Commander project location that is the same as your Eclipse workspace causes an error. I have added a note warning the user to not do this. (From yocto-docs rev: eff9eeba71cc7f464302b824a07bdb2591149f84) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/dev-manual/dev-manual-model.xml | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/documentation/dev-manual/dev-manual-model.xml b/documentation/dev-manual/dev-manual-model.xml index a3e61cb6c25..a82d998ff49 100644 --- a/documentation/dev-manual/dev-manual-model.xml +++ b/documentation/dev-manual/dev-manual-model.xml @@ -1470,7 +1470,14 @@ the "Clone from Yocto Git Repository" box, which would execute a git clone command to get the project's Metadata files. - + + Do not specify your Eclipse workspace as your + Bitbake Commander project location. + Doing so causes an error indicating that the + current project overlaps the location of + another project. + This error occurs even if no such project exits. + Select Finish to create the project. From c8b6934009c9c1dfd8697b05cf0694ba9ff2bcaa Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Mon, 14 Oct 2013 11:18:04 -0700 Subject: [PATCH 006/658] profile-manual: Added note about SystemTap ssh connectivity Fixes [YOCTO #4409] Added a note into the Setup section for SystemTap that tells how ssh connection is assumed. Also provided a link to the wiki page that basically replicates all the same information that is in the section. (From yocto-docs rev: b57429bb8ceccb51648cc797467d8bf8778f2da2) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- .../profile-manual/profile-manual-usage.xml | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/documentation/profile-manual/profile-manual-usage.xml b/documentation/profile-manual/profile-manual-usage.xml index 8fef7d60ade..9116d5bf71a 100644 --- a/documentation/profile-manual/profile-manual-usage.xml +++ b/documentation/profile-manual/profile-manual-usage.xml @@ -2096,6 +2096,15 @@ booted. The 'crosstap' script provides details on how to do this if you run the script on the host without having done a build: + + SystemTap, which uses 'crosstap', assumes you can establish an + ssh connection to the remote target. + Please refer to crosstap wiki page for details on verifying + ssh connections at + . + Also, the ability to ssh into the target system is not enabled + by default in -minimal images. + $ crosstap root@192.168.1.88 trace_open.stp @@ -2122,9 +2131,6 @@ the EXTRA_IMAGE_FEATURES variable ] $ bitbake core-image-sato - [ NOTE that 'crosstap' needs to be able to ssh into the target - system, which isn't enabled by default in -minimal images. ] - Once you've build the image on the host system, you're ready to boot it (or the equivalent pre-built image) and use 'crosstap' to probe it (you need to source the environment as usual first): From d72b558cd968db9bd0fa601ae1365cef06a51369 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Mon, 21 Oct 2013 08:54:44 -0700 Subject: [PATCH 007/658] poky.ent, documentation: Updates for building 1.5.1 release. Changed variables in poky.ent to support building 1.5.1. Added Manual revision entry to all manuals with that table for the 1.5.1 release. (From yocto-docs rev: a1c3196199437c3a7cfdf86e4f78b806c66b6385) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/adt-manual/adt-manual.xml | 5 +++++ documentation/bsp-guide/bsp-guide.xml | 5 +++++ documentation/dev-manual/dev-manual.xml | 5 +++++ documentation/kernel-dev/kernel-dev.xml | 5 +++++ documentation/poky.ent | 10 +++++----- documentation/profile-manual/profile-manual.xml | 5 +++++ documentation/ref-manual/ref-manual.xml | 5 +++++ 7 files changed, 35 insertions(+), 5 deletions(-) diff --git a/documentation/adt-manual/adt-manual.xml b/documentation/adt-manual/adt-manual.xml index 0c51b1eb24c..7745d71efe0 100644 --- a/documentation/adt-manual/adt-manual.xml +++ b/documentation/adt-manual/adt-manual.xml @@ -66,6 +66,11 @@ October 2013 Released with the Yocto Project 1.5 Release. + + 1.5.1 + Sometime in 2013 + Released with the Yocto Project 1.5.1 Release. + diff --git a/documentation/bsp-guide/bsp-guide.xml b/documentation/bsp-guide/bsp-guide.xml index 9afebb421a2..ec52cdbab35 100644 --- a/documentation/bsp-guide/bsp-guide.xml +++ b/documentation/bsp-guide/bsp-guide.xml @@ -78,6 +78,11 @@ October 2013 Released with the Yocto Project 1.5 Release. + + 1.5.1 + Sometime in 2013 + Released with the Yocto Project 1.5.1 Release. + diff --git a/documentation/dev-manual/dev-manual.xml b/documentation/dev-manual/dev-manual.xml index e3a134026f3..a75a5bbf617 100644 --- a/documentation/dev-manual/dev-manual.xml +++ b/documentation/dev-manual/dev-manual.xml @@ -56,6 +56,11 @@ October 2013 Released with the Yocto Project 1.5 Release. + + 1.5.1 + Sometime in 2013 + Released with the Yocto Project 1.5.1 Release. + diff --git a/documentation/kernel-dev/kernel-dev.xml b/documentation/kernel-dev/kernel-dev.xml index 60e20ede959..80e21454d75 100644 --- a/documentation/kernel-dev/kernel-dev.xml +++ b/documentation/kernel-dev/kernel-dev.xml @@ -41,6 +41,11 @@ October 2013 Released with the Yocto Project 1.5 Release. + + 1.5.1 + Sometime in 2013 + Released with the Yocto Project 1.5.1 Release. + diff --git a/documentation/poky.ent b/documentation/poky.ent index 4a241cdb008..ef00fcec748 100644 --- a/documentation/poky.ent +++ b/documentation/poky.ent @@ -1,9 +1,9 @@ - - + + - - - + + + diff --git a/documentation/profile-manual/profile-manual.xml b/documentation/profile-manual/profile-manual.xml index 59a82d0126b..4ed54517929 100644 --- a/documentation/profile-manual/profile-manual.xml +++ b/documentation/profile-manual/profile-manual.xml @@ -41,6 +41,11 @@ October 2013 Released with the Yocto Project 1.5 Release. + + 1.5.1 + Sometime in 2013 + Released with the Yocto Project 1.5.1 Release. + diff --git a/documentation/ref-manual/ref-manual.xml b/documentation/ref-manual/ref-manual.xml index 41354bc847f..4d8c4a0e55d 100644 --- a/documentation/ref-manual/ref-manual.xml +++ b/documentation/ref-manual/ref-manual.xml @@ -72,6 +72,11 @@ October 2013 Released with the Yocto Project 1.5 Release. + + 1.5.1 + Sometime in 2013 + Released with the Yocto Project 1.5.1 Release. + From 854c136d485975e5f697e373aa0cc063fee7faca Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Mon, 21 Oct 2013 08:58:01 -0700 Subject: [PATCH 008/658] tools/mega-manual.sed: Changed 1.5 to 1.5.1 Updated the script to support building the 1.5.1 released manuals. (From yocto-docs rev: 875d1920e15e6e203f17e2051b7d7ca51a340251) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/tools/mega-manual.sed | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/documentation/tools/mega-manual.sed b/documentation/tools/mega-manual.sed index c03a31d3dcf..d3142ec60d1 100644 --- a/documentation/tools/mega-manual.sed +++ b/documentation/tools/mega-manual.sed @@ -1,13 +1,13 @@ # Processes ref-manual and yocto-project-qs manual (-- style) -s/\"ulink\" href=\"http:\/\/www.yoctoproject.org\/docs\/1.5\/[a-z]*-[a-z]*-[a-z]*\/[a-z]*-[a-z]*-[a-z]*.html#/\"link\" href=\"#/g +s/\"ulink\" href=\"http:\/\/www.yoctoproject.org\/docs\/1.5.1\/[a-z]*-[a-z]*-[a-z]*\/[a-z]*-[a-z]*-[a-z]*.html#/\"link\" href=\"#/g # Processes all other manuals (- style) -s/\"ulink\" href=\"http:\/\/www.yoctoproject.org\/docs\/1.5\/[a-z]*-[a-z]*\/[a-z]*-[a-z]*.html#/\"link\" href=\"#/g +s/\"ulink\" href=\"http:\/\/www.yoctoproject.org\/docs\/1.5.1\/[a-z]*-[a-z]*\/[a-z]*-[a-z]*.html#/\"link\" href=\"#/g # Process cases where just an external manual is referenced without an id anchor -s/Yocto Project Quick Start<\/a>/Yocto Project Quick Start/g -s/Yocto Project Development Manual<\/a>/Yocto Project Development Manual/g -s/Yocto Project Application Developer's Guide<\/a>/Yocto Project Application Developer's Guide/g -s/Yocto Project Board Support Package (BSP) Developer's Guide<\/a>/Yocto Project Board Support Package (BSP) Developer's Guide/g -s/Yocto Project Linux Kernel Development Manual<\/a>/Yocto Project Linux Kernel Development Manual/g -s/Yocto Project Reference Manual<\/a>/Yocto Project Reference Manual/g +s/Yocto Project Quick Start<\/a>/Yocto Project Quick Start/g +s/Yocto Project Development Manual<\/a>/Yocto Project Development Manual/g +s/Yocto Project Application Developer's Guide<\/a>/Yocto Project Application Developer's Guide/g +s/Yocto Project Board Support Package (BSP) Developer's Guide<\/a>/Yocto Project Board Support Package (BSP) Developer's Guide/g +s/Yocto Project Linux Kernel Development Manual<\/a>/Yocto Project Linux Kernel Development Manual/g +s/Yocto Project Reference Manual<\/a>/Yocto Project Reference Manual/g From c65cb4348b439c157fdae8ac7ffa4777772b86dc Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Tue, 22 Oct 2013 08:49:31 -0700 Subject: [PATCH 009/658] dev-manual: Uncommented the Toaster GUI section. Removed the comments for the section that describes how the Toaster works with a GUI. I also commented out the smaller section that was used in place of the GUI section before it was fully functional. (From yocto-docs rev: 187e5fe9236742167903cbc7ae11f184256e8712) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/dev-manual/dev-manual-common-tasks.xml | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/documentation/dev-manual/dev-manual-common-tasks.xml b/documentation/dev-manual/dev-manual-common-tasks.xml index 835581bae37..0d3d59355c7 100644 --- a/documentation/dev-manual/dev-manual-common-tasks.xml +++ b/documentation/dev-manual/dev-manual-common-tasks.xml @@ -797,7 +797,7 @@ directory: This directory contains the layer's configuration file. The root name for the file is the same as the root name - your provided for the layer (e.g. + your provided for the layer (e.g. <layer>.conf). The @@ -849,7 +849,7 @@ Once you create your general layer, you must add it to your bblayers.conf file. - Here is an example where a layer named + Here is an example where a layer named meta-mylayer is added: BBLAYERS = ?" \ @@ -5196,6 +5196,7 @@ +
Examining Builds using Toaster @@ -5429,7 +5429,6 @@
--->
Profiling with OProfile From 52a9ca562e96461c12c4f9e56d8edc20ab08ae5a Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Tue, 22 Oct 2013 08:58:21 -0700 Subject: [PATCH 010/658] dev-manual: Added -ptest to list of complementarty packages Added the '-ptest' complementary package to the list of packages, which included '-dev' and '-dbg' when using inherit packagegroup. Robert P. J. Day pointed out the code in the OE packagegroup.bbclass class that showed these three packages all together. Reported-by: Robert P. J. Day (From yocto-docs rev: 92bbbbe77b5694eb9e11789c6c425be8c47399c9) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- .../dev-manual/dev-manual-common-tasks.xml | 24 ++++++++++++------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/documentation/dev-manual/dev-manual-common-tasks.xml b/documentation/dev-manual/dev-manual-common-tasks.xml index 0d3d59355c7..7a5a375c0e7 100644 --- a/documentation/dev-manual/dev-manual-common-tasks.xml +++ b/documentation/dev-manual/dev-manual-common-tasks.xml @@ -917,23 +917,29 @@ Customizing Images Using Custom Package Groups - For complex custom images, the best approach is to create a custom package group recipe - that is used to build the image or images. + For complex custom images, the best approach is to create a + custom package group recipe that is used to build the image or + images. A good example of a package group recipe is meta/recipes-core/packagegroups/packagegroup-core-boot.bb. The PACKAGES - variable lists the package group packages you wish to produce. inherit packagegroup - sets appropriate default values and automatically adds -dev - and -dbg complementary - packages for every package specified in PACKAGES. + variable lists the package group packages you wish to produce. + inherit packagegroup sets appropriate + default values and automatically adds -dev, + -dbg, and -ptest + complementary packages for every package specified in + PACKAGES. Note that the inherit line should be towards - the top of the recipe, certainly before you set PACKAGES. - For each package you specify in PACKAGES, you can use + the top of the recipe, certainly before you set + PACKAGES. + For each package you specify in PACKAGES, + you can use RDEPENDS and RRECOMMENDS - entries to provide a list of packages the parent task package should contain. + entries to provide a list of packages the parent task package + should contain. Following is an example: DESCRIPTION = "My Custom Package Groups" From 97d63634b45e01f8b02fdc84f2e5709fe87ab593 Mon Sep 17 00:00:00 2001 From: "Robert P. J. Day" Date: Wed, 23 Oct 2013 09:06:36 -0700 Subject: [PATCH 011/658] kernel-dev: Corrected error in the FILESEXTRAPATHS example FILESEXTRAPATHS_prepend example is missing essential trailing colon. (From yocto-docs rev: 9832a45e2ee6bda096453786d0273acff4033dab) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/kernel-dev/kernel-dev-common.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/kernel-dev/kernel-dev-common.xml b/documentation/kernel-dev/kernel-dev-common.xml index 11a527ce24e..a152f9fbbef 100644 --- a/documentation/kernel-dev/kernel-dev-common.xml +++ b/documentation/kernel-dev/kernel-dev-common.xml @@ -95,7 +95,7 @@ FILESEXTRAPATHS variable as follows: - FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}" + FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" The path ${THISDIR}/${PN} expands to "linux-yocto" in the current directory for this From 3c72e93fd3d53966d24fbaa97cd80917bb98fd46 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Nystr=C3=B6m?= Date: Wed, 23 Oct 2013 09:25:02 -0700 Subject: [PATCH 012/658] ref-manual: Added sdk-pms to Distro Feature list. Added description of DISTRO_FEATURE sdk-pms in the Yocto Reference Manual. The changes I made are not exactly identical to the patch submitted by David. I dit a bit of re-writing for the text but the concepts are the same. (From yocto-docs rev: a00b34badd547d585f0349ccc4112df6fc93691a) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-features.xml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/documentation/ref-manual/ref-features.xml b/documentation/ref-manual/ref-features.xml index 92c5e8abb29..3f216e3a646 100644 --- a/documentation/ref-manual/ref-features.xml +++ b/documentation/ref-manual/ref-features.xml @@ -115,6 +115,12 @@ supports it. wifi: Include WiFi support (integrated only). + sdk-pms: Include Package + Management Tools in the + nativesdk toolchain tarball. + Including these tools allows for easy sandbox use when + creating the root filesystem while using the SDK tarball. +
From 29d095ff71b2f2b78d76db7ec6aec2da205ee9dc Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Wed, 23 Oct 2013 10:41:09 -0700 Subject: [PATCH 013/658] documentation: Changed Note for most recent manual Fixes [YOCTO #5368] Changes partially address this issue, which is the removal of tarball installations for poky. The notes at the beginning of the YP manuals suggested that the tarball version of a manual might lag the version found on the website. Because we are discouraging installing poky/documentation from a tarball now, I have re-written the note to be generic and suggest simply that for the most recent version of the manual associated with the release, see the manual on the website. (From yocto-docs rev: d47ff8285a6ba01d721509724641a51aab8da73d) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/adt-manual/adt-manual.xml | 9 ++++----- documentation/bsp-guide/bsp-guide.xml | 9 ++++----- documentation/dev-manual/dev-manual.xml | 9 ++++----- documentation/kernel-dev/kernel-dev.xml | 9 ++++----- documentation/profile-manual/profile-manual.xml | 9 ++++----- documentation/ref-manual/ref-manual.xml | 9 ++++----- documentation/yocto-project-qs/yocto-project-qs.xml | 9 ++++----- 7 files changed, 28 insertions(+), 35 deletions(-) diff --git a/documentation/adt-manual/adt-manual.xml b/documentation/adt-manual/adt-manual.xml index 7745d71efe0..9ac54d35d02 100644 --- a/documentation/adt-manual/adt-manual.xml +++ b/documentation/adt-manual/adt-manual.xml @@ -84,11 +84,10 @@ the terms of the Creative Commons Attribution-Share Alike 2.0 UK: England & Wales as published by Creative Commons.
- Due to production processes, there could be differences between the Yocto Project - documentation bundled in the release tarball and the - Yocto Project Application Developer's Guide on - the Yocto Project website. - For the latest version of this manual, see the manual on the website. + For the latest version of this manual associated with this + Yocto Project release, see the + Yocto Project Application Developer's Guide + from the Yocto Project website. diff --git a/documentation/bsp-guide/bsp-guide.xml b/documentation/bsp-guide/bsp-guide.xml index ec52cdbab35..86b16d1226c 100644 --- a/documentation/bsp-guide/bsp-guide.xml +++ b/documentation/bsp-guide/bsp-guide.xml @@ -96,11 +96,10 @@ the terms of the Creative Commons Attribution-Non-Commercial-Share Alike 2.0 UK: England & Wales as published by Creative Commons.
- Due to production processes, there could be differences between the Yocto Project - documentation bundled in the release tarball and the - Yocto Project Board Support Package (BSP) Developer's Guide on - the Yocto Project website. - For the latest version of this manual, see the manual on the website. + For the latest version of this manual associated with this + Yocto Project release, see the + Yocto Project Board Support Package (BSP) Developer's Guide + from the Yocto Project website. diff --git a/documentation/dev-manual/dev-manual.xml b/documentation/dev-manual/dev-manual.xml index a75a5bbf617..ca400fbd188 100644 --- a/documentation/dev-manual/dev-manual.xml +++ b/documentation/dev-manual/dev-manual.xml @@ -77,11 +77,10 @@ - Due to production processes, there could be differences between the Yocto Project - documentation bundled in the release tarball and the - Yocto Project Development Manual on - the Yocto Project website. - For the latest version of this manual, see the manual on the website. + For the latest version of this manual associated with this + Yocto Project release, see the + Yocto Project Development Manual + from the Yocto Project website. diff --git a/documentation/kernel-dev/kernel-dev.xml b/documentation/kernel-dev/kernel-dev.xml index 80e21454d75..f4cddba76ee 100644 --- a/documentation/kernel-dev/kernel-dev.xml +++ b/documentation/kernel-dev/kernel-dev.xml @@ -59,11 +59,10 @@ the terms of the Creative Commons Attribution-Share Alike 2.0 UK: England & Wales as published by Creative Commons. - Due to production processes, there could be differences between the Yocto Project - documentation bundled in the release tarball and the - Yocto Project Linux Kernel Development Manual on - the Yocto Project website. - For the latest version of this manual, see the manual on the website. + For the latest version of this manual associated with this + Yocto Project release, see the + Yocto Project Linux Kernel Development Manual + from the Yocto Project website. diff --git a/documentation/profile-manual/profile-manual.xml b/documentation/profile-manual/profile-manual.xml index 4ed54517929..bafecff7e22 100644 --- a/documentation/profile-manual/profile-manual.xml +++ b/documentation/profile-manual/profile-manual.xml @@ -62,11 +62,10 @@ - Due to production processes, there could be differences between the Yocto Project - documentation bundled in the release tarball and the - Yocto Project Tracing and Profiling Manual on - the Yocto Project website. - For the latest version of this manual, see the manual on the website. + For the latest version of this manual associated with this + Yocto Project release, see the + Yocto Project Profiling and Tracing Manual + from the Yocto Project website. diff --git a/documentation/ref-manual/ref-manual.xml b/documentation/ref-manual/ref-manual.xml index 4d8c4a0e55d..7db880b404f 100644 --- a/documentation/ref-manual/ref-manual.xml +++ b/documentation/ref-manual/ref-manual.xml @@ -90,11 +90,10 @@ the terms of the Creative Commons Attribution-Share Alike 2.0 UK: England & Wales as published by Creative Commons. - Due to production processes, there could be differences between the Yocto Project - documentation bundled in the release tarball and the - Yocto Project Reference Manual on - the Yocto Project website. - For the latest version of this manual, see the manual on the website. + For the latest version of this manual associated with this + Yocto Project release, see the + Yocto Project Reference Manual + from the Yocto Project website. diff --git a/documentation/yocto-project-qs/yocto-project-qs.xml b/documentation/yocto-project-qs/yocto-project-qs.xml index 3c50680bf6e..3606fe89a01 100644 --- a/documentation/yocto-project-qs/yocto-project-qs.xml +++ b/documentation/yocto-project-qs/yocto-project-qs.xml @@ -17,11 +17,10 @@ the terms of the Creative Commons Attribution-Share Alike 2.0 UK: England & Wales as published by Creative Commons. - Due to production processes, there could be differences between the Yocto Project - documentation bundled in the release tarball and the - Yocto Project Quick Start on - the Yocto Project website. - For the latest version of this manual, see the manual on the website. + For the latest version of this manual associated with this + Yocto Project release, see the + Yocto Project Quick Start + from the Yocto Project website. From 1a08cfd4f83a547b0d7438aa1605da7860bc8f1b Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Wed, 23 Oct 2013 15:59:10 -0700 Subject: [PATCH 014/658] yocto-project-qs: Fixed toolchain installer download path Discovered that the string "toolchain" is in the pathname of the toolchain installers from the downloads area. This invalidated the explanation of how the installer files are named and the actual examples themselves. I fixed it all. (From yocto-docs rev: fbe67d2fc92cb5a5597d793ea2c3614b8260ae02) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/yocto-project-qs/yocto-project-qs.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/documentation/yocto-project-qs/yocto-project-qs.xml b/documentation/yocto-project-qs/yocto-project-qs.xml index 3606fe89a01..3a065f35f6e 100644 --- a/documentation/yocto-project-qs/yocto-project-qs.xml +++ b/documentation/yocto-project-qs/yocto-project-qs.xml @@ -590,7 +590,7 @@ - poky-eglibc-<host_system>-<image_type>-<arch>-<release_version>.sh + poky-eglibc-<host_system>-<image_type>-<arch>-toolchain-<release_version>.sh Where: <host_system> is a string representing your development system: @@ -619,7 +619,7 @@ development host system and a i586-tuned target architecture based off the SDK for core-image-sato: - poky-eglibc-x86_64-core-image-sato-i586-&DISTRO;.sh + poky-eglibc-x86_64-core-image-sato-toolchain-i586-&DISTRO;.sh @@ -648,7 +648,7 @@ - $ ~/Downloads/poky-eglibc-x86_64-core-image-sato-i586-&DISTRO;.sh + $ ~/Downloads/poky-eglibc-x86_64-core-image-sato-i586-toolchain-&DISTRO;.sh From a39bff8132bfb04522490230dc0bc69b99938e2c Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Wed, 23 Oct 2013 16:13:44 -0700 Subject: [PATCH 015/658] yocto-project-qs: Removed note in "Downloading the Filesystem" section. This note is bullshit. It was left over from like YP 1.3 release. I have removed it. (From yocto-docs rev: c4c154e7a74d4de8ca0fdeea380e72044f290e08) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/yocto-project-qs/yocto-project-qs.xml | 5 ----- 1 file changed, 5 deletions(-) diff --git a/documentation/yocto-project-qs/yocto-project-qs.xml b/documentation/yocto-project-qs/yocto-project-qs.xml index 3a065f35f6e..d9462a44158 100644 --- a/documentation/yocto-project-qs/yocto-project-qs.xml +++ b/documentation/yocto-project-qs/yocto-project-qs.xml @@ -721,11 +721,6 @@ <arch> is a string representing the target architecture: x86, x86-64, ppc, mips, or arm. - - For the qemu architecture, - ext3 and tar - files start with the "lib32" string. - From 874f178544b64444cc6b5cf39df6ac7814983b29 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Wed, 23 Oct 2013 16:20:37 -0700 Subject: [PATCH 016/658] yocto-project-qs: Fixed toolchain path I messed up on a previous commit and didn't get the example path correct. This fixes it. (From yocto-docs rev: 8ecc545db862ed2a9b6b795930610a193f5ed9e6) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/yocto-project-qs/yocto-project-qs.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/yocto-project-qs/yocto-project-qs.xml b/documentation/yocto-project-qs/yocto-project-qs.xml index d9462a44158..3d6f98d5d55 100644 --- a/documentation/yocto-project-qs/yocto-project-qs.xml +++ b/documentation/yocto-project-qs/yocto-project-qs.xml @@ -619,7 +619,7 @@ development host system and a i586-tuned target architecture based off the SDK for core-image-sato: - poky-eglibc-x86_64-core-image-sato-toolchain-i586-&DISTRO;.sh + poky-eglibc-x86_64-core-image-sato-i586-toolchain-&DISTRO;.sh From 4e6514248bf72c86c71e8ade00adb38eb2489fcf Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 24 Oct 2013 09:09:42 -0700 Subject: [PATCH 017/658] adt-manual: Fixed wording for getting the ADT tarball Poorly worded opening sentence for the "Getting the ADT Installer Tarball" section. I re-wrote this to remove the confusing link to the Index of Releases. (From yocto-docs rev: 638504f4a5c2910bb2a114e01e1aa12dd498a861) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/adt-manual/adt-prepare.xml | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/documentation/adt-manual/adt-prepare.xml b/documentation/adt-manual/adt-prepare.xml index 3c50cf90e92..9c016bf32cb 100644 --- a/documentation/adt-manual/adt-prepare.xml +++ b/documentation/adt-manual/adt-prepare.xml @@ -80,10 +80,9 @@ The ADT Installer is contained in the ADT Installer tarball. - You can download the tarball into any directory from the - Index of Releases, specifically - at - . + You can download the tarball from + into any + directory. Or, you can use BitBake to generate the tarball inside the existing Build Directory. From 560606c3ecc88ec54a1888e748fe09c1d0f76d9d Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 24 Oct 2013 09:51:38 -0700 Subject: [PATCH 018/658] adt-manual: Removed tarball method from "Getting the ADT Installer Tarball" Fixes [YOCTO #5368] Partial fix to this issue. This section demonstrated how to build the ADT Installer tarball using BitBake by downloading the poky release tarball. I updated the section to use the method where you use Git to clone the poky repo and then check out the current release as a branch. I also re-organized the section to read better. (From yocto-docs rev: 8c1a5e9fd114fd181b15de3b117d56fbb5779e1f) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/adt-manual/adt-prepare.xml | 70 ++++++++++++++---------- 1 file changed, 40 insertions(+), 30 deletions(-) diff --git a/documentation/adt-manual/adt-prepare.xml b/documentation/adt-manual/adt-prepare.xml index 9c016bf32cb..e0973c4e118 100644 --- a/documentation/adt-manual/adt-prepare.xml +++ b/documentation/adt-manual/adt-prepare.xml @@ -80,38 +80,48 @@ The ADT Installer is contained in the ADT Installer tarball. - You can download the tarball from - into any - directory. - Or, you can use BitBake to generate the tarball inside the existing - Build Directory. - - - - If you use BitBake to generate the ADT Installer tarball, you must - source the environment setup script - (&OE_INIT_FILE; - or - oe-init-build-env-memres) - located in the Source Directory before running the - BitBake command that creates the tarball. - - - - The following example commands download the Poky tarball, set up the - Source Directory, - set up the environment while also creating the default Build Directory, - and run the BitBake command that results in the tarball - ~/yocto-project/build/tmp/deploy/sdk/adt_installer.tar.bz2: - + You can get the tarball using either of these methods: + + Download the Tarball: + You can download the tarball from + into + any directory. + Build the Tarball: + You can use BitBake to generate the tarball inside an + existing + Build Directory. + + If you use BitBake to generate the ADT Installer + tarball, you must source the + environment setup script + (&OE_INIT_FILE; + or + oe-init-build-env-memres) + located in the Source Directory before running the + BitBake command that creates the tarball. + The following example commands establish + the + Source Directory, + check out the current release branch, set up the + build environment while also creating the default + Build Directory, and run the BitBake command that + results in the tarball + ~/yocto-project/build/tmp/deploy/sdk/adt_installer.tar.bz2: + + Before using BitBake to build the ADT tarball, be + sure to make sure your + local.conf file is properly + configured. + + $ cd ~ - $ mkdir yocto-project - $ cd yocto-project - $ wget &YOCTO_RELEASE_DL_URL;/&YOCTO_POKY_TARBALL; - $ tar xjf &YOCTO_POKY_TARBALL; - $ source &OE_INIT_PATH; + $ git clone git://git.yoctoproject.org/poky + $ cd poky + $ git checkout -b &DISTRO_NAME; origin/&DISTRO_NAME; + $ source &OE_INIT_FILE; $ bitbake adt-installer - +
+
From c7000e6817671d99db5cbf3a9091d4e4a0c8a31a Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 24 Oct 2013 10:44:52 -0700 Subject: [PATCH 019/658] adt-manual: Fixed toolchain path in example The path used for the toolchain was wrong. The string "toolchain" appears in the path. I was not informed of this before locking down 1.5 release doc changes. I have updated the path in the "Using a Cross-Toolchain Tarball" section. Occured twice. (From yocto-docs rev: 8a73c27dac7aebfb93afd7614b0da6c7c8752a03) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/adt-manual/adt-prepare.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/documentation/adt-manual/adt-prepare.xml b/documentation/adt-manual/adt-prepare.xml index e0973c4e118..5a23ac6c78b 100644 --- a/documentation/adt-manual/adt-prepare.xml +++ b/documentation/adt-manual/adt-prepare.xml @@ -277,7 +277,7 @@ target, go into the x86_64 folder and download the following installer: - poky-eglibc-x86_64-core-image-sato-i586-&DISTRO;.sh + poky-eglibc-x86_64-core-image-sato-i586-toolchain-&DISTRO;.sh Build your own toolchain installer. For cases where you cannot use an installer @@ -296,7 +296,7 @@ The example assumes the toolchain installer is located in ~/Downloads/. - $ ~/Downloads/poky-eglibc-x86_64-core-image-sato-i586-&DISTRO;.sh + $ ~/Downloads/poky-eglibc-x86_64-core-image-sato-i586-toolchain-&DISTRO;.sh If you do not have write permissions for the directory From b963e5d723f86b48593c5bcf77787dba4d39b01a Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 24 Oct 2013 13:15:24 -0700 Subject: [PATCH 020/658] adt-manual: Edits to the "Using a Cross-Toolchain Tarball" section. This section was not quite right for the installation method after obtaining the tarball. There was some old stuff in there and it didn't mention the fact that the script asks you what directory you want to install into. (From yocto-docs rev: d950b48fede7a139aad0aa4da39a2b34fa565438) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/adt-manual/adt-prepare.xml | 27 ++++++++++++++---------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/documentation/adt-manual/adt-prepare.xml b/documentation/adt-manual/adt-prepare.xml index 5a23ac6c78b..b23bfc05e47 100644 --- a/documentation/adt-manual/adt-prepare.xml +++ b/documentation/adt-manual/adt-prepare.xml @@ -288,8 +288,10 @@ Once you have the installer, run it to install the toolchain. - You must change the permissions on the toolchain installer - script so that it is executable. + + You must change the permissions on the toolchain + installer script so that it is executable. + The following command shows how to run the installer given a toolchain tarball for a 64-bit x86 development host system and a 32-bit x86 target architecture. @@ -298,17 +300,20 @@ $ ~/Downloads/poky-eglibc-x86_64-core-image-sato-i586-toolchain-&DISTRO;.sh - - If you do not have write permissions for the directory - into which you are installing the toolchain, the - toolchain installer notifies you and exits. - Be sure you have write permissions in the directory and - run the installer again. - - Once the tarball is expanded, the cross-toolchain is + The first thing the installer prompts you for is the + directory into which you want to install the toolchain. + The default directory used is + opt/poky/&DISTRO;. + If you do not have write permissions for the directory + into which you are installing the toolchain, the + toolchain installer notifies you and exits. + Be sure you have write permissions in the directory and + run the installer again. + When the script finishes, the cross-toolchain is installed. You will notice environment setup files for the - cross-toolchain in the directory. + cross-toolchain in the installation directory. + From aa8bad8bac39450cac29c44f16370b6381cee513 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 24 Oct 2013 14:05:38 -0700 Subject: [PATCH 021/658] adt-manual: Edits to "Using BitBake and the Build Directory" section. I added in some enhancements here: 1. Worded the local build environment setup stuff to include the possibility of memory resident version of BB. 2. Make a better looking list. 3. Dumped the note about changing directories after running your setup script. (From yocto-docs rev: 722836e1af86a46e57dfbeff69a34df5c36fead8) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/adt-manual/adt-prepare.xml | 56 +++++++++++++----------- 1 file changed, 31 insertions(+), 25 deletions(-) diff --git a/documentation/adt-manual/adt-prepare.xml b/documentation/adt-manual/adt-prepare.xml index b23bfc05e47..daee1d509f6 100644 --- a/documentation/adt-manual/adt-prepare.xml +++ b/documentation/adt-manual/adt-prepare.xml @@ -334,37 +334,43 @@ Follow these steps to generate the toolchain into the Build Directory: - Source the environment setup script - &OE_INIT_FILE; located in the + Set up the Build Environment: + Source the OpenEmbedded build environment setup + script (i.e. + &OE_INIT_FILE; + or + oe-init-build-env-memres) + located in the Source Directory. - At this point, you should be sure that the + Check your Local Configuration File: + At this point, you should be sure that the MACHINE variable in the local.conf file found in the conf directory of the Build Directory is set for the target architecture. - Comments within the local.conf file list the values you - can use for the MACHINE variable. - You can populate the Build Directory with the cross-toolchains for more - than a single architecture. - You just need to edit the MACHINE variable in the - local.conf file and re-run the BitBake - command. - Run bitbake meta-ide-support to complete the - cross-toolchain generation. - If you change out of your working directory after you - source the environment setup script and before you run - the BitBake command, the command might not work. - Be sure to run the BitBake command immediately - after checking or editing the local.conf but without - changing out of your working directory. - Once the BitBake command finishes, - the cross-toolchain is generated and populated within the Build Directory. - You will notice environment setup files for the cross-toolchain in the - Build Directory in the tmp directory. - Setup script filenames contain the strings environment-setup. - Be aware that when you use this method to install the toolchain you still need - to separately extract and install the sysroot filesystem. + Comments within the local.conf file + list the values you can use for the + MACHINE variable. + + You can populate the Build Directory with the + cross-toolchains for more than a single architecture. + You just need to edit the MACHINE + variable in the local.conf file and + re-run the BitBake command. + + Generate the Cross-Toolchain: + Run bitbake meta-ide-support to + complete the cross-toolchain generation. + Once the BitBake command finishes, the cross-toolchain is + generated and populated within the Build Directory. + You will notice environment setup files for the + cross-toolchain that contain the string + "environment-setup" in the + Build Directory's tmp folder. + Be aware that when you use this method to install the + toolchain, you still need to separately extract and install + the sysroot filesystem. For information on how to do this, see the "Extracting the Root Filesystem" section. From dc3e39efbd2bd8c00aea662623fec6cbfece8e4f Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 24 Oct 2013 15:20:30 -0700 Subject: [PATCH 022/658] adt-manual: Edits to "Getting the Images" section Fixed a grammar issue and provided some wording to make things clearer for locating the Makefile.inc file. (From yocto-docs rev: 37c71be85da57a353890e6be9e9d4c2414ddabb1) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/adt-manual/adt-prepare.xml | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/documentation/adt-manual/adt-prepare.xml b/documentation/adt-manual/adt-prepare.xml index daee1d509f6..3d902e4e5f2 100644 --- a/documentation/adt-manual/adt-prepare.xml +++ b/documentation/adt-manual/adt-prepare.xml @@ -457,8 +457,8 @@ application from within the Eclipse IDE, you must have an image that contains the Yocto Target Communication Framework (TCF) agent (tcf-agent). - By default, the Yocto Project provides only one type pre-built image that contains the - tcf-agent. + By default, the Yocto Project provides only one type of pre-built + image that contains the tcf-agent. And, those images are SDK (e.g.core-image-sato-sdk). @@ -487,13 +487,16 @@ the following commands: $ git clone http://git.eclipse.org/gitroot/tcf/org.eclipse.tcf.agent.git - $ cd agent + $ cd org.eclipse.tcf.agent/agent - Modify the Makefile.inc file + Locate the + Makefile.inc file inside the + agent folder and modify it for the cross-compilation environment by setting the OPSYS and MACHINE - variables according to your target. + variables according to your target. + Use the cross-development tools to build the tcf-agent. Before you "Make" the file, be sure your cross-tools are set up first. From baa03f300e1e9af9c0e1de7dc682076b588dd5fa Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Fri, 25 Oct 2013 09:43:43 -0700 Subject: [PATCH 023/658] adt-manual: Edits to "Extracting the Root Filesystem" section This section was a bit confusing. I added some lists to make it clearer when this step is necessary. I also added some more detail on where to find the setup script. (From yocto-docs rev: 231e1f44da61d4a2fdb5ddb20bce89dfddccf092) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/adt-manual/adt-prepare.xml | 61 ++++++++++++++++++------ 1 file changed, 46 insertions(+), 15 deletions(-) diff --git a/documentation/adt-manual/adt-prepare.xml b/documentation/adt-manual/adt-prepare.xml index 3d902e4e5f2..b4e27baf6ff 100644 --- a/documentation/adt-manual/adt-prepare.xml +++ b/documentation/adt-manual/adt-prepare.xml @@ -516,31 +516,62 @@ Extracting the Root Filesystem - You must extract the root filesystem if you want to boot the image using NFS - or you want to use the root filesystem as the target sysroot. - For example, the Eclipse IDE environment with the Eclipse Yocto Plug-in installed allows you - to use QEMU to boot under NFS. - Another example is if you want to develop your target application using the - root filesystem as the target sysroot. + If you install your toolchain by hand or build it using BitBake and + you need a root filesystem, you need to extract it separately. + If you use the ADT Installer to install the ADT, the root + filesystem is automatically extracted and installed. + + + + Here are some cases where you need to extract the root filesystem: + + You want to boot the image using NFS. + + You want to use the root filesystem as the + target sysroot. + For example, the Eclipse IDE environment with the Eclipse + Yocto Plug-in installed allows you to use QEMU to boot + under NFS. + You want to develop your target application + using the root filesystem as the target sysroot. + + To extract the root filesystem, first source - the cross-development environment setup script and then - use the runqemu-extract-sdk command on the + the cross-development environment setup script. + If you built the toolchain in the Build Directory, you will find + the toolchain environment script in the + tmp directory. + If you installed the toolchain by hand, the environment setup + script is located in opt/poky/&DISTRO;. + + + + After sourcing the environment script, use the + runqemu-extract-sdk command and provide the filesystem image. - For example, the following commands set up the environment and then extract - the root filesystem from a previously built filesystem image tarball named - core-image-sato-sdk-qemux86-2011091411831.rootfs.tar.bz2. - The example extracts the root filesystem into the $HOME/qemux86-sato - directory: + + + + Following is an example. + The second command sets up the environment. + In this case, the setup script is located in the + /opt/poky/&DISTRO; directory. + The third command extracts the root filesystem from a previously + built filesystem that is located in the + ~/Downloads directory. + Furthermore, this command extracts the root filesystem into the + $HOME/qemux86-sato directory: - $ source $HOME/toolchain_dir/environment-setup-i586-poky-linux + $ cd ~ + $ source /opt/poky/&DISTRO;/environment-setup-i586-poky-linux $ runqemu-extract-sdk \ ~Downloads/core-image-sato-sdk-qemux86-2011091411831.rootfs.tar.bz2 \ $HOME/qemux86-sato - In this case, you could now point to the target sysroot at + You could now point to the target sysroot at $HOME/qemux86-sato. From dfd41a6c37f2ad0a772589d4b6c39787eab9e0e9 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Fri, 25 Oct 2013 09:59:53 -0700 Subject: [PATCH 024/658] adt-manual: Edits to "Optionally Building a Toolchain Installer" This section pretty much sucked. I did some re-writing and created a list to better present the material and options. (From yocto-docs rev: 26402913d60043c643462aa51a187145c9a1356c) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/adt-manual/adt-prepare.xml | 38 +++++++++++------------- 1 file changed, 17 insertions(+), 21 deletions(-) diff --git a/documentation/adt-manual/adt-prepare.xml b/documentation/adt-manual/adt-prepare.xml index b4e27baf6ff..152c7fbfa68 100644 --- a/documentation/adt-manual/adt-prepare.xml +++ b/documentation/adt-manual/adt-prepare.xml @@ -582,30 +582,26 @@ As an alternative to locating and downloading a toolchain installer, - you can build the toolchain installer if you have a - Build Directory. - - - - You can build the toolchain - installer using bitbake meta-toolchain. - This method requires you to still install the target - sysroot by installing and extracting it separately. - For information on how to install the sysroot, see the - "Extracting the Root Filesystem" section. - - - - A final method of building the toolchain installer exists that has - significant advantages over the previous method. - This method results in a toolchain installer that contains the sysroot - that matches your target root filesystem. - To build this installer, use the - bitbake image -c populate_sdk command. + you can build the toolchain installer one of two ways if you have a + Build Directory: + + Use bitbake meta-toolchain. + This method requires you to still install the target + sysroot by installing and extracting it separately. + For information on how to install the sysroot, see the + "Extracting the Root Filesystem" + section. + Use + bitbake image -c populate_sdk. + This method has significant advantages over the previous method + because it results in a toolchain installer that contains the + sysroot that matches your target root filesystem. + + - Remember, before using any bitbake command, you + Remember, before using any BitBake command, you must source the build environment setup script (i.e. &OE_INIT_FILE; From d52f3770fd48d462f6e3fa6bd591d4e2fccb7061 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Fri, 25 Oct 2013 10:37:12 -0700 Subject: [PATCH 025/658] adt-manual: Minor edits to Chapter 4 Broke up the introductory paragraph a bit because it was one large chunk of text. Added the release variable to specify the directory in which to find the environment setup script for the toolchain. (From yocto-docs rev: d8a4b92490d13d9d16fc118168730e4a7767e775) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/adt-manual/adt-command.xml | 29 ++++++++++++++++-------- 1 file changed, 19 insertions(+), 10 deletions(-) diff --git a/documentation/adt-manual/adt-command.xml b/documentation/adt-manual/adt-command.xml index be54ae8ec36..0ed3396ef5f 100644 --- a/documentation/adt-manual/adt-command.xml +++ b/documentation/adt-manual/adt-command.xml @@ -8,23 +8,32 @@ Recall that earlier the manual discussed how to use an existing toolchain tarball that had been installed into the default installation - directory, /opt/poky, which is outside of the + directory, /opt/poky/&DISTRO;, which is outside of the Build Directory (see the section "Using a Cross-Toolchain Tarball)". And, that sourcing your architecture-specific environment setup script initializes a suitable cross-toolchain development environment. - During the setup, locations for the compiler, QEMU scripts, QEMU binary, + + + + During this setup, locations for the compiler, QEMU scripts, QEMU binary, a special version of pkgconfig and other useful utilities are added to the PATH variable. - Variables to assist pkgconfig and autotools - are also defined so that, - for example, configure.sh can find pre-generated - test results for tests that need target hardware on which to run. - These conditions allow you to easily use the toolchain outside of the - OpenEmbedded build environment on both autotools-based projects and - Makefile-based projects. + Also, variables to assist + pkgconfig and autotools + are also defined so that, for example, configure.sh + can find pre-generated test results for tests that need target hardware + on which to run. + + Collectively, these conditions allow you to easily use the toolchain + outside of the OpenEmbedded build environment on both autotools-based + projects and Makefile-based projects. + This chapter provides information for both these types of projects. + + +
Autotools-Based Projects @@ -179,7 +188,7 @@ If configure script results in problems recognizing the --with-libtool-sysroot=<sysroot-dir> option, regenerate the script to enable the support by doing the following and then - re-running the script: + run the script again: $ libtoolize --automake $ aclocal -I ${OECORE_NATIVE_SYSROOT}/usr/share/aclocal \ From d4fe8f987f8f233c43fae84f42a271ed6a99d1a1 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Mon, 28 Oct 2013 06:06:16 -0700 Subject: [PATCH 026/658] ref-manual: Updated IMAGE_FSTYPES variable description. Fixes [YOCTO #5368] The current explanation was ambiguous regarging the term "subset". I have rewritten to be clear. Reported-by: Laszlo Papp (From yocto-docs rev: 56842d98601d4215f7c429ec1cd1d4f7b98d54f3) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-variables.xml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/documentation/ref-manual/ref-variables.xml b/documentation/ref-manual/ref-variables.xml index 2c01d78e779..4d821760b4c 100644 --- a/documentation/ref-manual/ref-variables.xml +++ b/documentation/ref-manual/ref-variables.xml @@ -1993,10 +1993,10 @@ Core layer for images cannot be removed IMAGE_FSTYPES - Specifies the formats of the root filesystem created by - the OpenEmbedded build system. - Available formats are a subset of the - supported images listed in + Specifies the formats the OpenEmbedded build system uses + during the build when creating the root filesystem. + For the complete list of supported image formats from which + you can choose, see IMAGE_TYPES. From 39f0315a3212537e0894156138b0d711b4aaf116 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Mon, 28 Oct 2013 06:25:32 -0700 Subject: [PATCH 027/658] ref-manual: Edits to the IMAGE_FSTYPES variable Fixes [YOCTO #5368] Applied some review comments from Laszlo to the new description. I added an example. Reported-by: Laszlo Papp (From yocto-docs rev: 6be18fbf59c344b96532944abb8c4d8c8921f64b) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-variables.xml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/documentation/ref-manual/ref-variables.xml b/documentation/ref-manual/ref-variables.xml index 4d821760b4c..f3211f84edc 100644 --- a/documentation/ref-manual/ref-variables.xml +++ b/documentation/ref-manual/ref-variables.xml @@ -1995,6 +1995,13 @@ Core layer for images cannot be removed Specifies the formats the OpenEmbedded build system uses during the build when creating the root filesystem. + For example, setting IMAGE_FSTYPES + as follows causes the build system to create root + filesystems using two formats: .ext3 + and tar.bz2: + + IMAGE_FSTYPES = "ext3 tar.bz2" + For the complete list of supported image formats from which you can choose, see IMAGE_TYPES. From d1952de21d74cb6e22d05f44b08b6a2ff70c0c92 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Mon, 28 Oct 2013 09:20:42 -0700 Subject: [PATCH 028/658] dev-manual: Updates to toaster section Fixes [YOCTO #4414] Some changes to the toaster section according to the updated toaster wike site and Belen. (From yocto-docs rev: e8ca4c6f14c07e486a0a6a79ec4f98244390e621) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- .../dev-manual/dev-manual-common-tasks.xml | 57 +++++++++++++------ 1 file changed, 41 insertions(+), 16 deletions(-) diff --git a/documentation/dev-manual/dev-manual-common-tasks.xml b/documentation/dev-manual/dev-manual-common-tasks.xml index 7a5a375c0e7..a4b1c824dce 100644 --- a/documentation/dev-manual/dev-manual-common-tasks.xml +++ b/documentation/dev-manual/dev-manual-common-tasks.xml @@ -5275,9 +5275,8 @@ This release of Toaster provides you with information about a BitBake run. The tool does not allow you to configure and launch a build. - Future development includes plans to integrate the data examination - features of Toaster with the configuration and build launching - capabilities of + However, future development includes plans to integrate the + configuration and build launching capabilities of Hob. For more information on using Hob to build an image, @@ -5294,14 +5293,19 @@ First, be sure you have met the following requirements: You have set up your - Source Directory. + Source Directory + by cloning the upstream poky + repository. See the Yocto Project Release item for information on how to set up the Source Directory. Be sure your build machine has Django - version 1.4 or greater installed. + version 1.4.5 or greater installed. + Make sure that port 8000 and 8200 are + free (i.e. they have no servers on them). + @@ -5309,12 +5313,30 @@ Once you have met the requirements, follow these steps to start Toaster running in the background of your shell: - Set up your build environment by sourcing - the oe-init-build-env script. + Set up your build environment: + Source a build environment script (i.e. + oe-init-build-env or + oe-init-build-env-memres). - Edit your local.conf - configuration file as needed. - Start the Toaster service using this + Prepare your local configuration file: + Toaster needs the Toaster class enabled + in Bitbake in order to record target image package + information. + You can enable it by adding the following line to your + conf/local.conf file: + + INHERIT += "toaster" + + Toaster also needs Build History enabled in Bitbake in + order to record target image package information. + You can enable this by adding the following two lines + to your conf/local.conf file: + + INHERIT += "buildhistory" + BUILDHISTORY_COMMIT = "1" + + Start Toaster: + Start the Toaster service using this command from within your build directory: $ source toaster start @@ -5334,12 +5356,15 @@ toaster.sqlite: Toaster's database file. - tstmain.log: - Toaster's log file. - tstmain.pid: - Contains the PID of the web server. - dsi.pid: - Contains the PID of th bridge. + toaster_web.log: + The log file of the web server. + toaster_ui.log: + The log file of the user interface component. + + toastermain.pid: + The PID of the web server. + toasterui.pid: + The PID of the DSI data bridge. bitbake-cookerdaemon.log: The BitBake server's log file. From 1ba659469c678a10e8c3a7f337f62c1e93898ce1 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Mon, 28 Oct 2013 09:28:08 -0700 Subject: [PATCH 029/658] dev-manual: Updates to Toaster section about examing data Fixes [YOCTO #4414] Removed the details from the examining data section as directed by Belen. This detail remains in the 1.6 leg but not in the dora branch. (From yocto-docs rev: 2403f20edcfe258c10fd36de891c2f479e0a2d17) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- .../dev-manual/dev-manual-common-tasks.xml | 34 ------------------- 1 file changed, 34 deletions(-) diff --git a/documentation/dev-manual/dev-manual-common-tasks.xml b/documentation/dev-manual/dev-manual-common-tasks.xml index a4b1c824dce..d617bf545a8 100644 --- a/documentation/dev-manual/dev-manual-common-tasks.xml +++ b/documentation/dev-manual/dev-manual-common-tasks.xml @@ -5412,40 +5412,6 @@ dependencies, packages installed in your final image, execution time, CPU usage and disk I/O per task. - - - The home page of the interface into the database organizes - builds into areas: - - Recent successful builds, which appear - in row format in a green area. - Recent failed builds, which appear - in row format in a red area. - Recent builds in progress, which appear - in row format in a yellow area. - All builds, which appear in row format at - the end of the page. - - - - - Each entry is linked to more detail on the particular build - or recipe. - You can click on the links to learn more information. - - - - When you click on a failed recipe link, you can find out - information such as the work directory, the pathname to the - failing recipe, the exact error message, and precursor tasks. - - - - Clicking on a successful build provides you with configuration, - task, and package information along with directory structure, - build time, CPU usage, and disk I/O information. - -
From 2a66460caeea367bb85314266e7c57a174d1b456 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Tue, 29 Oct 2013 15:49:03 -0700 Subject: [PATCH 030/658] adt-manual, dev-manual: Removed the LatencyTop website link. This site has disappeared and I don't think there is a replacement. (From yocto-docs rev: c568a4f3a66a3cde7f71f9c31ce39814f05b8f38) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/adt-manual/adt-intro.xml | 9 ++++----- documentation/dev-manual/dev-manual-model.xml | 3 --- 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/documentation/adt-manual/adt-intro.xml b/documentation/adt-manual/adt-intro.xml index 0d323319a8e..a92828515da 100644 --- a/documentation/adt-manual/adt-intro.xml +++ b/documentation/adt-manual/adt-intro.xml @@ -22,8 +22,8 @@ and an introduction to the Eclipse IDE Yocto Plug-in. - The ADT is distribution-neutral and does not require the Yocto - Project reference distribution, which is called Poky. + The ADT is distribution-neutral and does not require the Yocto + Project reference distribution, which is called Poky. This manual, however, uses examples that use the Poky distribution. @@ -43,7 +43,7 @@ An architecture-specific cross-toolchain and matching sysroot both built by the OpenEmbedded build system. - The toolchain and sysroot are based on a + The toolchain and sysroot are based on a Metadata configuration and extensions, which allows you to cross-develop on the host machine for the target hardware. @@ -149,8 +149,7 @@ that causes skips in audio, stutters in your desktop experience, or situations that overload your server even when you have plenty of CPU power left. - You can find out more about LatencyTOP at - . + PowerTOP: Helps you determine what software is using the most power. You can find out more about PowerTOP at diff --git a/documentation/dev-manual/dev-manual-model.xml b/documentation/dev-manual/dev-manual-model.xml index a82d998ff49..b5b644e0edd 100644 --- a/documentation/dev-manual/dev-manual-model.xml +++ b/documentation/dev-manual/dev-manual-model.xml @@ -1424,9 +1424,6 @@ "perf" section in the Yocto Project Profiling and Tracing Manual. - For information on LatencyTOP, see the - LatencyTOP - website. From bc12d35a7f5c0fb9623a681e5dc3a1c20edea4e3 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Tue, 29 Oct 2013 16:39:25 -0700 Subject: [PATCH 031/658] dev-manual: Updated the layer.conf example The meta-yocto-bsp/conf/layer.conf example had gone stale. I updated it. (From yocto-docs rev: d77ea0f078675b227a018a57574f5512629c8afb) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/dev-manual/dev-manual-common-tasks.xml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/documentation/dev-manual/dev-manual-common-tasks.xml b/documentation/dev-manual/dev-manual-common-tasks.xml index d617bf545a8..66b862b1778 100644 --- a/documentation/dev-manual/dev-manual-common-tasks.xml +++ b/documentation/dev-manual/dev-manual-common-tasks.xml @@ -150,6 +150,7 @@ BBFILE_COLLECTIONS += "yoctobsp" BBFILE_PATTERN_yoctobsp = "^${LAYERDIR}/" BBFILE_PRIORITY_yoctobsp = "5" + LAYERVERSION_yoctobsp = "2" Here is an explanation of the example: @@ -194,6 +195,10 @@ where the same package might appear in multiple layers and allows you to choose what layer should take precedence. + The + LAYERVERSION + variable optionally specifies the version of a + layer as a single number. Note the use of the LAYERDIR From 2ad3e6e0e4816616e19b8ba6527d32e6ffb7947e Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Wed, 30 Oct 2013 06:57:45 -0700 Subject: [PATCH 032/658] dev-manual: Fixed grammar error. (From yocto-docs rev: b3efa5dd7c647025da4066c8d44f55a7861ab675) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/dev-manual/dev-manual-common-tasks.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/documentation/dev-manual/dev-manual-common-tasks.xml b/documentation/dev-manual/dev-manual-common-tasks.xml index 66b862b1778..faa529040a7 100644 --- a/documentation/dev-manual/dev-manual-common-tasks.xml +++ b/documentation/dev-manual/dev-manual-common-tasks.xml @@ -1085,8 +1085,8 @@ IMAGE_INSTALL_append = " strace" - Use of the syntax is important. - Specifically, the space between the quote and the package name, which is + Use of the syntax is important - specifically, the space between + the quote and the package name, which is strace in this example. This space is required since the _append operator does not add the space. From 26c099f15ef10b0b00b85ec5115532013a91b4a1 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Wed, 30 Oct 2013 10:35:01 -0700 Subject: [PATCH 033/658] dev-manual: Edits to the toaster section Partial fix for [YOCTO #4414] Got some feedback on the section and added a step that the user needs to checkout the dora-toaster branch after clonine poky. Also, that the Django version is specific and not the listed version +. Finally, a bit of wording to note that the GUI is temporary for this release. (From yocto-docs rev: 7d7c42894b05c86366e8b35ec2f8f9e0e7ee5baa) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/dev-manual/dev-manual-common-tasks.xml | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/documentation/dev-manual/dev-manual-common-tasks.xml b/documentation/dev-manual/dev-manual-common-tasks.xml index faa529040a7..4016eca6c77 100644 --- a/documentation/dev-manual/dev-manual-common-tasks.xml +++ b/documentation/dev-manual/dev-manual-common-tasks.xml @@ -5305,9 +5305,15 @@ Yocto Project Release item for information on how to set up the Source Directory. + You have checked out the + dora-toaster branch: + + $ cd ~/poky + $ git checkout -b dora-toaster origin/dora-toaster + Be sure your build machine has Django - version 1.4.5 or greater installed. + version 1.4.5 installed. Make sure that port 8000 and 8200 are free (i.e. they have no servers on them). @@ -5396,7 +5402,8 @@ tool from the shell and pass it the same URL. - Either method opens the home page for the Toaster interface. + Either method opens the home page for the Toaster interface, + which is temporary for this release.
From 55f35e457d83822071b58665475a567085ffaf99 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Wed, 30 Oct 2013 11:42:59 -0700 Subject: [PATCH 034/658] dev-manual: Updates to Toaster section Partial fix for [YOCTO #4414] I put in the API stuff as well as made sure the other comments for the dora-toaster branch and temporariness of the GUI were mentioned. Probably more tweaks before this section settles out. (From yocto-docs rev: 54dd0edff55c26fb52941e69b1919e30d7a7ec55) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- .../dev-manual/dev-manual-common-tasks.xml | 65 ++++++------------- 1 file changed, 20 insertions(+), 45 deletions(-) diff --git a/documentation/dev-manual/dev-manual-common-tasks.xml b/documentation/dev-manual/dev-manual-common-tasks.xml index 4016eca6c77..e2e89a032c1 100644 --- a/documentation/dev-manual/dev-manual-common-tasks.xml +++ b/documentation/dev-manual/dev-manual-common-tasks.xml @@ -5207,62 +5207,25 @@ - - -
- Examining Builds using Toaster - - - Toaster is a Web-based interface to the OpenEmbedded build system, - which uses BitBake. - Toaster offers features to record and analyze BitBake runs applied - to a specific target. - Using Toaster, you can do the following: + Using the interfaces you can do the following: See information about the tasks executed and reused during the build. @@ -5290,6 +5253,18 @@ section. + + The remainder of this section describes what you need to have in + place to use Toaster, how to start it, use it, and stop it. + For additional information on installing and running Toaster, see the + "Installation and Running" + section of the "Toaster" wiki page. + For complete information on the API and its search operation + URI, parameters, and responses, see the + REST API Contracts + Wiki page. + +
Starting Toaster From 2093e92ef47508792a47e4ab88415a5f612b2b83 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Fri, 1 Nov 2013 17:00:32 +0000 Subject: [PATCH 035/658] dev-manual: Updated the note about BB Commander/Eclipse WS locations Fixes [YOCTO #5203] This was reviewed by Alex and an ordering change was needed due to the order of how things are created during the workflow. (From yocto-docs rev: cd55870ac91f5a3e9329dd89bcb175b67bb4aca3) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/dev-manual/dev-manual-model.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/documentation/dev-manual/dev-manual-model.xml b/documentation/dev-manual/dev-manual-model.xml index b5b644e0edd..cb09627d6e1 100644 --- a/documentation/dev-manual/dev-manual-model.xml +++ b/documentation/dev-manual/dev-manual-model.xml @@ -1468,8 +1468,8 @@ would execute a git clone command to get the project's Metadata files. - Do not specify your Eclipse workspace as your - Bitbake Commander project location. + Do not specify your BitBake Commander project + location as your Eclipse workspace. Doing so causes an error indicating that the current project overlaps the location of another project. From 75bed4086eb83f1d24c31392f3dd54aa5c3679b1 Mon Sep 17 00:00:00 2001 From: "Maxin B. John" Date: Thu, 31 Oct 2013 15:01:25 +0000 Subject: [PATCH 036/658] adt-manual: Added note for static builds using -c populate_sdk Documentation fix for [YOCTO #5347] SDK created useing the "-c populate_sdk" will not support static binary build without proper staticdev library packages. I have added a note to inform the user about this limitation. (From yocto-docs rev: ce9e4815e700cc22d3f54ab0621c1a22091c2b54) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/adt-manual/adt-prepare.xml | 25 +++++++++++++++++++----- 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/documentation/adt-manual/adt-prepare.xml b/documentation/adt-manual/adt-prepare.xml index 152c7fbfa68..02416b3cda6 100644 --- a/documentation/adt-manual/adt-prepare.xml +++ b/documentation/adt-manual/adt-prepare.xml @@ -617,12 +617,27 @@ variable is correctly set if you are building a toolchain designed to run on an architecture that differs from your current development host machine (i.e. the build machine). - + - - When the BitBake command completes, the toolchain installer will be in - tmp/deploy/sdk in the Build Directory. - + + When the BitBake command completes, the toolchain installer will be in + tmp/deploy/sdk in the Build Directory. + + By default, this toolchain does not build static binaries. + If you want to use the toolchain to build these types of libraries, + you need to be sure your image has the appropriate static + development libraries. + Use the + IMAGE_INSTALL + variable inside your local.conf file to + install the appropriate library packages. + Following is an example using eglibc static + development libraries: + + IMAGE_INSTALL_append = " eglibc-staticdev" + + +
From 7f55ac338af906ee55ac4e923bae1916b420b96c Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Mon, 4 Nov 2013 07:52:20 -0800 Subject: [PATCH 037/658] ref-manual: Fixed URL to buildtools to use the &DISTRO; variable. This was hard-coded to "1.5". It now tracks the actual distro release. The fix assumes that there will be an actual location to resolve to. (From yocto-docs rev: 43ceaeac04bac3b1c46134c032c375ad9d9420b7) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/introduction.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/ref-manual/introduction.xml b/documentation/ref-manual/introduction.xml index b1a5c0e1750..3e071baebd3 100644 --- a/documentation/ref-manual/introduction.xml +++ b/documentation/ref-manual/introduction.xml @@ -358,7 +358,7 @@ If downloading a pre-built tarball, locate the *.sh at - . + . From fcd56baec1ab5bca00453c5ba6c425ac2e6cf93f Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Mon, 4 Nov 2013 08:26:57 -0800 Subject: [PATCH 038/658] ref-manual: Edits to the BBLAYERS_NON_REMOVABLE variable. This variable is only used when building an image using Hob. The description implied otherwise. I clearly state this now. Reported-by: Robert P. J. Day (From yocto-docs rev: ee4616ba45f43e631e8040ed4662e403e610fa0b) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-variables.xml | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/documentation/ref-manual/ref-variables.xml b/documentation/ref-manual/ref-variables.xml index f3211f84edc..2e4ef56e7c7 100644 --- a/documentation/ref-manual/ref-variables.xml +++ b/documentation/ref-manual/ref-variables.xml @@ -636,10 +636,15 @@ BBLAYERS_NON_REMOVABLE -Core layer for images cannot be removed Lists core layers that cannot be removed from the - bblayers.conf file. - In order for BitBake to build your image, your + bblayers.conf file during a build + using the + Hob. + + When building an image outside of Hob, this variable + is ignored. + + In order for BitBake to build your image using Hob, your bblayers.conf file must include the meta and meta-yocto core layers. From bf6209c6226cf96bd68ae410b2aef9348a71377a Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Mon, 4 Nov 2013 08:36:33 -0800 Subject: [PATCH 039/658] ref-manual: Edits to INITSCRIPT_NAME variable. The etcdir string was replaced by sysconfdir. Reported-by: Robert P. J. Day (From yocto-docs rev: 23b5db0135d3df31dc895e8c0c756aec05fcb8db) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-variables.xml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/documentation/ref-manual/ref-variables.xml b/documentation/ref-manual/ref-variables.xml index 2e4ef56e7c7..12839ba1389 100644 --- a/documentation/ref-manual/ref-variables.xml +++ b/documentation/ref-manual/ref-variables.xml @@ -2410,7 +2410,8 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3" INITSCRIPT_NAME - The filename of the initscript as installed to ${etcdir}/init.d. + The filename of the initialization script as installed to + ${sysconfdir}/init.d. This variable is used in recipes when using update-rc.d.bbclass. From da3d082c5c4e80d6c71c6eb5c9e0f22706bcb039 Mon Sep 17 00:00:00 2001 From: "Robert P. J. Day" Date: Mon, 4 Nov 2013 09:56:15 -0800 Subject: [PATCH 040/658] ref-manual: Patch for various fixes to glossary Fixes include: * typoes * grammar fixes * updated package and version references * clarifications (From yocto-docs rev: 18e4c0396b49882a533fe5de8f93c4bd6c888378) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-variables.xml | 112 +++++++++++---------- 1 file changed, 60 insertions(+), 52 deletions(-) diff --git a/documentation/ref-manual/ref-variables.xml b/documentation/ref-manual/ref-variables.xml index 12839ba1389..facf2edb681 100644 --- a/documentation/ref-manual/ref-variables.xml +++ b/documentation/ref-manual/ref-variables.xml @@ -53,15 +53,16 @@ By default, BitBake does not produce empty packages. This default behavior can cause issues when there is an RDEPENDS or - some other runtime hard-requirement on the existence of the package. + some other hard runtime requirement on the existence of the package. Like all package-controlling variables, you must always use them in - conjunction with a package name override. - Here is an example: + conjunction with a package name override, as in: ALLOW_EMPTY_${PN} = "1" + ALLOW_EMPTY_${PN}-dev = "1" + ALLOW_EMPTY_${PN}-staticdev = "1" @@ -234,9 +235,9 @@ in which the OpenEmbedded build system places generated objects during a recipe's build process. By default, this directory is the same as the S - directory: + directory, which is defined as: - B = "${WORKDIR}/${BPN}/{PV}/" + S = "${WORKDIR}/${BP}/" You can separate the (S) directory and the directory pointed to by the B @@ -503,7 +504,7 @@ the Git repositories is not the default action by the OpenEmbedded build system. - BB_Generate_MIRROR_TARBALLS = "1" + BB_GENERATE_MIRROR_TARBALLS = "1" Set this variable in your local.conf file in the @@ -515,7 +516,7 @@ BB_NUMBER_THREADS The maximum number of tasks BitBake should run in parallel at any one time. - If your host development system supports multiple cores a good rule of thumb + If your host development system supports multiple cores, a good rule of thumb is to set this variable to twice the number of cores. @@ -591,7 +592,7 @@ for a layer with no dependencies, is the lowest defined priority + 1 (or 1 if no priorities are defined). - You can use the command bitbake-layers show_layers to list + You can use the command bitbake-layers show-layers to list all configured layers along with their priorities. @@ -974,8 +975,8 @@ Then, provide a space-separated list of files. Here is an example: - CONFFILES_${PN} += "${sysconfdir}/file1 \ - ${sysconfdir}/file2 ${sysconfdir}/file3" + CONFFILES_${PN} += "${sysconfdir}/file1 \ + ${sysconfdir}/file2 ${sysconfdir}/file3" @@ -1090,7 +1091,7 @@ TARGET_CFLAGS and CFLAGS when compiling a system for debugging. - This variable defaults to "-O -fno-omit-frame-pointer -g". + This variable defaults to "-O -fno-omit-frame-pointer ${DEBUG_FLAGS} -pipe". @@ -1113,7 +1114,7 @@ The bias provided by DEFAULT_PREFERENCE is weak and is overridden by BBFILE_PRIORITY - if the that variable is different between two layers + if that variable is different between two layers that contain different versions of the same recipe. @@ -1161,7 +1162,7 @@ files that are ready to be used outside of the build system. By default, this directory resides within the Build Directory - as tmp/deploy. + as ${TMPDIR}/deploy. @@ -1188,7 +1189,7 @@ ${MACHINE} name. By default, this directory resides within the Build Directory - as tmp/deploy/images/${MACHINE}/. + as ${DEPLOY_DIR}/images/${MACHINE}/. @@ -1325,7 +1326,7 @@ DISTRO_VERSION - the version of the distribution. + The version of the distribution. @@ -1626,7 +1627,7 @@ Sometimes a recipe is required to build the final image but is not needed in the root filesystem. You can use the EXTRA_IMAGEDEPENDS variable to - list these recipes and thus, specify the dependencies. + list these recipes and thus specify the dependencies. A typical example is a required bootloader in a machine configuration. @@ -1673,15 +1674,15 @@ files you want included as part of the resulting package. Here is an example: - FILES_${PN} += "${bindir}/mydir1/ ${bindir}/mydir2/myfile" + FILES_${PN} += "${bindir}/mydir1/ ${bindir}/mydir2/myfile" When specifying paths as part of the FILES variable, it is good practice to use appropriate path variables. - For example, ${sysconfdir} rather than - /etc or ${bindir} rather + For example, use ${sysconfdir} rather than + /etc, or ${bindir} rather than /usr/bin. You can find a list of these variables at the top of the /meta/conf/bitbake.conf file in the @@ -1854,7 +1855,7 @@ is located in the meta/files folder in the Source Directory. If you create your own file permissions setting table, you should place it in your - layer or the distros layer. + layer or the distro's layer. You define the FILESYSTEM_PERMS_TABLES variable in the @@ -1880,7 +1881,7 @@ and CFLAGS when compiling an optimized system. This variable defaults to - "-fexpensive-optimizations -fomit-frame-pointer -frename-registers -O2". + "-O2 -pipe ${DEBUG_FLAGS}". @@ -1987,7 +1988,7 @@ - For example that shows how to customize your image by + For an example that shows how to customize your image by using this variable, see the "Customizing Images Using Custom IMAGE_FEATURES and EXTRA_IMAGE_FEATURES" section in the Yocto Project Development Manual. @@ -2003,7 +2004,7 @@ For example, setting IMAGE_FSTYPES as follows causes the build system to create root filesystems using two formats: .ext3 - and tar.bz2: + and .tar.bz2: IMAGE_FSTYPES = "ext3 tar.bz2" @@ -2041,7 +2042,7 @@ += operation against IMAGE_INSTALL will result in unexpected behavior when used in /conf/local.conf. - Furthermore, the same operation from with an image recipe may or may not + Furthermore, the same operation from within an image recipe may or may not succeed depending on the specific situation. In both these cases, the behavior is contrary to how most users expect the += operator to work. @@ -2053,7 +2054,7 @@ IMAGE_INSTALL_append = " package-name" Be sure to include the space between the quotation character and the start of the - package name. + package name or names. @@ -2139,9 +2140,9 @@ Alternatively, you can ensure a specific amount of free disk space is added - to the image by using + to the image by using the IMAGE_ROOTFS_EXTRA_SPACE - the variable. + variable. @@ -2194,6 +2195,14 @@ IMAGE_ROOTFS_EXTRA_SPACE = "5242880" + + + For example, the Yocto Project Build Appliance specifically requests 40 Gbytes + of extra space with the line: + + IMAGE_ROOTFS_EXTRA_SPACE = "41943040" + + @@ -2415,7 +2424,7 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3" This variable is used in recipes when using update-rc.d.bbclass. - The variable is Mandatory. + The variable is mandatory. @@ -3094,11 +3103,12 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3" MACHINE ?= "qemux86" MACHINE ?= "qemux86-64" MACHINE ?= "genericx86" + MACHINE ?= "genericx86-64" MACHINE ?= "beagleboard" MACHINE ?= "mpc8315e-rdb" MACHINE ?= "routerstationpro" - The last four are Yocto Project reference hardware boards, which + The last five are Yocto Project reference hardware boards, which are provided in the meta-yocto-bsp layer. Adding additional Board Support Package (BSP) layers to your configuration adds new possible settings for @@ -3477,7 +3487,7 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3" Some recommended packages might be required for certain system functionality, such as kernel modules. - It is up to you to add packages with + It is up to you to add packages with the IMAGE_INSTALL variable. @@ -3656,7 +3666,7 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3" Enables easily adding packages to PACKAGES before ${PN} - so that the packages can pick up files that would normally be + so that those added packages can pick up files that would normally be included in the default package. @@ -3874,7 +3884,7 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3" PACKAGECONFIG="f4 f5" - Or, you can just amended the variable: + Or, you can just append the variable: PACKAGECONFIG_append = " f4" @@ -3984,15 +3994,6 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3" - - - -PARALLEL_MAKEINST with the description ". - - - - - PATCHRESOLVE @@ -4089,6 +4090,11 @@ PARALLEL_MAKEINST with the description ". do_packagedata task packages data for each recipe and installs it into this temporary, shared area. + This directory defaults to the following: + + ${STAGING_DIR_HOST}/pkgdata + + Do not change this default. @@ -4174,9 +4180,11 @@ PARALLEL_MAKEINST with the description ". provided item, and you should set it to the PN of the recipe to which you want to give precedence. - Here is an example: + Some examples: + PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto" PREFERRED_PROVIDER_virtual/xserver = "xserver-xf86" + PREFERRED_PROVIDER_virtual/libgl ?= "mesa" @@ -4189,7 +4197,7 @@ PARALLEL_MAKEINST with the description ". variable determines which recipe should be given preference. You must always suffix the variable with the PN - you want to select, and you should set to the + you want to select, and you should set the PV accordingly for precedence. You can use the "%" character as a @@ -4198,8 +4206,8 @@ PARALLEL_MAKEINST with the description ". numbers that could potentially change. Here are two examples: - PREFERRED_VERSION_python = "2.6.6" - PREFERRED_VERSION_linux-yocto = "3.0+git%" + PREFERRED_VERSION_python = "2.7.3" + PREFERRED_VERSION_linux-yocto = "3.10%" @@ -4257,7 +4265,7 @@ PARALLEL_MAKEINST with the description ". dynamically increment. This increment minimizes the impact of layer ordering. In order to ensure multiple .bbappend files can co-exist, - PRINC should be self referencing. + PRINC should be self-referencing. This variable defaults to 0. Following is an example that increments PR by two: @@ -4725,7 +4733,7 @@ PARALLEL_MAKEINST with the description ". (PV) as follows: - ${WORKDIR}/${PN}-${PV} + ${WORKDIR}/${PN}-${PV} As an example, assume a Source Directory @@ -4735,7 +4743,7 @@ PARALLEL_MAKEINST with the description ". to keep the unpacked recipe for db is the following: - ~/poky/build/tmp/work/qemux86-poky-linux/db/5.1.19-r3/db-5.1.19 + ~/poky/build/tmp/work/qemux86-poky-linux/db/5.1.19-r3/db-5.1.19 @@ -5232,7 +5240,7 @@ PARALLEL_MAKEINST with the description ". Source Directory defines PV as follows: - PV = "1.5.0+git${SRCPV}" + PV = "0.12-git${SRCPV}" @@ -5843,7 +5851,7 @@ PARALLEL_MAKEINST with the description ". For packages that are not dependent on a particular machine, WORKDIR is defined as follows: - ${TMPDIR}/work/${PACKAGE_ARCH}-poky-${TARGET_OS}/${PN}/${PV}-${PR} + ${TMPDIR}/work/${PACKAGE_ARCH}-poky-${TARGET_OS}/${PN}/${PV}-${PR} As an example, assume a Source Directory top-level @@ -5859,9 +5867,9 @@ PARALLEL_MAKEINST with the description ". For packages that are dependent on a particular machine, WORKDIR - is defined slightly different: + is defined slightly differently: - ${TMPDIR}/work/${MACHINE}-poky-${TARGET_OS}/${PN}/${PV}-${PR} + ${TMPDIR}/work/${MACHINE}-poky-${TARGET_OS}/${PN}/${PV}-${PR} As an example, again assume a Source Directory top-level folder named poky and a default Build Directory From 7b7302d2f4094ce05f8a4ec2ded638ffd5e13d3f Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Mon, 4 Nov 2013 11:37:03 -0800 Subject: [PATCH 041/658] poky.ent: Added gcc-multilib as an essential package Fixes [YOCTO #5440] Needed to add this to Ubuntu and Debian as an essential package. Updated the variable so that both the QS and ref-manual will have the package listed. (From yocto-docs rev: d6e7ad50ea7e1b68f91d83a06908400e0ebf2f47) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/poky.ent | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/poky.ent b/documentation/poky.ent index ef00fcec748..80ccc63c57d 100644 --- a/documentation/poky.ent +++ b/documentation/poky.ent @@ -54,7 +54,7 @@ - Date: Mon, 4 Nov 2013 14:59:16 -0800 Subject: [PATCH 042/658] ref-manual: Formatted "Caution" boxes The formatting for the "Caution" boxes was poor. There was no apparent reason in the style guide why these types of admonitions should appear any different than "Notes" or "Tips", which look fine. I could not devise a .css solution so I tricked the formatting by using the tags in combination with a pair. Basically dumped the tag pair. It looks okay now. Reported-by: Robert P. J. Day (From yocto-docs rev: cda5685bc1cd87128007f68eea8e727ed5405115) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-variables.xml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/documentation/ref-manual/ref-variables.xml b/documentation/ref-manual/ref-variables.xml index facf2edb681..0383dadd5d8 100644 --- a/documentation/ref-manual/ref-variables.xml +++ b/documentation/ref-manual/ref-variables.xml @@ -4925,12 +4925,12 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3" Use of this variable is one mechanism to remove dependencies that affect task signatures and thus force rebuilds when a recipe changes. - + Caution If you add an inappropriate dependency for a recipe relationship, the software might break during runtime if the interface of the second recipe was changed after the first recipe had been built. - + @@ -4945,12 +4945,12 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3" Use of this variable is one way to remove dependencies from one recipe on another that affect task signatures and thus force rebuilds when the recipe changes. - + Caution If you add an inappropriate variable to this list, the software might break at runtime if the interface of the recipe was changed after the other had been built. - + From 45d50e6c942e2597055581933c262c334e8d4030 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Tue, 5 Nov 2013 08:45:51 -0800 Subject: [PATCH 043/658] ref-manual: Removed out-of-date links in supported distros section. The links to the supplemental information wiki pages on setting up your system to run YP were terribly out of date. I re-wrote the section to remove them. Reported-by: Robert P. J. Day (From yocto-docs rev: 04423d3b06845eae00685f594d72b9ee06e99234) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/introduction.xml | 5 ----- 1 file changed, 5 deletions(-) diff --git a/documentation/ref-manual/introduction.xml b/documentation/ref-manual/introduction.xml index 3e071baebd3..f86838239bf 100644 --- a/documentation/ref-manual/introduction.xml +++ b/documentation/ref-manual/introduction.xml @@ -121,11 +121,6 @@ - Refer to - OE and Your Distro and - Required Software - for information for information about dependencies and - requirements. If you encounter problems, please go to Yocto Project Bugzilla and submit a bug. From c04bbe3dff98ac88ef029608b3b6d0a4d5f8cecc Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Tue, 5 Nov 2013 08:49:50 -0800 Subject: [PATCH 044/658] yocto-project-qs: Removed out-of-date links to distro requirement info Two links in the section discussing Linux distro requirements to wiki pages were terribly out of date. I have rewritten the note to remove them. Reported-by: Robert P. J. Day (From yocto-docs rev: bdc0623673585a45ac8c090e847c9a764d7d7ee1) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/yocto-project-qs/yocto-project-qs.xml | 5 ----- 1 file changed, 5 deletions(-) diff --git a/documentation/yocto-project-qs/yocto-project-qs.xml b/documentation/yocto-project-qs/yocto-project-qs.xml index 3d6f98d5d55..96abe83af53 100644 --- a/documentation/yocto-project-qs/yocto-project-qs.xml +++ b/documentation/yocto-project-qs/yocto-project-qs.xml @@ -231,11 +231,6 @@ distributions listed in the "Supported Linux Distributions" section of the Yocto Project Reference Manual. - Refer to - OE and Your Distro and - Required Software - for information for information about dependencies and - requirements. If you encounter problems, please go to Yocto Project Bugzilla and submit a bug. From 0c4b95531cb83826770a12c3ee66c3e628992004 Mon Sep 17 00:00:00 2001 From: Trevor Woerner Date: Tue, 5 Nov 2013 09:32:22 -0800 Subject: [PATCH 045/658] dev-manual: package add using facilities in oe-core only. Fixes [YOCTO #5408] The developer's manual should only refer to functionality which is available in oe-core. Currently, this passage requires the user to add a package from, and use facilities of, meta-oe. This fix describes how to use facilities in oe-core to the same end. (From yocto-docs rev: 0f6d955c5d7fba7258441ce6dbdecfac67d722f7) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- .../dev-manual/dev-manual-common-tasks.xml | 32 ++++++------------- 1 file changed, 10 insertions(+), 22 deletions(-) diff --git a/documentation/dev-manual/dev-manual-common-tasks.xml b/documentation/dev-manual/dev-manual-common-tasks.xml index e2e89a032c1..e161c7265e7 100644 --- a/documentation/dev-manual/dev-manual-common-tasks.xml +++ b/documentation/dev-manual/dev-manual-common-tasks.xml @@ -3996,31 +3996,19 @@ As a way of making it easier to generate and make these IPK configuration files available on your - target, the meta-oe layer - provides a recipe called - distro-feed-configs, which - provides a package by the same name. - When you include this package into your image, it will - automatically generate and include a set of - *.conf files in the image's - /etc/opkg directory that will - provide your target's opkg - tool with any and all package databases your build will - generate. - The only catch is that this recipe cannot possibly - imagine your server's DNS name/IP address. - Consequently, somewhere in your configuration you need - to set a variable called - DISTRO_FEED_URI to point + target, simply define + FEED_DEPLOYDIR_BASE_URI to point to your server and the location within the - document-root that contains the databases. - For example: if you are serving your packages over HTTP, - your server's IP address is 192.168.7.1, and your - databases are located in a directory called + document-root which contains the databases. + For example: if you are serving your packages over + HTTP, your server's IP address is 192.168.7.1, and + your databases are located in a directory called BOARD-dir underneath your HTTP server's document-root, you need to set - DISTRO_FEED_URI to - http://192.168.7.1/BOARD-dir. + FEED_DEPLOYDIR_BASE_URI to + http://192.168.7.1/BOARD-dir and + a set of configuration files will be generated for you + in your target to work with this feed. From d47c4ea18c685d7fafdf6788a311f46a5a836ee1 Mon Sep 17 00:00:00 2001 From: "Robert P. J. Day" Date: Tue, 5 Nov 2013 10:06:18 -0800 Subject: [PATCH 046/658] ref-manual: Grammar and typo edits to "Closer Look" section. Patch applied from Robert P. J. Day that basically amounted to a good review of this section. Robert caught several typos and small writing issues throughout the section. (From yocto-docs rev: 559c700187f04c54352b3202fba6022eb74ac610) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/closer-look.xml | 30 ++++++++++++------------ 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/documentation/ref-manual/closer-look.xml b/documentation/ref-manual/closer-look.xml index 25c03e0a52a..48839819851 100644 --- a/documentation/ref-manual/closer-look.xml +++ b/documentation/ref-manual/closer-look.xml @@ -267,7 +267,7 @@ The previous section described the user configurations that - define the BitBake's global behavior. + define BitBake's global behavior. This section takes a closer look at the layers the build system uses to further control the build. These layers provide Metadata for the software, machine, and @@ -363,7 +363,7 @@ for what you typically find in the distribution layer: classes: - Class files (.bbclass) holds + Class files (.bbclass) hold common functionality that can be shared among recipes in the distribution. When your recipes inherit a class, they take on the @@ -381,7 +381,7 @@ recipes-*: Recipes and append files that affect common functionality across the distribution. - This area could include recipes and append files to + This area could include recipes and append files to add distribution-specific configuration, initialization scripts, custom image recipes, and so forth. @@ -421,7 +421,7 @@ Metadata can exist for multiple formfactors, graphics support systems, and so forth. - While the figure shows several recipe-* + While the figure shows several recipes-* directories, not all these directories appear in all BSP layers. @@ -487,7 +487,7 @@ Another area that plays a significant role in where source files - comes from is pointed to by the + come from is pointed to by the DL_DIR variable. This area is a cache that can hold previously downloaded source. @@ -546,7 +546,7 @@ The canonical method through which to include a local project is to use the externalsrc.bbclass - class to include local project. + class to include that local project. You use either the local.conf or a recipe's append file to override or set the recipe to point to the local directory on your disk to pull @@ -704,11 +704,11 @@ - Unpacked source source files are pointed to by the + Unpacked source files are pointed to by the S variable. Each recipe has an area in the Build Directory where the unpacked source code resides. - The name of directory for any given recipe is defined from + The name of that directory for any given recipe is defined from several different variables. You can see the variables that define these directories by looking at the figure: @@ -809,7 +809,7 @@ variable. For information on how this variable works within that class, see the - meta/classes/autotools.bbclass. + meta/classes/autotools.bbclass file. do_compile: Once a configuration task has been satisfied, BitBake @@ -818,8 +818,8 @@ Compilation occurs in the directory pointed to by the B variable. - Realize that the B directory, by - default, is the same as the + Realize that the B directory is, by + default, the same as the S directory. do_install: @@ -948,7 +948,7 @@ During image generation, the build system attempts to run - all post installation scripts. + all post-installation scripts. Any that fail to run on the build host are run on the target when the target system is first booted. If you are using a @@ -1052,7 +1052,7 @@ The images produced by the OpenEmbedded build system are compressed forms of the - root filesystems that are ready to boot on a target device. + root filesystem that are ready to boot on a target device. You can see from the general Yocto Project Development Environment figure that BitBake output in part consists of images. @@ -1062,14 +1062,14 @@ For a list of example images that the Yocto Project provides, - the + see the "Images" chapter. Images are written out to the Build Directory - inside the deploy/images/<machine>/ + inside the tmp/deploy/images/<machine>/ folder as shown in the figure. This folder contains any files expected to be loaded on the target device. From b107150ed86b49ce529610dbff4bab94c86aa987 Mon Sep 17 00:00:00 2001 From: "Robert P. J. Day" Date: Tue, 5 Nov 2013 10:17:31 -0800 Subject: [PATCH 047/658] ref-manual: Pedonic tweaks to ref manual usingpoky.xml Patch from Robert P. J. Day. Good catches for some minor wordings and such. (From yocto-docs rev: bb5befebdfc642958ec3544cba752aab0d933936) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/usingpoky.xml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/documentation/ref-manual/usingpoky.xml b/documentation/ref-manual/usingpoky.xml index b00e7bc14ea..1edc9ea238b 100644 --- a/documentation/ref-manual/usingpoky.xml +++ b/documentation/ref-manual/usingpoky.xml @@ -40,7 +40,7 @@ - The build_dir is optional and specifies the directory the + The build_dir argument is optional and specifies the directory the OpenEmbedded build system uses for the build - the Build Directory. If you do not specify a Build Directory, it defaults to a directory @@ -72,7 +72,7 @@ Building an image without GNU General Public License Version 3 (GPLv3) components - is only supported for minimal and base images. + is supported for only minimal and base images. See the "Images" chapter for more information.
@@ -158,7 +158,7 @@ package_write, and build. The default task is build and any tasks on which it depends build first. - Some tasks exist, such as devshell, that are not part of the + Some tasks, such as devshell, are not part of the default build chain. If you wish to run a task that is not part of the default build chain, you can use the -c option in BitBake. @@ -479,11 +479,11 @@ from your conf/local.conf file. However, you should realize that enabling and disabling build history in this manner can change the - do_package task checksums, which if you + do_package task checksums which, if you are using the OEBasicHash signature generator (the default for many current distro configurations including DISTRO = "poky" and - DISTRO = "") and will result in the packaging + DISTRO = "") will result in the packaging tasks being re-run during the subsequent build.
From ae168b42176abe6a7efa0047cefcb83a36fe7431 Mon Sep 17 00:00:00 2001 From: "Robert P. J. Day" Date: Tue, 5 Nov 2013 10:34:12 -0800 Subject: [PATCH 048/658] ref-manual: Small number of fixes to Ch1 of ref-manual Three chunks attempted in a patch from Robert. Two out of three worked. One did not because the text had changed due to re-writing a note that had some links to out-of-date wiki pages. (From yocto-docs rev: 68617e9b131acc28a7f96e1965b78036f277dc77) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/introduction.xml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/documentation/ref-manual/introduction.xml b/documentation/ref-manual/introduction.xml index f86838239bf..8232ba8c607 100644 --- a/documentation/ref-manual/introduction.xml +++ b/documentation/ref-manual/introduction.xml @@ -246,11 +246,11 @@
- OpenSUSE Packages + openSUSE Packages The following list shows the required packages by function - given a supported OpenSUSE Linux distribution: + given a supported openSUSE Linux distribution: Essentials: Packages needed to build an image for a headless @@ -341,8 +341,8 @@ you can resolve this by either downloading a pre-built tarball containing these tools, or building such a tarball on another system. - Regardless of the method, once you have the tarball you simply - install it somewhere on you system, such as a directory in your + Regardless of the method, once you have the tarball, you simply + install it somewhere on your system, such as a directory in your home directory, and then source the environment script provided, which adds the tools into PATH and sets any other environment variables required to run the tools. From f86f539f1023bb08fe4833c782ff65812177e591 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Tue, 5 Nov 2013 15:08:28 -0800 Subject: [PATCH 049/658] ref-manual: Added FEED_DEPLOYDIR_BASE_URI variable description Fixes [YOCTO #5408] As part of the fix for this bug, I have added a description of this variable to the glossary. (From yocto-docs rev: 71c75163c24b249769f7acc96285a512d3ba9f86) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-variables.xml | 30 +++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/documentation/ref-manual/ref-variables.xml b/documentation/ref-manual/ref-variables.xml index 0383dadd5d8..8f385799d32 100644 --- a/documentation/ref-manual/ref-variables.xml +++ b/documentation/ref-manual/ref-variables.xml @@ -21,7 +21,7 @@ C D E - F + F H I @@ -1661,6 +1661,34 @@ F + FEED_DEPLOYDIR_BASE_URI + + + Points to the base URL of the server and location within + the document-root that provides the + Metadata + and packages necessary to support runtime package + management of IPK packages. + You set this variable in your + local.conf file. + + + + Consider the following example: + + FEED_DEPLOYDIR_BASE_URI = "http://192.168.7.1/BOARD-dir" + + This example assumes you are serving your packages over + HTTP and your databases are located in a directory + named BOARD-dir, which is underneath + your HTTP server's document-root. + In this case, the OpenEmbedded build system generates a set + of configuration files for you in your target that work + with the feed. + + + + FILES From e1e98886d72aea598b62da62e77c67a204940a5a Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Tue, 5 Nov 2013 15:29:57 -0800 Subject: [PATCH 050/658] dev-manual: Added a link for the FEED_DEPLOYDIR_BASE_URI variable Fixes [YOCTO #5408] Added a cross-reference link for this variable into the glossary. (From yocto-docs rev: 9e978095d8ef5de514698a7b1959c0612496b56d) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/dev-manual/dev-manual-common-tasks.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/documentation/dev-manual/dev-manual-common-tasks.xml b/documentation/dev-manual/dev-manual-common-tasks.xml index e161c7265e7..43d6fa52c01 100644 --- a/documentation/dev-manual/dev-manual-common-tasks.xml +++ b/documentation/dev-manual/dev-manual-common-tasks.xml @@ -3997,8 +3997,8 @@ As a way of making it easier to generate and make these IPK configuration files available on your target, simply define - FEED_DEPLOYDIR_BASE_URI to point - to your server and the location within the + FEED_DEPLOYDIR_BASE_URI + to point to your server and the location within the document-root which contains the databases. For example: if you are serving your packages over HTTP, your server's IP address is 192.168.7.1, and From b271f1196d879ac276eb8126fafc2cd90eefed7a Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Tue, 5 Nov 2013 16:03:10 -0800 Subject: [PATCH 051/658] ref-manual: Updates to the FEED_DEPLOYDIR_BASE_URI variable. Fixes [YOCTO #5408] Some edits to remove a link to the YP Metadata definition. The metadata referred to here is for opkg only. (From yocto-docs rev: 9a1d6e1929ef6cb3f7007ae9b7377e52da68d0f4) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-variables.xml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/documentation/ref-manual/ref-variables.xml b/documentation/ref-manual/ref-variables.xml index 8f385799d32..84deee88993 100644 --- a/documentation/ref-manual/ref-variables.xml +++ b/documentation/ref-manual/ref-variables.xml @@ -1665,9 +1665,8 @@ Points to the base URL of the server and location within - the document-root that provides the - Metadata - and packages necessary to support runtime package + the document-root that provides the metadata and + packages required by OPKG to support runtime package management of IPK packages. You set this variable in your local.conf file. From 0d9874d9a33cbc3360446ae466a8de6f3eeee103 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Wed, 6 Nov 2013 07:55:45 -0800 Subject: [PATCH 052/658] ref-manual: re-wrote the "Invalidating Shared State" section Investigating this section for an apparent typo it was decided that the term needed removed. During the process I re-wrote the section for clarity. (From yocto-docs rev: 8ba011f9f3066bb821b8b371f20f1f9522960a2e) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- .../ref-manual/technical-details.xml | 72 ++++++++++++------- 1 file changed, 45 insertions(+), 27 deletions(-) diff --git a/documentation/ref-manual/technical-details.xml b/documentation/ref-manual/technical-details.xml index be9c38709ae..f4f432f9283 100644 --- a/documentation/ref-manual/technical-details.xml +++ b/documentation/ref-manual/technical-details.xml @@ -730,43 +730,61 @@ Invalidating Shared State - The shared state code uses checksums and shared state + The OpenEmbedded build system uses checksums and shared state cache to avoid unnecessarily rebuilding tasks. + Collectively, this scheme is known as "shared state code." + + + As with all schemes, this one has some drawbacks. - It is possible that you could make implicit changes that are not factored - into the checksum calculation, but do affect a task's output. - A good example is perhaps when a tool changes its output. - Assume that the output of rpmdeps needed to change. + It is possible that you could make implicit changes to your + code that the checksum calculations do not take into + account (i.e. implicit changes). + These implicit changes affect a task's output but do not trigger + the shared state code into rebuilding a recipe. + Consider an example during which a tool changes its output. + Assume that the output of rpmdeps changes. The result of the change should be that all the - package, package_write_rpm, - and package_deploy-rpm shared state cache - items would become invalid. - But, because this is a change that is external to the code and therefore implicit, - the associated shared state cache items do not become invalidated. - In this case, the build process uses the cached items rather than running the - task again. + package and + package_write_rpm shared state cache + items become invalid. + However, because the change to the output is + external to the code and therefore implicit, + the associated shared state cache items do not become + invalidated. + In this case, the build process uses the cached items rather + than running the task again. Obviously, these types of implicit changes can cause problems. - To avoid these problems during the build, you need to understand the effects of any - change you make. - Note that any changes you make directly to a function automatically are factored into - the checksum calculation and thus, will invalidate the associated area of sstate cache. - You need to be aware of any implicit changes that are not obvious changes to the - code and could affect the output of a given task. - Once you are aware of such changes, you can take steps to invalidate the cache - and force the tasks to run. - The steps to take are as simple as changing function's comments in the source code. - For example, to invalidate package shared state files, change the comment statements - of do_package or the comments of one of the functions it calls. - The change is purely cosmetic, but it causes the checksum to be recalculated and - forces the task to be run again. + To avoid these problems during the build, you need to + understand the effects of any changes you make. + Realize that changes you make directly to a function + are automatically factored into the checksum calculation. + Thus, these explicit changes invalidate the associated area of + sstate cache. + However, you need to be aware of any implicit changes that + are not obvious changes to the code and could affect the output + of a given task. + + + + When you identify an implicit change, you can easily take steps + to invalidate the cache and force the tasks to run. + The steps you can take are as simple as changing a function's + comments in the source code. + For example, to invalidate package shared state files, change + the comment statements of do_package or + the comments of one of the functions it calls. + Even though the change is purely cosmetic, it causes the + checksum to be recalculated and forces the OpenEmbedded build + system to run the task again. - For an example of a commit that makes a cosmetic change to invalidate - a shared state, see this + For an example of a commit that makes a cosmetic change to + invalidate shared state, see this commit.
From bf77e55a5ec1cb111579cbd61e2af0621b0861e4 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Wed, 6 Nov 2013 08:55:06 -0800 Subject: [PATCH 053/658] ref-manual: Updates to "Variables" and "Building with No Dependencies" There was some confusion over some things in these two sections. I re-wrote them with the help of Paul Eggleton to be clear on them. Reported-by: Robert P. J. Day (rpjday@crashcourse.ca> (From yocto-docs rev: 076aa5d8244ed3fcf321ef61da5d2270b40a7791) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/usingpoky.xml | 33 +++++++++++++++++--------- 1 file changed, 22 insertions(+), 11 deletions(-) diff --git a/documentation/ref-manual/usingpoky.xml b/documentation/ref-manual/usingpoky.xml index 1edc9ea238b..49166e15bfc 100644 --- a/documentation/ref-manual/usingpoky.xml +++ b/documentation/ref-manual/usingpoky.xml @@ -271,12 +271,18 @@
Building with No Dependencies - If you really want to build a specific .bb file, you can use - the command form bitbake -b <somepath/somefile.bb>. - This command form does not check for dependencies so you should use it - only when you know its dependencies already exist. - You can also specify fragments of the filename. - In this case, BitBake checks for a unique match. + To build a specific recipe (.bb file), + you can use the following command form: + + $ bitbake -b <somepath/somerecipe.bb> + + This command form does not check for dependencies. + Consequently, you should use it + only when you know dependencies already exist. + + You can also specify fragments of the filename. + In this case, BitBake checks for a unique match. +
@@ -284,11 +290,16 @@ Variables You can use the -e BitBake option to - display the resulting environment for a configuration - when you do not specify a package or for a specific package when - you do specify the package. - If you want to show the environment resulting from parsing a single - recipe, use the -b recipename form. + display the parsing environment for a configuration. + The following displays the general parsing environment: + + $ bitbake -e + + This next example shows the parsing environment for a specific + recipe: + + $ bitbake -e <recipename> + From abf978989326834e521455550a4e92e43afc134e Mon Sep 17 00:00:00 2001 From: "Robert P. J. Day" Date: Wed, 6 Nov 2013 09:10:09 -0800 Subject: [PATCH 054/658] ref-manual: Couple innocuuous tweaks to migration chapter. (From yocto-docs rev: 1a8a2c22549a3ed4bb750cb902255770b980bd48) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/migration.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/documentation/ref-manual/migration.xml b/documentation/ref-manual/migration.xml index bb6203998be..a3a3e88a070 100644 --- a/documentation/ref-manual/migration.xml +++ b/documentation/ref-manual/migration.xml @@ -34,7 +34,7 @@ The shared state cache (sstate-cache), as pointed to by SSTATE_DIR, by default - now has two-character subdirectories to prevent issues rising + now has two-character subdirectories to prevent issues arising from too many files in the same directory. Also, native sstate-cache packages will go into a subdirectory named using the distro ID string. @@ -755,7 +755,7 @@ Build Directory rather than TMPDIR. - Doing so makes it a easier to delete + Doing so makes it easier to delete TMPDIR and preserve the build history. Additionally, data for produced SDKs is now split by IMAGE_NAME. From 5eeb8e08cfa13398f4bd84ad4da8cd0136606e6a Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Wed, 6 Nov 2013 10:18:20 -0800 Subject: [PATCH 055/658] ref-manual: Updated bitbake/ section to remove wrapper script Robert P. J. Day noted that the bitbake command no longer uses a wrapper as the section indicated. I have removed this reference. Reported-by: Robert P. J. Day (From yocto-docs rev: ccdcf3d80f2e684877265d2dde8606ddeed4dfd2) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-structure.xml | 140 +++++++++++---------- 1 file changed, 72 insertions(+), 68 deletions(-) diff --git a/documentation/ref-manual/ref-structure.xml b/documentation/ref-manual/ref-structure.xml index 13803f5a411..087246171b1 100644 --- a/documentation/ref-manual/ref-structure.xml +++ b/documentation/ref-manual/ref-structure.xml @@ -39,23 +39,27 @@ This directory includes a copy of BitBake for ease of use. - The copy usually matches the current stable BitBake release from the BitBake project. + The copy usually matches the current stable BitBake release from + the BitBake project. BitBake, a Metadata - interpreter, reads the Yocto Project metadata and runs the tasks + interpreter, reads the Yocto Project Metadata and runs the tasks defined by that data. - Failures are usually from the metadata and not from BitBake itself. + Failures are usually from the Metadata and not from BitBake itself. Consequently, most users do not need to worry about BitBake. - When you run the bitbake command, the wrapper script in - scripts/ is executed to run the main BitBake executable, - which resides in the bitbake/bin/ directory. - Sourcing the &OE_INIT_FILE; - script places the scripts and bitbake/bin - directories (in that order) into the shell's PATH environment - variable. + When you run the bitbake command, the + main BitBake executable, which resides in the + bitbake/bin/ directory, starts. + Sourcing an environment setup script (e.g. + &OE_INIT_FILE; + or + oe-init-build-env-memres) + places the scripts and + bitbake/bin directories (in that order) into + the shell's PATH environment variable. @@ -74,7 +78,7 @@ the source tree is combined with the output. The Build Directory is created initially when you source - the OpenEmbedded build environment setup script + the OpenEmbedded build environment setup script (i.e. &OE_INIT_FILE; or @@ -185,9 +189,9 @@ <filename>&OE_INIT_FILE;</filename> - This script is one of two scripts that set up the OpenEmbedded build + This script is one of two scripts that set up the OpenEmbedded build environment. - For information on the other script, see the + For information on the other script, see the "oe-init-build-env-memres" section. @@ -196,7 +200,7 @@ Running this script with the source command in a shell makes changes to PATH and sets other core BitBake variables based on the current working directory. - You need to run an environment setup script before running BitBake + You need to run an environment setup script before running BitBake commands. The script uses other scripts within the scripts directory to do the bulk of the work. @@ -231,11 +235,11 @@ <filename>oe-init-build-env-memres</filename> - This script is one of two scripts that set up the OpenEmbedded build + This script is one of two scripts that set up the OpenEmbedded build environment. - Setting up the environment with this script uses a + Setting up the environment with this script uses a memory-resident BitBake. - For information on the other setup script, see the + For information on the other setup script, see the "&OE_INIT_FILE;" section. @@ -252,14 +256,14 @@ Running this script with the source command in a shell makes changes to PATH and sets other core BitBake variables based on the current working directory. - One of these variables is the + One of these variables is the BBSERVER - variable, which allows the OpenEmbedded build system to locate + variable, which allows the OpenEmbedded build system to locate the server that is running BitBake. - You need to run an environment setup script before running BitBake + You need to run an environment setup script before running BitBake commands. Following is the script syntax: @@ -289,14 +293,14 @@ $ source oe-init-build-env-memres ~/mybuilds - The OpenEmbedded build system does not support file or + The OpenEmbedded build system does not support file or directory names that contain spaces. - If you attempt to run the + If you attempt to run the oe-init-build-env-memres script - from a Source Directory that contains spaces in either the - filenames or directory names, the script returns an error + from a Source Directory that contains spaces in either the + filenames or directory names, the script returns an error indicating no such file or directory. - Be sure to use a Source Directory free of names containing + Be sure to use a Source Directory free of names containing spaces. @@ -334,68 +338,68 @@ <filename>build/conf/local.conf</filename> - This configuration file contains all the local user configurations + This configuration file contains all the local user configurations for your build environment. - The local.conf file contains documentation on + The local.conf file contains documentation on the various configuration options. - Any variable set here overrides any variable set elsewhere within - the environment unless that variable is hard-coded within a file + Any variable set here overrides any variable set elsewhere within + the environment unless that variable is hard-coded within a file (e.g. by using '=' instead of '?='). - Some variables are hard-coded for various reasons but these + Some variables are hard-coded for various reasons but these variables are relatively rare. - Edit this file to set the + Edit this file to set the MACHINE for which you want to build, which package types you wish to use (PACKAGE_CLASSES), the location from which you want to downloaded files (DL_DIR), and how you want your host machine to use resources - (BB_NUMBER_THREADS + (BB_NUMBER_THREADS and PARALLEL_MAKE). - If local.conf is not present when you - start the build, the OpenEmbedded build system creates it from + If local.conf is not present when you + start the build, the OpenEmbedded build system creates it from local.conf.sample when - you source the top-level build environment + you source the top-level build environment setup script (i.e. &OE_INIT_FILE; - or + or oe-init-build-env-memres). - The source local.conf.sample file used + The source local.conf.sample file used depends on the $TEMPLATECONF script variable, which defaults to /meta-yocto/conf - when you are building from the Yocto Project development - environment and defaults to /meta/conf when + when you are building from the Yocto Project development + environment and defaults to /meta/conf when you are building from the OpenEmbedded Core environment. - Because the script variable points to the source of the - local.conf.sample file, this implies that - you can configure your build environment from any layer by setting - the variable in the top-level build environment setup script as + Because the script variable points to the source of the + local.conf.sample file, this implies that + you can configure your build environment from any layer by setting + the variable in the top-level build environment setup script as follows: TEMPLATECONF=<your_layer>/conf - Once the build process gets the sample file, it uses - sed to substitute final - ${OEROOT} + Once the build process gets the sample file, it uses + sed to substitute final + ${OEROOT} values for all ##OEROOT## values. You can see how the TEMPLATECONF variable - is used by looking at the - /scripts/oe-setup-builddir script in the + is used by looking at the + /scripts/oe-setup-builddir script in the Source Directory. - You can find the Yocto Project version of the - local.conf.sample file in the - /meta-yocto/conf directory. + You can find the Yocto Project version of the + local.conf.sample file in the + /meta-yocto/conf directory. @@ -408,48 +412,48 @@ layers, which are directory trees, traversed (or walked) by BitBake. The bblayers.conf file uses the - BBLAYERS + BBLAYERS variable to list the layers BitBake tries to find, and uses the BBLAYERS_NON_REMOVABLE variable to list layers that must not be removed. - If bblayers.conf is not present when you - start the build, the OpenEmbedded build system creates it from + If bblayers.conf is not present when you + start the build, the OpenEmbedded build system creates it from bblayers.conf.sample when - you source the top-level build environment + you source the top-level build environment setup script (i.e. &OE_INIT_FILE; - or + or oe-init-build-env-memres). - The source bblayers.conf.sample file used + The source bblayers.conf.sample file used depends on the $TEMPLATECONF script variable, which defaults to /meta-yocto/conf - when you are building from the Yocto Project development - environment and defaults to /meta/conf when + when you are building from the Yocto Project development + environment and defaults to /meta/conf when you are building from the OpenEmbedded Core environment. - Because the script variable points to the source of the - bblayers.conf.sample file, this implies that + Because the script variable points to the source of the + bblayers.conf.sample file, this implies that you can base your build from any layer by setting the variable in the top-level build environment setup script as follows: TEMPLATECONF=<your_layer>/conf - Once the build process gets the sample file, it uses - sed to substitute final - ${OEROOT} + Once the build process gets the sample file, it uses + sed to substitute final + ${OEROOT} values for all ##OEROOT## values. You can see how the TEMPLATECONF variable - /scripts/oe-setup-builddir script in the + /scripts/oe-setup-builddir script in the Source Directory. - You can find the Yocto Project version of the - bblayers.conf.sample file in the - /meta-yocto/conf directory. + You can find the Yocto Project version of the + bblayers.conf.sample file in the + /meta-yocto/conf directory. From e9327ca078c59cec801c0ec3599f87faa86a83e0 Mon Sep 17 00:00:00 2001 From: "Robert P. J. Day" Date: Wed, 6 Nov 2013 10:45:40 -0800 Subject: [PATCH 056/658] ref-manual: Various tweaks/fixes for ch4. ref manual (From yocto-docs rev: dab494935de28e327941071193a0f251d30a5005) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- .../ref-manual/technical-details.xml | 84 ++++++++++--------- 1 file changed, 44 insertions(+), 40 deletions(-) diff --git a/documentation/ref-manual/technical-details.xml b/documentation/ref-manual/technical-details.xml index f4f432f9283..f863c4cfb7f 100644 --- a/documentation/ref-manual/technical-details.xml +++ b/documentation/ref-manual/technical-details.xml @@ -60,9 +60,9 @@ and is responsible for parsing the Metadata, generating a list of tasks from it, and then executing those tasks. - To see a list of the options BitBake supports, use the following - help command: + To see a list of the options BitBake supports, use either of: + $ bitbake -h $ bitbake --help
@@ -72,7 +72,7 @@ packagename is the name of the package you want to build (referred to as the "target" in this manual). The target often equates to the first part of a .bb filename. - So, to run the matchbox-desktop_1.2.3.bb file, you + So, to process the matchbox-desktop_1.2.3.bb recipe file, you might type the following: $ bitbake matchbox-desktop @@ -111,14 +111,15 @@ The .bb files are usually referred to as "recipes." In general, a recipe contains information about a single piece of software. - The information includes the location from which to download the source patches + This information includes the location from which to download the + pristine source, any source patches to be applied to that source (if any are needed), which special configuration options to apply, how to compile the source files, and how to package the compiled output. - The term "package" can also be used to describe recipes. - However, since the same word is used for the packaged output from the OpenEmbedded + The term "package" is sometimes (confusingly) used to refer to recipes. However, + since the word "package" is used for the packaged output from the OpenEmbedded build system (i.e. .ipk or .deb files), this document avoids using the term "package" when referring to recipes. @@ -162,7 +163,7 @@ cross-development toolchains. This section provides some technical background information on how cross-development toolchains are created and used. - For more information on these toolchain, you can also see the + For more information on toolchains, you can also see the the Yocto Project Application Developer's Guide.
@@ -347,7 +348,7 @@ As mentioned in the previous paragraph, building from scratch ensures that everything is current and starts from a known state. However, building from scratch also takes much longer as it generally means - rebuilding things that do not necessarily need rebuilt. + rebuilding things that do not necessarily need to be rebuilt. @@ -355,10 +356,11 @@ The implementation of the shared state code answers the following questions that were fundamental roadblocks within the OpenEmbedded incremental build support system: - What pieces of the system have changed and what pieces have not changed? - How are changed pieces of software removed and replaced? - How are pre-built components that do not need to be rebuilt from scratch - used when they are available? + What pieces of the system have changed and what pieces have + not changed? + How are changed pieces of software removed and replaced? + How are pre-built components that do not need to be rebuilt from scratch + used when they are available? @@ -397,16 +399,16 @@ When determining what parts of the system need to be built, BitBake - uses a per-task basis and does not use a per-recipe basis. + works on a per-task basis rather than a per-recipe basis. You might wonder why using a per-task basis is preferred over a per-recipe basis. To help explain, consider having the IPK packaging backend enabled and then switching to DEB. In this case, do_install and do_package - output are still valid. + outputs are still valid. However, with a per-recipe approach, the build would not include the .deb files. Consequently, you would have to invalidate the whole build and rerun it. - Rerunning everything is not the best situation. - Also in this case, the core must be "taught" much about specific tasks. + Rerunning everything is not the best solution. + Also, in this case, the core must be "taught" much about specific tasks. This methodology does not scale well and does not allow users to easily add new tasks in layers or as external recipes without touching the packaged-staging core. @@ -512,17 +514,18 @@ dependent task hashes can be influenced. Within the BitBake configuration file, we can give BitBake some extra information to help it construct the basehash. - The following statements effectively result in a list of global variable + The following statement effectively results in a list of global variable dependency excludes - variables never included in any checksum: - BB_HASHBASE_WHITELIST ?= "TMPDIR FILE PATH PWD BB_TASKHASH BBPATH" - BB_HASHBASE_WHITELIST += "DL_DIR SSTATE_DIR THISDIR FILESEXTRAPATHS" - BB_HASHBASE_WHITELIST += "FILE_DIRNAME HOME LOGNAME SHELL TERM USER" - BB_HASHBASE_WHITELIST += "FILESPATH USERNAME STAGING_DIR_HOST STAGING_DIR_TARGET" + BB_HASHBASE_WHITELIST ?= "TMPDIR FILE PATH PWD BB_TASKHASH BBPATH DL_DIR \ + SSTATE_DIR THISDIR FILESEXTRAPATHS FILE_DIRNAME HOME LOGNAME SHELL TERM \ + USER FILESPATH STAGING_DIR_HOST STAGING_DIR_TARGET COREBASE PRSERV_HOST \ + PRSERV_DUMPDIR PRSERV_DUMPFILE PRSERV_LOCKDOWN PARALLEL_MAKE \ + CCACHE_DIR EXTERNAL_TOOLCHAIN CCACHE CCACHE_DISABLE LICENSE_PATH SDKPKGSUFFIX" - The previous example actually excludes + The previous example excludes WORKDIR - since it is actually constructed as a path within + since that variable is actually constructed as a path within TMPDIR, which is on the whitelist. @@ -541,7 +544,7 @@ OE-Core uses the "OEBasicHash" signature handler by default through this setting in the bitbake.conf file: - BB_SIGNATURE_HANDLER ?= "OEBasicHash" + BB_SIGNATURE_HANDLER ?= "OEBasicHash" The "OEBasicHash" BB_SIGNATURE_HANDLER is the same as the "OEBasic" version but adds the task hash to the stamp files. @@ -550,7 +553,7 @@ change that changes the task hash, automatically causing the task to be run again. This removes the need to bump PR - values and changes to Metadata automatically ripple across the build. + values, and changes to Metadata automatically ripple across the build. @@ -558,10 +561,10 @@ make some dependency and hash information available to the build. This information includes: - BB_BASEHASH_task-<taskname> - the base hashes for each task in the recipe - BB_BASEHASH_<filename:taskname> - the base hashes for each dependent task - BBHASHDEPS_<filename:taskname> - The task dependencies for each task - BB_TASKHASH - the hash of the currently running task + BB_BASEHASH_task-<taskname> - the base hashes for each task in the recipe + BB_BASEHASH_<filename:taskname> - the base hashes for each dependent task + BBHASHDEPS_<filename:taskname> - The task dependencies for each task + BB_TASKHASH - the hash of the currently running task @@ -571,7 +574,7 @@ Checksums and dependencies, as discussed in the previous section, solve half the - problem. + problem of supporting a shared state. The other part of the problem is being able to use checksum information during the build and being able to reuse or rebuild specific components. @@ -581,7 +584,7 @@ is a relatively generic implementation of how to "capture" a snapshot of a given task. The idea is that the build process does not care about the source of a task's output. Output could be freshly built or it could be downloaded and unpacked from - somewhere - the build process does not need to worry about its source. + somewhere - the build process does not need to worry about its origin. @@ -598,7 +601,7 @@ sstate.bbclass. From a user's perspective, adding shared state wrapping to a task is as simple as this do_deploy example taken from - do_deploy.bbclass: + deploy.bbclass: DEPLOYDIR = "${WORKDIR}/deploy-${PN}" SSTATETASKS += "do_deploy" @@ -610,8 +613,9 @@ sstate_setscene(d) } addtask do_deploy_setscene + do_deploy[dirs] = "${DEPLOYDIR} ${B}" - In the example, we add some extra flags to the task, a name field ("deploy"), an + In this example, we add some extra flags to the task, a name field ("deploy"), an input directory where the task sends data, and the output directory where the data from the task should eventually be copied. We also add a _setscene variant of the task and add the task @@ -886,7 +890,7 @@ Wayland - is a computer display server protocol that when implemented + is a computer display server protocol that provides a method for compositing window managers to communicate directly with applications and video hardware and expects them to communicate with input hardware using other libraries. @@ -897,7 +901,7 @@ The Yocto Project provides the Wayland protocol libraries and the - reference Weston compositor as part of it release. + reference Weston compositor as part of its release. This section describes what you need to do to implement Wayland and use the compositor when building an image for a supporting target. @@ -992,7 +996,7 @@ Alternatively, you can run Weston through the command-line interpretor (CLI), which is better suited for development work. - To run Weston under the CLI you need to do the following after + To run Weston under the CLI, you need to do the following after your image is built: Run these commands to export @@ -1181,7 +1185,7 @@ As a convenience, you do not need to specify the complete license string in the whitelist for every package. - you can use an abbreviated form, which consists + You can use an abbreviated form, which consists of just the first portion or portions of the license string before the initial underscore character or characters. A partial string will match @@ -1203,10 +1207,10 @@ License flag matching allows you to control what recipes the OpenEmbedded build system includes in the build. Fundamentally, the build system attempts to match - LICENSE_FLAG strings found in + LICENSE_FLAGS strings found in recipes against LICENSE_FLAGS_WHITELIST strings found in the whitelist. - A match, causes the build system to include a recipe in the + A match causes the build system to include a recipe in the build, while failure to find a match causes the build system to exclude a recipe. @@ -1267,7 +1271,7 @@ This scheme works even if the - LICENSE_FLAG string already + LICENSE_FLAGS string already has _${PN} appended. For example, the build system turns the license flag "commercial_1.2_foo" into "commercial_1.2_foo_foo" and would From 802e09b0abba4464e86d190b2a41edc1278c8e03 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Wed, 6 Nov 2013 10:58:42 -0800 Subject: [PATCH 057/658] ref-manual: Tweaks to a patch from Robert P. J. Day I altered three areas from the previous patch submitted and applied from Robert P. J. Day. Two minor wording changes and removal of negative language. (From yocto-docs rev: e4370fb28e6278292224b3a3efbf41943c5c0829) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/technical-details.xml | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/documentation/ref-manual/technical-details.xml b/documentation/ref-manual/technical-details.xml index f863c4cfb7f..4d1c2e3f4e8 100644 --- a/documentation/ref-manual/technical-details.xml +++ b/documentation/ref-manual/technical-details.xml @@ -60,7 +60,8 @@ and is responsible for parsing the Metadata, generating a list of tasks from it, and then executing those tasks. - To see a list of the options BitBake supports, use either of: + To see a list of the options BitBake supports, use either of + the following commands: $ bitbake -h $ bitbake --help @@ -112,13 +113,13 @@ The .bb files are usually referred to as "recipes." In general, a recipe contains information about a single piece of software. This information includes the location from which to download the - pristine source, any source patches to be applied to that source - (if any are needed), which special configuration options to apply, + unaltered source, any source patches to be applied to that source + (if needed), which special configuration options to apply, how to compile the source files, and how to package the compiled output. - The term "package" is sometimes (confusingly) used to refer to recipes. However, + The term "package" is sometimes used to refer to recipes. However, since the word "package" is used for the packaged output from the OpenEmbedded build system (i.e. .ipk or .deb files), this document avoids using the term "package" when referring to recipes. From 3c68b660b4a468468cd8e8663500791e46385ab5 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 7 Nov 2013 08:41:03 -0800 Subject: [PATCH 058/658] ref-manual: Updated the description for oe-init-build-env-memres Added more wording to clearly state what is going on when you run this script. Reported-by: Robert P. J. Day (From yocto-docs rev: 7aa93cadb4758aba239ffd472ea5e1026125d371) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-structure.xml | 25 +++++++++++----------- 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/documentation/ref-manual/ref-structure.xml b/documentation/ref-manual/ref-structure.xml index 087246171b1..3c5f0363c9b 100644 --- a/documentation/ref-manual/ref-structure.xml +++ b/documentation/ref-manual/ref-structure.xml @@ -235,10 +235,10 @@ <filename>oe-init-build-env-memres</filename> - This script is one of two scripts that set up the OpenEmbedded build - environment. - Setting up the environment with this script uses a - memory-resident BitBake. + This script is one of two scripts that set up the OpenEmbedded + build environment. + Aside from setting up the environment, this script starts a + memory-resident BitBake server. For information on the other setup script, see the "&OE_INIT_FILE;" section. @@ -263,7 +263,7 @@ - You need to run an environment setup script before running BitBake + You need to run an environment setup script before using BitBake commands. Following is the script syntax: @@ -274,19 +274,20 @@ - If you do not provide a port number with the script, the default - port "12345" is used. + If you do not provide a port number with the script, the + BitBake server at port "12345" is started. By default, running this script without a Build Directory - argument creates the build directory. + argument creates a build directory named + build. If you provide a Build Directory argument when you - source the script, you direct the OpenEmbedded - build system to create a Build Directory of your choice. - For example, the following command uses the default port number - "12345" and creates a Build Directory named + source the script, the Build Directory is + created using that name. + For example, the following command starts the BitBake server using + the default port "12345" and creates a Build Directory named mybuilds that is outside of the Source Directory: From fa0e05d28afc45b2d5067ce3b22dcc21cdc77006 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 7 Nov 2013 08:52:18 -0800 Subject: [PATCH 059/658] ref-manual: Removed the pseudodone section in the build structure This folder disappeared and I was not told about it. Reported-by: Robert P. J. Day (From yocto-docs rev: 50a9b599455da329ee09790f5b7c69333fa30ee9) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-structure.xml | 9 --------- 1 file changed, 9 deletions(-) diff --git a/documentation/ref-manual/ref-structure.xml b/documentation/ref-manual/ref-structure.xml index 3c5f0363c9b..d2d75932f84 100644 --- a/documentation/ref-manual/ref-structure.xml +++ b/documentation/ref-manual/ref-structure.xml @@ -326,15 +326,6 @@ By default, this directory is named build. -
- <filename>build/pseudodone</filename> - - - This tag file indicates that the initial pseudo binary was created. - The file is built the first time BitBake is invoked. - -
-
<filename>build/conf/local.conf</filename> From a665b9b68e54cb878e3d653bd049f3be6cc8ce73 Mon Sep 17 00:00:00 2001 From: "Robert P. J. Day" Date: Thu, 7 Nov 2013 10:43:22 -0800 Subject: [PATCH 060/658] ref-manual: Tweaks to the structure chapter. Significant tweaks: * removal of (confusing) leading slashes from YP filenames * deletion of reference to non-existent "build/tmp/pkgdata/" (From yocto-docs rev: e00776f75c350a51314dcbcd629e307e6026188a) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-structure.xml | 59 ++++++++++------------ 1 file changed, 26 insertions(+), 33 deletions(-) diff --git a/documentation/ref-manual/ref-structure.xml b/documentation/ref-manual/ref-structure.xml index d2d75932f84..66e58f262d3 100644 --- a/documentation/ref-manual/ref-structure.xml +++ b/documentation/ref-manual/ref-structure.xml @@ -101,7 +101,7 @@
- <filename>documentation</filename> + <filename>documentation/</filename> This directory holds the source for the Yocto Project documentation @@ -109,7 +109,7 @@ versions of the manuals. Each manual is contained in a sub-folder. For example, the files for this manual reside in - ref-manual. + the ref-manual/ directory.
@@ -179,9 +179,9 @@
- The scripts directory has useful scripts that assist contributing - back to the Yocto Project, such as create_pull_request and - send_pull_request. + The scripts directory has useful scripts that assist in contributing + back to the Yocto Project, such as create-pull-request and + send-pull-request. @@ -209,7 +209,8 @@ By default, running this script without a Build Directory - argument creates the build directory. + argument creates the build directory + in your current working directory. If you provide a Build Directory argument when you source the script, you direct the OpenEmbedded build system to create a Build Directory of your choice. @@ -346,7 +347,7 @@ MACHINE for which you want to build, which package types you wish to use (PACKAGE_CLASSES), - the location from which you want to downloaded files + the location from which you want to access downloaded files (DL_DIR), and how you want your host machine to use resources (BB_NUMBER_THREADS @@ -368,9 +369,9 @@ The source local.conf.sample file used depends on the $TEMPLATECONF script variable, - which defaults to /meta-yocto/conf + which defaults to meta-yocto/conf when you are building from the Yocto Project development - environment and defaults to /meta/conf when + environment and defaults to meta/conf when you are building from the OpenEmbedded Core environment. Because the script variable points to the source of the local.conf.sample file, this implies that @@ -387,11 +388,11 @@ You can see how the TEMPLATECONF variable is used by looking at the - /scripts/oe-setup-builddir script in the + scripts/oe-setup-builddir script in the Source Directory. You can find the Yocto Project version of the local.conf.sample file in the - /meta-yocto/conf directory. + meta-yocto/conf directory. @@ -424,9 +425,9 @@ The source bblayers.conf.sample file used depends on the $TEMPLATECONF script variable, - which defaults to /meta-yocto/conf + which defaults to meta-yocto/conf when you are building from the Yocto Project development - environment and defaults to /meta/conf when + environment and defaults to meta/conf when you are building from the OpenEmbedded Core environment. Because the script variable points to the source of the bblayers.conf.sample file, this implies that @@ -441,11 +442,11 @@ values for all ##OEROOT## values. You can see how the TEMPLATECONF variable - /scripts/oe-setup-builddir script in the + scripts/oe-setup-builddir script in the Source Directory. You can find the Yocto Project version of the bblayers.conf.sample file in the - /meta-yocto/conf directory. + meta-yocto/conf directory. @@ -487,7 +488,7 @@ <filename>build/tmp/</filename> - This directory receives all the OpenEmbedded build system's output. + This directory receives all of the OpenEmbedded build system's output. BitBake creates this directory if it does not exist. As a last resort, to clean up a build and start it from scratch (other than the downloads), you can remove everything in the tmp directory or get rid of the @@ -551,6 +552,15 @@ +
+ <filename>build/tmp/deploy/ipk/</filename> + + + This directory receives .ipk packages produced by + the build process. + +
+
<filename>build/tmp/deploy/licenses/</filename> @@ -597,14 +607,6 @@
-
- <filename>build/tmp/deploy/ipk/</filename> - - - This directory receives .ipk packages produced by - the build process. -
-
<filename>build/tmp/sysroots/</filename> @@ -646,15 +648,6 @@
-
- <filename>build/tmp/pkgdata/</filename> - - - This directory contains intermediate packaging data that is used later in the packaging process. - For more information, see the "Packaging - package*.bbclass" section. - -
-
<filename>build/tmp/work/</filename> From 9addcf5ccbd96eb791c333c53dcb8ccab593b64c Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 7 Nov 2013 14:23:56 -0800 Subject: [PATCH 061/658] documentation: Scrubbed use of directory names There was inconsistent use of the way directory names were handled throughout the YP documentation. I have scrubbed the set and replaced many instances such as the following: meta/ replaces /meta/ poky replaces ~/poky (except in some very specific examples) I basically got rid of leading slash characters. Reported-by: Robert P. J. Day (From yocto-docs rev: 12a96db6dffe09fca7ce848e006c591a637be5a4) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/adt-manual/adt-prepare.xml | 22 +++++++++---------- documentation/bsp-guide/bsp.xml | 6 ++--- .../dev-manual/dev-manual-common-tasks.xml | 18 +++++++-------- documentation/dev-manual/dev-manual-model.xml | 6 ++--- .../dev-manual/dev-manual-newbie.xml | 4 ++-- .../kernel-dev/kernel-dev-maint-appx.xml | 4 ++-- documentation/ref-manual/migration.xml | 6 ++--- documentation/ref-manual/ref-bitbake.xml | 2 +- documentation/ref-manual/ref-features.xml | 2 +- documentation/ref-manual/ref-variables.xml | 20 ++++++++--------- .../ref-manual/technical-details.xml | 6 ++--- documentation/ref-manual/usingpoky.xml | 2 +- 12 files changed, 49 insertions(+), 49 deletions(-) diff --git a/documentation/adt-manual/adt-prepare.xml b/documentation/adt-manual/adt-prepare.xml index 02416b3cda6..df9d5b0f76b 100644 --- a/documentation/adt-manual/adt-prepare.xml +++ b/documentation/adt-manual/adt-prepare.xml @@ -106,7 +106,7 @@ build environment while also creating the default Build Directory, and run the BitBake command that results in the tarball - ~/yocto-project/build/tmp/deploy/sdk/adt_installer.tar.bz2: + poky/build/tmp/deploy/sdk/adt_installer.tar.bz2: Before using BitBake to build the ADT tarball, be sure to make sure your @@ -136,7 +136,7 @@ a top-level directory named adt-installer: $ cd ~ - $ cp ~/poky/build/tmp/deploy/sdk/adt_installer.tar.bz2 $HOME + $ cp poky/build/tmp/deploy/sdk/adt_installer.tar.bz2 $HOME $ tar -xjf adt_installer.tar.bz2 Unpacking it creates the directory adt-installer, @@ -206,7 +206,7 @@ When you run the installer, the environment must use a host gcc: - $ cd ~/adt-installer + $ cd adt-installer $ ./adt_installer Once the installer begins to run, you are asked to enter the @@ -303,7 +303,7 @@ The first thing the installer prompts you for is the directory into which you want to install the toolchain. The default directory used is - opt/poky/&DISTRO;. + /opt/poky/&DISTRO;. If you do not have write permissions for the directory into which you are installing the toolchain, the toolchain installer notifies you and exits. @@ -545,7 +545,7 @@ the toolchain environment script in the tmp directory. If you installed the toolchain by hand, the environment setup - script is located in opt/poky/&DISTRO;. + script is located in /opt/poky/&DISTRO;. @@ -563,16 +563,16 @@ built filesystem that is located in the ~/Downloads directory. Furthermore, this command extracts the root filesystem into the - $HOME/qemux86-sato directory: + qemux86-sato directory: $ cd ~ $ source /opt/poky/&DISTRO;/environment-setup-i586-poky-linux $ runqemu-extract-sdk \ - ~Downloads/core-image-sato-sdk-qemux86-2011091411831.rootfs.tar.bz2 \ + ~/Downloads/core-image-sato-sdk-qemux86-2011091411831.rootfs.tar.bz2 \ $HOME/qemux86-sato You could now point to the target sysroot at - $HOME/qemux86-sato. + qemux86-sato.
@@ -625,13 +625,13 @@ By default, this toolchain does not build static binaries. If you want to use the toolchain to build these types of libraries, - you need to be sure your image has the appropriate static + you need to be sure your image has the appropriate static development libraries. - Use the + Use the IMAGE_INSTALL variable inside your local.conf file to install the appropriate library packages. - Following is an example using eglibc static + Following is an example using eglibc static development libraries: IMAGE_INSTALL_append = " eglibc-staticdev" diff --git a/documentation/bsp-guide/bsp.xml b/documentation/bsp-guide/bsp.xml index c85e7e0883f..9a8f3af5736 100644 --- a/documentation/bsp-guide/bsp.xml +++ b/documentation/bsp-guide/bsp.xml @@ -562,7 +562,7 @@ For example, suppose you had some configuration options in a file called network_configs.cfg. - You can place that file inside a directory named /linux-yocto and then add + You can place that file inside a directory named linux-yocto and then add a SRC_URI statement such as the following to the append file. When the OpenEmbedded build system builds the kernel, the configuration options are picked up and applied. @@ -748,7 +748,7 @@ Instructions on how to boot the BSP build from the BSP layer. Instructions on how to boot the binary images - contained in the /binary directory, + contained in the binary directory, if present. Information on any known bugs or issues that users should know about when either building or booting the BSP @@ -759,7 +759,7 @@ meta-<bsp_name> directory. This file specifies exactly where you can find the sources used to generate the binary images contained in the - /binary directory, if present. + binary directory, if present. See the README.sources file for the Fish River Island 2 BSP in the meta-fri2 BSP layer diff --git a/documentation/dev-manual/dev-manual-common-tasks.xml b/documentation/dev-manual/dev-manual-common-tasks.xml index 43d6fa52c01..bd8c2c9be99 100644 --- a/documentation/dev-manual/dev-manual-common-tasks.xml +++ b/documentation/dev-manual/dev-manual-common-tasks.xml @@ -357,7 +357,7 @@ to cause the build to use your own version of the file. For example, an append file in your layer at - /meta-one/recipes-core/base-files/base-files.bbappend + meta-one/recipes-core/base-files/base-files.bbappend could extend FILESPATH using @@ -369,7 +369,7 @@ The build for machine "one" will pick up your machine-specific file as long as you have the file in - /meta-one/recipes-core/base-files/base-files/. + meta-one/recipes-core/base-files/base-files/. However, if you are building for a different machine and the bblayers.conf file includes @@ -384,9 +384,9 @@ the file in a subdirectory specific to the machine. For example, rather than placing the file in - /meta-one/recipes-core/base-files/base-files/ + meta-one/recipes-core/base-files/base-files/ as shown above, put it in - /meta-one/recipes-core/base-files/base-files/one/. + meta-one/recipes-core/base-files/base-files/one/. Not only does this make sure the file is used only when building for machine "one" but the build process locates the file more quickly. @@ -1957,7 +1957,7 @@ Source Directory top-level folder is ~/poky: - $ cd ~/poky + $ cd poky $ source oe-init-build-env $ bitbake linux-yocto -c menuconfig @@ -2006,7 +2006,7 @@ x86 architecture, the .config file would be located here: - ~/poky/build/tmp/work/qemux86-poky-linux/linux-yocto-3.4.11+git1+84f... + poky/build/tmp/work/qemux86-poky-linux/linux-yocto-3.4.11+git1+84f... ...656ed30-r1/linux-qemux86-standard-build @@ -2079,7 +2079,7 @@ kernel's configuration. For example, suppose you had a set of configuration options in a file called myconfig.cfg. - If you put that file inside a directory named /linux-yocto + If you put that file inside a directory named linux-yocto that resides in the same directory as the kernel's append file and then add a SRC_URI statement such as the following to the kernel's append file, those configuration options will be picked up and applied when the kernel is built. @@ -5271,7 +5271,7 @@ You have checked out the dora-toaster branch: - $ cd ~/poky + $ cd poky $ git checkout -b dora-toaster origin/dora-toaster Be sure your build machine has @@ -5595,7 +5595,7 @@ Downloaded archives reside in the Build Directory in - /tmp and are cleared up when they are no longer in use. + tmp and are cleared up when they are no longer in use. diff --git a/documentation/dev-manual/dev-manual-model.xml b/documentation/dev-manual/dev-manual-model.xml index cb09627d6e1..929aee05274 100644 --- a/documentation/dev-manual/dev-manual-model.xml +++ b/documentation/dev-manual/dev-manual-model.xml @@ -1674,7 +1674,7 @@ the following is the work directory for the acl recipe that creates the acl package: - ~/poky/build/tmp/work/i586-poky-linux/acl/2.2.51-r3/ + poky/build/tmp/work/i586-poky-linux/acl/2.2.51-r3/ @@ -1690,8 +1690,8 @@ for the acl package that is being built for a MIPS-based device: - ~/poky/build/tmp/work/mips-poky-linux/acl/2.2.51-r2 - ~/poky/build/tmp/work/mips-poky-linux/acl/2.2.51-r2/acl-2.2.51 + poky/build/tmp/work/mips-poky-linux/acl/2.2.51-r2 + poky/build/tmp/work/mips-poky-linux/acl/2.2.51-r2/acl-2.2.51 diff --git a/documentation/dev-manual/dev-manual-newbie.xml b/documentation/dev-manual/dev-manual-newbie.xml index 34326d10b63..cbb815a7f58 100644 --- a/documentation/dev-manual/dev-manual-newbie.xml +++ b/documentation/dev-manual/dev-manual-newbie.xml @@ -1459,8 +1459,8 @@ For help on using these scripts, simply provide the -h argument as follows: - $ ~/poky/scripts/create-pull-request -h - $ ~/poky/scripts/send-pull-request -h + $ poky/scripts/create-pull-request -h + $ poky/scripts/send-pull-request -h diff --git a/documentation/kernel-dev/kernel-dev-maint-appx.xml b/documentation/kernel-dev/kernel-dev-maint-appx.xml index 5f9788aa31b..a7c144ff752 100644 --- a/documentation/kernel-dev/kernel-dev-maint-appx.xml +++ b/documentation/kernel-dev/kernel-dev-maint-appx.xml @@ -45,7 +45,7 @@ Here is an example that assumes the local Git repository for the kernel is in a top-level directory named linux-yocto-3.4: - $ cd ~/linux-yocto-3.4 + $ cd linux-yocto-3.4 $ git checkout -b meta origin/meta Once you have checked out and switched to the meta branch, @@ -208,7 +208,7 @@ the build tree directory. The files include the final .config file, all the .o files, the .a files, and so forth. - Since each machine or BSP has its own separate + Since each machine or BSP has its own separate Build Directory in its own separate branch of the Git repository, you can easily switch between different builds. diff --git a/documentation/ref-manual/migration.xml b/documentation/ref-manual/migration.xml index a3a3e88a070..dc24628e3cd 100644 --- a/documentation/ref-manual/migration.xml +++ b/documentation/ref-manual/migration.xml @@ -829,10 +829,10 @@
- <filename>/run</filename> + <filename>run</filename> - The /run directory from the Filesystem + The run directory from the Filesystem Hierarchy Standard 3.0 has been introduced. You can find some of the implications for this change here. @@ -1033,7 +1033,7 @@ base-files: Remove the unnecessary - /media/xxx directories. + media/xxx directories. alsa-state: Provide an empty diff --git a/documentation/ref-manual/ref-bitbake.xml b/documentation/ref-manual/ref-bitbake.xml index b587d46caa6..e24ea45281e 100644 --- a/documentation/ref-manual/ref-bitbake.xml +++ b/documentation/ref-manual/ref-bitbake.xml @@ -222,7 +222,7 @@ As each task completes, a timestamp is written to the directory specified by the STAMP variable. - On subsequent runs, BitBake looks within the /build/tmp/stamps + On subsequent runs, BitBake looks within the build/tmp/stamps directory and does not rerun tasks that are already completed unless a timestamp is found to be invalid. Currently, invalid timestamps are only considered on a per diff --git a/documentation/ref-manual/ref-features.xml b/documentation/ref-manual/ref-features.xml index 3f216e3a646..dedcf67e334 100644 --- a/documentation/ref-manual/ref-features.xml +++ b/documentation/ref-manual/ref-features.xml @@ -38,7 +38,7 @@ Here is an example that discovers the recipes whose build is potentially changed based on a given feature: - $ cd $HOME/poky + $ cd poky $ git grep 'contains.*MACHINE_FEATURES.*<feature>' diff --git a/documentation/ref-manual/ref-variables.xml b/documentation/ref-manual/ref-variables.xml index 84deee88993..2b0e8909fee 100644 --- a/documentation/ref-manual/ref-variables.xml +++ b/documentation/ref-manual/ref-variables.xml @@ -701,10 +701,10 @@ The following example uses a complete regular expression to tell BitBake to ignore all recipe and recipe append - files in the /meta-ti/recipes-misc/ + files in the meta-ti/recipes-misc/ directory: - BBMASK = "/meta-ti/recipes-misc/" + BBMASK = "meta-ti/recipes-misc/" If you want to mask out multiple directories or recipes, use the vertical bar to separate the regular expression @@ -999,7 +999,7 @@ /etc or ${bindir} rather than /usr/bin. You can find a list of these variables at the top of the - /meta/conf/bitbake.conf file in the + meta/conf/bitbake.conf file in the Source Directory. @@ -1036,7 +1036,7 @@ Specifies the parent directory of the OpenEmbedded - Core Metadata layer (i.e. /meta). + Core Metadata layer (i.e. meta). @@ -1362,7 +1362,7 @@ You can set this directory by defining the DL_DIR variable in the - /conf/local.conf file. + conf/local.conf file. This directory is self-maintaining and you should not have to touch it. By default, the directory is downloads @@ -1712,7 +1712,7 @@ /etc, or ${bindir} rather than /usr/bin. You can find a list of these variables at the top of the - /meta/conf/bitbake.conf file in the + meta/conf/bitbake.conf file in the Source Directory. @@ -2068,7 +2068,7 @@ to a default value using the ?= operator, using a += operation against IMAGE_INSTALL will result in unexpected behavior when used in - /conf/local.conf. + conf/local.conf. Furthermore, the same operation from within an image recipe may or may not succeed depending on the specific situation. In both these cases, the behavior is contrary to how most users expect @@ -4770,7 +4770,7 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3" to keep the unpacked recipe for db is the following: - ~/poky/build/tmp/work/qemux86-poky-linux/db/5.1.19-r3/db-5.1.19 + poky/build/tmp/work/qemux86-poky-linux/db/5.1.19-r3/db-5.1.19 @@ -5888,7 +5888,7 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3" In this case, the working directory the build system uses to build the v86d package is the following: - ~/poky/build/tmp/work/qemux86-poky-linux/v86d/01.9-r0 + poky/build/tmp/work/qemux86-poky-linux/v86d/01.9-r0 @@ -5905,7 +5905,7 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3" the acl recipe, which is being built for a MIPS-based device, is the following: - ~/poky/build/tmp/work/mips-poky-linux/acl/2.2.51-r2 + poky/build/tmp/work/mips-poky-linux/acl/2.2.51-r2 diff --git a/documentation/ref-manual/technical-details.xml b/documentation/ref-manual/technical-details.xml index 4d1c2e3f4e8..6d4c6b712c9 100644 --- a/documentation/ref-manual/technical-details.xml +++ b/documentation/ref-manual/technical-details.xml @@ -1149,7 +1149,7 @@ recipe-by-recipe basis through the LICENSE_FLAGS variable definition in the affected recipe. For instance, the - $HOME/poky/meta/recipes-multimedia/gstreamer/gst-plugins-ugly + poky/meta/recipes-multimedia/gstreamer/gst-plugins-ugly recipe contains the following statement: LICENSE_FLAGS = "commercial" @@ -1165,7 +1165,7 @@ LICENSE_FLAGS_WHITELIST variable, which is a variable typically defined in your local.conf file. For example, to enable - the $HOME/poky/meta/recipes-multimedia/gstreamer/gst-plugins-ugly + the poky/meta/recipes-multimedia/gstreamer/gst-plugins-ugly package, you could add either the string "commercial_gst-plugins-ugly" or the more general string "commercial" to LICENSE_FLAGS_WHITELIST. @@ -1312,7 +1312,7 @@ Other helpful variables related to commercial license handling exist and are defined in the - $HOME/poky/meta/conf/distro/include/default-distrovars.inc file: + poky/meta/conf/distro/include/default-distrovars.inc file: COMMERCIAL_AUDIO_PLUGINS ?= "" COMMERCIAL_VIDEO_PLUGINS ?= "" diff --git a/documentation/ref-manual/usingpoky.xml b/documentation/ref-manual/usingpoky.xml index 49166e15bfc..b9df733f3fc 100644 --- a/documentation/ref-manual/usingpoky.xml +++ b/documentation/ref-manual/usingpoky.xml @@ -62,7 +62,7 @@ The target is the name of the recipe you want to build. Common targets are the images in meta/recipes-core/images, - /meta/recipes-sato/images, etc. all found in the + meta/recipes-sato/images, etc. all found in the Source Directory. Or, the target can be the name of a recipe for a specific piece of software such as BusyBox. From f63ae44a8e69c7e87e0a2f79acb0e6cbc93a9fd2 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Fri, 8 Nov 2013 07:28:08 -0800 Subject: [PATCH 062/658] ref-manual: Updated the FAQ entry about old Python version I re-wrote this FAQ entry to indicate more recent versions of Python and to leverage off the way we can now download or build out the buildtools. Reported-by: Paul Eggleton (From yocto-docs rev: 87bcd154526feac7218a27b62bffd3a017885435) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/faq.xml | 30 +++++++++--------------------- 1 file changed, 9 insertions(+), 21 deletions(-) diff --git a/documentation/ref-manual/faq.xml b/documentation/ref-manual/faq.xml index 69b679bbf7c..af8797bbf5b 100644 --- a/documentation/ref-manual/faq.xml +++ b/documentation/ref-manual/faq.xml @@ -31,31 +31,19 @@ - I only have Python 2.4 or 2.5 but BitBake requires Python 2.6 or 2.7. + My development system does not have Python 2.7.3 or greater, + which the Yocto Project requires. Can I still use the Yocto Project? - You can use a stand-alone tarball to provide Python 2.6. - You can find pre-built 32 and 64-bit versions of Python 2.6 at the following locations: - - 32-bit tarball - 64-bit tarball - - - - These tarballs are self-contained with all required libraries and should work - on most Linux systems. - To use the tarballs extract them into the root - directory and run the appropriate command: - - $ export PATH=/opt/poky/sysroots/i586-pokysdk-linux/usr/bin/:$PATH - $ export PATH=/opt/poky/sysroots/x86_64-pokysdk-linux/usr/bin/:$PATH - - - - Once you run the command, BitBake uses Python 2.6. + You can get the required tools on your host development + system a couple different ways (i.e. building a tarball or + downloading a tarball). + See the + "Required Git, tar, and Python Versions" + section for steps on how to update your build tools. @@ -682,7 +670,7 @@ Yes - you can easily do this. When you use BitBake to build an image, all the build output - goes into the directory created when you run the + goes into the directory created when you run the build environment setup script (i.e. &OE_INIT_FILE; or From 8b35d3fdfb68e2979636134719bb544fcf6a7938 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Fri, 8 Nov 2013 08:16:13 -0800 Subject: [PATCH 063/658] ref-manual: Removed FAQ entry about running on RHEL/CentOS 5.1. We don't even support these Linux distributions. We should not have a FAQ entry telling people how to deal with it. If the distro is that "hot", we should take steps to support it. (From yocto-docs rev: dd4a8f81a1a0517a9859ab775f22a4cf702ed341) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/faq.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/documentation/ref-manual/faq.xml b/documentation/ref-manual/faq.xml index af8797bbf5b..c7ccaafde67 100644 --- a/documentation/ref-manual/faq.xml +++ b/documentation/ref-manual/faq.xml @@ -199,7 +199,7 @@ - + From 4cab968da8bda8d1bdc231417b3c8c9c9396ec10 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Mon, 11 Nov 2013 08:55:53 -0800 Subject: [PATCH 064/658] dev-manual: Updated Build Directory term The examples went stale. Two out of three did not work. I have provided new examples that work. Reporte-by: Robert P. J. Day (From yocto-docs rev: ae50d3ee3c244b2c864d80adf69a7a69fb6e3985) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- .../dev-manual/dev-manual-newbie.xml | 43 ++++++++++++------- 1 file changed, 28 insertions(+), 15 deletions(-) diff --git a/documentation/dev-manual/dev-manual-newbie.xml b/documentation/dev-manual/dev-manual-newbie.xml index cbb815a7f58..2625a44f2c2 100644 --- a/documentation/dev-manual/dev-manual-newbie.xml +++ b/documentation/dev-manual/dev-manual-newbie.xml @@ -514,27 +514,40 @@ The TOPDIR variable points to the Build Directory. - You have a lot of flexibility when creating the Build Directory. - Following are some examples that show how to create the directory: + + You have a lot of flexibility when creating the Build + Directory. + Following are some examples that show how to create the + directory. + The examples assume your + Source Directory is + named poky: - Create the Build Directory in your current working directory - and name it build. - This is the default behavior. + Create the Build Directory inside your + Source Directory and let the name of the Build + Directory default to build: - $ source &OE_INIT_PATH; + $ cd $HOME/poky + $ source &OE_INIT_FILE; - Provide a directory path and specifically name the build - directory. - This next example creates a Build Directory named YP-&POKYVERSION; - in your home directory within the directory mybuilds. - If mybuilds does not exist, the directory is created for you: + Create the Build Directory inside your + home directory and specifically name it + test-builds: - $ source &OE_INIT_PATH; $HOME/mybuilds/YP-&POKYVERSION; + $ cd $HOME + $ source poky/&OE_INIT_FILE; test-builds - Provide an existing directory to use as the Build Directory - and use the default build name. + Provide a directory path and + specifically name the build directory. + Any intermediate folders in the pathname must + exist. + This next example creates a Build Directory named + YP-&POKYVERSION; + in your home directory within the existing + directory mybuilds: - $ source &OE_INIT_PATH; $HOME/mybuilds/ + $cd $HOME + $ source $HOME/poky/&OE_INIT_FILE; $HOME/mybuilds/YP-&POKYVERSION; From 803300cc126ab5581454d0dfb153d5c11998f5bc Mon Sep 17 00:00:00 2001 From: "Robert P. J. Day" Date: Mon, 11 Nov 2013 10:26:00 -0800 Subject: [PATCH 065/658] dev-manual: A few tweaks to Ch2 of dev-manual scott (or anyone else) is welcome to use any or all of this, or tweak to taste. i have a few other concerns with ch 2 but i'll read it more carefully to make sure i'm reading it correctly. - rpjday I implemented all but the addition of MIPS64 as it is not tested using the autobuilder yet. - scottrif (From yocto-docs rev: 9ae733456e1d39de66ad6235172f26cab4a33269) Signed-off-by: Scott Rifenbark Conflicts: documentation/dev-manual/dev-manual-start.xml Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/dev-manual/dev-manual-start.xml | 33 ++++++++++++------- 1 file changed, 22 insertions(+), 11 deletions(-) diff --git a/documentation/dev-manual/dev-manual-start.xml b/documentation/dev-manual/dev-manual-start.xml index 0729baa0dad..8ee626406ba 100644 --- a/documentation/dev-manual/dev-manual-start.xml +++ b/documentation/dev-manual/dev-manual-start.xml @@ -55,12 +55,12 @@ Getting Set Up - Here is what you need to get set up to use the Yocto Project: + Here is what you need to use the Yocto Project: Host System: You should have a reasonably current Linux-based host system. You will have the best results with a recent release of Fedora, - OpenSUSE, Debian, Ubuntu, or CentOS as these releases are frequently tested against the Yocto Project + openSUSE, Debian, Ubuntu, or CentOS as these releases are frequently tested against the Yocto Project and officially supported. For a list of the distributions under validation and their status, see the "Supported Linux Distributions" section @@ -70,7 +70,7 @@ You should also have about 100 gigabytes of free disk space for building images. Packages: The OpenEmbedded build system - requires certain packages exist on your development system (e.g. Python 2.6 or 2.7). + requires that certain packages exist on your development system (e.g. Python 2.6 or 2.7). See "The Packages" section in the Yocto Project Quick Start and the "Required Packages for the Host Development System" @@ -79,13 +79,24 @@ them for the supported distributions. Yocto Project Release: - You need a release of the Yocto Project. - You set that up with a local Source Directory - one of two ways depending on whether you - are going to contribute back into the Yocto Project or not. - - Regardless of the method you use, this manual refers to the resulting local - hierarchical set of files as the "Source Directory." + You need a release of the Yocto Project installed locally on + your development system. + This local area is referred to as the + Source Directory + and is created when you use + Git to clone a local copy + of the upstream poky repository, + or when you download an official release of the corresponding tarball. + Working from a copy of the upstream repository allows you + to contribute back into the Yocto Project or simply work with + the latest software on a development branch. + Because Git maintains and creates an upstream repository with + a complete history of changes and you are working with a local + clone of that repository, you have access to all the Yocto + Project development branches and tag names used in the upstream + repository. + You can view the Yocto Project Source Repositories at + Tarball Extraction: @@ -136,7 +147,7 @@ Yocto Project Kernel: If you are going to be making modifications to a supported Yocto Project kernel, you need to establish local copies of the source. - You can find Git repositories of supported Yocto Project Kernels organized under + You can find Git repositories of supported Yocto Project kernels organized under "Yocto Linux Kernel" in the Yocto Project Source Repositories at . This setup can involve creating a bare clone of the Yocto Project kernel and then From e3e0d40704473e752d93de79cfb04a979c3073bb Mon Sep 17 00:00:00 2001 From: "Robert P. J. Day" Date: Mon, 11 Nov 2013 10:42:55 -0800 Subject: [PATCH 066/658] dev-manual: Small number of tweaks to ch 3, development manual. (From yocto-docs rev: f496e2fb8050830a2daf9f712a9b9b40b4025f1f) Signed-off-by: Scott Rifenbark Conflicts: documentation/dev-manual/dev-manual-newbie.xml Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- .../dev-manual/dev-manual-newbie.xml | 34 ++++++++++--------- 1 file changed, 18 insertions(+), 16 deletions(-) diff --git a/documentation/dev-manual/dev-manual-newbie.xml b/documentation/dev-manual/dev-manual-newbie.xml index 2625a44f2c2..694bb7c0214 100644 --- a/documentation/dev-manual/dev-manual-newbie.xml +++ b/documentation/dev-manual/dev-manual-newbie.xml @@ -429,15 +429,17 @@ For any supported release of Yocto Project, you can go to the Yocto Project Website and - select the "Downloads" tab and get a tarball of the release. - You can also go to this site to download any supported BSP tarballs. - Unpacking the tarball gives you a hierarchical Source Directory that lets you develop - using the Yocto Project. - - - - Once you are set up through either tarball extraction or a checkout of Git repositories, - you are ready to develop. + select the "Downloads" tab and get a released tarball of the + poky repository or any supported BSP tarballs. + Unpacking these tarballs gives you a snapshot of the released + files. + + The recommended method for setting up the Yocto Project + Source Directory and the + files for supported BSPs (eg., meta-intel) is to + use Git to create a local copy of the + upstream repositories. + @@ -820,7 +822,8 @@ Git - The Yocto Project uses Git, which is a free, open source distributed version control system. + The Yocto Project makes extensive use of Git, + which is a free, open source distributed version control system. Git supports distributed development, non-linear development, and can handle large projects. It is best that you have some fundamental understanding of how Git tracks projects and how to work with Git if you are going to use the Yocto Project for development. @@ -924,7 +927,7 @@ local working branch based on a branch name, your local environment matches the "tip" of that development branch at the time you created your local branch, which could be - different than the files at the time of a similarly named release. + different from the files at the time of a similarly named release. In other words, creating and checking out a local branch based on the &DISTRO_NAME; branch name is not the same as cloning and checking out the master branch. @@ -1017,7 +1020,7 @@ will allow the change, and for ultimately pushing the change from your local Git repository into the project’s upstream (or master) repository. git status: Reports any modified files that - possibly need staged and committed. + possibly need to be staged and committed. git checkout <branch-name>: Changes your working branch. This command is analogous to "cd". @@ -1294,10 +1297,9 @@ Board Support Package (BSP) README Files: For BSP maintainers of supported BSPs, you can examine individual BSP README files. - Alternatively, you can examine the - MAINTAINERS file, which is found in the - meta-intel, for a list of all supported - BSP maintainers. + In addition, some layers (such as the meta-intel layer), + include a MAINTAINERS file which contains + a list of all supported BSP maintainers for that layer. Search by File: Using Git, you can enter the From 3736d5c8e4b9b73595e5abbc2ac9cfe9209131a6 Mon Sep 17 00:00:00 2001 From: "Robert P. J. Day" Date: Mon, 11 Nov 2013 10:55:21 -0800 Subject: [PATCH 067/658] dev-manual: Some minor tweaks to ch 4, development manual: * is it technically correct to say there are now 5 BSPs? as in, does genericx86-64 count as a new BSP distinct from genericx86? [aside: are there any plans for a MIPS64 BSP?] - rpjday MIPS64 is under development. - scottrif * if scott is up for it, a couple more variables for the variable glossary might be BASE_WORKDIR and TARGET_VENDOR, which i would have added to that variable list but they don't appear in the glossary - rpjday Noted. - scottrif (From yocto-docs rev: 45876209fd94a6800176381518f008890da646ee) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/dev-manual/dev-manual-model.xml | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/documentation/dev-manual/dev-manual-model.xml b/documentation/dev-manual/dev-manual-model.xml index 929aee05274..c185522e15f 100644 --- a/documentation/dev-manual/dev-manual-model.xml +++ b/documentation/dev-manual/dev-manual-model.xml @@ -155,10 +155,11 @@ For more information on BSP layers, see the "BSP Layers" section in the Yocto Project Board Support Package (BSP) Developer's Guide. - Four BSPs exist that are part of the - Yocto Project release: genericx86, beagleboard, + Five BSPs exist that are part of the + Yocto Project release: genericx86, genericx86-64, + beagleboard, mpc8315e, and routerstationpro. - The recipes and configurations for these four BSPs are located and dispersed + The recipes and configurations for these five BSPs are located and dispersed within the Source Directory. On the other hand, BSP layers for Chief River, Crown Bay, Crystal Forest, Emenlow, Fish River Island 2, Jasper Forest, N450, NUC DC3217IYE, @@ -218,10 +219,10 @@ You can view a video presentation on "Building Custom Embedded Images with Yocto" at Free Electrons. - You can also find supplemental information in + You can also find supplemental information in the - The Board Support Package (BSP) Development Guide. - Finally, there is wiki page write up of the example also located + Yocto Project Board Support Package (BSP) Developer's Guide. + Finally, there is a wiki page write up of the example also located here that you might find helpful. @@ -1643,7 +1644,7 @@ meta/conf/bitbake.conf configuration file in the Source Directory: - S = ${WORKDIR}/${BP} + S = "${WORKDIR}/${BP}" You should be aware that many recipes override the S variable. For example, recipes that fetch their source from Git usually set @@ -1653,7 +1654,7 @@ BP represents the base recipe name, which consists of the name and version: - BP = ${BPN}-${PV} + BP = "${BPN}-${PV}" @@ -1702,6 +1703,7 @@ TMPDIR, TOPDIR, PACKAGE_ARCH, + MULTIMACH_TARGET_SYS, TARGET_OS, PN, PV, From 30bebff0dcfdced41ace0846a8d5c3e29d57b3ef Mon Sep 17 00:00:00 2001 From: "Robert P. J. Day" Date: Mon, 11 Nov 2013 11:02:57 -0800 Subject: [PATCH 068/658] dev manual: Minor tweaks to first part of ch 5, dev-manual. given the length of chapter 5 in the dev manual, i'm going to do this in bite-size pieces. (From yocto-docs rev: 3db48a0be170a02e5042fe65253c65b5245c6b89) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- .../dev-manual/dev-manual-common-tasks.xml | 26 +++++++++++-------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/documentation/dev-manual/dev-manual-common-tasks.xml b/documentation/dev-manual/dev-manual-common-tasks.xml index bd8c2c9be99..e2df99e4911 100644 --- a/documentation/dev-manual/dev-manual-common-tasks.xml +++ b/documentation/dev-manual/dev-manual-common-tasks.xml @@ -10,7 +10,7 @@ adding new software packages, extending or customizing images, porting work to new hardware (adding a new machine), and so forth. You will find the procedures documented here occur often in the - develop cycle using the Yocto Project. + development cycle using the Yocto Project.
@@ -31,7 +31,7 @@ To illustrate how layers are used to keep things modular, consider machine customizations. These types of customizations typically reside in a special layer, - rather than a general layer, called a Board Specific Package (BSP) + rather than a general layer, called a Board Support Package (BSP) Layer. Furthermore, the machine customizations should be isolated from recipes and Metadata that support a new GUI environment, @@ -60,11 +60,12 @@ You can easily identify layers that ship with a Yocto Project release in the Source Directory by their folder names. - Folders that are layers begin with the string - meta. + Folders that represent layers typically have names that begin with + the string meta-. - It is not a requirement that a layer begins with the - string meta. + It is not a requirement that a layer name begin with the + prefix meta-, but it's a commonly accepted + standard in the Yocto Project community. For example, when you set up the Source Directory structure, you will see several layers: @@ -72,14 +73,14 @@ meta-skeleton, meta-yocto, and meta-yocto-bsp. - Each of these folders is a layer. + Each of these folders represents a distinct layer. Furthermore, if you set up a local copy of the meta-intel Git repository and then explore the folder of that general layer, - you will discover many BSP layers inside. + you will discover many Intel-specific BSP layers inside. For more information on BSP layers, see the "BSP Layers" section in the Yocto Project Board Support Package (BSP) @@ -252,8 +253,8 @@ configuration. In other words, do not copy an entire recipe into your layer and then modify it. - Use .bbappend files to override the - parts of the recipe you need to modify. + Rather, use .bbappend files to override the + only those parts of the original recipe you need to modify.
@@ -275,6 +276,9 @@ the layer to which it originally belongs. If this is the case, you need to address that deficiency instead of overlaying the include file. + + + For example, consider how support plug-ins for the Qt 4 database are configured. The Source Directory does not have MySQL or PostgreSQL. @@ -496,7 +500,7 @@ number-specific. If the corresponding recipe is renamed to update to a newer version, the corresponding .bbappend file must - be renamed as well. + be renamed (and possibly updated) as well. During the build process, BitBake displays an error on starting if it detects a .bbappend file that does not have a corresponding recipe with a matching name. From 5de0010afff5c861da1c84f45fa9791dd5721ec5 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Mon, 11 Nov 2013 07:06:52 -0800 Subject: [PATCH 069/658] dev-manual: Reworded sentence for meta-intel setup Changed wording to remove implications of meta-intel clone importance regarding working with BSPs. Reported-by: Robert P. J. Day (From yocto-docs rev: c5f282e2b5f9931103fc4a1adafbf9c5becb0084) Signed-off-by: Scott Rifenbark Conflicts: documentation/dev-manual/dev-manual-start.xml Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/dev-manual/dev-manual-start.xml | 39 +++++++------------ 1 file changed, 15 insertions(+), 24 deletions(-) diff --git a/documentation/dev-manual/dev-manual-start.xml b/documentation/dev-manual/dev-manual-start.xml index 8ee626406ba..5e8195c8b00 100644 --- a/documentation/dev-manual/dev-manual-start.xml +++ b/documentation/dev-manual/dev-manual-start.xml @@ -232,30 +232,21 @@ See the "BSP Layers" - section in the Yocto Project Board Support Package (BSP) Developer's Guide for more - information on BSP Layers. - - Tarball Extraction: You can download any released - BSP tarball from the same "Downloads" page of the - Yocto Project Website - to get the Yocto Project release. - Once on the "Download" page, look to the right of the - page and scroll down to find the BSP tarballs. - Once you have the tarball, just extract it into a directory of your choice. - Again, this method just produces a snapshot of the BSP layer in the form - of a hierarchical directory structure. - Git Repository Method: If you are working - with a local Git repository for your Source Directory, you should also use this method - to set up the meta-intel Git repository. - You can locate the meta-intel Git repository in the - "Yocto Metadata Layers" area of the Yocto Project Source Repositories at - . - Typically, you set up the meta-intel Git repository inside - the Source Directory. - For example, the following transcript shows the steps to clone the - meta-intel - Git repository inside the local poky Git repository. - + section in the Yocto Project Board Support Package (BSP) + Developer's Guide for more information on BSP Layers. + You can locate the meta-intel Git + repository in the "Yocto Metadata Layers" area of the Yocto + Project Source Repositories at + . + Using + Git to create a local clone of the + upstream repository can be helpful if you are working with + BSPs. + Typically, you set up the meta-intel + Git repository inside the Source Directory. + For example, the following transcript shows the steps to clone + meta-intel. + $ cd ~/poky $ git clone git://git.yoctoproject.org/meta-intel.git Cloning into 'meta-intel'... From 184166fa7a5e1beb51660258b1d19dd4daa85996 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Tue, 12 Nov 2013 11:22:10 -0800 Subject: [PATCH 070/658] dev-manual: Fixed broken structure. I discovered that the dev-manual was not making correctly. Probably resulted in trying to merge in some of Robert P. J. Day's comments. I have made the tag changes to fix this. Also, I added back in the two methods for setting up meta-intel as I am not making the tarball-exclusion changes to the dora branch. (From yocto-docs rev: a10a9c3960045a777da6245a2502504f15fad579) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/dev-manual/dev-manual-start.xml | 136 +++++++++++------- 1 file changed, 86 insertions(+), 50 deletions(-) diff --git a/documentation/dev-manual/dev-manual-start.xml b/documentation/dev-manual/dev-manual-start.xml index 5e8195c8b00..c1d89bc7b99 100644 --- a/documentation/dev-manual/dev-manual-start.xml +++ b/documentation/dev-manual/dev-manual-start.xml @@ -57,8 +57,8 @@ Here is what you need to use the Yocto Project: - Host System: You should have a reasonably current - Linux-based host system. + Host System: + You should have a reasonably current Linux-based host system. You will have the best results with a recent release of Fedora, openSUSE, Debian, Ubuntu, or CentOS as these releases are frequently tested against the Yocto Project and officially supported. @@ -69,15 +69,15 @@ You should also have about 100 gigabytes of free disk space for building images. - Packages: The OpenEmbedded build system - requires that certain packages exist on your development system (e.g. Python 2.6 or 2.7). + Packages: + The OpenEmbedded build system requires that certain packages + exist on your development system (e.g. Python 2.6 or 2.7). See "The Packages" section in the Yocto Project Quick Start and the "Required Packages for the Host Development System" section in the Yocto Project Reference Manual for the exact package requirements and the installation commands to install - them for the supported distributions. - + them for the supported distributions. Yocto Project Release: You need a release of the Yocto Project installed locally on your development system. @@ -86,7 +86,8 @@ and is created when you use Git to clone a local copy of the upstream poky repository, - or when you download an official release of the corresponding tarball. + or when you download an official release of the corresponding + tarball. Working from a copy of the upstream repository allows you to contribute back into the Yocto Project or simply work with the latest software on a development branch. @@ -94,7 +95,7 @@ a complete history of changes and you are working with a local clone of that repository, you have access to all the Yocto Project development branches and tag names used in the upstream - repository. + repository. You can view the Yocto Project Source Repositories at @@ -108,27 +109,40 @@ directory of your choice. For example, the following command extracts the Yocto Project &DISTRO; release tarball - into the current working directory and sets up the local Source Directory - with a top-level folder named &YOCTO_POKY;: + into the current working directory and sets up the local + Source Directory + with a top-level folder named + &YOCTO_POKY;: $ tar xfj &YOCTO_POKY_TARBALL; - This method does not produce a local Git repository. - Instead, you simply end up with a snapshot of the release. - Git Repository Method: If you are going to be contributing - back into the Yocto Project or you simply want to keep up - with the latest developments, you should use Git commands to set up a local - Git repository of the upstream poky source repository. - Doing so creates a repository with a complete history of changes and allows - you to easily submit your changes upstream to the project. - Because you clone the repository, you have access to all the Yocto Project development - branches and tag names used in the upstream repository. - You can view the Yocto Project Source Repositories at - - The following transcript shows how to clone the poky - Git repository into the current working directory. - The command creates the local repository in a directory named poky. - For information on Git used within the Yocto Project, see the + This method does not produce a local Git + repository. + Instead, you simply end up with a snapshot of the + release. + Git Repository Method: + If you are going to be contributing back into the Yocto + Project or you simply want to keep up with the latest + developments, you should use Git commands to set up a + local Git repository of the upstream + poky source repository. + Doing so creates a repository with a complete history + of changes and allows you to easily submit your changes + upstream to the project. + Because you clone the repository, you have access to all + the Yocto Project development branches and tag names + used in the upstream repository. + You can view the Yocto Project Source Repositories + at + + + The following transcript shows how to clone the + poky Git repository into the + current working directory. + The command creates the local repository in a directory + named poky. + For information on Git used within the Yocto Project, + see the "Git" section. $ git clone git://git.yoctoproject.org/poky @@ -138,11 +152,14 @@ 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. - - For another example of how to set up your own local Git repositories, see this - - wiki page, which describes how to create both poky - and meta-intel Git repositories. + + For another example of how to set up your own local + Git repositories, see this + wiki page, + which describes how to create both + poky and + meta-intel Git repositories. + Yocto Project Kernel: If you are going to be making modifications to a supported Yocto Project kernel, you @@ -166,7 +183,7 @@ linux-yocto-3.10.git, while the copy is named my-linux-yocto-3.10-work: - $ git clone --bare git://git.yoctoproject.org/linux-yocto-3.10 linux-yocto-3.10.git + $ 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. @@ -233,20 +250,39 @@ See the "BSP Layers" section in the Yocto Project Board Support Package (BSP) - Developer's Guide for more information on BSP Layers. - You can locate the meta-intel Git - repository in the "Yocto Metadata Layers" area of the Yocto - Project Source Repositories at - . - Using - Git to create a local clone of the - upstream repository can be helpful if you are working with - BSPs. - Typically, you set up the meta-intel - Git repository inside the Source Directory. - For example, the following transcript shows the steps to clone - meta-intel. - + Developer's Guide for more information on BSP Layers. + + Tarball Extraction: + You can download any released BSP tarball from the same + "Downloads" page of the Yocto Project + Website + to get the Yocto Project release. + Once on the "Download" page, look to the right of the + page and scroll down to find the BSP tarballs. + Once you have the tarball, just extract it into a + directory of your choice. + Again, this method just produces a snapshot of the BSP + layer in the form of a hierarchical directory + structure. + Git Repository Method: + If you are working with a local Git repository for your + Source Directory, you should also use this method to + set up the meta-intel Git + repository. + You can locate the meta-intel Git + repository in the "Yocto Metadata Layers" area of the + Yocto Project Source Repositories at + . + Using + Git to create a local clone + of the upstream repository can be helpful if you are + working with BSPs. + Typically, you set up the + meta-intel Git repository inside + the Source Directory. + For example, the following transcript shows the steps + to clone meta-intel. + $ cd ~/poky $ git clone git://git.yoctoproject.org/meta-intel.git Cloning into 'meta-intel'... @@ -255,12 +291,12 @@ 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. - - The same + + The same wiki page referenced earlier covers how to - set up the meta-intel Git repository. - + set up the meta-intel Git + repository. Eclipse Yocto Plug-in: If you are developing applications using the Eclipse Integrated Development Environment (IDE), From fa191d48825d97e324e57e628a0ce2d720c2e06d Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Tue, 12 Nov 2013 17:00:11 -0800 Subject: [PATCH 071/658] dev-manual: Rough draft of wic section. (From yocto-docs rev: a628ab0034c66f0c62ffd7e9b6010c5afbecee82) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- .../dev-manual/dev-manual-common-tasks.xml | 719 ++++++++++++++++++ 1 file changed, 719 insertions(+) diff --git a/documentation/dev-manual/dev-manual-common-tasks.xml b/documentation/dev-manual/dev-manual-common-tasks.xml index e2df99e4911..1d2d74927ce 100644 --- a/documentation/dev-manual/dev-manual-common-tasks.xml +++ b/documentation/dev-manual/dev-manual-common-tasks.xml @@ -1917,6 +1917,725 @@
+
+ Creating Partitioned Images + + + Creating an image for a particular hardware target using the + OpenEmbedded build system does not necessarily mean you can boot + that image as is on your device. + Physical devices accept and boot images in various ways depending + on the specifics of the device. + Usually information about the hardware can tell you what image + format the device requires. + Should your device require multiple partitions on an SD card, flash, + or an HDD, you can use the OpenEmbedded Image Creator + (wic) to create the properly partitioned image. + + + + Using the wic command, you can also describe + your desired final image and have BitBake assemble the image. + The 'wic' command generates partitioned images from existing + OpenEmbedded build artifacts. + Image generation is driven by partitioning commands contained + in an Openembedded kickstart file (.wks) + specified either directly on the command-line or as one of a + selection of canned .wks files + (see 'wic list images'). + When applied to a given set of build artifacts, the result is an + image or set of images that can be directly written onto media and + used on a particular system. + + + + 'wic' is based loosely on the 'mic' (Meego Image Creator) framework, +but heavily modified to make direct use of OpenEmbedded build +artifacts instead of package installation and configuration, things +already incorporated in the OE artifacts. + + + +The name 'wic' comes from 'oeic', which stands for 'OpenEmbedded +Image Creator'. The 'oe' diphthong in 'oeic' has been promoted to the +letter 'w', because 'oeic' is impossible to remember or pronounce. + + + +This is a completely independent standalone utility that +initially provides easier-to-use and more flexible replacements for a +couple bits of existing functionality in oe-core: directdisk.bbclass +and mkefidisk.sh. The replaced scripts are implemented by a +general-purpose partitioning 'language' based on Red Hat kickstart +syntax (with the underlying code borrowed from Tizen mic, which in +turn was borrowed from Meego mic, in turn borrowed from Fedora livecd, +etc.). + + + + This section covers the mechanics of invoking and providing help for +the command and sub-commands; it contains hooks for future commits to +connect with the actual functionality, once implemented. + + + + Help is integrated into the 'wic' command itself - you can also see +that for details and reminders on usage (simply invoke 'wic' without +any arguments to get started). + + + + Just because 'wic' can generate an image doesn't mean that it +will boot on a given machine. 'wic' tries to spot the most obvious +usages that are likely to cause problems but, as a relatively +low-level tool, it can't in general figure out whether a generated +image is appropriate for a given piece of hardware - it's really up to +you to provide intelligent inputs to the image creation process. If +you suspect that your image isn't working as expected due to some bug +or missing feature of the tool, please file a bug report describing +the details. + + +
+ Requirements + + + wic has only been tested on and is only designed to work on the +distros officially supported by Yocto. + + + + Aside from the standard system utilities, such as 'cp', wic expects the +following utilities to be installed on the host machine: + + parted: + GNU Parted - a partition manipulation program + + + +
+ +
+ Raw Vs. Cooked Mode + + + 'wic' can be used in 'raw' mode, where artifacts are explicitly +specified via command-line arguments (see the command documentation +and examples below), or it can be used in a more easily usable +'cooked' mode which uses the current MACHINE setting and a specified +image name to automatically locate the artifacts used to create the +image. + + + + The prerequisite for generating any image is to have the build +artifacts already available. For example, to create a 'wic' image +using the build artifacts from a core-image-minimal build, you must +already have created a core-image-minimal OpenembeddedCore image. It +may seem redundant to generate an OpenEmbedded image in order to +create a 'wic' image, and in fact to some degree it is. At the +moment, however, that's typically how build artifacts are generated, +and future versions will likely be more integrated into the build +system and will be able to skip that step. There is a benefit +however, in that 'wic' images are created more quickly and without the +need for root access. + +
+ +
+ Command Summary + + + The general form of the 'wic' command in raw mode is: + + $ wic create myimage.wks -r <rootfs-dir> -b <bootimg-dir> + -k <kernel-dir> -n <native-sysroot> + + + The 'wic' does NOT require root privileges, and in fact should +not be run as root. + + + + + The .wks file specified in the command is an OE kickstart file (see +the OE kickstart syntax section below) and can of course be specified +directly on the command-line, but the user can also choose from a set +of 'canned' .wks files available via the 'wic list images' command +(example below). + + + + The -r, -b, -k, and -n options refer to the corresponding OpenEmbedded +build artifacts. Using OpenEmbedded terminology: + + -r option: + Used to specify the path to the /rootfs dir to + use as the .wks rootfs source. + -b option: + Used to specify the path to the dir containing + the boot artifacts (e.g. /EFI or /syslinux dirs) to use as the + .wks bootimg source. + -k option: + Used to specify the path to the dir containing + the kernel to use in the .wks bootimg. + + -n option: + Used to specify the path to the native sysroot + containing the tools to use to build the image. + + + + + + For more technical detail on the origin and meanings of those +artifacts, see the Yocto documentation corresponding to those topics +elsewhere. In most cases, it's not important to know that, because +'cooked' mode provides a convenient shortcut allowing the user to +forget about the raw details and simply specify artifacts via a +high-level OpenEmbedded image name. + + + + If instead of specifying a user-defined .wks file, you prefer to use +one of the 'canned' wic images, you can simply specify a canned image +name (without the .wks extension) in place of a .wks file. Use 'wic +list images' to get a list of 'canned' images: + + $ wic list images + mkefidisk Create an EFI disk image + directdisk Create a 'pcbios' direct disk image + + To use one of the canned images, simply specify it in the raw command. +For example: + + $ wic create directdisk -r <rootfs-dir> -b <bootimg-dir> + -k <kernel-dir> -n <native-sysroot> + + Finally, the general form of the 'wic' command in cooked mode is: + + $ wic create directdisk -e <image-name> + + This form is the simplest and most user-friendly, as it allows you to +skip the need for specifying all the parameters individually. + + + + <image-name> refers to the Openembedded image name that you've already +build the artifacts for, for example, 'core-image-minimal'. + + In order to use cooked mode, you must have the machine that you +built the artifacts with selected in local.conf. + + +
+ +
+ 'wic' Usage Examples + + + As mentioned, the main prerequisite for generating any image is to +have the build artifacts already available. The below examples assume +the user has already built a 'core-image-minimal' for a specific +machine (future versions won't require this redundant step, but for +now that's typically how build artifacts get generated). + + + + The other prerequisite is to source the build environment: + + $ source oe-init-build-env + + To start out with, we'll generate an image from one of the canned .wks +files. The following generates a list of available images: + + $ wic list images + mkefidisk Create an EFI disk image + directdisk Create a 'pcbios' direct disk image + + You can get more information about any of the available images by typing +'wic list xxx help', where 'xxx' is one of the image names. + + + + For example: + + $ wic list mkefidisk help + + Creates a partitioned EFI disk image that the user +can directly dd to boot media. + + + + At any time, you can get help on the 'wic' command or any subcommand +(currently 'list' and 'create'). For instance, to get the description +of 'wic create' command and its parameters: + + $ wic create + + Usage: + + Create a new OpenEmbedded image + + usage: wic create <wks file or image name> [-o <DIRNAME> | --outdir <DIRNAME>] + [-i <JSON PROPERTY FILE> | --infile <JSON PROPERTY FILE>] + [-e | --image-name] [-r, --rootfs-dir] [-b, --bootimg-dir] + [-k, --kernel-dir] [-n, --native-sysroot] [-s, --skip-build-check] + + This command creates an OpenEmbedded image based on the 'OE kickstart + commands' found in the <wks file>. + + The -o option can be used to place the image in a directory with a + different name and location. + + See 'wic help create' for more detailed instructions. + + [...] + + + + + Continuing further, as mentioned in the command, you can get even more +detailed information by adding 'help' to the above: + + $ wic help create + + NAME + wic create - Create a new OpenEmbedded image + + SYNOPSIS + wic create <wks file or image name> [-o <DIRNAME> | --outdir <DIRNAME>] + [-i <JSON PROPERTY FILE> | --infile <JSON PROPERTY FILE>] + [-e | --image-name] [-r, --rootfs-dir] [-b, --bootimg-dir] + [-k, --kernel-dir] [-n, --native-sysroot] [-s, + --skip-build-check] + + DESCRIPTION + This command creates an OpenEmbedded image based on the 'OE + kickstart commands' found in the <wks file>. + + In order to do this, wic needs to know the locations of the + various build artifacts required to build the image. + + Users can explicitly specify the build artifact locations using + the -r, -b, -k, and -n options. See below for details on where + the corresponding artifacts are typically found in a normal + OpenEmbedded build. + + Alternatively, users can use the -e option to have 'mic' determine + those locations for a given image. If the -e option is used, the + user needs to have set the appropriate MACHINE variable in + local.conf, and have sourced the build environment. + + The -e option is used to specify the name of the image to use the + artifacts from e.g. core-image-sato. + + The -r option is used to specify the path to the /rootfs dir to + use as the .wks rootfs source. + + The -b option is used to specify the path to the dir containing + the boot artifacts (e.g. /EFI or /syslinux dirs) to use as the + .wks bootimg source. + + The -k option is used to specify the path to the dir containing + the kernel to use in the .wks bootimg. + + The -n option is used to specify the path to the native sysroot + containing the tools to use to build the image. + + The -s option is used to skip the build check. The build check is + a simple sanity check used to determine whether the user has + sourced the build environment so that the -e option can operate + correctly. If the user has specified the build artifact locations + explicitly, 'wic' assumes the user knows what he or she is doing + and skips the build check. + + When 'wic -e' is used, the locations for the build artifacts + values are determined by 'wic -e' from the output of the 'bitbake + -e' command given an image name e.g. 'core-image-minimal' and a + given machine set in local.conf. In that case, the image is + created as if the following 'bitbake -e' variables were used: + + -r: IMAGE_ROOTFS + -k: STAGING_KERNEL_DIR + -n: STAGING_DIR_NATIVE + -b: HDDDIR and STAGING_DATA_DIR (handlers decide which to use) + + If 'wic -e' is not used, the user needs to select the appropriate + value for -b (as well as -r, -k, and -n). + + The -o option can be used to place the image in a directory with a + different name and location. + + As an alternative to the wks file, the image-specific properties + that define the values that will be used to generate a particular + image can be specified on the command-line using the -i option and + supplying a JSON object consisting of the set of name:value pairs + needed by image creation. + + The set of properties available for a given image type can be + listed using the 'wic list' command. + + So, the easiest way to create an image is to use the -e option with a +canned .wks file. To use the -e option, you need to specify the image +used to generate the artifacts and you actually need to have the +MACHINE used to build them specified in your local.conf (these +requirements aren't necessary if you aren't using the -e options. + + + + Below, we generate a mkefidisk image, pointing the process at the +core-image-minimal artifacts for the minnow, selected as our current +MACHINE in local.conf. + + + + First, once we've set the build up, we run a core-image-minimal minnow +build: + + $ bitbake core-image-minimal + + Once the build is finished, we can then use wic to create an EFI image +for the minnow to boot. In this case, we'll use the '-e' option to +have wic discover the appropriate build artifacts and generate the +image: + + $ wic create mkefidisk -e core-image-minimal + Checking basic build environment... + Done. + + Creating image(s)... + + Info: The new image(s) can be found here: + /var/tmp/wic/build/mkefidisk-201310230946-sda.direct + + The following build artifacts were used to create the image(s): + ROOTFS_DIR: /home/trz/yocto/yocto-image/build/tmp/work/minnow-poky-linux/core-image-minimal/1.0-r0/rootfs + BOOTIMG_DIR: /home/trz/yocto/yocto-image/build/tmp/work/minnow-poky-linux/core-image-minimal/1.0-r0/core-image-minimal-1.0/hddimg + KERNEL_DIR: /home/trz/yocto/yocto-image/build/tmp/sysroots/minnow/usr/src/kernel + NATIVE_SYSROOT: /home/trz/yocto/yocto-image/build/tmp/sysroots/x86_64-linux + + + The image(s) were created using OE kickstart file: + /home/trz/yocto/yocto-image/scripts/lib/image/canned-wks/mkefidisk.wks + + The output specifies exactly which image was created and where it was +created. It also names the artifacts that were used and the exact +.wks script that was used to generate the image. You should always +verify the details provided in the output to make sure that the image +was indeed created exactly as expected. + + + + Using the path specified in the output for the image name and +location, you can now directly dd the image to a USB stick or whatever +media you built the image for, and boot the resulting media: + + $ sudo dd if=/var/tmp/wic/build/mkefidisk-201310230946-sda.direct of=/dev/sdb + [sudo] password for trz: + 182274+0 records in + 182274+0 records out + 93324288 bytes (93 MB) copied, 14.4777 s, 6.4 MB/s + [trz@empanada ~]$ sudo eject /dev/sdb + + The next example uses a modified 'directdisk' script as an example. + + + + Because wic image creation is driven by .wks files, it's easy to +change the parameters that drive image creation: simply modify the +.wks file. + + + + As illustrated previously, 'wic list images' provides a list of +available images. The images displayed are simply the list of .wks +files in the scripts/lib/image/canned-wks/ directory, minus the .wks +extension. + + + + To add a new image to that list, simply add a new .wks file. + + + + For this example, we already have a .wks file that already does pretty +much what we want, but for our particular hardware, we know we'll be +booting from sdb instead of sda, which is what the directdisk script uses. + + + + What we can do is simply create a copy of the directdisk.wks file in +the scripts/lib/image/canned-wks/ directory and change the lines that +specify the target disk to boot from. + + + + First, we copy the directdisk.wks file to directdisksdb.wks: + + $ cp /home/trz/yocto/yocto-image/scripts/lib/image/canned-wks/directdisk.wks /home/trz/yocto/yocto-image/scripts/lib/image/canned-wks/directdisksdb.wks + + Then we modify the directdisksdb.wks file and change all instances of +'--ondisk sda' to '--ondisk sdb'. The following two lines are the +lines we end up changing (leaving the rest alone): + + part /boot --source bootimg --ondisk sdb --fstype=msdos --label boot --active --align 1024 + part / --source rootfs --ondisk sdb --fstype=ext3 --label platform --align 1024 + + Once we've made that change, we generate a directdisksdb image, +pointing the process at the core-image-minimal artifacts for the nuc +(Next Unit of Computing), selected as our current MACHINE in +local.conf. + + + + Once we've set the build up, we run a core-image-minimal nuc build: + + $ bitbake core-image-minimal + + Once the build is finished, we can then use nuc to create our +directdisk image for the nuc to boot. In this case, we'll use the +'-e' option to have wic discover the appropriate build artifacts and +generate the image: + + $ wic create directdisksdb -e core-image-minimal + Checking basic build environment... + Done. + + Creating image(s)... + + Info: The new image(s) can be found here: + /var/tmp/wic/build/directdisksdb-201310231131-sdb.direct + + The following build artifacts were used to create the image(s): + ROOTFS_DIR: /home/trz/yocto/yocto-image/build/tmp/work/nuc-poky-linux/core-image-minimal/1.0-r0/rootfs + BOOTIMG_DIR: /home/trz/yocto/yocto-image/build/tmp/sysroots/nuc/usr/share + KERNEL_DIR: /home/trz/yocto/yocto-image/build/tmp/sysroots/nuc/usr/src/kernel + NATIVE_SYSROOT: /home/trz/yocto/yocto-image/build/tmp/sysroots/x86_64-linux + + + The image(s) were created using OE kickstart file: + /home/trz/yocto/yocto-image/scripts/lib/image/canned-wks/directdisksdb.wks + + Using the path specified in the output for the image name and +location, you can now directly dd the image to a USB stick or whatever +media you built the image for, and boot the resulting media: + + $ sudo dd if=/var/tmp/wic/build/directdisksdb-201310231131-sdb.direct of=/dev/sdb + 86018+0 records in + 86018+0 records out + 44041216 bytes (44 MB) copied, 13.0734 s, 3.4 MB/s + [trz@empanada tmp]$ sudo eject /dev/sdb + + Of course, you can just use the directdisk image directly if you don't +have any special needs. + + + + Here'we're creating a wic image based on core-image-minimal and +crownbay-noemgd, which works right out of the box. + + $ wic create directdisk -e core-image-minimal + + Checking basic build environment... + Done. + + Creating image(s)... + + Info: The new image(s) can be found here: + /var/tmp/wic/build/directdisk-201309252350-sda.direct + + The following build artifacts were used to create the image(s): + + ROOTFS_DIR: /home/trz/yocto/yocto-image/build/tmp/work/crownbay_noemgd-poky-linux/core-image-minimal/1.0-r0/rootfs + BOOTIMG_DIR: /home/trz/yocto/yocto-image/build/tmp/sysroots/crownbay-noemgd/usr/share + KERNEL_DIR: /home/trz/yocto/yocto-image/build/tmp/sysroots/crownbay-noemgd/usr/src/kernel + NATIVE_SYSROOT: /home/trz/yocto/yocto-image/build/tmp/sysroots/crownbay-noemgd/usr/src/kernel + + The image(s) were created using OE kickstart file: + /home/trz/yocto/yocto-image/scripts/lib/image/canned-wks/directdisk.wks + + Finally, here's an example that doesn't take the easy way out and +manually specifies each build artifact, along with a non-canned .wks +file, and also uses the -o option to have wic create the output +somewhere other than the default /var/tmp/wic: + + $ wic create ~/test.wks -o /home/trz/testwic --rootfs-dir /home/trz/yocto/yocto-image/build/tmp/work/crownbay_noemgd-poky-linux/core-image-minimal/1.0-r0/rootfs --bootimg-dir /home/trz/yocto/yocto-image/build/tmp/sysroots/crownbay-noemgd/usr/share --kernel-dir /home/trz/yocto/yocto-image/build/tmp/sysroots/crownbay-noemgd/usr/src/kernel --native-sysroot /home/trz/yocto/yocto-image/build/tmp/sysroots/x86_64-linux + + Creating image(s)... + + Info: The new image(s) can be found here: + /home/trz/testwic/build/test-201309260032-sda.direct + + The following build artifacts were used to create the image(s): + + ROOTFS_DIR: /home/trz/yocto/yocto-image/build/tmp/work/crownbay_noemgd-poky-linux/core-image-minimal/1.0-r0/rootfs + BOOTIMG_DIR: /home/trz/yocto/yocto-image/build/tmp/sysroots/crownbay-noemgd/usr/share + KERNEL_DIR: /home/trz/yocto/yocto-image/build/tmp/sysroots/crownbay-noemgd/usr/src/kernel + NATIVE_SYSROOT: /home/trz/yocto/yocto-image/build/tmp/sysroots/crownbay-noemgd/usr/src/kernel + + The image(s) were created using OE kickstart file: + /home/trz/test.wks + + In this case, we didn't need to have the proper machine selected in +local.conf - we manually specified each artifact and therefore wic +doesn't need further information from the build system. + + + + Finally, here's an example of the actual partition language commands +used to generate the mkefidisk image i.e. these are the contents of the +mkefidisk.wks OE kickstart file: + + # short-description: Create an EFI disk image + # long-description: Creates a partitioned EFI disk image that the user + # can directly dd to boot media. + + part /boot --source bootimg --ondisk sda --fstype=efi --label msdos --active --align 1024 + + part / --source rootfs --ondisk sda --fstype=ext3 --label platform --align 1024 + + part swap --ondisk sda --size 44 --label swap1 --fstype=swap + + bootloader --timeout=10 --append="rootwait rootfstype=ext3 console=ttyPCH0,115200 console=tty0 vmalloc=256MB snd-hda- intel.enable_msi=0" + + +
+
+ +
+ OpenEmbedded Kickstart (.wks) Reference + + + The current 'wic' implementation supports only the basic kickstart +partitioning commands: 'partition' (or 'part' for short) and +'bootloader'. + + + + They are listed below and mostly follow the syntax and meaning of the +standard kickstart options for those commands. The documentation below +is based on the Fedora kickstart documentation of the same commands, +but modified to reflect wic capabilities. For reference: + + http://fedoraproject.org/wiki/Anaconda/Kickstart#part_or_partition + http://fedoraproject.org/wiki/Anaconda/Kickstart#bootloader + + + +
+ Command: part or partition + + + Creates a partition on the system. + Use the following syntax: + + part <mntpoint> + + The <mntpoint> is where the partition will be mounted and must be of +one of the following forms: + + /<path>: + For example, /, + /usr, and + /home + swap: + The partition will be used as swap space. + + + + + + Following are the supported options: + + --size + The minimum partition size in megabytes. Specify an integer value + here such as 500. Do not append the number with MB. Not needed if + --source is used. + + --source + bootimg + rootfs + + The --source option is a wic-specific option that can currently + have one of two values, 'bootimg' or 'rootfs'. + + If '--source rootfs' is used, it tells the wic command to create a + partition as large as needed to fill with the contents of /rootfs + (specified by the -r 'wic' option) and to fill it with the + contents of /rootfs. + + If '--source bootimg' is used, it tells the wic command to create + a partition as large as needed to fill with the contents of the + boot partition (specified by the -b 'wic' option). Exactly what + those contents are depend on the value of the --fstype option for + that partition. If '--fstype=efi' is specified, the boot + artifacts contained in HDDDIR are used, and if '--fstype=msdos' is + specified, the boot artifacts found in STAGING_DATADIR are used. + + --ondisk or --ondrive + Forces the partition to be created on a particular disk. + + --fstype + Sets the file system type for the partition. Valid values are: + msdos + efi + ext4 + ext3 + ext2 + btrfs + swap + + --label label + Specify the label to give to the filesystem to be made on the + partition. If the given label is already in use by another + filesystem, a new label will be created for this partition. + + --active + Mark the partition as active. + + --align (in kB) + The '--align' option is a mic-specific option that says to start a + partition on an x kB boundary. + + +
+ +
+ Command: bootloader + + + This command specifies how the boot loader should be installed. + + + + Following are the supported options: + + --timeout + Specify the number of seconds before the bootloader times out and + boots the default option. + + --append + Specifies kernel parameters. These will be added to the syslinux + APPEND or grub kernel command line. + + The boot type is determined by the fstype of the /boot mountpoint. If + the fstype is 'msdos' the boot type is 'pcbios', otherwise it's the + fstype, which currently be: 'efi' (more to be added later). + + If the boot type is 'efi', the image will use grub and has one + menuentry: 'boot'. + + If the boot type is 'pcbios', the image will use syslinux and has one + menu label: 'boot'. + + Future updates will implement more options - using anything not + explicitly supported can result in unpredictable results. + + +
+
+
Configuring the Kernel From b0c4c855a0d5d4d2efcdf4da4b06e943be310887 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Wed, 13 Nov 2013 17:14:56 -0800 Subject: [PATCH 072/658] dev-manual: More work on the new wic section. I am working through the raw text. Not clear through yet but needed to commit this. (From yocto-docs rev: 4da28c311443ad31a0a36b07b39aa7ce4180b49c) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- .../dev-manual/dev-manual-common-tasks.xml | 769 +++++++++--------- 1 file changed, 374 insertions(+), 395 deletions(-) diff --git a/documentation/dev-manual/dev-manual-common-tasks.xml b/documentation/dev-manual/dev-manual-common-tasks.xml index 1d2d74927ce..305dc316b45 100644 --- a/documentation/dev-manual/dev-manual-common-tasks.xml +++ b/documentation/dev-manual/dev-manual-common-tasks.xml @@ -1926,18 +1926,16 @@ that image as is on your device. Physical devices accept and boot images in various ways depending on the specifics of the device. - Usually information about the hardware can tell you what image + Usually, information about the hardware can tell you what image format the device requires. Should your device require multiple partitions on an SD card, flash, or an HDD, you can use the OpenEmbedded Image Creator - (wic) to create the properly partitioned image. + () to create the properly partitioned image. - Using the wic command, you can also describe - your desired final image and have BitBake assemble the image. - The 'wic' command generates partitioned images from existing - OpenEmbedded build artifacts. + The wic command generates partitioned images + from existing OpenEmbedded build artifacts. Image generation is driven by partitioning commands contained in an Openembedded kickstart file (.wks) specified either directly on the command-line or as one of a @@ -1949,28 +1947,53 @@ - 'wic' is based loosely on the 'mic' (Meego Image Creator) framework, -but heavily modified to make direct use of OpenEmbedded build -artifacts instead of package installation and configuration, things -already incorporated in the OE artifacts. + This section provides some background information on + wic, describes what you need to have in + place to run the tool, provides instruction on how to use + wic, and provides several examples. - -The name 'wic' comes from 'oeic', which stands for 'OpenEmbedded -Image Creator'. The 'oe' diphthong in 'oeic' has been promoted to the -letter 'w', because 'oeic' is impossible to remember or pronounce. - +
+ Background - -This is a completely independent standalone utility that -initially provides easier-to-use and more flexible replacements for a -couple bits of existing functionality in oe-core: directdisk.bbclass -and mkefidisk.sh. The replaced scripts are implemented by a -general-purpose partitioning 'language' based on Red Hat kickstart -syntax (with the underlying code borrowed from Tizen mic, which in -turn was borrowed from Meego mic, in turn borrowed from Fedora livecd, -etc.). - + + This section provides some background on the + wic utility. + While none of this information is required to use + wic, you might find it interesting. + + + The name "wic" is derived from OpenEmbedded + Image Creator (oeic). + The "oe" diphthong in "oeic" was promoted to the + letter "w", because "oeic" is both difficult to remember and + pronounce. + + wic is loosely based on the + Meego Image Creator (mic) + framework. + The wic implementation has been + heavily modified to make direct use of OpenEmbedded + build artifacts instead of package installation and + configuration, which are already incorporated within + the OpenEmbedded artifacts. + + wic is a completely independent + standalone utility that initially provides + easier-to-use and more flexible replacements for a + couple bits of existing functionality in OE Core's + directdisk.bbclass and + mkefidisk.sh script. + The replaced scripts are implemented by a + general-purpose partitioning language based on Red Hat + kickstart syntax. + Underlying code for wic succeeded + from several projects over time. + + +
+ + - - wic has only been tested on and is only designed to work on the -distros officially supported by Yocto. - +
+ Requirements - Aside from the standard system utilities, such as 'cp', wic expects the -following utilities to be installed on the host machine: + In order to use the wic utility with the + OpenEmbedded Build system, you need to meet the following + requirements: - parted: - GNU Parted - a partition manipulation program + The Linux distribution on your + development host must support the Yocto Project. + See the + "Supported Linux Distributions" + section in the Yocto Project Reference Manual for this + list of distributions. + + The standard system utilities, such as + cp, must be installed on your + development host system. + + + The + GNU Parted + package must be installed on your development host + system. + + + Have the build artifacts already available. + You must already have created an image using the + Openembedded build system (e.g. + core-image-minimal. + It might seem redundant to generate an image in order + to create an image using wic, + but the artifacts are needed and they are generated + with the build system. + + You must have sourced one of the build environment + setup scripts (i.e. + &OE_INIT_FILE; + or + oe-init-build-env-memres) + found in the + Build Directory.
-
- Raw Vs. Cooked Mode +
+ Getting Help - 'wic' can be used in 'raw' mode, where artifacts are explicitly -specified via command-line arguments (see the command documentation -and examples below), or it can be used in a more easily usable -'cooked' mode which uses the current MACHINE setting and a specified -image name to automatically locate the artifacts used to create the -image. + You can get general help for the wic + by entering the wic command by itself + or by entering the command with a help argument as follows: + + $ wic -h + $ wic --help + - - The prerequisite for generating any image is to have the build -artifacts already available. For example, to create a 'wic' image -using the build artifacts from a core-image-minimal build, you must -already have created a core-image-minimal OpenembeddedCore image. It -may seem redundant to generate an OpenEmbedded image in order to -create a 'wic' image, and in fact to some degree it is. At the -moment, however, that's typically how build artifacts are generated, -and future versions will likely be more integrated into the build -system and will be able to skip that step. There is a benefit -however, in that 'wic' images are created more quickly and without the -need for root access. - -
- -
- Command Summary - - The general form of the 'wic' command in raw mode is: + Currently, wic supports two commands: + create and list. + You can get help for these commands as follows: - $ wic create myimage.wks -r <rootfs-dir> -b <bootimg-dir> - -k <kernel-dir> -n <native-sysroot> + $ wic help <command> - - The 'wic' does NOT require root privileges, and in fact should -not be run as root. - - The .wks file specified in the command is an OE kickstart file (see -the OE kickstart syntax section below) and can of course be specified -directly on the command-line, but the user can also choose from a set -of 'canned' .wks files available via the 'wic list images' command -(example below). + You can find more out about the images + wic creates using the provided + kickstart files with the following form of the command: + + $ wic list <image> help + + Where <image> is either + directdisk or + mkefidisk. +
+ +
+ Operational Modes - The -r, -b, -k, and -n options refer to the corresponding OpenEmbedded -build artifacts. Using OpenEmbedded terminology: + You can run wic in two modes: Raw and + Cooked: - -r option: - Used to specify the path to the /rootfs dir to - use as the .wks rootfs source. - -b option: - Used to specify the path to the dir containing - the boot artifacts (e.g. /EFI or /syslinux dirs) to use as the - .wks bootimg source. - -k option: - Used to specify the path to the dir containing - the kernel to use in the .wks bootimg. - - -n option: - Used to specify the path to the native sysroot - containing the tools to use to build the image. - + Raw Mode: + You explicitly specify build artifacts through + command-line arguments. + Cooked Mode: + The current + MACHINE + setting and image name are used to automatically locate + and provide the build artifacts. - - For more technical detail on the origin and meanings of those -artifacts, see the Yocto documentation corresponding to those topics -elsewhere. In most cases, it's not important to know that, because -'cooked' mode provides a convenient shortcut allowing the user to -forget about the raw details and simply specify artifacts via a -high-level OpenEmbedded image name. - +
+ Raw Mode - - If instead of specifying a user-defined .wks file, you prefer to use -one of the 'canned' wic images, you can simply specify a canned image -name (without the .wks extension) in place of a .wks file. Use 'wic -list images' to get a list of 'canned' images: - - $ wic list images - mkefidisk Create an EFI disk image - directdisk Create a 'pcbios' direct disk image - - To use one of the canned images, simply specify it in the raw command. -For example: - - $ wic create directdisk -r <rootfs-dir> -b <bootimg-dir> - -k <kernel-dir> -n <native-sysroot> - - Finally, the general form of the 'wic' command in cooked mode is: - - $ wic create directdisk -e <image-name> - - This form is the simplest and most user-friendly, as it allows you to -skip the need for specifying all the parameters individually. - + + The general form of the 'wic' command in raw mode is: + + $ wic create <image_name>.wks -r <rootfs_dir> -b <bootimg_dir> / + -k <kernel_dir> -n <native_sysroot> + + + You do not need root privileges to run + wic. + In fact, you should not run as root when using the + utility. + + - - <image-name> refers to the Openembedded image name that you've already -build the artifacts for, for example, 'core-image-minimal'. - - In order to use cooked mode, you must have the machine that you -built the artifacts with selected in local.conf. - - -
+ + Following is a description of the wic + parameters and options: + + <image_name>.wks: + An OpenEmbedded kickstart file. + You can provide your own custom file or use a + file from a set of provided files as described + following this list. + -r <rootfs_dir>: + Specifies the path to the root filesystem directory + to be used and the .wks + root filesystem source. + -b <bootimg_dir>: + Specifies the path to the directory that contains + the boot artifacts (e.g. the + EFI or + syslinux directories) to use + as the .wks boot image source. + + -k <kernel_dir>: + Specifies the path to the dir containing the kernel + to use in the .wks boot + image. + -n <native_sysroot>: + Specifies the path to the native sysroot + that contains the tools used to build the image. + + + +
-
- 'wic' Usage Examples +
+ Cooked Mode - - As mentioned, the main prerequisite for generating any image is to -have the build artifacts already available. The below examples assume -the user has already built a 'core-image-minimal' for a specific -machine (future versions won't require this redundant step, but for -now that's typically how build artifacts get generated). - + + The general form of the wic command + using Cooked Mode is: + + $ wic create <kickstart_file> -e <image_name> + + This form is the simplest and most user-friendly, as it + does not requre specifying all individual parameters. + All you need to provide is your own + .wks file or one provided with the + release. + + + + Following is a description of the wic + parameters and options: + + <kickstart>: + An OpenEmbedded kickstart file. + You can provide your own custom file or supplied + file. + -e <image_name>: + Specifies the image built using the OpenEmbedded + build system. + + +
+
+ +
+ Using a Provided Kickstart File - The other prerequisite is to source the build environment: - - $ source oe-init-build-env - - To start out with, we'll generate an image from one of the canned .wks -files. The following generates a list of available images: + If you do not want to create your own + .wks file, you can use a provided + file. + Use the following command to list the available files: $ wic list images mkefidisk Create an EFI disk image directdisk Create a 'pcbios' direct disk image + + When you use a provided file, you do not have to use the + .wks extension. + Here is an example in Raw Mode that uses the + directdisk file: + + $ wic create directdisk -r <rootfs_dir> -b <bootimg_dir> \ + -k <kernel_dir> -n <native_sysroot> - You can get more information about any of the available images by typing -'wic list xxx help', where 'xxx' is one of the image names. - - - - For example: - - $ wic list mkefidisk help - - Creates a partitioned EFI disk image that the user -can directly dd to boot media. +
- - At any time, you can get help on the 'wic' command or any subcommand -(currently 'list' and 'create'). For instance, to get the description -of 'wic create' command and its parameters: - - $ wic create - - Usage: - - Create a new OpenEmbedded image - - usage: wic create <wks file or image name> [-o <DIRNAME> | --outdir <DIRNAME>] - [-i <JSON PROPERTY FILE> | --infile <JSON PROPERTY FILE>] - [-e | --image-name] [-r, --rootfs-dir] [-b, --bootimg-dir] - [-k, --kernel-dir] [-n, --native-sysroot] [-s, --skip-build-check] - - This command creates an OpenEmbedded image based on the 'OE kickstart - commands' found in the <wks file>. - - The -o option can be used to place the image in a directory with a - different name and location. - - See 'wic help create' for more detailed instructions. - - [...] - - +
+ Examples - Continuing further, as mentioned in the command, you can get even more -detailed information by adding 'help' to the above: - - $ wic help create - - NAME - wic create - Create a new OpenEmbedded image - - SYNOPSIS - wic create <wks file or image name> [-o <DIRNAME> | --outdir <DIRNAME>] - [-i <JSON PROPERTY FILE> | --infile <JSON PROPERTY FILE>] - [-e | --image-name] [-r, --rootfs-dir] [-b, --bootimg-dir] - [-k, --kernel-dir] [-n, --native-sysroot] [-s, - --skip-build-check] - - DESCRIPTION - This command creates an OpenEmbedded image based on the 'OE - kickstart commands' found in the <wks file>. - - In order to do this, wic needs to know the locations of the - various build artifacts required to build the image. - - Users can explicitly specify the build artifact locations using - the -r, -b, -k, and -n options. See below for details on where - the corresponding artifacts are typically found in a normal - OpenEmbedded build. - - Alternatively, users can use the -e option to have 'mic' determine - those locations for a given image. If the -e option is used, the - user needs to have set the appropriate MACHINE variable in - local.conf, and have sourced the build environment. - - The -e option is used to specify the name of the image to use the - artifacts from e.g. core-image-sato. - - The -r option is used to specify the path to the /rootfs dir to - use as the .wks rootfs source. - - The -b option is used to specify the path to the dir containing - the boot artifacts (e.g. /EFI or /syslinux dirs) to use as the - .wks bootimg source. - - The -k option is used to specify the path to the dir containing - the kernel to use in the .wks bootimg. - - The -n option is used to specify the path to the native sysroot - containing the tools to use to build the image. - - The -s option is used to skip the build check. The build check is - a simple sanity check used to determine whether the user has - sourced the build environment so that the -e option can operate - correctly. If the user has specified the build artifact locations - explicitly, 'wic' assumes the user knows what he or she is doing - and skips the build check. - - When 'wic -e' is used, the locations for the build artifacts - values are determined by 'wic -e' from the output of the 'bitbake - -e' command given an image name e.g. 'core-image-minimal' and a - given machine set in local.conf. In that case, the image is - created as if the following 'bitbake -e' variables were used: - - -r: IMAGE_ROOTFS - -k: STAGING_KERNEL_DIR - -n: STAGING_DIR_NATIVE - -b: HDDDIR and STAGING_DATA_DIR (handlers decide which to use) - - If 'wic -e' is not used, the user needs to select the appropriate - value for -b (as well as -r, -k, and -n). - - The -o option can be used to place the image in a directory with a - different name and location. - - As an alternative to the wks file, the image-specific properties - that define the values that will be used to generate a particular - image can be specified on the command-line using the -i option and - supplying a JSON object consisting of the set of name:value pairs - needed by image creation. - - The set of properties available for a given image type can be - listed using the 'wic list' command. - - So, the easiest way to create an image is to use the -e option with a -canned .wks file. To use the -e option, you need to specify the image -used to generate the artifacts and you actually need to have the -MACHINE used to build them specified in your local.conf (these -requirements aren't necessary if you aren't using the -e options. + This section provides several examples that show how to use + the wic utility. + All the examples assume the list of requirements in the + "Requirements" section + have been met. + The examples assume the previously generated image is + core-image-minimal. - - Below, we generate a mkefidisk image, pointing the process at the -core-image-minimal artifacts for the minnow, selected as our current -MACHINE in local.conf. - +
+ Generate an Image using a Provided Kickstart File - - First, once we've set the build up, we run a core-image-minimal minnow -build: - - $ bitbake core-image-minimal - - Once the build is finished, we can then use wic to create an EFI image -for the minnow to boot. In this case, we'll use the '-e' option to -have wic discover the appropriate build artifacts and generate the -image: - + + This example runs in Cooked Mode and uses the + mkefidisk kickstart file: + $ wic create mkefidisk -e core-image-minimal Checking basic build environment... Done. @@ -2318,86 +2264,118 @@ image: The image(s) were created using OE kickstart file: /home/trz/yocto/yocto-image/scripts/lib/image/canned-wks/mkefidisk.wks - - The output specifies exactly which image was created and where it was -created. It also names the artifacts that were used and the exact -.wks script that was used to generate the image. You should always -verify the details provided in the output to make sure that the image -was indeed created exactly as expected. - + + This example shows the easiest way to create an image + by running in Cooked Mode and using the + <-e> option with a + provided kickstart file. + All that is necessary is to specify the image + used to generate the artifacts. + Your local.conf needs to have the + MACHINE + variable set to the machine you are using, which is + "minnow" in this example. + - - Using the path specified in the output for the image name and -location, you can now directly dd the image to a USB stick or whatever -media you built the image for, and boot the resulting media: - + + The output specifies exactly which image were + created and where the image was created. + The output also names the artifacts used and the exact + .wks script that was used to generate + the image. + + You should always verify the details provided in the + output to make sure that the imagewas indeed created + exactly as expected. + + + + + Continuing with the example, you can now directly + dd the image to a USB stick, or + whatever media for which you built your image, + and boot the resulting media: + $ sudo dd if=/var/tmp/wic/build/mkefidisk-201310230946-sda.direct of=/dev/sdb [sudo] password for trz: 182274+0 records in 182274+0 records out 93324288 bytes (93 MB) copied, 14.4777 s, 6.4 MB/s [trz@empanada ~]$ sudo eject /dev/sdb - - The next example uses a modified 'directdisk' script as an example. - - - - Because wic image creation is driven by .wks files, it's easy to -change the parameters that drive image creation: simply modify the -.wks file. - + + +
- - As illustrated previously, 'wic list images' provides a list of -available images. The images displayed are simply the list of .wks -files in the scripts/lib/image/canned-wks/ directory, minus the .wks -extension. - +
+ Using a Modified Kickstart File - - To add a new image to that list, simply add a new .wks file. - + + Because wic image creation is driven + by the kickstart file, it is easy to drive image creation + by changing the parameters in the file. + This next example demonstrates that through modification + of the directdisk kickstart file. + - - For this example, we already have a .wks file that already does pretty -much what we want, but for our particular hardware, we know we'll be -booting from sdb instead of sda, which is what the directdisk script uses. - + + As mentioned earlier, you can use the command + wic list images to show the list + of provided kickstart files. + The directory in which these files reside is in the + Source Directory + in scripts/lib/image/canned-wks/. + Because the available files reside in this directory, you + can create and add your own custom files to the directory. + Subsequent use of the wic list images + command would then include your kickstart files. + - - What we can do is simply create a copy of the directdisk.wks file in -the scripts/lib/image/canned-wks/ directory and change the lines that -specify the target disk to boot from. - + + In this example, the existing + directdisk file already does most + of what is needed. + However, for the hardware in this example, the image will + need to boot from sdb instead of + sda, which is what the + directdisk kickstart file uses. + - - First, we copy the directdisk.wks file to directdisksdb.wks: - + + The example begins by making a copy of the + directdisk.wks file in the + scripts/lib/image/canned-wks + directory and then changing the lines that specify the + target disk from which to boot. + $ cp /home/trz/yocto/yocto-image/scripts/lib/image/canned-wks/directdisk.wks /home/trz/yocto/yocto-image/scripts/lib/image/canned-wks/directdisksdb.wks - - Then we modify the directdisksdb.wks file and change all instances of -'--ondisk sda' to '--ondisk sdb'. The following two lines are the -lines we end up changing (leaving the rest alone): - + + Next, the example modifies the + directdisksdb.wks file and changes all + instances of "--ondisk sda" + to "--ondisk sdb". + The example changes the following two lines and leaves the + remaining lines untouched: + part /boot --source bootimg --ondisk sdb --fstype=msdos --label boot --active --align 1024 part / --source rootfs --ondisk sdb --fstype=ext3 --label platform --align 1024 - - Once we've made that change, we generate a directdisksdb image, + + (I AM HERE) + Once the lines are changed, Once we've made that change, we generate a directdisksdb image, pointing the process at the core-image-minimal artifacts for the nuc (Next Unit of Computing), selected as our current MACHINE in local.conf. - + - - Once we've set the build up, we run a core-image-minimal nuc build: - + + Once we've set the build up, we run a core-image-minimal nuc build: + $ bitbake core-image-minimal - + Once the build is finished, we can then use nuc to create our directdisk image for the nuc to boot. In this case, we'll use the '-e' option to have wic discover the appropriate build artifacts and generate the image: - + $ wic create directdisksdb -e core-image-minimal Checking basic build environment... Done. @@ -2416,25 +2394,25 @@ generate the image: The image(s) were created using OE kickstart file: /home/trz/yocto/yocto-image/scripts/lib/image/canned-wks/directdisksdb.wks - + Using the path specified in the output for the image name and location, you can now directly dd the image to a USB stick or whatever media you built the image for, and boot the resulting media: - + $ sudo dd if=/var/tmp/wic/build/directdisksdb-201310231131-sdb.direct of=/dev/sdb 86018+0 records in 86018+0 records out 44041216 bytes (44 MB) copied, 13.0734 s, 3.4 MB/s [trz@empanada tmp]$ sudo eject /dev/sdb - + Of course, you can just use the directdisk image directly if you don't have any special needs. - + - + Here'we're creating a wic image based on core-image-minimal and crownbay-noemgd, which works right out of the box. - + $ wic create directdisk -e core-image-minimal Checking basic build environment... @@ -2454,12 +2432,12 @@ crownbay-noemgd, which works right out of the box. The image(s) were created using OE kickstart file: /home/trz/yocto/yocto-image/scripts/lib/image/canned-wks/directdisk.wks - + Finally, here's an example that doesn't take the easy way out and manually specifies each build artifact, along with a non-canned .wks file, and also uses the -o option to have wic create the output somewhere other than the default /var/tmp/wic: - + $ wic create ~/test.wks -o /home/trz/testwic --rootfs-dir /home/trz/yocto/yocto-image/build/tmp/work/crownbay_noemgd-poky-linux/core-image-minimal/1.0-r0/rootfs --bootimg-dir /home/trz/yocto/yocto-image/build/tmp/sysroots/crownbay-noemgd/usr/share --kernel-dir /home/trz/yocto/yocto-image/build/tmp/sysroots/crownbay-noemgd/usr/src/kernel --native-sysroot /home/trz/yocto/yocto-image/build/tmp/sysroots/x86_64-linux Creating image(s)... @@ -2476,17 +2454,17 @@ somewhere other than the default /var/tmp/wic: The image(s) were created using OE kickstart file: /home/trz/test.wks - + In this case, we didn't need to have the proper machine selected in local.conf - we manually specified each artifact and therefore wic doesn't need further information from the build system. - + - + Finally, here's an example of the actual partition language commands used to generate the mkefidisk image i.e. these are the contents of the mkefidisk.wks OE kickstart file: - + # short-description: Create an EFI disk image # long-description: Creates a partitioned EFI disk image that the user # can directly dd to boot media. @@ -2498,56 +2476,56 @@ mkefidisk.wks OE kickstart file: part swap --ondisk sda --size 44 --label swap1 --fstype=swap bootloader --timeout=10 --append="rootwait rootfstype=ext3 console=ttyPCH0,115200 console=tty0 vmalloc=256MB snd-hda- intel.enable_msi=0" - - + + +
-
-
- OpenEmbedded Kickstart (.wks) Reference +
+ OpenEmbedded Kickstart (.wks) Reference - + The current 'wic' implementation supports only the basic kickstart partitioning commands: 'partition' (or 'part' for short) and 'bootloader'. - + - + They are listed below and mostly follow the syntax and meaning of the standard kickstart options for those commands. The documentation below is based on the Fedora kickstart documentation of the same commands, but modified to reflect wic capabilities. For reference: - + http://fedoraproject.org/wiki/Anaconda/Kickstart#part_or_partition http://fedoraproject.org/wiki/Anaconda/Kickstart#bootloader - - + + -
- Command: part or partition +
+ Command: part or partition - + Creates a partition on the system. Use the following syntax: - + part <mntpoint> - + The <mntpoint> is where the partition will be mounted and must be of one of the following forms: - - /<path>: - For example, /, - /usr, and - /home - swap: - The partition will be used as swap space. - - - + + /<path>: + For example, /, + /usr, and + /home + swap: + The partition will be used as swap space. + + + - - Following are the supported options: - + + Following are the supported options: + --size The minimum partition size in megabytes. Specify an integer value here such as 500. Do not append the number with MB. Not needed if @@ -2597,20 +2575,20 @@ one of the following forms: --align (in kB) The '--align' option is a mic-specific option that says to start a partition on an x kB boundary. - - -
+ + +
-
- Command: bootloader +
+ Command: bootloader - - This command specifies how the boot loader should be installed. - + + This command specifies how the boot loader should be installed. + - - Following are the supported options: - + + Following are the supported options: + --timeout Specify the number of seconds before the bootloader times out and boots the default option. @@ -2631,8 +2609,9 @@ one of the following forms: Future updates will implement more options - using anything not explicitly supported can result in unpredictable results. - - + + +
From acd37849336938faad2d62a0c0edf30a8be3fcda Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 14 Nov 2013 10:39:45 -0800 Subject: [PATCH 073/658] dev-manual: Complete first draft of the new wic section. (From yocto-docs rev: 4bd0f5db0e0d8a2c3d28f415afaf92fed93102f0) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- .../dev-manual/dev-manual-common-tasks.xml | 337 ++++++++++-------- 1 file changed, 185 insertions(+), 152 deletions(-) diff --git a/documentation/dev-manual/dev-manual-common-tasks.xml b/documentation/dev-manual/dev-manual-common-tasks.xml index 305dc316b45..d22c2a70a1b 100644 --- a/documentation/dev-manual/dev-manual-common-tasks.xml +++ b/documentation/dev-manual/dev-manual-common-tasks.xml @@ -2008,13 +2008,13 @@ any arguments to get started). - Just because 'wic' can generate an image doesn't mean that it + Just because 'wic' can generate an image does not mean that it will boot on a given machine. 'wic' tries to spot the most obvious usages that are likely to cause problems but, as a relatively low-level tool, it can't in general figure out whether a generated image is appropriate for a given piece of hardware - it's really up to you to provide intelligent inputs to the image creation process. If -you suspect that your image isn't working as expected due to some bug +you suspect that your image is not working as expected due to some bug or missing feature of the tool, please file a bug report describing the details. @@ -2180,7 +2180,7 @@ the details. $ wic create <kickstart_file> -e <image_name> This form is the simplest and most user-friendly, as it - does not requre specifying all individual parameters. + does not require specifying all individual parameters. All you need to provide is your own .wks file or one provided with the release. @@ -2224,6 +2224,25 @@ the details. -k <kernel_dir> -n <native_sysroot> + + + Here are the actual partition language commands + used in the mkefidisk.wks file to generate + an image: + + # short-description: Create an EFI disk image + # long-description: Creates a partitioned EFI disk image that the user + # can directly dd to boot media. + + part /boot --source bootimg --ondisk sda --fstype=efi --label msdos --active --align 1024 + + part / --source rootfs --ondisk sda --fstype=ext3 --label platform --align 1024 + + part swap --ondisk sda --size 44 --label swap1 --fstype=swap + + bootloader --timeout=10 --append="rootwait rootfstype=ext3 console=ttyPCH0,115200 console=tty0 vmalloc=256MB snd-hda- intel.enable_msi=0" + +
@@ -2267,10 +2286,10 @@ the details. This example shows the easiest way to create an image by running in Cooked Mode and using the - <-e> option with a - provided kickstart file. - All that is necessary is to specify the image - used to generate the artifacts. + -e option with a provided kickstart + file. + All that is necessary is to specify the image used to + generate the artifacts. Your local.conf needs to have the MACHINE variable set to the machine you are using, which is @@ -2278,14 +2297,14 @@ the details. - The output specifies exactly which image were - created and where the image was created. + The output specifies exactly which image was + created as well as where it was created. The output also names the artifacts used and the exact .wks script that was used to generate the image. You should always verify the details provided in the - output to make sure that the imagewas indeed created + output to make sure that the image was indeed created exactly as expected. @@ -2311,7 +2330,7 @@ the details. Because wic image creation is driven - by the kickstart file, it is easy to drive image creation + by the kickstart file, it is easy to affect image creation by changing the parameters in the file. This next example demonstrates that through modification of the directdisk kickstart file. @@ -2321,9 +2340,10 @@ the details. As mentioned earlier, you can use the command wic list images to show the list of provided kickstart files. - The directory in which these files reside is in the - Source Directory - in scripts/lib/image/canned-wks/. + The directory in which these files reside is + scripts/lib/image/canned-wks/ + located in the + Source Directory. Because the available files reside in this directory, you can create and add your own custom files to the directory. Subsequent use of the wic list images @@ -2359,22 +2379,13 @@ the details. part /boot --source bootimg --ondisk sdb --fstype=msdos --label boot --active --align 1024 part / --source rootfs --ondisk sdb --fstype=ext3 --label platform --align 1024 - (I AM HERE) - Once the lines are changed, Once we've made that change, we generate a directdisksdb image, -pointing the process at the core-image-minimal artifacts for the nuc -(Next Unit of Computing), selected as our current MACHINE in -local.conf. - - - - Once we've set the build up, we run a core-image-minimal nuc build: - - $ bitbake core-image-minimal - - Once the build is finished, we can then use nuc to create our -directdisk image for the nuc to boot. In this case, we'll use the -'-e' option to have wic discover the appropriate build artifacts and -generate the image: + Once the lines are changed, the example generates the + directdisksdb image. + The command points the process at the + core-image-minimal artifacts for the + Next Unit of Computing (nuc) + MACHINE + the local.conf. $ wic create directdisksdb -e core-image-minimal Checking basic build environment... @@ -2395,9 +2406,10 @@ generate the image: The image(s) were created using OE kickstart file: /home/trz/yocto/yocto-image/scripts/lib/image/canned-wks/directdisksdb.wks - Using the path specified in the output for the image name and -location, you can now directly dd the image to a USB stick or whatever -media you built the image for, and boot the resulting media: + Continuing with the example, you can now directly + dd the image to a USB stick, or + whatever media for which you built your image, + and boot the resulting media: $ sudo dd if=/var/tmp/wic/build/directdisksdb-201310231131-sdb.direct of=/dev/sdb 86018+0 records in @@ -2405,13 +2417,18 @@ media you built the image for, and boot the resulting media: 44041216 bytes (44 MB) copied, 13.0734 s, 3.4 MB/s [trz@empanada tmp]$ sudo eject /dev/sdb - Of course, you can just use the directdisk image directly if you don't -have any special needs. +
+ +
+ Creating an Image Based on <filename>core-image-minimal</filename> and <filename>crownbay-noemgd</filename> - Here'we're creating a wic image based on core-image-minimal and -crownbay-noemgd, which works right out of the box. + This example creates an image based on + core-image-minimal and a + crownbay-noemgd + MACHINE + that works right out of the box. $ wic create directdisk -e core-image-minimal @@ -2433,10 +2450,19 @@ crownbay-noemgd, which works right out of the box. The image(s) were created using OE kickstart file: /home/trz/yocto/yocto-image/scripts/lib/image/canned-wks/directdisk.wks - Finally, here's an example that doesn't take the easy way out and -manually specifies each build artifact, along with a non-canned .wks -file, and also uses the -o option to have wic create the output -somewhere other than the default /var/tmp/wic: + +
+ +
+ Using a Modified Kickstart File and Running in Raw Mode + + + This next example manually specifies each build artifact + (runs in Raw Mode) and uses a modified kickstart file. + The example also uses the -o option + to cause wic to create the output + somewhere other than the default + /var/tmp/wic directory: $ wic create ~/test.wks -o /home/trz/testwic --rootfs-dir /home/trz/yocto/yocto-image/build/tmp/work/crownbay_noemgd-poky-linux/core-image-minimal/1.0-r0/rootfs --bootimg-dir /home/trz/yocto/yocto-image/build/tmp/sysroots/crownbay-noemgd/usr/share --kernel-dir /home/trz/yocto/yocto-image/build/tmp/sysroots/crownbay-noemgd/usr/src/kernel --native-sysroot /home/trz/yocto/yocto-image/build/tmp/sysroots/x86_64-linux @@ -2455,28 +2481,11 @@ somewhere other than the default /var/tmp/wic: The image(s) were created using OE kickstart file: /home/trz/test.wks - In this case, we didn't need to have the proper machine selected in -local.conf - we manually specified each artifact and therefore wic -doesn't need further information from the build system. - - - - Finally, here's an example of the actual partition language commands -used to generate the mkefidisk image i.e. these are the contents of the -mkefidisk.wks OE kickstart file: - - # short-description: Create an EFI disk image - # long-description: Creates a partitioned EFI disk image that the user - # can directly dd to boot media. - - part /boot --source bootimg --ondisk sda --fstype=efi --label msdos --active --align 1024 - - part / --source rootfs --ondisk sda --fstype=ext3 --label platform --align 1024 - - part swap --ondisk sda --size 44 --label swap1 --fstype=swap - - bootloader --timeout=10 --append="rootwait rootfstype=ext3 console=ttyPCH0,115200 console=tty0 vmalloc=256MB snd-hda- intel.enable_msi=0" - + For this example, + MACHINE + did not have to be specified in the + local.conf file since the artifact is + manually specified.
@@ -2485,16 +2494,18 @@ mkefidisk.wks OE kickstart file: OpenEmbedded Kickstart (.wks) Reference - The current 'wic' implementation supports only the basic kickstart -partitioning commands: 'partition' (or 'part' for short) and -'bootloader'. + The current wic implementation supports + only the basic kickstart partitioning commands: + partition (or part + for short) and bootloader. - They are listed below and mostly follow the syntax and meaning of the -standard kickstart options for those commands. The documentation below -is based on the Fedora kickstart documentation of the same commands, -but modified to reflect wic capabilities. For reference: + Following is a listing of the commands, their syntax, and + meanings. + The commands are based on the Fedora kickstart documentation + but with modifications to reflect wic + capabilities. http://fedoraproject.org/wiki/Anaconda/Kickstart#part_or_partition http://fedoraproject.org/wiki/Anaconda/Kickstart#bootloader @@ -2505,13 +2516,14 @@ but modified to reflect wic capabilities. For reference: Command: part or partition - Creates a partition on the system. - Use the following syntax: + This command creates a partition on the system and uses the + following syntax: part <mntpoint> - The <mntpoint> is where the partition will be mounted and must be of -one of the following forms: + The <mntpoint> is where the + partition will be mounted and must be of one of the + following forms: /<path>: For example, /, @@ -2525,57 +2537,75 @@ one of the following forms: Following are the supported options: - - --size - The minimum partition size in megabytes. Specify an integer value - here such as 500. Do not append the number with MB. Not needed if - --source is used. - - --source - bootimg - rootfs - - The --source option is a wic-specific option that can currently - have one of two values, 'bootimg' or 'rootfs'. - - If '--source rootfs' is used, it tells the wic command to create a - partition as large as needed to fill with the contents of /rootfs - (specified by the -r 'wic' option) and to fill it with the - contents of /rootfs. - - If '--source bootimg' is used, it tells the wic command to create - a partition as large as needed to fill with the contents of the - boot partition (specified by the -b 'wic' option). Exactly what - those contents are depend on the value of the --fstype option for - that partition. If '--fstype=efi' is specified, the boot - artifacts contained in HDDDIR are used, and if '--fstype=msdos' is - specified, the boot artifacts found in STAGING_DATADIR are used. - - --ondisk or --ondrive - Forces the partition to be created on a particular disk. - - --fstype - Sets the file system type for the partition. Valid values are: - msdos - efi - ext4 - ext3 - ext2 - btrfs - swap - - --label label - Specify the label to give to the filesystem to be made on the - partition. If the given label is already in use by another - filesystem, a new label will be created for this partition. - - --active - Mark the partition as active. - - --align (in kB) - The '--align' option is a mic-specific option that says to start a - partition on an x kB boundary. - + + --size: + The minimum partition size in MBytes. + Specify an integer value such as 500. + Do not append the number with "MB". + You do not need this option if you use + --source. + --source: + This option is a wic-specific option that can + currently have one of two values, "bootimg" or + "rootfs". + If --source rootfs is + used, it tells the wic command + to create a partition as large as needed to fill + with the contents of the root filesystem + (specified by the -r + wic option) and to fill it + with the contents of /rootfs. + + If --source bootimg + is used, it tells the wic + command to create a partition as large as needed to + fill with the contents of the boot partition + (specified by the -b + wic option). + Exactly what those contents are depend on the value + of the --fstype option for + that partition. + If --fstype=efi is specified, + the boot artifacts contained in HDDDIR are used, + and if --fstype=msdos is + specified, the boot artifacts found in + STAGING_DATADIR are used. + + --ondisk or --ondrive: + Forces the partition to be created on a particular + disk. + --fstype: + Sets the file system type for the partition. + Valid values are: + + msdos + + efi + + ext4 + + ext3 + + ext2 + + btrfs + + swap + + + --label label: + Specifies the label to give to the filesystem to + be made on the partition. + If the given label is already in use by another + filesystem, a new label is created for the + partition. + --active: + Marks the partition as active. + --align (in KBytes): + This option is specific to the Meego Image + Creator (mic) that says to start a partition on an + x KBytes boundary. + @@ -2583,33 +2613,36 @@ one of the following forms: Command: bootloader - This command specifies how the boot loader should be installed. - - - - Following are the supported options: - - --timeout - Specify the number of seconds before the bootloader times out and - boots the default option. - - --append - Specifies kernel parameters. These will be added to the syslinux - APPEND or grub kernel command line. - - The boot type is determined by the fstype of the /boot mountpoint. If - the fstype is 'msdos' the boot type is 'pcbios', otherwise it's the - fstype, which currently be: 'efi' (more to be added later). - - If the boot type is 'efi', the image will use grub and has one - menuentry: 'boot'. - - If the boot type is 'pcbios', the image will use syslinux and has one - menu label: 'boot'. - - Future updates will implement more options - using anything not - explicitly supported can result in unpredictable results. - + This command specifies how the boot loader should be + and supports the following options: + + --timeout: + Specifies the number of seconds before the + bootloader times out and boots the default option. + + --append: + Specifies kernel parameters. + These will be added to the syslinux + APPEND or + grub kernel command line. + + The boot type is determined by the fstype of + the /boot mountpoint. + If the fstype is "msdos" the boot type is + "pcbios", otherwise it is the fstype, which + is currently "efi" (more to be added later). + + If the boot type is "efi", the image will + use grub and has one + menuentry: "boot". + If the boot type is "pcbios", the image + will use syslinux and has one menu label: "boot". + + Future updates will implement more options. + If you use anything that is not specifically + supported, results can be unpredictable. + + From 1a49f09afc3b4bfd966592984829e09a4695124a Mon Sep 17 00:00:00 2001 From: "Robert P. J. Day" Date: Fri, 15 Nov 2013 08:42:40 -0800 Subject: [PATCH 074/658] dev-manual: More minor tweaks to development manual. (From yocto-docs rev: dc0dd5896e874aa0566bc11c7909c496af130561) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/dev-manual/dev-manual-common-tasks.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/documentation/dev-manual/dev-manual-common-tasks.xml b/documentation/dev-manual/dev-manual-common-tasks.xml index d22c2a70a1b..653f3da438b 100644 --- a/documentation/dev-manual/dev-manual-common-tasks.xml +++ b/documentation/dev-manual/dev-manual-common-tasks.xml @@ -253,7 +253,7 @@ configuration. In other words, do not copy an entire recipe into your layer and then modify it. - Rather, use .bbappend files to override the + Rather, use .bbappend files to override only those parts of the original recipe you need to modify. @@ -1509,7 +1509,7 @@ You might also need these variables: SERIAL_CONSOLES - (e.g. "115200 ttyS0") + (e.g. "115200;ttyS0 115200;ttyS1")
KERNEL_IMAGETYPE (e.g. "zImage") IMAGE_FSTYPES @@ -1549,7 +1549,7 @@ make oldconfig. By making use of inherit kernel and potentially some of the linux-*.inc files, most other functionality is - centralized and the the defaults of the class normally work well. + centralized and the defaults of the class normally work well. From ea8dcadbe511a8ee5e30b52368c907963b8aa142 Mon Sep 17 00:00:00 2001 From: "Robert P. J. Day" Date: Fri, 15 Nov 2013 08:45:05 -0800 Subject: [PATCH 075/658] profile-manual: Small typo fixed. (From yocto-docs rev: af33c6c26a56aff1e0e220583c5d66d3f89cefd5) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/profile-manual/profile-manual-intro.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/profile-manual/profile-manual-intro.xml b/documentation/profile-manual/profile-manual-intro.xml index 9ed807f3569..96f819c4d94 100644 --- a/documentation/profile-manual/profile-manual-intro.xml +++ b/documentation/profile-manual/profile-manual-intro.xml @@ -78,7 +78,7 @@ - If you've already build a stripped image, you can generate + If you've already built a stripped image, you can generate debug packages (xxx-dbg) which you can manually install as needed. From ac3f5a3e7824eb0d30a14e1310d6130e97744acb Mon Sep 17 00:00:00 2001 From: "Robert P. J. Day" Date: Fri, 15 Nov 2013 08:47:32 -0800 Subject: [PATCH 076/658] profile-manual: Review edits from Robert P. J. Day Given the length of the tools sections in the profiling manual, I'm doing each tool separately so that patches come in manageable chunks. (From yocto-docs rev: 9e06ea7c09ca397f7ade7404f9d3fd2dc17da095) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- .../profile-manual/profile-manual-usage.xml | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/documentation/profile-manual/profile-manual-usage.xml b/documentation/profile-manual/profile-manual-usage.xml index 9116d5bf71a..c1ceb5830a9 100644 --- a/documentation/profile-manual/profile-manual-usage.xml +++ b/documentation/profile-manual/profile-manual-usage.xml @@ -22,7 +22,7 @@ Don't let the fact that it's part of the kernel fool you into thinking that it's only for tracing and profiling the kernel - you can indeed - use it to trace and profile just the kernel , but you can also use it + use it to trace and profile just the kernel, but you can also use it to profile specific applications separately (with or without kernel context), and you can also use it to trace and profile the kernel and all applications on the system simultaneously to gain a system-wide @@ -30,10 +30,10 @@ - In many ways, it aims to be a superset of all the tracing and profiling + In many ways, perf aims to be a superset of all the tracing and profiling tools available in Linux today, including all the other tools covered in this HOWTO. The past couple of years have seen perf subsume a lot - of the functionality of those other tools, and at the same time those + of the functionality of those other tools and, at the same time, those other tools have removed large portions of their previous functionality and replaced it with calls to the equivalent functionality now implemented by the perf subsystem. Extrapolation suggests that at @@ -126,7 +126,7 @@ wget http://downloads.yoctoproject.org/mirror/sources/linux-2.6.19.2.tar.bz2 The quickest and easiest way to get some basic overall data about - what's going on for a particular workload it to profile it using + what's going on for a particular workload is to profile it using 'perf stat'. 'perf stat' basically profiles using a few default counters and displays the summed counts at the end of the run: @@ -201,7 +201,7 @@ As our first attempt at profiling this workload, we'll simply run 'perf record', handing it the workload we want to profile (everything after 'perf record' and any perf options we hand - it - here none - will be executedin a new shell). perf collects + it - here none - will be executed in a new shell). perf collects samples until the process exits and records them in a file named 'perf.data' in the current working directory. @@ -241,7 +241,7 @@ Notice also that the above report shows an entry for 'busybox', which is the executable that implements 'wget' in Yocto, but that instead of a useful function name in that entry, it displays - an not-so-friendly hex value instead. The steps below will show + a not-so-friendly hex value instead. The steps below will show how to fix that problem. @@ -308,7 +308,7 @@
- Notice also that here there's also a case where the a hex value + Notice also that here there's also a case where the hex value is displayed in the callstack, here in the expanded sys_clock_gettime() function. Later we'll see it resolve to a userspace function call in busybox. @@ -367,7 +367,7 @@ To generate the debug info for the packages in the image, we can - to add dbg-pkgs to EXTRA_IMAGE_FEATURES in local.conf. For example: + add dbg-pkgs to EXTRA_IMAGE_FEATURES in local.conf. For example: EXTRA_IMAGE_FEATURES = "debug-tweaks tools-profile dbg-pkgs" @@ -462,7 +462,7 @@ The tracing and profiling infrastructure in Linux has become unified in a way that allows us to use the same tool with a completely different set of counters, not just the standard - hardware counters that traditionally tools have had to restrict + hardware counters that traditional tools have had to restrict themselves to (of course the traditional tools can also make use of the expanded possibilities now available to them, and in some cases have, as mentioned previously). @@ -828,7 +828,7 @@ - Luckily, there is general-purpose way to handle such needs, + Luckily, there is a general-purpose way to handle such needs, called 'programming languages'. Making programming languages easily available to apply to such problems given the specific format of data is called a 'programming language binding' for @@ -925,9 +925,9 @@ Each event handler function in the generated code is modified to do this. For convenience, we define a common function called - inc_counts() that each handler calls; inc_counts simply tallies + inc_counts() that each handler calls; inc_counts() simply tallies a count for each event using the 'counts' hash, which is a - specialized has function that does Perl-like autovivification, a + specialized hash function that does Perl-like autovivification, a capability that's extremely useful for kinds of multi-level aggregation commonly used in processing traces (see perf's documentation on the Python language binding for details): From a70b2f2a9cbe1b0a765948d19af001ddfbc9f32b Mon Sep 17 00:00:00 2001 From: "Robert P. J. Day" Date: Fri, 15 Nov 2013 08:52:26 -0800 Subject: [PATCH 077/658] profile-manual: Edits from Robert P. J. Day If someone wants to check this over, make sure I didn't make any silly changes. (From yocto-docs rev: d1dd154740ffb9c858a66cab80486a4d684131da) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- .../profile-manual/profile-manual-usage.xml | 54 ++++++++++--------- 1 file changed, 28 insertions(+), 26 deletions(-) diff --git a/documentation/profile-manual/profile-manual-usage.xml b/documentation/profile-manual/profile-manual-usage.xml index c1ceb5830a9..5279730a5b4 100644 --- a/documentation/profile-manual/profile-manual-usage.xml +++ b/documentation/profile-manual/profile-manual-usage.xml @@ -1377,7 +1377,7 @@ the /tracing directory of the mounted debugfs filesystem (Yocto follows the standard convention and mounts it at /sys/kernel/debug). Here's a listing of all the files - found in /sys/kernel/debug/tracing on a Yocto system.: + found in /sys/kernel/debug/tracing on a Yocto system: root@sugarbay:/sys/kernel/debug/tracing# ls README kprobe_events trace @@ -1634,7 +1634,7 @@ Also notice that there are various annotations on the left hand side of the display. For example if the total time it took for a given function to execute is above a certain - threshold, and exclamation point or plus sign appears on the + threshold, an exclamation point or plus sign appears on the left hand side. Please see the ftrace documentation for details on all these fields. @@ -1842,7 +1842,7 @@ You can enable any number of events or complete subsystems (by using the 'enable' file in the subsystem directory) and - get am arbitrarily fine-grained idea of what's going on in the + get an arbitrarily fine-grained idea of what's going on in the system by enabling as many of the appropriate tracepoints as applicable. @@ -1878,14 +1878,14 @@ in /sys/kernel/debug/tracing, allowing users to specify specific particular events within the /sys/kernel/debug/tracing/events/ subdirectory and to collect - traces and avoiding having to deal with those details directly. + traces and avoid having to deal with those details directly.
As yet another layer on top of that, kernelshark provides a GUI that allows users to start and stop traces and specify sets of events using an intuitive interface, and view the - output as both trace events and as a per-cpu graphical + output as both trace events and as a per-CPU graphical display. It directly uses 'trace-cmd' as the plumbing that accomplishes all that underneath the covers (and actually displays the trace-cmd command it uses, as we'll see). @@ -1896,13 +1896,13 @@ root@sugarbay:~# kernelshark - The bring up the 'Capture' dialog by choosing from the + Then bring up the 'Capture' dialog by choosing from the kernelshark menu: Capture | Record That will display the following dialog, which allows you to - choose on or more events (or even one or more complete + choose one or more events (or even one or more complete subsystems) to trace: @@ -1911,7 +1911,7 @@
- Note that these are exactly the same set of events described + Note that these are exactly the same sets of events described in the previous trace events subsystem section, and in fact is where trace-cmd gets them for kernelshark. @@ -1980,13 +1980,15 @@ Documentation/trace/events.txt - There are a nice series of articles on using + There is a nice series of articles on using ftrace and trace-cmd at LWN: Debugging the kernel using Ftrace - part 1 Debugging the kernel using Ftrace - part 2 + Secrets of the Ftrace function tracer + trace-cmd: A front-end for Ftrace @@ -2022,7 +2024,7 @@ SystemTap tutorial simply prints a line every time any process on the system open()s a file. For each line, it prints the executable name of the - program that opened the file, along with its pid, and the name + program that opened the file, along with its PID, and the name of the file it opened (or tried to open), which it extracts from the open syscall's argstr. @@ -2099,11 +2101,11 @@ SystemTap, which uses 'crosstap', assumes you can establish an ssh connection to the remote target. - Please refer to crosstap wiki page for details on verifying + Please refer to the crosstap wiki page for details on verifying ssh connections at . Also, the ability to ssh into the target system is not enabled - by default in -minimal images. + by default in *-minimal images. $ crosstap root@192.168.1.88 trace_open.stp @@ -2201,7 +2203,7 @@ If everything worked as planned, you should see something like this (enter the password when prompted, or press enter - if its set up to use no password): + if it's set up to use no password): $ crosstap root@192.168.7.2 trace_open.stp root@192.168.7.2's password: @@ -2246,7 +2248,7 @@ - For the the section that deals with oprofile from the command-line, + For the section that deals with running oprofile from the command-line, we assume you've ssh'ed to the host and will be running oprofile on the target. @@ -2266,7 +2268,7 @@ Oprofile as configured in Yocto is a system-wide profiler (i.e. the version in Yocto doesn't yet make use of the perf_events interface which would allow it to profile - specific processes and workloads). It's relies on hardware + specific processes and workloads). It relies on hardware counter support in the hardware (but can fall back to a timer-based mode), which means that it doesn't take advantage of tracepoints or other event sources for example. @@ -2287,8 +2289,8 @@ The oprofile daemon should already be running, but before you start profiling, you may need to change some settings - and some of these settings may require the daemon not - be running. One of these settings is the path the the + and some of these settings may require the daemon to not + be running. One of these settings is the path to the vmlinux file, which you'll want to set using the --vmlinux option if you want the kernel profiled: @@ -2319,7 +2321,7 @@ Using log file /var/lib/oprofile/samples/oprofiled.log Daemon started. - If we get the status again we now see our updated settings: + If we check the status again we now see our updated settings: root@crownbay:~# opcontrol --status Daemon paused: pid 1649 @@ -2328,7 +2330,7 @@ Image filter: none Call-graph depth: 6 - We're now in a position to run a profile. For that we used + We're now in a position to run a profile. For that we use 'opcontrol --start': root@crownbay:~# opcontrol --start @@ -2340,10 +2342,10 @@ Connecting to downloads.yoctoproject.org (140.211.169.59:80) linux-2.6.19.2.tar.b 100% |*******************************| 41727k 0:00:00 ETA - To stop the profile we use 'opcontrol --shudown', which not + To stop the profile we use 'opcontrol --shutdown', which not only stops the profile but shuts down the daemon as well: - root@crownbay:~# opcontrol --start + root@crownbay:~# opcontrol --shutdown Stopping profiling. Killing daemon. @@ -2902,7 +2904,7 @@ Once you've applied the above commits and built and booted your - image (you need to build the core-image-sato-sdk image or the + image (you need to build the core-image-sato-sdk image or use one of the other methods described in the General Setup section), you're ready to start tracing. @@ -2911,7 +2913,7 @@ Collecting and viewing a trace on the target (inside a shell) - First, from the target, ssh to the target: + First, from the host, ssh to the target: $ ssh -l root 192.168.1.47 The authenticity of host '192.168.1.47 (192.168.1.47)' can't be established. @@ -3012,7 +3014,7 @@ Collecting and viewing a userspace trace on the target (inside a shell) - For lttng userspace tracing, you need to have a properly + For LTTng userspace tracing, you need to have a properly instrumented userspace program. For this example, we'll use the 'hello' test program generated by the lttng-ust build. @@ -3034,7 +3036,7 @@ - First, from the target, ssh to the target: + First, from the host, ssh to the target: $ ssh -l root 192.168.1.47 The authenticity of host '192.168.1.47 (192.168.1.47)' can't be established. @@ -3600,7 +3602,7 @@ It's also possible to trace block I/O using only trace events subsystem, which can be useful for casual tracing - if you don't want bother dealing with the userspace tools. + if you don't want to bother dealing with the userspace tools. From 53aca1554e66e7081e1633f838691f49f4abc054 Mon Sep 17 00:00:00 2001 From: "Robert P. J. Day" Date: Fri, 15 Nov 2013 08:55:52 -0800 Subject: [PATCH 078/658] ref-manual: Fixed a typo. (From yocto-docs rev: 496d4b9bc1e5cf7f59fbd97ed14257a64c0b560e) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-structure.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/ref-manual/ref-structure.xml b/documentation/ref-manual/ref-structure.xml index 66e58f262d3..60f547d57c4 100644 --- a/documentation/ref-manual/ref-structure.xml +++ b/documentation/ref-manual/ref-structure.xml @@ -779,7 +779,7 @@ This directory contains common license files and several text files used by the build system. The text files contain minimal device information and - lists of files and directories with knows permissions. + lists of files and directories with known permissions. From fcae7ef9c5c88b4e2f12a3ea358a2682b0e42eb5 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Fri, 15 Nov 2013 08:31:06 -0800 Subject: [PATCH 079/658] ref-manual: Added other argument values to set variable The BB_DANGLINGAPPENDS_WARNONLY variable seems to be able to be set using "1", "yes", and "true". And, it is set using these various methods throughout the poky metadata. I guess it has caused a bit of confusion so I have added the fact to the description. Reporte-by: Robert P. J. Day (From yocto-docs rev: 8f96a657079f7dd3e601c4d99de4b8c9c09c26d9) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-variables.xml | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/documentation/ref-manual/ref-variables.xml b/documentation/ref-manual/ref-variables.xml index 2b0e8909fee..6361821ff42 100644 --- a/documentation/ref-manual/ref-variables.xml +++ b/documentation/ref-manual/ref-variables.xml @@ -320,10 +320,11 @@ You can change the default behavior by setting this - variable to "1" in the local.conf - file in the - Build Directory - as follows: + variable to "1", "yes", or "true" + in your local.conf file, which is + located in the + Build Directory: + Here is an example: BB_DANGLINGAPPENDS_WARNONLY = "1" From 4d3730597df1ea6dd4f077e4c4eeee6092185bb2 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Fri, 15 Nov 2013 10:59:39 -0800 Subject: [PATCH 080/658] ref-manual: New glossary entries I added glossary definitions for BUGTRACKER and CLASSOVERRIDE. (From yocto-docs rev: 11517aa35b0ce694749f3ec55f452976f26f8166) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-variables.xml | 36 ++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/documentation/ref-manual/ref-variables.xml b/documentation/ref-manual/ref-variables.xml index 6361821ff42..1ff1ed75595 100644 --- a/documentation/ref-manual/ref-variables.xml +++ b/documentation/ref-manual/ref-variables.xml @@ -826,6 +826,18 @@ + BUGTRACKER + + + Specifies a URL for an upstream bug tracking website for + a recipe. + The OpenEmbedded build system does not use this variable. + Rather, the variable is a useful pointer in case a bug + in the software being built needs to be manually reported. + + + + BUILDDIR @@ -877,6 +889,30 @@ + CLASSOVERRIDE + + + An internal variable specifying the special class override + that should currently apply (e.g. "class-target", + "class-native", and so forth). + The classes that use this variable set it to + appropriate values. + + + + You do not normally directly interact with this variable. + The value for the CLASSOVERRIDE + variable goes into + OVERRIDES + and then can be used as an override. + Here is an example: + + DEPENDS_append_class-native = " python-native" + + + + + COMBINED_FEATURES A set of features common between From 3bc23c367b0e0cfc59a3d2f92b8921fb3c8b979f Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Fri, 15 Nov 2013 14:04:28 -0800 Subject: [PATCH 081/658] dev-manual: Re-worded the "Customizing Images Using Custom .bb Files" Changed the wording so that it reflects better what is actually going on when use IMAGE_INSTALL to afect an image. Reported-by: Robert P. J. Day (From yocto-docs rev: 36178822a53f9eb7065513c8b2b1b01fc166b771) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/dev-manual/dev-manual-common-tasks.xml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/documentation/dev-manual/dev-manual-common-tasks.xml b/documentation/dev-manual/dev-manual-common-tasks.xml index 653f3da438b..d6f57271141 100644 --- a/documentation/dev-manual/dev-manual-common-tasks.xml +++ b/documentation/dev-manual/dev-manual-common-tasks.xml @@ -891,7 +891,8 @@ Customizing Images Using Custom .bb Files - One way to get additional software into an image is to create a custom image. + One way to customize an image is to create a custom recipe + that defines additional software as part of the image. The following example shows the form for the two lines you need: IMAGE_INSTALL = "packagegroup-core-x11-base package1 package2" @@ -901,8 +902,8 @@ - By creating a custom image, a developer has total control - over the contents of the image. + Defining the software using a custom recipe gives you total + control over the contents of the image. It is important to use the correct names of packages in the IMAGE_INSTALL variable. From 2c5640cdb4d4d573f2bc68c80f273e9c0ef0043d Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Mon, 18 Nov 2013 06:16:58 -0800 Subject: [PATCH 082/658] ref-manual: Added core-image-weston and core-image-directfb The image core-image-gtk-directfb really should be core-image-directfb. Also, we need to add the core-image-weston image to the list of images chapter. Reported-by: Robert P. J. Day (From yocto-docs rev: a1d2e745a4500f5e9d8c34feda8dc474da2cf01f) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-images.xml | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/documentation/ref-manual/ref-images.xml b/documentation/ref-manual/ref-images.xml index 37c8051a261..a002c59d3fa 100644 --- a/documentation/ref-manual/ref-images.xml +++ b/documentation/ref-manual/ref-images.xml @@ -90,14 +90,18 @@ core-image-clutter: An image with support for the Open GL-based toolkit Clutter, which enables development of rich and animated graphical user interfaces. - core-image-gtk-directfb: - An image that uses gtk+ over directfb - instead of X11. - In order to build, this image requires specific distro configuration that enables - gtk over directfb. + core-image-directfb: + An image that uses directfb instead of X11. + core-image-x11: A very basic X11 image with a terminal. + core-image-weston: + An image that provides the Wayland protocol libraries and the + reference Weston compositor. + For more information, see the + "Wayland" section. + qt4e-demo-image: An image that launches into the demo application for the embedded (not based on X11) version of Qt. From 2c45a8c3ff60447fb4f73d9bca64e0f1b3332a89 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Mon, 18 Nov 2013 06:45:42 -0800 Subject: [PATCH 083/658] dev-manual: updated the ptest section Removed the note indicating that three specific recipes were "ptest-enabled" for the release. I substituted in wording that tells the user to see if a a recipe inherits ptest as a way of determining if the receipe is ptest-enabled. (From yocto-docs rev: f9886957055619e9c5e9eccfe0a606e7aee275cd) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/dev-manual/dev-manual-common-tasks.xml | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/documentation/dev-manual/dev-manual-common-tasks.xml b/documentation/dev-manual/dev-manual-common-tasks.xml index d6f57271141..65a6b6fe335 100644 --- a/documentation/dev-manual/dev-manual-common-tasks.xml +++ b/documentation/dev-manual/dev-manual-common-tasks.xml @@ -902,7 +902,7 @@ - Defining the software using a custom recipe gives you total + Defining the software using a custom recipe gives you total control over the contents of the image. It is important to use the correct names of packages in the IMAGE_INSTALL @@ -4789,11 +4789,7 @@ the details. - With this release of the Yocto Project, three recipes exist - that are "ptest-enabled": bash, - glib-2.0, and - dbus. - These three recipes are Autotool-enabled. + A recipe is "ptest-enabled" if it inherits ptest.
From e9d0f1d211940e60bb357a755faeb95f47cf6729 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Mon, 18 Nov 2013 08:11:43 -0800 Subject: [PATCH 084/658] dev-manual: Changed "Tasks" term into "Package Groups" term. Reported-by: Robert P. J. Day (From yocto-docs rev: 5e9f2a6192db61ffa93e83a2e5e5d7bcd75e5eb4) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- .../dev-manual/dev-manual-newbie.xml | 20 +++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/documentation/dev-manual/dev-manual-newbie.xml b/documentation/dev-manual/dev-manual-newbie.xml index 694bb7c0214..b0ead2d3b07 100644 --- a/documentation/dev-manual/dev-manual-newbie.xml +++ b/documentation/dev-manual/dev-manual-newbie.xml @@ -436,7 +436,7 @@ The recommended method for setting up the Yocto Project Source Directory and the - files for supported BSPs (eg., meta-intel) is to + files for supported BSPs (e.g., meta-intel) is to use Git to create a local copy of the upstream repositories. @@ -662,6 +662,17 @@ PV, and PE). + Package Groups: + Arbitrary groups of software Recipes. + You use package groups to hold recipes that, when built, + usually accomplish a single task. + For example, a package group could contain the recipes for a + company’s proprietary or value-add software. + Or, the package group could contain the recipes that enable + graphics. + A package group is really just another recipe. + Because package group files are recipes, they end with the + .bb filename extension. Poky: The term "poky" can mean several things. In its most general sense, it is an open-source project that was initially developed by OpenedHand. With OpenedHand, poky was developed off of the existing OpenEmbedded @@ -731,13 +742,6 @@ see the "Repositories, Tags, and Branches" section. - Tasks: Arbitrary groups of software Recipes. - You use tasks to hold recipes that, when built, usually accomplish a single task. - For example, a task could contain the recipes for a company’s proprietary or value-add software. - Or, the task could contain the recipes that enable graphics. - A task is really just another recipe. - Because task files are recipes, they end with the .bb filename - extension. Upstream: A reference to source code or repositories that are not local to the development system but located in a master area that is controlled by the maintainer of the source code. From 6fc8adf98a5af48001adff3ed6deb3fdb96e0486 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Mon, 18 Nov 2013 08:54:38 -0800 Subject: [PATCH 085/658] dev-manual: Added "Task" term. After adding "Package Group" definition as the original "Task" definition, we needed to create a new definition for the term "Task". (From yocto-docs rev: bc861fda764a6d5fe0dc3b62b0771e183e7356a4) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/dev-manual/dev-manual-newbie.xml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/documentation/dev-manual/dev-manual-newbie.xml b/documentation/dev-manual/dev-manual-newbie.xml index b0ead2d3b07..473505ce623 100644 --- a/documentation/dev-manual/dev-manual-newbie.xml +++ b/documentation/dev-manual/dev-manual-newbie.xml @@ -742,6 +742,12 @@ see the "Repositories, Tags, and Branches" section. + Task: + A unit of execution for BitBake (e.g. + do_compile, + do_fetch, do_patch, + and so forth). + Upstream: A reference to source code or repositories that are not local to the development system but located in a master area that is controlled by the maintainer of the source code. From 3cd74158dd4556a89ea3f66c7fd6f6c93c5a6c15 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Mon, 18 Nov 2013 09:33:28 -0800 Subject: [PATCH 086/658] dev-manual: Updated EXTRA_IMAGE_FEATURES operater for read-only-rootfs example The operator used was "=" which was inconsistent in light of previous uses of the variable in the ptest section. I changed the operator to "+=" to be consistent. Reported-by: Robert P. J. Day (From yocto-docs rev: 2cc73ae4e3a543a60bcc29b54d2de97b08f990db) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/dev-manual/dev-manual-common-tasks.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/dev-manual/dev-manual-common-tasks.xml b/documentation/dev-manual/dev-manual-common-tasks.xml index 65a6b6fe335..2c949908c5c 100644 --- a/documentation/dev-manual/dev-manual-common-tasks.xml +++ b/documentation/dev-manual/dev-manual-common-tasks.xml @@ -5166,7 +5166,7 @@ the details. or - EXTRA_IMAGE_FEATURES = "read-only-rootfs" + EXTRA_IMAGE_FEATURES += "read-only-rootfs" From 04ee6741633c67db12bae26b8d095ef613c126e0 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Tue, 19 Nov 2013 09:44:37 -0800 Subject: [PATCH 087/658] ref-manual: Expanded CLASSOVERRIDE variable example description. (From yocto-docs rev: f78cfbd4bd06f4dbf35522f2fd4b2012de889323) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-variables.xml | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/documentation/ref-manual/ref-variables.xml b/documentation/ref-manual/ref-variables.xml index 1ff1ed75595..b1dd97a1381 100644 --- a/documentation/ref-manual/ref-variables.xml +++ b/documentation/ref-manual/ref-variables.xml @@ -320,8 +320,8 @@ You can change the default behavior by setting this - variable to "1", "yes", or "true" - in your local.conf file, which is + variable to "1", "yes", or "true" + in your local.conf file, which is located in the Build Directory: Here is an example: @@ -829,7 +829,7 @@ BUGTRACKER - Specifies a URL for an upstream bug tracking website for + Specifies a URL for an upstream bug tracking website for a recipe. The OpenEmbedded build system does not use this variable. Rather, the variable is a useful pointer in case a bug @@ -893,19 +893,21 @@ An internal variable specifying the special class override - that should currently apply (e.g. "class-target", + that should currently apply (e.g. "class-target", "class-native", and so forth). - The classes that use this variable set it to + The classes that use this variable set it to appropriate values. You do not normally directly interact with this variable. The value for the CLASSOVERRIDE - variable goes into + variable goes into OVERRIDES and then can be used as an override. - Here is an example: + Here is an example where "python-native" is added to + DEPENDS + only when building for the native case: DEPENDS_append_class-native = " python-native" From 42b42f105cdaa16052d3cfb5f14f02d5fa7d4b61 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Tue, 19 Nov 2013 10:46:33 -0800 Subject: [PATCH 088/658] ref-manual: Added glossary entry for UBOOT_CONFIG variable. (From yocto-docs rev: a02a918147e903aaf08390ae1c02bad5f8d90c77) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-variables.xml | 43 ++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/documentation/ref-manual/ref-variables.xml b/documentation/ref-manual/ref-variables.xml index b1dd97a1381..ba0e235fff5 100644 --- a/documentation/ref-manual/ref-variables.xml +++ b/documentation/ref-manual/ref-variables.xml @@ -5793,6 +5793,49 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3" U + UBOOT_CONFIG + + + Configures the + UBOOT_MACHINE + and can also define + IMAGE_FSTYPES + for individual cases. + + + + Following is an example from the + meta-fsl-arm layer. + + UBOOT_CONFIG ??= "sd" + UBOOT_CONFIG[sd] = "mx6qsabreauto_config,sdcard" + UBOOT_CONFIG[eimnor] = "mx6qsabreauto_eimnor_config" + UBOOT_CONFIG[nand] = "mx6qsabreauto_nand_config,ubifs" + UBOOT_CONFIG[spinor] = "mx6qsabreauto_spinor_config" + + In this example, "sd" is selected as the configuration + of the possible four for the + UBOOT_MACHINE. + The "sd" configuration defines "mx6qsabreauto_congif" + as the value for UBOOT_MACHINE, while + the "sdcard" specifies the + IMAGE_FSTYPES to use for the U-boot + image. + + + + For more information on how the + UBOOT_CONFIG is handled, see the + uboot-config + class. + + + + + + + + UBOOT_ENTRYPOINT From d716445808c8fe93de0be4c4fdf559f14da9d03f Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Tue, 19 Nov 2013 10:48:39 -0800 Subject: [PATCH 089/658] ref-manual: Reset the top "U" entry for glossary to UBOOT_CONFIG. (From yocto-docs rev: 2870f3345fed8e313e3ac4101cc38e89e6d021e0) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-variables.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/ref-manual/ref-variables.xml b/documentation/ref-manual/ref-variables.xml index ba0e235fff5..c7bd57f14a8 100644 --- a/documentation/ref-manual/ref-variables.xml +++ b/documentation/ref-manual/ref-variables.xml @@ -36,7 +36,7 @@ R S T - U + U W From 0a2aff11402557f6d9b6c66259d6d8c0d0813334 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Tue, 19 Nov 2013 10:52:01 -0800 Subject: [PATCH 090/658] ref-manual: Fixed typo. (From yocto-docs rev: eaca0035b8e7190f075e030d2abd370feaf19d3e) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-variables.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/ref-manual/ref-variables.xml b/documentation/ref-manual/ref-variables.xml index c7bd57f14a8..e934a06a7b4 100644 --- a/documentation/ref-manual/ref-variables.xml +++ b/documentation/ref-manual/ref-variables.xml @@ -3964,7 +3964,7 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3" PACKAGECONFIG_pn-<recipename>="f4 f5" - Or, you can just amended the variable: + Or, you can just amend the variable: PACKAGECONFIG_append_pn-<recipename> = " f4" From e24d021506428335291724aa6aae02d59b4cbeb5 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Tue, 19 Nov 2013 11:08:42 -0800 Subject: [PATCH 091/658] ref-manual: Fixed misc. formatting by removing blank lines. (From yocto-docs rev: 413f49b0d460a3c292bdbd83cae5cee860f71244) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-variables.xml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/documentation/ref-manual/ref-variables.xml b/documentation/ref-manual/ref-variables.xml index e934a06a7b4..e8a68c456b0 100644 --- a/documentation/ref-manual/ref-variables.xml +++ b/documentation/ref-manual/ref-variables.xml @@ -5829,10 +5829,6 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3" uboot-config class. - - - - From 8507753bb866c57368584a23d29a1b4abdf326eb Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Tue, 19 Nov 2013 11:31:13 -0800 Subject: [PATCH 092/658] ref-manual: Added new variable UBOOT_LOCALDEFINITION Very rough draft for this new variable. It will likely change. (From yocto-docs rev: 0ac34164b60908455b198d46475b7e88b0e25f6c) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-variables.xml | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/documentation/ref-manual/ref-variables.xml b/documentation/ref-manual/ref-variables.xml index e8a68c456b0..e2d971e7fce 100644 --- a/documentation/ref-manual/ref-variables.xml +++ b/documentation/ref-manual/ref-variables.xml @@ -5856,6 +5856,18 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3" + UBOOT_LOCALVERSION + + + Specifies the kernel version for the U-Boot image. + For example: + + UBOOT_LOCALVERSION = "yocto-standard" + + + + + UBOOT_MACHINE From cd8c865688b0ea8a7310a4637269adaedc470817 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Tue, 19 Nov 2013 11:36:06 -0800 Subject: [PATCH 093/658] ref-manual: Added new UBOOT_SUFFIX variable description. (From yocto-docs rev: 87272ea28fca85ff9cf22ce4c81738a73f7f3410) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-variables.xml | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/documentation/ref-manual/ref-variables.xml b/documentation/ref-manual/ref-variables.xml index e2d971e7fce..a073746b663 100644 --- a/documentation/ref-manual/ref-variables.xml +++ b/documentation/ref-manual/ref-variables.xml @@ -5862,7 +5862,7 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3" Specifies the kernel version for the U-Boot image. For example: - UBOOT_LOCALVERSION = "yocto-standard" + UBOOT_LOCALVERSION = "-yocto-standard" @@ -5882,6 +5882,21 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3" + UBOOT_SUFFIX + + + Points to the generated U-Boot extension. + For example, u-boot.sb has a + .sb extension. + + + + The default U-Boot extension is + .bin + + + + UBOOT_TARGET From 477f49ec0badf16981ba58667cc621962af87c50 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Tue, 19 Nov 2013 11:39:30 -0800 Subject: [PATCH 094/658] ref-manual: Added new variable UBOOT_MAKE_TARGET. (From yocto-docs rev: c9a2cabfadf32d55c7cf022a5ad376c0e8d585a5) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-variables.xml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/documentation/ref-manual/ref-variables.xml b/documentation/ref-manual/ref-variables.xml index a073746b663..513f9c89b72 100644 --- a/documentation/ref-manual/ref-variables.xml +++ b/documentation/ref-manual/ref-variables.xml @@ -5882,6 +5882,16 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3" + UBOOT_MAKE_TARGET + + + Specifies the target called in the + Makefile. + The default target is "all". + + + + UBOOT_SUFFIX From 03fe1aff16b901f5b151836b7eed19f110551af3 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Tue, 19 Nov 2013 15:58:01 -0800 Subject: [PATCH 095/658] ref-manual: Fixed typo in the UBOOT_CONFIG variable. (From yocto-docs rev: 13ef9bc3c2e4c1e7045fd0413b28379eb0b92090) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-variables.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/ref-manual/ref-variables.xml b/documentation/ref-manual/ref-variables.xml index 513f9c89b72..35ae8b2c089 100644 --- a/documentation/ref-manual/ref-variables.xml +++ b/documentation/ref-manual/ref-variables.xml @@ -5816,7 +5816,7 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3" In this example, "sd" is selected as the configuration of the possible four for the UBOOT_MACHINE. - The "sd" configuration defines "mx6qsabreauto_congif" + The "sd" configuration defines "mx6qsabreauto_congig" as the value for UBOOT_MACHINE, while the "sdcard" specifies the IMAGE_FSTYPES to use for the U-boot From 8267b847dde78ffe5cc8f3598699dc22a5d92b5d Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Tue, 19 Nov 2013 16:02:40 -0800 Subject: [PATCH 096/658] ref-manual: Edits to the UBOOT_LOCALVERSION variable. (From yocto-docs rev: c47fbc2a0e6b9a7cd21a99dc227ee6b82e85f394) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-variables.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/documentation/ref-manual/ref-variables.xml b/documentation/ref-manual/ref-variables.xml index 35ae8b2c089..fd64addd9dc 100644 --- a/documentation/ref-manual/ref-variables.xml +++ b/documentation/ref-manual/ref-variables.xml @@ -5859,10 +5859,10 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3" UBOOT_LOCALVERSION - Specifies the kernel version for the U-Boot image. + Specifies a local version to be appended to U-Boot one. For example: - UBOOT_LOCALVERSION = "-yocto-standard" + UBOOT_LOCALVERSION = "-yocto" From 6fbfd3494f79f7bef334a1f59ce2a78db97f3df5 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Wed, 20 Nov 2013 07:17:36 -0800 Subject: [PATCH 097/658] ref-manual: Review edits applied to UBOOT_LOCALVERSION variable. (From yocto-docs rev: 58384e305a7e35624da44457929d3487fabf5915) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-variables.xml | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/documentation/ref-manual/ref-variables.xml b/documentation/ref-manual/ref-variables.xml index fd64addd9dc..43898e158ce 100644 --- a/documentation/ref-manual/ref-variables.xml +++ b/documentation/ref-manual/ref-variables.xml @@ -5816,7 +5816,7 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3" In this example, "sd" is selected as the configuration of the possible four for the UBOOT_MACHINE. - The "sd" configuration defines "mx6qsabreauto_congig" + The "sd" configuration defines "mx6qsabreauto_config" as the value for UBOOT_MACHINE, while the "sdcard" specifies the IMAGE_FSTYPES to use for the U-boot @@ -5859,8 +5859,12 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3" UBOOT_LOCALVERSION - Specifies a local version to be appended to U-Boot one. - For example: + Appends a string to the name of the local version of the + U-Boot image. + For example, assuming the version of the U-Boot image + built was "2013.10, the full version string reported by + U-Boot would be "2013.10-yocto" given the following + statement: UBOOT_LOCALVERSION = "-yocto" From 0ed81805f49f085315f3bcebab9df512c1cafc6b Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Wed, 20 Nov 2013 10:36:05 -0800 Subject: [PATCH 098/658] ref-manual: Updated to *_FEATURES variables. I updated the MACHINE_FEATURES, DISTRO_FEATURES, and COMBINED_FEATURES variable descriptions to better reflect what they actually do. Also, fixed two occurences of IrDA in the features lists section. (From yocto-docs rev: 89e40a2f309eacec37fc63c2ef0d4cd440722b2f) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-features.xml | 8 +-- documentation/ref-manual/ref-variables.xml | 71 ++++++++++++++++------ 2 files changed, 57 insertions(+), 22 deletions(-) diff --git a/documentation/ref-manual/ref-features.xml b/documentation/ref-manual/ref-features.xml index dedcf67e334..c884a8963e1 100644 --- a/documentation/ref-manual/ref-features.xml +++ b/documentation/ref-manual/ref-features.xml @@ -44,7 +44,7 @@
- Distro + Distro Features The items below are features you can use with @@ -75,7 +75,7 @@ support. ipv6: Include IPv6 support. - irda: Include Irda support. + irda: Include IrDA support. keyboard: Include keyboard support (e.g. keymaps will be loaded during boot). @@ -126,7 +126,7 @@
- Machine + Machine Features The items below are features you can use with @@ -152,7 +152,7 @@ ext2: Hardware HDD or Microdrive - irda: Hardware has Irda support + irda: Hardware has IrDA support keyboard: Hardware has a keyboard diff --git a/documentation/ref-manual/ref-variables.xml b/documentation/ref-manual/ref-variables.xml index 43898e158ce..cb8d9a5b396 100644 --- a/documentation/ref-manual/ref-variables.xml +++ b/documentation/ref-manual/ref-variables.xml @@ -917,10 +917,27 @@ COMBINED_FEATURES - A set of features common between + + Provides a list of hardware features that are enabled in + both MACHINE_FEATURES - and DISTRO_FEATURES. - See the glossary descriptions for these variables for more information. + and + DISTRO_FEATURES. + This select list of features is a list features that make + sense to be controlled both at the machine and distribution + configuration level. + For example, the "bluetooth" feature requires hardware + support but should also be optional at the distribution + level, in case the hardware supports Bluetooth but you + do not ever intend to use it. + + + + For more information, see the + MACHINE_FEATURES + and DISTRO_FEATURES + variables. + @@ -1306,10 +1323,25 @@ DISTRO_FEATURES - The features enabled for the distribution. - For a list of supported features that ship with the - Yocto Project, see the - "Distro" + + The software support you want in your distribution for + various features. + In most cases, the presence or absence of a feature in + DISTRO_FEATURES is translated to the + appropriate option supplied to the configure script + during do_configure for recipes that + optionally support the feature. + For example, specifying x11 in + DISTRO_FEATURES, causes + every piece of software built for the target that can + optionally support X11 to have its X11 support enabled. + + + + Two more examples are Bluetooth and NFS support. + For a more complete features that ship with the Yocto + Project that you can provide using this variable, see the + "Distro Features" section. @@ -3344,20 +3376,23 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3" MACHINE_FEATURES - Specifies the list of hardware features the - MACHINE supports. - For example, including the "bluetooth" feature causes the - bluez bluetooth daemon to be built and - added to the image. - It also causes the connman recipe - to look at MACHINE_FEATURES and when it - finds "bluetooth" there it enables the bluetooth - support in ConnMan. + + Specifies the list of hardware features the + MACHINE is capable + of supporting. + For related information on enabling features, see the + DISTRO_FEATURES, + COMBINED_FEATURES, + and + IMAGE_FEATURES + variables. - For a list of features supported by the Yocto Project as shipped, - see the "Machine" section. + For a list of hardware features supported by the Yocto + Project as shipped, see the + "Machine Features" + section. From 17d0bc0f4c77aff56a2a3bb902a2e18d824a1ff2 Mon Sep 17 00:00:00 2001 From: "Robert P. J. Day" Date: Thu, 21 Nov 2013 08:12:07 -0800 Subject: [PATCH 099/658] ref-manual: fixed typo Removed extra "the" (From yocto-docs rev: a4a14eccf591bda7ce09c60dedb752da1c1ba26e) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/introduction.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/ref-manual/introduction.xml b/documentation/ref-manual/introduction.xml index 8232ba8c607..bcac4c750fa 100644 --- a/documentation/ref-manual/introduction.xml +++ b/documentation/ref-manual/introduction.xml @@ -366,7 +366,7 @@ variable determines whether you build tools for a 32-bit or 64-bit system. - Once the build completes, you can find the file that installs the + Once the build completes, you can find the file that installs the tools in the tmp/deploy/sdk subdirectory of the Build Directory. From 33e7953a5828a68d0468281a4e65df8092658a2b Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 21 Nov 2013 09:40:12 -0800 Subject: [PATCH 100/658] ref-manual: Cleaned up some instances of the term "working directory" This term should always reference a users current working directory and not be confused with the OpenEmbedded build system's "work directory (WORKDIR). I found several instances where the term "working directory" was not used correctly and fixed them. Reported-by: Robert P. J. Day (From yocto-docs rev: 80dcbf41fc57d0d527db13dd2f993233dd5c1675) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/closer-look.xml | 2 +- documentation/ref-manual/ref-variables.xml | 10 +++++----- documentation/ref-manual/technical-details.xml | 4 ++-- documentation/ref-manual/usingpoky.xml | 9 +++++---- 4 files changed, 13 insertions(+), 12 deletions(-) diff --git a/documentation/ref-manual/closer-look.xml b/documentation/ref-manual/closer-look.xml index 48839819851..e13f5c1601c 100644 --- a/documentation/ref-manual/closer-look.xml +++ b/documentation/ref-manual/closer-look.xml @@ -693,7 +693,7 @@ The do_fetch and do_unpack tasks fetch the source files - and unpack them into a working directory. + and unpack them into the work directory. By default, everything is accomplished in the Build Directory, which has a defined structure. diff --git a/documentation/ref-manual/ref-variables.xml b/documentation/ref-manual/ref-variables.xml index cb8d9a5b396..bed4be00300 100644 --- a/documentation/ref-manual/ref-variables.xml +++ b/documentation/ref-manual/ref-variables.xml @@ -4825,7 +4825,7 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3" The location in the Build Directory where unpacked recipe source code resides. - This location is within the working directory + This location is within the work directory (WORKDIR), which is not static. The unpacked source location depends on the recipe name @@ -4840,7 +4840,7 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3" Source Directory top-level folder named poky and a default Build Directory at poky/build. - In this case, the working directory the build system uses + In this case, the work directory the build system uses to keep the unpacked recipe for db is the following: @@ -6008,7 +6008,7 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3" WORKDIR - The pathname of the working directory in which the OpenEmbedded build system + The pathname of the work directory in which the OpenEmbedded build system builds a recipe. This directory is located within the TMPDIR directory structure and changes @@ -6039,7 +6039,7 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3" folder name poky and a default Build Directory at poky/build. - In this case, the working directory the build system uses to build + In this case, the work directory the build system uses to build the v86d package is the following: poky/build/tmp/work/qemux86-poky-linux/v86d/01.9-r0 @@ -6055,7 +6055,7 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3" As an example, again assume a Source Directory top-level folder named poky and a default Build Directory at poky/build. - In this case, the working directory the build system uses to build + In this case, the work directory the build system uses to build the acl recipe, which is being built for a MIPS-based device, is the following: diff --git a/documentation/ref-manual/technical-details.xml b/documentation/ref-manual/technical-details.xml index 6d4c6b712c9..51b9148e3e8 100644 --- a/documentation/ref-manual/technical-details.xml +++ b/documentation/ref-manual/technical-details.xml @@ -434,11 +434,11 @@ the checksum. First, there is the actual specific build path of a given task - the WORKDIR. - It does not matter if the working directory changes because it should not + It does not matter if the work directory changes because it should not affect the output for target packages. Also, the build process has the objective of making native or cross packages relocatable. The checksum therefore needs to exclude WORKDIR. - The simplistic approach for excluding the working directory is to set + The simplistic approach for excluding the work directory is to set WORKDIR to some fixed value and create the checksum for the "run" script. diff --git a/documentation/ref-manual/usingpoky.xml b/documentation/ref-manual/usingpoky.xml index b9df733f3fc..94f113590a4 100644 --- a/documentation/ref-manual/usingpoky.xml +++ b/documentation/ref-manual/usingpoky.xml @@ -169,14 +169,15 @@ - If you wish to rerun a task, use the -f force option. - For example, the following sequence forces recompilation after changing files in the - working directory. + If you wish to rerun a task, use the -f force + option. + For example, the following sequence forces recompilation after + changing files in the work directory. $ bitbake matchbox-desktop . . - [make some changes to the source code in the working directory] + [make some changes to the source code in the work directory] . . $ bitbake matchbox-desktop -c compile -f From 65b7f134fb2e7c5e53aa7e3aeb3743cc21fa3ce3 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 21 Nov 2013 10:19:12 -0800 Subject: [PATCH 101/658] ref-manual: Added the pn-buildlist file to list of files In the "Dependency Graphs" section, the pn-buildlist file was not mentioned as a file generated by the 'bitbake -g ' command. I added this in and provided a bit of re-writing. Reported-by: Robert P. J. Day (From yocto-docs rev: 811a6af8fdb2cfa0b38d260665ed00260a939251) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/usingpoky.xml | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/documentation/ref-manual/usingpoky.xml b/documentation/ref-manual/usingpoky.xml index 94f113590a4..32514900639 100644 --- a/documentation/ref-manual/usingpoky.xml +++ b/documentation/ref-manual/usingpoky.xml @@ -207,14 +207,19 @@ Dependency Graphs - Sometimes it can be hard to see why BitBake wants to build some other packages before a given - package you have specified. - The bitbake -g targetname command creates the - depends.dot, package-depends.dot, - and task-depends.dot files in the current directory. - These files show the package and task dependencies and are useful for debugging problems. - You can use the bitbake -g -u depexp targetname command to - display the results in a more human-readable form. + Sometimes it can be hard to see why BitBake wants to build + other packages before building a given package you have specified. + The bitbake -g <targetname> command + creates the pn-buildlist, + depends.dot, + package-depends.dot, and + task-depends.dot files in the current + directory. + These files show what will be built and the package and task + dependencies, which are useful for debugging problems. + You can use the + bitbake -g -u depexp <targetname> + command to display the results in a more human-readable form.
From abb6287a4f353f1a5751be6be25c437f96cef823 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 21 Nov 2013 10:28:32 -0800 Subject: [PATCH 102/658] ref-manual: Changed depends.dot filename to pn-depends.dot. Reported-by: Robert P. J. Day (From yocto-docs rev: ecc38e4c71fe21223ed5ddfdabc7f6a7c41ec5a3) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/usingpoky.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/ref-manual/usingpoky.xml b/documentation/ref-manual/usingpoky.xml index 32514900639..eff8480e1a4 100644 --- a/documentation/ref-manual/usingpoky.xml +++ b/documentation/ref-manual/usingpoky.xml @@ -211,7 +211,7 @@ other packages before building a given package you have specified. The bitbake -g <targetname> command creates the pn-buildlist, - depends.dot, + pn-depends.dot, package-depends.dot, and task-depends.dot files in the current directory. From 7f55d261e1084aa453b4af0e516ebcb2721bb017 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 21 Nov 2013 11:27:19 -0800 Subject: [PATCH 103/658] dev-manual, ref-manual: Updated some section titles. I noticed that chapter 10 of the ref-manual still had "Reference: Features" as the title. This is left over from way back. I changed that chapter title to "Features." Next, I noticed an inconsistency with some sub-section titles. I changed the "Images" title into "Image Features." This affected several links across the doc set so I had to update those cross-references as well so they have the latest section title as part of the reference. (From yocto-docs rev: 41de29a5042d92bd34bc52315003a86b6d3277db) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/dev-manual/dev-manual-common-tasks.xml | 2 +- documentation/ref-manual/ref-features.xml | 4 ++-- documentation/ref-manual/ref-variables.xml | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/documentation/dev-manual/dev-manual-common-tasks.xml b/documentation/dev-manual/dev-manual-common-tasks.xml index 2c949908c5c..ad04cbe12d4 100644 --- a/documentation/dev-manual/dev-manual-common-tasks.xml +++ b/documentation/dev-manual/dev-manual-common-tasks.xml @@ -6257,7 +6257,7 @@ the details. are installed onto the target device for OProfileUI interaction. For a list of image features that ship with the Yocto Project, see the - "Images" + "Image Features" section in the Yocto Project Reference Manual.
diff --git a/documentation/ref-manual/ref-features.xml b/documentation/ref-manual/ref-features.xml index c884a8963e1..5b8c76f4f8e 100644 --- a/documentation/ref-manual/ref-features.xml +++ b/documentation/ref-manual/ref-features.xml @@ -3,7 +3,7 @@ [ %poky; ] > - Reference: Features + Features This chapter provides a reference of shipped machine and distro features @@ -177,7 +177,7 @@
- Images + Image Features The contents of images generated by the OpenEmbedded build system can be controlled by the diff --git a/documentation/ref-manual/ref-variables.xml b/documentation/ref-manual/ref-variables.xml index bed4be00300..45dd70b27c5 100644 --- a/documentation/ref-manual/ref-variables.xml +++ b/documentation/ref-manual/ref-variables.xml @@ -1677,7 +1677,7 @@ For a complete list of image features that ships with the Yocto Project, see the - "Images" + "Image Features" section. @@ -2081,7 +2081,7 @@ For a list of image features that ships with the Yocto Project, see the - "Images" + "Image Features" section. From 2ae9f689a17f1f454e192be8d394beed885d2998 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 21 Nov 2013 14:57:08 -0800 Subject: [PATCH 104/658] ref-manual: Edits to the DISTRO_FEATURES variable. Took care of some quoting for the "x11" feature and also a messed up sentence in the second paragraph. (From yocto-docs rev: 4de95398d44fe0b12c68a6484c9b8d341bd6edb7) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-variables.xml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/documentation/ref-manual/ref-variables.xml b/documentation/ref-manual/ref-variables.xml index 45dd70b27c5..55f135683df 100644 --- a/documentation/ref-manual/ref-variables.xml +++ b/documentation/ref-manual/ref-variables.xml @@ -1331,7 +1331,7 @@ appropriate option supplied to the configure script during do_configure for recipes that optionally support the feature. - For example, specifying x11 in + For example, specifying "x11" in DISTRO_FEATURES, causes every piece of software built for the target that can optionally support X11 to have its X11 support enabled. @@ -1339,8 +1339,9 @@ Two more examples are Bluetooth and NFS support. - For a more complete features that ship with the Yocto - Project that you can provide using this variable, see the + For a more complete list of features that ships with the + Yocto Project and that you can provide with this variable, + see the "Distro Features" section. From 859980e7db0e60892fdef5f98e1cdeead46c5796 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 21 Nov 2013 16:01:42 -0800 Subject: [PATCH 105/658] ref-manual: Updated the DISTRO variable description. This needed some work to be more descriptive. (From yocto-docs rev: 00acc5f28a87c10572f1df4bf801c16f5b861f8e) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-variables.xml | 42 ++++++++++++++++------ 1 file changed, 32 insertions(+), 10 deletions(-) diff --git a/documentation/ref-manual/ref-variables.xml b/documentation/ref-manual/ref-variables.xml index 55f135683df..3499b78a202 100644 --- a/documentation/ref-manual/ref-variables.xml +++ b/documentation/ref-manual/ref-variables.xml @@ -1277,18 +1277,40 @@ The short name of the distribution. - This variable corresponds to a file with the - extension .conf - located in a conf/distro directory - within the - Metadata - that contains the distribution configuration. - The value must not contain spaces, and is typically all lower-case. + This variable corresponds to a distribution + configuration file whose root name is the same as the + variable's argument and whose filename extension is + .conf. + For example, the distribution configuration file for the + Poky distribution is named poky.conf + and resides in the + meta-yocto/conf/distro directory of + the + Source Directory. + + + + Within that poky.conf file, the + DISTRO variable is set as follows: + + DISTRO = "poky" + + - If the variable is blank, a set of default configuration - will be used, which is specified - within meta/conf/distro/defaultsetup.conf. + Distribution configuration files are located in a + conf/distro directory within the + Metadata + that contains the distribution configuration. + The value for DISTRO must not contain + spaces, and is typically all lower-case. + + If the DISTRO variable is blank, a set + of default configurations are used, which are specified + within + meta/conf/distro/defaultsetup.conf + also in the Source Directory. + From 2f1b6e1126f5a7a5cdc3bf39816bee1fece02dbb Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 21 Nov 2013 17:14:41 -0800 Subject: [PATCH 106/658] ref-manual: Some edits to the DISTRO_FEATURES variable. (From yocto-docs rev: 10c4a13dc28ef1a8ceeee5a31dfbdd64511cd3d0) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-variables.xml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/documentation/ref-manual/ref-variables.xml b/documentation/ref-manual/ref-variables.xml index 3499b78a202..773eb88fdf8 100644 --- a/documentation/ref-manual/ref-variables.xml +++ b/documentation/ref-manual/ref-variables.xml @@ -1348,6 +1348,11 @@ The software support you want in your distribution for various features. + You define your distribution features in the distribution + configuration file. + + + In most cases, the presence or absence of a feature in DISTRO_FEATURES is translated to the appropriate option supplied to the configure script From c86bd272ea2f9e7fdbe59cffd14de826f5ad12a5 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 21 Nov 2013 17:15:07 -0800 Subject: [PATCH 107/658] ref-manual: Updated the intro text to "Distro Features" section. (From yocto-docs rev: 328f7115e3f557ca979fa330e068739c4b0e2bcd) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-features.xml | 25 ++++++++++++++++------- 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/documentation/ref-manual/ref-features.xml b/documentation/ref-manual/ref-features.xml index 5b8c76f4f8e..d6a58cd6456 100644 --- a/documentation/ref-manual/ref-features.xml +++ b/documentation/ref-manual/ref-features.xml @@ -48,13 +48,24 @@ The items below are features you can use with - DISTRO_FEATURES. - Features do not have a one-to-one correspondence to packages, and they can - go beyond simply controlling the installation of a package or packages. - Sometimes a feature can influence how certain recipes are built. - For example, a feature might determine whether a particular configure option - is specified within do_configure for a particular - recipe. + DISTRO_FEATURES + to enable features across your distribution. + Features do not have a one-to-one correspondence to packages, + and they can go beyond simply controlling the installation of a + package or packages. + In most cases, the presence or absence of a feature translates to + the appropriate option supplied to the configure script during + do_configure for the recipes that optionally + support the feature. + + + + Some distro features are also machine features. + This select list of features makes sense to be controlled both at + the machine and distribution configuration level. + See the + COMBINED_FEATURES + variable for more information. From d0d86d62a52c5d819e8639b549e3651930d428f7 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 21 Nov 2013 17:17:12 -0800 Subject: [PATCH 108/658] ref-manual: Edits to the COMBINED_FEATURES variable. (From yocto-docs rev: c1e2a7f8985f058d520615ef389007424d7d4b7f) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-variables.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/ref-manual/ref-variables.xml b/documentation/ref-manual/ref-variables.xml index 773eb88fdf8..87a97c8186c 100644 --- a/documentation/ref-manual/ref-variables.xml +++ b/documentation/ref-manual/ref-variables.xml @@ -923,7 +923,7 @@ MACHINE_FEATURES and DISTRO_FEATURES. - This select list of features is a list features that make + This select list of features contains features that make sense to be controlled both at the machine and distribution configuration level. For example, the "bluetooth" feature requires hardware From 1598a54c697ac76042fc060bcaf92b417241602c Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 21 Nov 2013 17:39:54 -0800 Subject: [PATCH 109/658] ref-manual: Slight grammar edits. (From yocto-docs rev: db18d3e0986a87da7670c1ae424ce76df82e18ca) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-features.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/ref-manual/ref-features.xml b/documentation/ref-manual/ref-features.xml index d6a58cd6456..551d3d4cb8d 100644 --- a/documentation/ref-manual/ref-features.xml +++ b/documentation/ref-manual/ref-features.xml @@ -61,7 +61,7 @@ Some distro features are also machine features. - This select list of features makes sense to be controlled both at + These select features make sense to be controlled both at the machine and distribution configuration level. See the COMBINED_FEATURES From 1df11a5af09faa684dc44318fe14675d3b2161d8 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Fri, 22 Nov 2013 09:24:22 -0800 Subject: [PATCH 110/658] ref-manual: Added new CONFLICT_DISTRO_FEATURES variable description. Reported-by: Robert P. J. Day (From yocto-docs rev: 490a57b5c8c8230d47be53bf3092060c3fb97f19) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-variables.xml | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/documentation/ref-manual/ref-variables.xml b/documentation/ref-manual/ref-variables.xml index 87a97c8186c..34ca4094f56 100644 --- a/documentation/ref-manual/ref-variables.xml +++ b/documentation/ref-manual/ref-variables.xml @@ -1072,6 +1072,24 @@ + CONFLICT_DISTRO_FEATURES + + + When a recipe inherits the + distro_features_check class, this + variable identifies distribution features that would + be in conflict should the recipe + be built. + In other words, if the + CONFLICT_DISTRO_FEATURES variable + lists a feature that also appears in + DISTRO_FEATURES within the + current configuration, an error occurs and the + build stops. + + + + CORE_IMAGE_EXTRA_INSTALL From 551166d616dd410089bb41e70683c7773db7efc2 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Fri, 22 Nov 2013 09:45:39 -0800 Subject: [PATCH 111/658] ref-manual: Added new REQUIRED_DISTRO_FEATURES variable description. Reported-by: Robert P. J. Day (From yocto-docs rev: 7dfbba8fd5b1dc8e020a588f210c3d2f339e1f9a) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-variables.xml | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/documentation/ref-manual/ref-variables.xml b/documentation/ref-manual/ref-variables.xml index 34ca4094f56..d592fbe3dfd 100644 --- a/documentation/ref-manual/ref-variables.xml +++ b/documentation/ref-manual/ref-variables.xml @@ -4639,6 +4639,24 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3" + REQUIRED_DISTRO_FEATURES + + + When a recipe inherits the + distro_features_check class, this + variable identifies distribution features that must + exist in the current configuration in order for the + OpenEmbedded build system to build the recipe. + In other words, if the + REQUIRED_DISTRO_FEATURES variable + lists a feature that does not appear in + DISTRO_FEATURES within the + current configuration, an error occurs and the + build stops. + + + + RM_OLD_IMAGE From 7650be618a9efd6366ed3f2f9997008381ecff84 Mon Sep 17 00:00:00 2001 From: "Robert P. J. Day" Date: Fri, 22 Nov 2013 10:21:27 -0800 Subject: [PATCH 112/658] dev-manual: Number of minor tweaks to Dev Manual, Chapter 5. (From yocto-docs rev: 779e33c9f1228c54ed1b4e60c109d0b2ecd4b2f8) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- .../dev-manual/dev-manual-common-tasks.xml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/documentation/dev-manual/dev-manual-common-tasks.xml b/documentation/dev-manual/dev-manual-common-tasks.xml index ad04cbe12d4..cd2808dfcf1 100644 --- a/documentation/dev-manual/dev-manual-common-tasks.xml +++ b/documentation/dev-manual/dev-manual-common-tasks.xml @@ -9,7 +9,7 @@ This chapter describes fundamental procedures such as creating layers, adding new software packages, extending or customizing images, porting work to new hardware (adding a new machine), and so forth. - You will find the procedures documented here occur often in the + You will find that the procedures documented here occur often in the development cycle using the Yocto Project. @@ -23,7 +23,7 @@ each other. You might find it tempting to keep everything in one layer when working on a single project. - However, the more modular you organize your Metadata, the easier + However, the more modular your Metadata, the easier it is to cope with future changes. @@ -77,7 +77,7 @@ - Furthermore, if you set up a local copy of the + As another example, if you set up a local copy of the meta-intel Git repository and then explore the folder of that general layer, you will discover many Intel-specific BSP layers inside. @@ -224,7 +224,7 @@ file within the layer. If the layer adds distro policy, add the distro configuration in a conf/distro/ - file with the layer. + file within the layer. If the layer introduces new recipes, put the recipes you need in recipes-* subdirectories within the layer. @@ -810,7 +810,7 @@ <layer>.conf). The - COPYING.MIT: + COPYING.MIT file: The copyright and use notice for the software. The README @@ -826,7 +826,7 @@ in <layer>/recipes-example/example/. The script creates a .bb file and a directory, which contains a sample - helloworld.c source file and along with + helloworld.c source file, along with a sample patch file. If you do not provide a recipe name, the script uses "example". @@ -1131,7 +1131,7 @@ Writing a Recipe to Add a Package to Your Image - Recipes add packages to your image. + Recipes let you define packages you can add to your image. Writing a recipe means creating a .bb file that sets some variables. For information on variables that are useful for recipes and for information about recipe naming @@ -1546,7 +1546,7 @@ You need to create a configure task that configures the unpacked kernel with a defconfig. You can do this by using a make defconfig command or, - more commonly, by copying in a suitable defconfig file and and then running + more commonly, by copying in a suitable defconfig file and then running make oldconfig. By making use of inherit kernel and potentially some of the linux-*.inc files, most other functionality is From f977932ccab547c1053551c06020a7c455ea4677 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Fri, 22 Nov 2013 12:35:13 -0800 Subject: [PATCH 113/658] ref-manual: Updates and additions to variable glossary: I applied some review edits to the USERADD_PACKAGES and USERADD_PARAM variables from Paul. Additionally, I added descriptions for the GROUPADD_PARAM and GROUPMEMS_PARAM variables. (From yocto-docs rev: eba37e97855e55f547aa6257a050f30ffed7948e) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-variables.xml | 108 ++++++++++++++++++++- 1 file changed, 104 insertions(+), 4 deletions(-) diff --git a/documentation/ref-manual/ref-variables.xml b/documentation/ref-manual/ref-variables.xml index d592fbe3dfd..fb337913ca1 100644 --- a/documentation/ref-manual/ref-variables.xml +++ b/documentation/ref-manual/ref-variables.xml @@ -22,7 +22,7 @@ D E F - + G H I @@ -2029,11 +2029,54 @@ - - - + G + + GROUPADD_PARAM + + + When a recipe inherits the + useradd class, this variable + specifies for a package what parameters should be passed + to the groupadd command + if you wish to add a group to the system when the package + is installed. + + + + Here is an example from the dbus + recipe: + + GROUPADD_PARAM_${PN} = "-r netdev" + + For information on the standard Linux shell command + groupadd, see + . + + + + + GROUPMEMS_PARAM + + + When a recipe inherits the + useradd class, this variable + specifies for a package what parameters should be passed + to the groupmems command + if you wish to modify the members of a group when the + package is installed. + + + + For information on the standard Linux shell command + groupmems, see + . + + + + + H @@ -6047,6 +6090,63 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3" + USERADD_PACKAGES + + + When a recipe inherits the + useradd class, this variable + specifies the individual packages within the recipe that + require users and/or groups to be added. + + + + You must set this variable if the recipe inherits the + class. + For example, the following enables adding a user for the + main package in a recipe: + + USERADD_PACKAGES = "${PN}" + + + If follows that if you are going to use the + USERADD_PACKAGES variable, + you need to set one or more of the + USERADD_PARAM, + GROUPADD_PARAM, + or + GROUPMEMS_PARAM + variables. + + + + + + + USERADD_PARAM + + + When a recipe inherits the + useradd class, this variable + specifies for a package what parameters should be passed + to the useradd command + if you wish to add a user to the system when the package + is installed. + + + + Here is an example from the dbus + recipe: + + USERADD_PARAM_${PN} = "--system --home ${localstatedir}/lib/dbus \ + --no-create-home --shell /bin/false \ + --user-group messagebus" + + For information on the standard Linux shell command + useradd, see + . + + + From 18c59735d7731aa3f3d54c4d6355dff8c95a287f Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Fri, 22 Nov 2013 12:37:08 -0800 Subject: [PATCH 114/658] dev-manual: Re-ordered sections for customizing an image. The four sub-sections describing how to customize an image seemed to be backwards as they progressed from most complex to easiest. I switched up the order and provided better transitional introductory wording for the four sub-sections. Reported-by: Robert P. J. Day (From yocto-docs rev: ebce74fde98fb3d3b74ed476288e482e87c83461) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- .../dev-manual/dev-manual-common-tasks.xml | 249 +++++++++--------- 1 file changed, 129 insertions(+), 120 deletions(-) diff --git a/documentation/dev-manual/dev-manual-common-tasks.xml b/documentation/dev-manual/dev-manual-common-tasks.xml index cd2808dfcf1..02e77e8dd60 100644 --- a/documentation/dev-manual/dev-manual-common-tasks.xml +++ b/documentation/dev-manual/dev-manual-common-tasks.xml @@ -887,105 +887,68 @@ This section describes several methods and provides guidelines for each. -
- Customizing Images Using Custom .bb Files +
+ Customizing Images Using <filename>local.conf</filename> - One way to customize an image is to create a custom recipe - that defines additional software as part of the image. - The following example shows the form for the two lines you need: - - IMAGE_INSTALL = "packagegroup-core-x11-base package1 package2" - - inherit core-image - + Probably the easiest way to customize an image is to add a + package by way of the local.conf + configuration file. + Because it is limited to local use, this method generally only + allows you to add packages and is not as flexible as creating + your own customized image. + When you add packages using local variables this way, you need + to realize that these variable changes affect all images at + the same time and might not be what you require. - Defining the software using a custom recipe gives you total - control over the contents of the image. - It is important to use the correct names of packages in the + To add a package to your image using the local configuration + file, use the IMAGE_INSTALL - variable. - You must use the OpenEmbedded notation and not the Debian notation for the names - (e.g. eglibc-dev instead of libc6-dev). - - - - The other method for creating a custom image is to base it on an existing image. - For example, if you want to create an image based on core-image-sato - but add the additional package strace to the image, - copy the meta/recipes-sato/images/core-image-sato.bb to a - new .bb and add the following line to the end of the copy: + variable with the _append operator: - IMAGE_INSTALL += "strace" + IMAGE_INSTALL_append = " strace" + Use of the syntax is important - specifically, the space between + the quote and the package name, which is + strace in this example. + This space is required since the _append + operator does not add the space. -
-
- Customizing Images Using Custom Package Groups + + Furthermore, you must use _append instead + of the += operator if you want to avoid + ordering issues. + The reason for this is because doing so unconditionally appends + to the variable and avoids ordering problems due to the + variable being set in image recipes and + .bbclass files with operators like + ?=. + Using _append ensures the operation takes + affect. + - For complex custom images, the best approach is to create a - custom package group recipe that is used to build the image or - images. - A good example of a package group recipe is - meta/recipes-core/packagegroups/packagegroup-core-boot.bb. - The - PACKAGES - variable lists the package group packages you wish to produce. - inherit packagegroup sets appropriate - default values and automatically adds -dev, - -dbg, and -ptest - complementary packages for every package specified in - PACKAGES. - Note that the inherit line should be towards - the top of the recipe, certainly before you set - PACKAGES. - For each package you specify in PACKAGES, - you can use - RDEPENDS - and - RRECOMMENDS - entries to provide a list of packages the parent task package - should contain. - Following is an example: + As shown in its simplest use, + IMAGE_INSTALL_append affects all images. + It is possible to extend the syntax so that the variable + applies to a specific image only. + Here is an example: - DESCRIPTION = "My Custom Package Groups" - - inherit packagegroup - - PACKAGES = "\ - packagegroup-custom-apps \ - packagegroup-custom-tools \ - " - - RDEPENDS_packagegroup-custom-apps = "\ - dropbear \ - portmap \ - psplash" - - RDEPENDS_packagegroup-custom-tools = "\ - oprofile \ - oprofileui-server \ - lttng-control \ - lttng-viewer" - - RRECOMMENDS_packagegroup-custom-tools = "\ - kernel-module-oprofile" + IMAGE_INSTALL_append_pn-core-image-minimal = " strace" + This example adds strace to + core-image-minimal only. - In the previous example, two package group packages are created with their dependencies and their - recommended package dependencies listed: packagegroup-custom-apps, and - packagegroup-custom-tools. - To build an image using these package group packages, you need to add - packagegroup-custom-apps and/or - packagegroup-custom-tools to - IMAGE_INSTALL. - For other forms of image dependencies see the other areas of this section. + You can add packages using a similar approach through the + CORE_IMAGE_EXTRA_INSTALL + variable. + If you use this variable, only + core-image-* images are affected.
@@ -994,8 +957,8 @@ EXTRA_IMAGE_FEATURES - You might want to customize your image by enabling or - disabling high-level image features by using the + Another method for customizing your image is to enable or + disable high-level image features by using the IMAGE_FEATURES and EXTRA_IMAGE_FEATURES variables. @@ -1070,59 +1033,105 @@
-
- Customizing Images Using <filename>local.conf</filename> +
+ Customizing Images Using Custom .bb Files - It is possible to customize image contents by using variables from your - local configuration in your conf/local.conf file. - Because it is limited to local use, this method generally only allows you to - add packages and is not as flexible as creating your own customized image. - When you add packages using local variables this way, you need to realize that - these variable changes affect all images at the same time and might not be - what you require. + You can also customize an image by creating a custom recipe + that defines additional software as part of the image. + The following example shows the form for the two lines you need: + + IMAGE_INSTALL = "packagegroup-core-x11-base package1 package2" + + inherit core-image + - The simplest way to add extra packages to all images is by using the + Defining the software using a custom recipe gives you total + control over the contents of the image. + It is important to use the correct names of packages in the IMAGE_INSTALL - variable with the _append operator: - - IMAGE_INSTALL_append = " strace" - - Use of the syntax is important - specifically, the space between - the quote and the package name, which is - strace in this example. - This space is required since the _append - operator does not add the space. + variable. + You must use the OpenEmbedded notation and not the Debian notation for the names + (e.g. eglibc-dev instead of libc6-dev). - Furthermore, you must use _append instead of the += - operator if you want to avoid ordering issues. - The reason for this is because doing so unconditionally appends to the variable and - avoids ordering problems due to the variable being set in image recipes and - .bbclass files with operators like ?=. - Using _append ensures the operation takes affect. + The other method for creating a custom image is to base it on an existing image. + For example, if you want to create an image based on core-image-sato + but add the additional package strace to the image, + copy the meta/recipes-sato/images/core-image-sato.bb to a + new .bb and add the following line to the end of the copy: + + IMAGE_INSTALL += "strace" + +
+ +
+ Customizing Images Using Custom Package Groups - As shown in its simplest use, IMAGE_INSTALL_append affects - all images. - It is possible to extend the syntax so that the variable applies to a specific image only. - Here is an example: + For complex custom images, the best approach for customizing + an image is to create a custom package group recipe that is + used to build the image or images. + A good example of a package group recipe is + meta/recipes-core/packagegroups/packagegroup-core-boot.bb. + The + PACKAGES + variable lists the package group packages you wish to produce. + inherit packagegroup sets appropriate + default values and automatically adds -dev, + -dbg, and -ptest + complementary packages for every package specified in + PACKAGES. + Note that the inherit line should be towards + the top of the recipe, certainly before you set + PACKAGES. + For each package you specify in PACKAGES, + you can use + RDEPENDS + and + RRECOMMENDS + entries to provide a list of packages the parent task package + should contain. + Following is an example: - IMAGE_INSTALL_append_pn-core-image-minimal = " strace" + DESCRIPTION = "My Custom Package Groups" + + inherit packagegroup + + PACKAGES = "\ + packagegroup-custom-apps \ + packagegroup-custom-tools \ + " + + RDEPENDS_packagegroup-custom-apps = "\ + dropbear \ + portmap \ + psplash" + + RDEPENDS_packagegroup-custom-tools = "\ + oprofile \ + oprofileui-server \ + lttng-control \ + lttng-viewer" + + RRECOMMENDS_packagegroup-custom-tools = "\ + kernel-module-oprofile" - This example adds strace to core-image-minimal - only. - You can add packages using a similar approach through the - CORE_IMAGE_EXTRA_INSTALL - variable. - If you use this variable, only core-image-* images are affected. + In the previous example, two package group packages are created with their dependencies and their + recommended package dependencies listed: packagegroup-custom-apps, and + packagegroup-custom-tools. + To build an image using these package group packages, you need to add + packagegroup-custom-apps and/or + packagegroup-custom-tools to + IMAGE_INSTALL. + For other forms of image dependencies see the other areas of this section.
From 21ea9bced3810ebbaf5eca6021f708268d83ec02 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Mon, 25 Nov 2013 06:28:36 -0800 Subject: [PATCH 115/658] dev-manual: Re-worded menuconfig preparation Rather than saying menuconfig is "built", I changed the text to say it is "run." Reported-by: Robert P. J. Day (From yocto-docs rev: f95b945787c84edb532c24886cdd44f1bc8bd98a) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/dev-manual/dev-manual-common-tasks.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/documentation/dev-manual/dev-manual-common-tasks.xml b/documentation/dev-manual/dev-manual-common-tasks.xml index 02e77e8dd60..b533e0d281b 100644 --- a/documentation/dev-manual/dev-manual-common-tasks.xml +++ b/documentation/dev-manual/dev-manual-common-tasks.xml @@ -2691,14 +2691,14 @@ the details. To use the menuconfig tool in the Yocto Project development - environment, you must build the tool using BitBake. + environment, you must launch it using BitBake. Thus, the environment must be set up using the &OE_INIT_FILE; or oe-init-build-env-memres script found in the Build Directory. - The following commands build and invoke menuconfig assuming the + The following commands run menuconfig assuming the Source Directory top-level folder is ~/poky: @@ -2720,7 +2720,7 @@ the details. Thus, the following commands from the shell in which you previously sourced the environment initialization script cleans the shared state cache and the WORKDIR - directory and then builds and launches menuconfig: + directory and then runs menuconfig: $ bitbake linux-yocto -c menuconfig From 8995214e4705e5ef09721ae3a3878ce2414da97b Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Mon, 25 Nov 2013 06:43:38 -0800 Subject: [PATCH 116/658] dev-manual: Added note about naming your distribution Added a small note in the section where you create your own distribution to be clear about where the name is set. Reported-by: Robert P. J. Day (From yocto-docs rev: f08fef284cb57cfc982b1fd3b4ca1b6fe5b883cb) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/dev-manual/dev-manual-common-tasks.xml | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/documentation/dev-manual/dev-manual-common-tasks.xml b/documentation/dev-manual/dev-manual-common-tasks.xml index b533e0d281b..67d3ee2f233 100644 --- a/documentation/dev-manual/dev-manual-common-tasks.xml +++ b/documentation/dev-manual/dev-manual-common-tasks.xml @@ -3283,7 +3283,14 @@ the details. the conf/distro directory of your layer. You need to name it using your distribution name - (e.g. mydistro.conf). + (e.g. mydistro.conf). + + The + DISTRO + variable in your + local.conf file determines the + name of your distribution. +
You can split out parts of your configuration file into include files and then "require" them from within your distribution configuration file. From cd64633f9407dc706563290cba235243be344970 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Mon, 25 Nov 2013 07:18:54 -0800 Subject: [PATCH 117/658] dev-manual: Changed wording of BBMASK example I changed the intro text for this one-line example so that it would not imply that the example is the only syntax that can get the job done. Reported-by: Robert P. J. Day (From yocto-docs rev: 40cabe53187a94256c8f2c50598610668ea4de77) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/dev-manual/dev-manual-common-tasks.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/dev-manual/dev-manual-common-tasks.xml b/documentation/dev-manual/dev-manual-common-tasks.xml index 67d3ee2f233..e7bebefb639 100644 --- a/documentation/dev-manual/dev-manual-common-tasks.xml +++ b/documentation/dev-manual/dev-manual-common-tasks.xml @@ -5102,7 +5102,7 @@ the details. .bbappend files. You can do this by providing an expression with the BBMASK variable. - Here is an example: + Here is one example: BBMASK = "/meta-mymachine/recipes-maybe/" From c2db7f4cb973c5f1ae80f76e84077918ca4606ee Mon Sep 17 00:00:00 2001 From: "Robert P. J. Day" Date: Mon, 25 Nov 2013 10:53:48 -0800 Subject: [PATCH 118/658] dev-manual: Documentation: More minor tweaks to dev manual for clarity i'm still looking at the dev manual for more changes but those would be more substantive changes, so i'll pass along just this collection of minor stuff. (From yocto-docs rev: 3ea3fd4625c571f8cf20e32e6edc03ba1e517e94) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- .../dev-manual/dev-manual-common-tasks.xml | 30 +++++++++---------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/documentation/dev-manual/dev-manual-common-tasks.xml b/documentation/dev-manual/dev-manual-common-tasks.xml index e7bebefb639..4223bb118b2 100644 --- a/documentation/dev-manual/dev-manual-common-tasks.xml +++ b/documentation/dev-manual/dev-manual-common-tasks.xml @@ -2868,7 +2868,7 @@ the details. .config file. Configuration items that appear twice in the same configuration fragment. - Configuration items tagged as "required" were overridden. + Configuration items tagged as "required" that were overridden. A board overrides a non-board specific option. Listed options not valid for the kernel being processed. @@ -2972,8 +2972,8 @@ the details. The first step is to create a layer so you can isolate your changes: - $cd ~/poky - $mkdir meta-mylayer + $ cd ~/poky + $ mkdir meta-mylayer Creating a directory that follows the Yocto Project layer naming conventions sets up the layer for your changes. @@ -3040,7 +3040,7 @@ the details. Edit the init/calibrate.c file to have the following changes: - void __cpuinit calibrate_delay(void) + void calibrate_delay(void) { unsigned long lpj; static bool printed; @@ -3406,12 +3406,12 @@ the details. The following list presents the overall steps you need to consider and perform to create distributions with smaller - root filesystems, faster boot times, maintain your critical + root filesystems, achieve faster boot times, maintain your critical functionality, and avoid initial RAM disks: Determine your goals and guiding principles. - Understand what gives your image size. + Understand what contributes to your image size. Reduce the size of the root filesystem. @@ -3457,7 +3457,7 @@ the details.
- Understand What Gives Your Image Size + Understand What Contributes to Your Image Size It is easiest to have something to start with when creating @@ -3485,7 +3485,7 @@ the details. Memory consists of static, dynamic, and temporary memory. Static memory is the TEXT (code), DATA (initialized data in the code), and BSS (uninitialized data) sections. - Dynamic memory contains memory that is allocated at runtime, + Dynamic memory represents memory that is allocated at runtime: stacks, hash tables, and so forth. Temporary memory is recovered after the boot process. This memory consists of memory used for decompressing @@ -3561,8 +3561,8 @@ the details. You can apply a filter to the script to ignore files under a certain size. - This example filters out anything below 100 Kbytes. - The sizes reported by the tool are uncompressed and thus, + The previous example filters out any files below 100 Kbytes. + The sizes reported by the tool are uncompressed, and thus will be smaller by a relatively constant factor in a compressed root filesystem. When you examine your log file, you can focus on areas of the @@ -3592,7 +3592,7 @@ the details. - Use the local.conf file to make changes. + Use your local.conf file to make changes. For example, to eliminate udev and glib, set the following in the local configuration file: @@ -3611,7 +3611,7 @@ the details. using initramfs. Be aware that ext3 requires a 1 Mbyte journal. - If you are okay with running read-only you do not need this + If you are okay with running read-only, you do not need this journal. @@ -3632,7 +3632,7 @@ the details. aspects. What subsystems do you enable? For what architecture are you building? - Which drivers do you build by default. + Which drivers do you build by default? You can modify the kernel source if you want to help with boot time. @@ -3651,7 +3651,7 @@ the details. taken up with the built-in .o files for drivers, networking, core kernel files, filesystem, sound, and so forth. - The sizes reported by the tool are uncompressed and thus, + The sizes reported by the tool are uncompressed, and thus will be smaller by a relatively constant factor in a compressed kernel image. Look to reduce the areas that are large and taking up around @@ -5162,7 +5162,7 @@ the details. Supporting a read-only root filesystem requires that the system and applications do not try to write to the root filesystem. You must configure all parts of the target system to write - elsewhere, or to gracefully fail in the event of failing to + elsewhere, or to gracefully fail in the event of attempting to write to the root filesystem. From 0ba27b42a8e623318ea472a866d27696da77e626 Mon Sep 17 00:00:00 2001 From: "Robert P. J. Day" Date: Mon, 25 Nov 2013 11:11:00 -0800 Subject: [PATCH 119/658] dev-manual: Add a reference to poky-bleeding distro As an actual example of using AUTOREV, refer the reader to the Yocto-supplied poky-bleeding distribution. Also cleaned up some wording and added a Caution statement about the distro not being regularly tested - Scott (From yocto-docs rev: 41e9c7d08ecf688c72e7ecac16a6bf030147061d) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- .../dev-manual/dev-manual-common-tasks.xml | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/documentation/dev-manual/dev-manual-common-tasks.xml b/documentation/dev-manual/dev-manual-common-tasks.xml index 4223bb118b2..b576852a7fb 100644 --- a/documentation/dev-manual/dev-manual-common-tasks.xml +++ b/documentation/dev-manual/dev-manual-common-tasks.xml @@ -5143,6 +5143,45 @@ the details. is the name of the recipe for which you want to enable automatic source revision updating. + + + In fact, the Yocto Project provides a distribution named + poky-bleeding, whose configuration + file contains the line: + + require conf/distro/include/poky-floating-revisions.inc + + This line pulls in the listed include file that contains + numerous lines of exactly that form: + + SRCREV_pn-gconf-dbus ?= "${AUTOREV}" + SRCREV_pn-matchbox-common ?= "${AUTOREV}" + SRCREV_pn-matchbox-config-gtk ?= "${AUTOREV}" + SRCREV_pn-matchbox-desktop ?= "${AUTOREV}" + SRCREV_pn-matchbox-keyboard ?= "${AUTOREV}" + SRCREV_pn-matchbox-panel ?= "${AUTOREV}" + SRCREV_pn-matchbox-panel-2 ?= "${AUTOREV}" + SRCREV_pn-matchbox-themes-extra ?= "${AUTOREV}" + SRCREV_pn-matchbox-terminal ?= "${AUTOREV}" + SRCREV_pn-matchbox-wm ?= "${AUTOREV}" + SRCREV_pn-matchbox-wm-2 ?= "${AUTOREV}" + SRCREV_pn-settings-daemon ?= "${AUTOREV}" + SRCREV_pn-screenshot ?= "${AUTOREV}" + SRCREV_pn-libfakekey ?= "${AUTOREV}" + SRCREV_pn-oprofileui ?= "${AUTOREV}" + . + . + . + + These lines allow you to experiment with building a + distribution that tracks the latest development source + for numerous packages. + Caution + The poky-bleeding distribution + is not tested on a regular basis. + Keep this in mind if you use it. + +
From 579dce423390084452d9121628bfedeff3bb2555 Mon Sep 17 00:00:00 2001 From: "Robert P. J. Day" Date: Mon, 25 Nov 2013 11:18:21 -0800 Subject: [PATCH 120/658] dev-manual: ksize.py and dirsize.py live in scripts/tiny (From yocto-docs rev: e222eb4b509772c1f5f493a22920e5fe4f5efad6) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/dev-manual/dev-manual-common-tasks.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/dev-manual/dev-manual-common-tasks.xml b/documentation/dev-manual/dev-manual-common-tasks.xml index b576852a7fb..e7b9032c5af 100644 --- a/documentation/dev-manual/dev-manual-common-tasks.xml +++ b/documentation/dev-manual/dev-manual-common-tasks.xml @@ -3497,7 +3497,7 @@ the details. To help you see where you currently are with kernel and root filesystem sizes, you can use two tools found in the Source Directory in - the scripts directory: + the scripts/tiny/ directory: ksize.py: Reports component sizes for the kernel build objects. From 71619842de5b034ee37eac1fba9dc19090141dae Mon Sep 17 00:00:00 2001 From: Trevor Woerner Date: Mon, 25 Nov 2013 11:35:58 -0800 Subject: [PATCH 121/658] ref-manual: add usage NOTE to IMAGE_FSTYPES Due to the way in which IMAGE_FSTYPES is processed, it is not possible to modify it using _append or _prepend. Therefore add a note to the manual to warn users in case they stumble on this issue. (From yocto-docs rev: 304e196329842d04356775fb8ad5d73466413e66) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-variables.xml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/documentation/ref-manual/ref-variables.xml b/documentation/ref-manual/ref-variables.xml index fb337913ca1..67ea422618c 100644 --- a/documentation/ref-manual/ref-variables.xml +++ b/documentation/ref-manual/ref-variables.xml @@ -2199,6 +2199,15 @@ you can choose, see IMAGE_TYPES. + + + Due to the way this variable is processed, it is not + possible to update its contents using + _append or + _prepend. To add one or more + additional options to this variable the + += operator must be used. + From 4f7fea8ccb5bb12adb7609eba8f840bc009b95e6 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Tue, 26 Nov 2013 07:11:49 -0800 Subject: [PATCH 122/658] ref-manual: Updated the introduction text for Classes chapter. (From yocto-docs rev: fbaae0f02856d58592be1b54117463245e527897) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 43 +++++++++++++----------- 1 file changed, 23 insertions(+), 20 deletions(-) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index 27edfde33df..e65004f8ff3 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -6,36 +6,39 @@ Classes - Class files are used to abstract common functionality and share it amongst multiple - .bb files. + Class files are used to abstract common functionality and share it amongst + multiple recipe (.bb) files. + To use a class file, you simply make sure the recipe inherits the class. + In most cases, when a recipe inherits a class it is enough to enable its + features. + There are cases, however, where in the recipe you might need to set + variables or override some default behavior. + + + Any Metadata usually - found in a .bb file can also be placed in a class - file. - Class files are identified by the extension .bbclass and are usually placed - in a classes/ directory beneath the - meta*/ directory found in the + found in a recipe can also be placed in a class file. + Class files are identified by the extension .bbclass + and are usually placed in a classes/ directory beneath + the meta*/ directory found in the Source Directory. Class files can also be pointed to by BUILDDIR (e.g. build/) in the same way as .conf files in the conf directory. - Class files are searched for in BBPATH - using the same method by which .conf files are searched. - - - - In most cases inheriting the class is enough to enable its features, although - for some classes you might need to set variables or override some of the - default behavior. + Class files are searched for in + BBPATH + using the same method by which .conf files are + searched. This chapter discusses only the most useful and important classes. - Other classes do exist within the meta/classes - directory in the - Source Directory. - You can reference the .bbclass files directly - for more information. + Other classes do exist within the meta/classes + directory in the + Source Directory. + You can reference the .bbclass files directly + for more information.
From a38ebf38abcda7d4cd605528f0434dd17abce029 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Tue, 26 Nov 2013 07:42:32 -0800 Subject: [PATCH 123/658] ref-manual: Added allarch class description. (From yocto-docs rev: 956c4343869f632b9383a4082303e5660e59648b) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index e65004f8ff3..b3befc30371 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -41,6 +41,30 @@ for more information. +
+ <filename>allarch.bbclass</filename> + + + The all architecture (allarch) class is inherited + by recipes that do not produce architecture-specific output. + The class disables functionality that is normally needed for recipes + that produce executable binaries (such as building the cross-compiler + and a C library as pre-requisites, and splitting out of debug symbols + during packaging). + + + + By default, all recipes inherit the + base and + package + classes, which enable functionality + needed for recipes that produce executable output. + If your recipe, for example, only produces packages that contain + configuration files, media files, or scripts (e.g. Python and Perl), + then it should inherit the allarch class. + +
+
The base Class - <filename>base.bbclass</filename> From b357a60eaf0744b0d645da1127c12f902e36d061 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Tue, 26 Nov 2013 07:44:28 -0800 Subject: [PATCH 124/658] ref-manual: Removed archive* type classes from the undocumented list. (From yocto-docs rev: 3c0c93d0af6af5982f655fb8831c0ea529570c67) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 1 - 1 file changed, 1 deletion(-) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index b3befc30371..4132758c5ec 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -1021,7 +1021,6 @@ K - L + L M O @@ -203,6 +203,21 @@ + APPEND + + + An override list of append strings for each + LABEL. + + + + See the + grub-efi + class for more information on how this variable is used. + + + + AUTHOR The email address used to contact the original author @@ -2139,6 +2154,57 @@ + GRUB_GFXSERIAL + + + Configures the GNU GRand Unified Bootloader (GRUB) to have + graphics and serial in the boot menu. + Set this variable to "1" to enable both in the menu. + + + + See the + grub-efi + class for more information on how this variable is used. + + + + + GRUB_OPTS + + + Additional options to add to the GNU GRand Unified + Bootloader (GRUB) configuration. + Use a semi-colon character (;) to + separate multiple options. + + + + The GRUB_OPTS variable is optional. + See the + grub-efi + class for more information on how this variable is used. + + + + + GRUB_TIMEOUT + + + Specifies the timeout before executing the default + LABEL in the GNU GRand Unified + Bootloader (GRUB). + + + + The GRUB_TIMEOUT variable is optional. + See the + grub-efi + class for more information on how this variable is used. + + + + H @@ -3129,6 +3195,20 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3" L + LABELS + + + Provides a list of targets for automatic configuration. + + + + See the + grub-efi + class for more information on how this variable is used. + + + + LAYERDEPENDS Lists the layers that this recipe depends upon, separated by spaces. From e8b0fd068e62b5b2d2a6c8ff75d8f313f7a33986 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Mon, 2 Dec 2013 07:26:42 -0600 Subject: [PATCH 158/658] ref-manual: Added gsettings class. (From yocto-docs rev: 7322722d67ea3c29f9ea62ee062344fd6d930e68) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index 37d0b155866..9cb742fc7be 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -705,6 +705,20 @@
+
+ <filename>gsettings.bbclass</filename> + + + The GSettings (gsettings) class + provides common functionality for recipes that need to install + GSettings (glib) schemas. + The schemas are assumed to be part of the main package. + Appropriate post-installation and post-remove (postinst/postrm) + scriptlets are added to register and unregister the schemas in the + target image. + +
+
<filename>gtk-icon-cache.bbclass</filename> From 881b9ab252f9f73f5dffaf274a715d94210d38a8 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Mon, 2 Dec 2013 07:33:07 -0600 Subject: [PATCH 159/658] ref-manual: Added gtk-doc class. (From yocto-docs rev: 075a9afac196d129eaec8bed4e6bb3ebfb5fe9f7) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index 9cb742fc7be..0ec878edabb 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -719,6 +719,17 @@
+
+ <filename>gtk-doc.bbclass</filename> + + + The GIMP Toolkit Documentation (gtk-doc) class + is a helper class to pull in the appropriate + gtk-doc dependencies and disable + gtk-doc. + +
+
<filename>gtk-icon-cache.bbclass</filename> From 5a5833a4373063e030dd17ee80b29ed44adfa62e Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Mon, 2 Dec 2013 07:38:45 -0600 Subject: [PATCH 160/658] ref-manual: Added gtk-icon-cache class. (From yocto-docs rev: c19238e50847518695ae6e46d63e353757059495) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index 0ec878edabb..98084f9d5ea 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -734,7 +734,15 @@ <filename>gtk-icon-cache.bbclass</filename> - The GNOME (gtk-icon-cache) class + The GIMP Toolkit icon cache (gtk-icon-cache) class + Generates the proper post-install and post-remove (postinst/postrm) + scriptlets for packages that use GTK+ and install icons. + These scriptlets call gtk-update-icon-cache to add + the fonts to GTK+'s icon cache. + Since the cache files are architecture-specific, + gtk-update-icon-cache is run using QEMU if the + postinst scriptlets need to be run on the build host during image + creation.
From 312682c59fa703729650530e32ae8281551b3f1e Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Mon, 2 Dec 2013 08:02:38 -0600 Subject: [PATCH 161/658] ref-manual: Added the gtk-immodules-cache class and GTKIMMODULES_PACKAGES variable. (From yocto-docs rev: 2c5476591e932951ed77c0b09265610cd102e2c7) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 25 ++++++++++++++++++++++ documentation/ref-manual/ref-variables.xml | 16 ++++++++++++++ 2 files changed, 41 insertions(+) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index 98084f9d5ea..77ac7a95017 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -746,6 +746,31 @@
+
+ <filename>gtk-immodules-cache.bbclass</filename> + + + The GIMP Toolkit input method modules + (gtk-immodules-cache) class + generates the proper post-install and post-remove (postinst/postrm) + scriptlets for packages that install GTK+ input method modules for + virtual keyboards. + These scriptlets call gtk-update-icon-cache to add + the input method modules to the cache. + Since the cache files are architecture-specific, + gtk-update-icon-cache is run using QEMU if the + postinst scriptlets need to be run on the build host during image + creation. + + + + If the input method modules being installed are in packages other than + the main package, set + GTKIMMODULES_PACKAGES + to include the packages containing the modules. + +
+
<filename>mime.bbclass</filename> diff --git a/documentation/ref-manual/ref-variables.xml b/documentation/ref-manual/ref-variables.xml index f2ff49483cd..2ebf88a4fde 100644 --- a/documentation/ref-manual/ref-variables.xml +++ b/documentation/ref-manual/ref-variables.xml @@ -2205,6 +2205,22 @@ + GTKIMMODULES_PACKAGES + + + Includes the packages that contain the GIMP Toolkit input + method modules being installed when the modules are in + packages other than the main package. + + + + See the + gtk-immodules-cache + class for more information on how this variable is used. + + + + H From edfdc96aeacafbf95d40f793988f635d5141ba61 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Mon, 2 Dec 2013 08:11:00 -0600 Subject: [PATCH 162/658] ref-manual: Added gzipnative class. (From yocto-docs rev: 431572a20e8175dc513daedb5f28efe8291a6606) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index 77ac7a95017..e9ebd89700b 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -771,6 +771,16 @@
+
+ <filename>gzipnative.bbclass</filename> + + + The gzip native (gzipnative) + class enables the use of native versions of gzip + and pigz rather than the system versions. + +
+
<filename>mime.bbclass</filename> From c294f6761146cd33f83041c864ad8ec83da2f8fd Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Mon, 2 Dec 2013 08:15:44 -0600 Subject: [PATCH 163/658] ref-manual: Edits to the GRUB_GFXSERIAL variable. Told where to set this variable. (From yocto-docs rev: 6984f3ea58479e855762d0ab2e1d68f3e0759655) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-variables.xml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/documentation/ref-manual/ref-variables.xml b/documentation/ref-manual/ref-variables.xml index 2ebf88a4fde..995d9f2d140 100644 --- a/documentation/ref-manual/ref-variables.xml +++ b/documentation/ref-manual/ref-variables.xml @@ -2159,7 +2159,10 @@ Configures the GNU GRand Unified Bootloader (GRUB) to have graphics and serial in the boot menu. - Set this variable to "1" to enable both in the menu. + Set this variable to "1" in your + local.conf or distribution + configuration file to enable graphics and serial + in the menu. From 2ee060691e7651b9eca4292375dd967fde6fb292 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Mon, 2 Dec 2013 13:42:35 -0600 Subject: [PATCH 164/658] ref-manual: Added icecc class and several ICECC_* variables. New variables added for: ICECC_CC ICECC_CXX ICECC_ENV_EXEC ICECC_PATH ICECC_USER_CLASS_BL ICECC_USER_PACKAGE_BL ICECC_USER_PACKAGE_WL ICECC_VERSION (From yocto-docs rev: 89ae30f5351cf26926f2a53c42163dd3418e05c3) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 72 ++++++++++ documentation/ref-manual/ref-variables.xml | 147 +++++++++++++++++++++ 2 files changed, 219 insertions(+) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index e9ebd89700b..1be7dd5c9b1 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -781,6 +781,78 @@
+
+ <filename>icecc.bbclass</filename> + + + The Icecream distributed compile support (icecc) + class stages directories with symlinks from + gcc and g++ to + icecc, for both native and cross compilers. + Depending on each configure or compile, the OpenEmbedded build system + adds the directories at the head of the PATH list + and then sets + ICECC_CXX + and + ICEC_CC. + + + + For the cross compiler, the class creates a tar.gz + file that contains the Yocto Project toolchain and sets + ICECC_VERSION + accordingly. + + + + The class handles all three different compile stages + (i.e native ,cross-kernel and target) and creates the necessary + environment tar.gz file to be used by the remote + machines. + The class also supports SDK generation. + + + + If ICECC_PATH + is not set in your local.conf file, then the + class tries to locate it using which. + + If + ICECC_ENV_EXEC + is set in your local.conf file, the variable should + point to the icecc-create-env script provided by + the user. + If you do not point to a user-provided script, the build system + uses the default script provided by the recipe + icecc-create-env.bb. + + This script is a modified version and not the one that comes with + icecc. + + + + + If you do not want the Icecream distributed compile support to apply + to specific packages or classes, you can effectively "blacklist" them + by listing the packages and classes using the + ICECC_USER_PACKAGE_BL + and + ICECC_USER_CLASS_BL, + variables, respectively, in your local.conf file. + Doing so causes the OpenEmbedded build system to handle these + compilations locally. + + + + Additionally, you can list packages using the + ICECC_USER_PACKAGE_WL + variable in your local.conf file to force + icecc to be enabled for packages using an empty + PARALLEL_MAKE + variable. + +
+
<filename>mime.bbclass</filename> diff --git a/documentation/ref-manual/ref-variables.xml b/documentation/ref-manual/ref-variables.xml index 995d9f2d140..35f7b919b8f 100644 --- a/documentation/ref-manual/ref-variables.xml +++ b/documentation/ref-manual/ref-variables.xml @@ -2267,6 +2267,153 @@ I + ICECC_CC + + + The path to the GNU C compiler gcc. + This variable is used by the + icecc + class. + You do not set this variable by hand. + + + + When the location for the GNU C compiler is not a + symbolic link, the class sets the variable to the location + of the compiler. + + + + + ICECC_CXX + + + The path to the GNU C++ compiler g++. + This variable is used by the + icecc + class. + You do not set this variable by hand. + + + + When the location for the GNU C++ compiler is not a + symbolic link, the class sets the variable to the location + of the compiler. + + + + + ICECC_ENV_EXEC + + + Points to the icecc-create-env script + that you provide. + This variable is used by the + icecc + class. + You set this variable in your + local.conf file. + + + + If you do not point to a script that you provide, the + OpenEmbedded build system uses the default script provided + by the icecc-create-env.bb recipe, + which is a modified version and not the one that comes with + icecc. + + + + + ICECC_PATH + + + The location of the icecc binary. + You can set this variable in your + local.conf file. + If your local.conf file does not define + this variable, the + icecc + class attempts to define it by locating + icecc using which. + + + + + ICECC_USER_CLASS_BL + + + Identifies user classes that you do not want the + Icecream distributed compile support to consider. + This variable is used by the + icecc + class. + You set this variable in your + local.conf file. + + + + When you list classes using this variable, you are + "blacklisting" them from distributed compilation across + remote hosts. + Any classes you list will be distributed and compiled + locally. + + + + + ICECC_USER_PACKAGE_BL + + + Identifies user packages that you do not want the + Icecream distributed compile support to consider. + This variable is used by the + icecc + class. + You set this variable in your + local.conf file. + + + + When you list packages using this variable, you are + "blacklisting" them from distributed compilation across + remote hosts. + Any packages you list will be distributed and compiled + locally. + + + + + ICECC_USER_PACKAGE_WL + + + Identifies user packages that use an empty + PARALLEL_MAKE + variable that you want to force remote distributed + compilation on using the Icecream distributed compile + support. + This variable is used by the + icecc + class. + You set this variable in your + local.conf file. + + + + + ICECC_VERSION + + + The version of the cross-compiler used in the + cross-development toolchain. + This variable is used by the + icecc + class. + You do not set this variable by hand. + + + + IMAGE_BASENAME From d2907bf4f825d53363dbd65d6aa5b73d10b47f8d Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Mon, 2 Dec 2013 13:46:53 -0600 Subject: [PATCH 165/658] ref-manual: Placed the ICECC_CC variable as entry point for "I" variables. (From yocto-docs rev: e977266065c8645a4bfa73a72f047a9e40d4bbd2) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-variables.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/ref-manual/ref-variables.xml b/documentation/ref-manual/ref-variables.xml index 35f7b919b8f..70c3d1f4b9f 100644 --- a/documentation/ref-manual/ref-variables.xml +++ b/documentation/ref-manual/ref-variables.xml @@ -24,7 +24,7 @@ F G H - I + I K L From e492cb70f3cbeb5d17533647763bb4c8b8226cf9 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Mon, 2 Dec 2013 13:53:29 -0600 Subject: [PATCH 166/658] ref-manual: Removed image-empty.bbclass from undocumented list. (From yocto-docs rev: 55aeadaa89524dcb1ad0926703abc43758ca69b7) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 1 - 1 file changed, 1 deletion(-) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index 1be7dd5c9b1..eb9ef956f75 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -1695,7 +1695,6 @@ gtk-immodules-cache.bbclass gzipnative.bbclass icecc.bbclass - image-empty.bbclass image-live.bbclass image-vmdk.bbclass image-mklibs.bbclass From ee6ca90f1b92db2b8cd3079767fb35dfd5236447 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Mon, 2 Dec 2013 13:54:46 -0600 Subject: [PATCH 167/658] ref-manual: Added image-empty.bbclass to undocumented class list. I accidently removed this so had to add it back in. (From yocto-docs rev: c763a70118c20581176981f6380a427adb6b8a45) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index eb9ef956f75..1be7dd5c9b1 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -1695,6 +1695,7 @@ gtk-immodules-cache.bbclass gzipnative.bbclass icecc.bbclass + image-empty.bbclass image-live.bbclass image-vmdk.bbclass image-mklibs.bbclass From cc8f61cdf16eb4ed9facab21c176d7fc51880a9f Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Mon, 2 Dec 2013 14:20:30 -0600 Subject: [PATCH 168/658] ref-manual: Added image-live class and updated IMAGE_FSTYPES variable. Added a note to the existing IMAGE_FSTYPES variable based on using "live" as an image type. Need to be sure that appears before inherit line in the recipe. (From yocto-docs rev: 248ad730ad78c74c242d212c5a61c0cf83057f14) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 12 ++++++++++++ documentation/ref-manual/ref-variables.xml | 7 +++++++ 2 files changed, 19 insertions(+) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index 1be7dd5c9b1..5a75199387b 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -853,6 +853,18 @@
+
+ <filename>image-live.bbclass</filename> + + + The live image (image-live) class + supports building "live" images. + Normally, you do not use this class directly. + Instead, you add "live" to + IMAGE_FSTYPES. + +
+
<filename>mime.bbclass</filename> diff --git a/documentation/ref-manual/ref-variables.xml b/documentation/ref-manual/ref-variables.xml index 70c3d1f4b9f..aa0737e4989 100644 --- a/documentation/ref-manual/ref-variables.xml +++ b/documentation/ref-manual/ref-variables.xml @@ -2495,6 +2495,13 @@ IMAGE_TYPES. + + If you add "live" to IMAGE_FSTYPES + inside an image recipe, be sure that you do so prior to the + "inherit image" line of the recipe or the live image will + not build. + + Due to the way this variable is processed, it is not possible to update its contents using From fa5efc2dda369d16b20e15141f9a1dda16604649 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Mon, 2 Dec 2013 14:46:08 -0600 Subject: [PATCH 169/658] ref-manual: Added image-vmdk class. (From yocto-docs rev: 7f3212cc983d25db94db57c214dbe8d49ef4b912) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index 5a75199387b..05e0fa6ce34 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -865,6 +865,18 @@
+
+ <filename>image-vmdk.bbclass</filename> + + + The Virtual Machine Disk image (image-vmdk) class + supports building VMware VMDK images. + Normally, you do not use this class directly. + Instead, you add "vmdk" to + IMAGE_FSTYPES. + +
+
<filename>mime.bbclass</filename> From 5599505af7eb1c070dfae8a6235e2eeb4bdbfdd6 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Mon, 2 Dec 2013 15:02:13 -0600 Subject: [PATCH 170/658] ref-manual: Added image-mklibs and image-prelink classes. (From yocto-docs rev: ec9783ab26661167149be02b3e24c86154309b97) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 48 ++++++++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index 05e0fa6ce34..e3e6675100b 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -877,6 +877,54 @@
+
+ <filename>image-mklibs.bbclass</filename> + + + The make libraries (mklibs) class + enables the use of the mklibs utility during the + do_rootfs task, which optimizes the size of + libraries contained in the image. + + + + The + USER_CLASSES + variable enables this class. + By default, the class is enabled in the + local.conf.template in the + Source Directory + as follows: + + USER_CLASSES ?= "buildstats image-mklibs image-prelink" + + +
+ + +
<filename>mime.bbclass</filename> From 6ba27fa504f92d4a7e3e0eafcf43d74e20f5e746 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Mon, 2 Dec 2013 15:30:07 -0600 Subject: [PATCH 171/658] ref-manual: Added the image-swab class. (From yocto-docs rev: 8dfc65cf8911ac91fa0bc0a9aa8298f9e1328ec8) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index e3e6675100b..979e7344b08 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -925,6 +925,21 @@
+
+ <filename>image-swab.bbclass</filename> + + + The image Swabber (image-swab) class + enables the + Swabber + tool in order to detect and log accesses to the host system during + the OpenEmbedded build process. + + This class is currently unmaintained. + + +
+
<filename>mime.bbclass</filename> From 5f24d2459515dd10221aebffcf0d7266d2d6875a Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Mon, 2 Dec 2013 15:40:34 -0600 Subject: [PATCH 172/658] ref-manual: Added the image-types class. (From yocto-docs rev: 135ebbb8644525f3d85e128f510a650331623058) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 25 ++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index 979e7344b08..d65ac0b0bdd 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -940,6 +940,31 @@
+
+ <filename>image-types.bbclass</filename> + + + The image types (image-types) class defines all of + the standard image output types that you can enable through the + IMAGE_FSTYPES + variable. + You can use this class as a reference on how to add support for custom + image output types. + + + + By default, this class is enabled through the + IMAGE_CLASSES + variable in + image.bbclass. + If you define your own image types using a custom BitBake class and + then use IMAGE_CLASSES to enable it, the custom + class must either inherit image-types or + image-types must also appear in + IMAGE_CLASSES. + +
+
<filename>mime.bbclass</filename> From de42e04de72a4ab081cd0e0b3e8a0c2ed00ad66d Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Mon, 2 Dec 2013 15:47:00 -0600 Subject: [PATCH 173/658] ref-manual: Edits to image_types class. Noticed that this class file name is "image_types.bbclass" and not "image-types.bbclass". Fixed it. (From yocto-docs rev: 354aa820a13f2dcff32e8a24cbce477c3d6b54f6) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index d65ac0b0bdd..2cc962eeadc 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -940,11 +940,11 @@
-
- <filename>image-types.bbclass</filename> +
+ <filename>image_types.bbclass</filename> - The image types (image-types) class defines all of + The image types (image_types) class defines all of the standard image output types that you can enable through the IMAGE_FSTYPES variable. @@ -959,8 +959,8 @@ image.bbclass. If you define your own image types using a custom BitBake class and then use IMAGE_CLASSES to enable it, the custom - class must either inherit image-types or - image-types must also appear in + class must either inherit image_types or + image_types must also appear in IMAGE_CLASSES.
From e16bbd631d49a1547c25263b1de0b7f1b2b235d3 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Mon, 2 Dec 2013 15:55:14 -0600 Subject: [PATCH 174/658] ref-manual: Added the image_types_uboot class. (From yocto-docs rev: ebaacf429cec81b17440255e67e00711e6e65258) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index 2cc962eeadc..3da993f53a0 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -965,6 +965,15 @@
+
+ <filename>image_types_uboot.bbclass</filename> + + + The U-Boot image types (image_types_uboot) class + defines additional image types specifically for the U-Boot bootloader. + +
+
<filename>mime.bbclass</filename> From 7008903065d13373faf8d1f6d1c1c878930db5a3 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Mon, 2 Dec 2013 16:02:01 -0600 Subject: [PATCH 175/658] ref-manual: Added the insserve class. (From yocto-docs rev: 39e76367c5f5489209af7bb7cb040a621076fb06) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index 3da993f53a0..198bfe54704 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -974,6 +974,18 @@
+
+ <filename>insserve.bbclass</filename> + + + The insserve (insserve) class + uses the insserv utility to update the order of + symbolic links in /etc/rc?.d/ within an image + based on dependencies specified by LSB headers in the + init.d scripts themselves. + +
+
<filename>mime.bbclass</filename> From 2238d4a63f55721aad4557f862bd6c86a3e2c904 Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Tue, 3 Dec 2013 12:55:47 +0000 Subject: [PATCH 176/658] Revert "utils.bbclass: Fix override ordering for FILESPATH" This reverts commit 0bd63125c3b44a656e44f2a76cc5f832c9db4bbd. As discussed on the mailing list, this change changes layer layout in a stable branch which is unaccetable. The was accidentally backported and should not have been, this reverts it. Signed-off-by: Richard Purdie --- meta/classes/utils.bbclass | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/meta/classes/utils.bbclass b/meta/classes/utils.bbclass index 0a533afb1f6..d1f6563a0a2 100644 --- a/meta/classes/utils.bbclass +++ b/meta/classes/utils.bbclass @@ -307,11 +307,10 @@ def base_set_filespath(path, d): if extrapaths != "": path = extrapaths.split(":") + path # The ":" ensures we have an 'empty' override - overrides = (":" + (d.getVar("FILESOVERRIDES", True) or "")).split(":") - overrides.reverse() - for o in overrides: - for p in path: - if p != "": + overrides = ((d.getVar("FILESOVERRIDES", True) or "") + ":").split(":") + for p in path: + if p != "": + for o in overrides: filespath.append(os.path.join(p, o)) return ":".join(filespath) From 1c8c9f1e532ad29731feb4e63a3f74934105e69c Mon Sep 17 00:00:00 2001 From: Nicolas Dechesne Date: Thu, 31 Oct 2013 17:36:25 -0700 Subject: [PATCH 177/658] bitbake: fetch2/svn.py: use log instead of info to retrieve revision We have faced a corner case situation where the 'last changed revision' returned from svn info is wrong. It happens when the last revision is a directory move. e.g. if we assume that the svn repository at revA has root/x/y/z/foo/bar and it is moved to root/a/b/c/foo/bar in revB, then svn info 'last change revision' will return revA. As such when using AUTOREV, we are going to attempt to retrieve root/a/b/c/foo/bar (as per SRC_URI) but at revA when it did not exist. So this patch changes how we retrieve the latest revision and uses 'svn log --limit 1' which gives correct result in all tested cases. (Bitbake master rev: 17d8ef0b813a05c231e3dbe6e8bc82a4a9b1d2f8) (Bitbake rev: d14e532f07f31b99c55bec9d87470eb54251c8db) Signed-off-by: Nicolas Dechesne Signed-off-by: Richard Purdie --- bitbake/lib/bb/fetch2/svn.py | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/bitbake/lib/bb/fetch2/svn.py b/bitbake/lib/bb/fetch2/svn.py index 9a779d24487..123aa136eb9 100644 --- a/bitbake/lib/bb/fetch2/svn.py +++ b/bitbake/lib/bb/fetch2/svn.py @@ -27,6 +27,7 @@ import sys import logging import bb +import re from bb import data from bb.fetch2 import FetchMethod from bb.fetch2 import FetchError @@ -91,6 +92,8 @@ def _buildsvncommand(self, ud, d, command): if command == "info": svncmd = "%s info %s %s://%s/%s/" % (ud.basecmd, " ".join(options), proto, svnroot, ud.module) + elif command == "log1": + svncmd = "%s log --limit 1 %s %s://%s/%s/" % (ud.basecmd, " ".join(options), proto, svnroot, ud.module) else: suffix = "" if ud.revision: @@ -167,14 +170,13 @@ def _latest_revision(self, url, ud, d, name): """ Return the latest upstream revision number """ - bb.fetch2.check_network_access(d, self._buildsvncommand(ud, d, "info")) + bb.fetch2.check_network_access(d, self._buildsvncommand(ud, d, "log1")) - output = runfetchcmd("LANG=C LC_ALL=C " + self._buildsvncommand(ud, d, "info"), d, True) + output = runfetchcmd("LANG=C LC_ALL=C " + self._buildsvncommand(ud, d, "log1"), d, True) - revision = None - for line in output.splitlines(): - if "Last Changed Rev" in line: - revision = line.split(":")[1].strip() + # skip the first line, as per output of svn log + # then we expect the revision on the 2nd line + revision = re.search('^r([0-9]*)', output.splitlines()[1]).group(1) return revision From c5989a9e51b62b848449025d90a0bc8263b826e9 Mon Sep 17 00:00:00 2001 From: Volker Vogelhuber Date: Fri, 1 Nov 2013 17:53:09 +0000 Subject: [PATCH 178/658] bitbake: fetch/hg: Improve user/password handling Trying to use a server with username and password authentication within the URL of the SRC_URI variable doesn't appear to work. This patch adds the missing parts to the hg fetcher to make this work properly. (Bitbake master rev: dc3d6d73e44802c203b3f7247f6f212acc2f69bf) (Bitbake rev: 76b50d0d72c4e2b03fc53fade255e87c1922e88d) Signed-off-by: Richard Purdie --- bitbake/lib/bb/fetch2/hg.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/bitbake/lib/bb/fetch2/hg.py b/bitbake/lib/bb/fetch2/hg.py index b1c8675dd4c..cf214816b72 100644 --- a/bitbake/lib/bb/fetch2/hg.py +++ b/bitbake/lib/bb/fetch2/hg.py @@ -92,7 +92,10 @@ def _buildhgcommand(self, ud, d, command): if not ud.user: hgroot = host + ud.path else: - hgroot = ud.user + "@" + host + ud.path + if ud.pswd: + hgroot = ud.user + ":" + ud.pswd + "@" + host + ud.path + else: + hgroot = ud.user + "@" + host + ud.path if command == "info": return "%s identify -i %s://%s/%s" % (basecmd, proto, hgroot, ud.module) @@ -112,7 +115,10 @@ def _buildhgcommand(self, ud, d, command): # do not pass options list; limiting pull to rev causes the local # repo not to contain it and immediately following "update" command # will crash - cmd = "%s pull" % (basecmd) + if ud.user and ud.pswd: + cmd = "%s --config auth.default.prefix=* --config auth.default.username=%s --config auth.default.password=%s --config \"auth.default.schemes=%s\" pull" % (basecmd, ud.user, ud.pswd, proto) + else: + cmd = "%s pull" % (basecmd) elif command == "update": cmd = "%s update -C %s" % (basecmd, " ".join(options)) else: From 53d2563ff13fcec74d4250bef5419e36169e55cc Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Fri, 22 Nov 2013 16:22:28 +0000 Subject: [PATCH 179/658] bitbake: perforce: Fix path subdirectory issues With a SRC_URI = " \ p4://depot/folder/...;module=localfolder/localsubfolder;changeslist=${P4CHANGELIST} \ " the subfolders of //depot/folder/... get renamed when mapped to the local folder structure. They lose the first 3 letters. This patch fixes that. Issue reported by and patch sent from katutxakurra@gmail.com [YOCTO #5380] (Bitbake master rev: 40e06dc459d9c0b5d42d65b2d2c846196fd36b1f) (Bitbake rev: df0f92cdc925fe7f3bb2e6afe76cf10b0656ead6) Signed-off-by: Richard Purdie --- bitbake/lib/bb/fetch2/perforce.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bitbake/lib/bb/fetch2/perforce.py b/bitbake/lib/bb/fetch2/perforce.py index fc4074d5a33..d2ecccc540e 100644 --- a/bitbake/lib/bb/fetch2/perforce.py +++ b/bitbake/lib/bb/fetch2/perforce.py @@ -112,7 +112,7 @@ def urldata_init(self, ud, d): base = path which = path.find('/...') if which != -1: - base = path[:which] + base = path[:which-1] base = self._strip_leading_slashes(base) From 9d5052d3ec26bbc24133f4048e90e7e77ff2c61e Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Tue, 10 Dec 2013 10:09:35 -0500 Subject: [PATCH 180/658] bitbake: bitbake: cooker/command: Add error state for the server and use for pre_serve errors Currently if errors occur when starting the PR service, there is a race that occurs since the UI runs various commands including starting builds before processing the CookerExit(). By adding the error state and refusing to run async commands in this mode, builds are prevented from starting and the UI reaches the exit code with the system shutting down cleanly. (Bitbake master rev: 42fa34142ea685f91115a551e74416ca28ef1c91) (Bitbake rev: bc2e0796c1846d1567db6343b24b85fd7dba9163) Signed-off-by: Richard Purdie Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- bitbake/lib/bb/command.py | 2 ++ bitbake/lib/bb/cooker.py | 3 ++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/bitbake/lib/bb/command.py b/bitbake/lib/bb/command.py index 3ca27a69e0f..a2795ce0b71 100644 --- a/bitbake/lib/bb/command.py +++ b/bitbake/lib/bb/command.py @@ -86,6 +86,8 @@ def runCommand(self, commandline, ro_only = False): def runAsyncCommand(self): try: + if self.cooker.state == bb.cooker.state.error: + return False if self.currentAsyncCommand is not None: (command, options) = self.currentAsyncCommand commandmethod = getattr(CommandsAsync, command) diff --git a/bitbake/lib/bb/cooker.py b/bitbake/lib/bb/cooker.py index ad36b34aa48..b504f45da68 100644 --- a/bitbake/lib/bb/cooker.py +++ b/bitbake/lib/bb/cooker.py @@ -61,7 +61,7 @@ class CollectionError(bb.BBHandledException): """ class state: - initial, parsing, running, shutdown, forceshutdown, stopped = range(6) + initial, parsing, running, shutdown, forceshutdown, stopped, error = range(7) class SkippedPackage: @@ -1321,6 +1321,7 @@ def pre_serve(self): self.prhost = prserv.serv.auto_start(self.data) except prserv.serv.PRServiceConfigError: bb.event.fire(CookerExit(), self.event_data) + self.state = state.error return def post_serve(self): From c53d0d4786c76ffcdf982e062f5433ebc31099bb Mon Sep 17 00:00:00 2001 From: Olof Johansson Date: Tue, 10 Dec 2013 10:09:36 -0500 Subject: [PATCH 181/658] bitbake: bitbake: monitordisk: lower inode check warning to note Filesystems like btrfs and reiserfs sets the inode count to 0, since they don't have an inode concept. This is expected, and having a warning show up every time you run bitbake can cause undue concern. (Bitbake master rev: f3ac2d3678f48c68a250a0a20c08cf8687322d38) (Bitbake rev: 04e2a1e4e3b3580660cdd3926caadeb0a9fbd4d3) Signed-off-by: Olof Johansson Signed-off-by: Richard Purdie Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- bitbake/lib/bb/monitordisk.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bitbake/lib/bb/monitordisk.py b/bitbake/lib/bb/monitordisk.py index 3e6ecbd4e23..fca43eefd0f 100644 --- a/bitbake/lib/bb/monitordisk.py +++ b/bitbake/lib/bb/monitordisk.py @@ -243,7 +243,7 @@ def check(self, rq): # zero, this is a feature of the fs, we disable the inode # checking for such a fs. if st.f_files == 0: - logger.warn("Inode check for %s is unavaliable, will remove it from disk monitor" % path) + logger.info("Inode check for %s is unavaliable, will remove it from disk monitor" % path) self.devDict[k][2] = None continue # Always show warning, the self.checked would always be False if the action is WARN From 53ce38bd0f44072200563697f94013c219fdba2f Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Tue, 10 Dec 2013 10:09:37 -0500 Subject: [PATCH 182/658] bitbake: bitbake: fetch2: Fix handling of SCM mirrors in MIRRORS If an SCM mirror is in PREMIRRORS, the tarball is downloaded and then found by the "upstream" check and handled correctly. If an SCM mirror is in MIRRORS, the tarball is downloaded but not used since there is no "upstream" run after MIRRORS completes. It therefore sits there useless and unused. This code change forces the upstream to run after a mirror tarball is found and fixes the usage of SCM mirrors in MIRRORS. (Bitbake master rev: a66ee0994645aa5658b2f5ea134ed17d89f8751a) (Bitbake rev: 98d2cd8576a8d035e2b073cd54bb737a3c22bc4d) Signed-off-by: Richard Purdie Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- bitbake/lib/bb/fetch2/__init__.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/bitbake/lib/bb/fetch2/__init__.py b/bitbake/lib/bb/fetch2/__init__.py index 451d104f676..b9f673c2149 100644 --- a/bitbake/lib/bb/fetch2/__init__.py +++ b/bitbake/lib/bb/fetch2/__init__.py @@ -805,6 +805,10 @@ def try_mirror_url(newuri, origud, ud, ld, check = False): dest = os.path.join(dldir, os.path.basename(ud.localpath)) if not os.path.exists(dest): os.symlink(ud.localpath, dest) + if not os.path.exists(origud.donestamp) or origud.method.need_update(origud.url, origud, ld): + origud.method.download(origud.url, origud, ld) + if hasattr(ud.method,"build_mirror_data"): + origud.method.build_mirror_data(origud.url, origud, ld) return None # Otherwise the result is a local file:// and we symlink to it if not os.path.exists(origud.localpath): From 43c1b32b2cdb5f7e8a93cf4c6b4248305c7bf106 Mon Sep 17 00:00:00 2001 From: Peter Seebach Date: Tue, 10 Dec 2013 10:09:38 -0500 Subject: [PATCH 183/658] bitbake: bitbake: build.py: add single-quotes around already-expanded directory name If the computed name of a directory contains an undefined variable reference, bitbake dutifully creates a directory with a name that has ${...} in it. However, the actual task script created then tries to cd to that directory, and the cd command fails, because no such directory exists -- because the shell has helpfully removed the ${...} which did not match any actual variables. Since we want the name to be used exactly-as-is, add single quotes around the name so this doesn't cause strange failures running tasks, which allows us to progress past such failures and get to a point where they can be diagnosed. (Bitbake master rev: 2809c2e6f2f35f9b08058950be896947ab5a0284) (Bitbake rev: 3059ee335b7ae1bf77d6fd02e66ea5ba37d96c7b) Signed-off-by: Peter Seebach Signed-off-by: Richard Purdie Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- bitbake/lib/bb/build.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bitbake/lib/bb/build.py b/bitbake/lib/bb/build.py index 2e49a093654..edab5566a9b 100644 --- a/bitbake/lib/bb/build.py +++ b/bitbake/lib/bb/build.py @@ -285,7 +285,7 @@ def exec_func_shell(func, d, runfile, cwd=None): if bb.msg.loggerVerboseLogs: script.write("set -x\n") if cwd: - script.write("cd %s\n" % cwd) + script.write("cd '%s'\n" % cwd) script.write("%s\n" % func) script.write(''' # cleanup From 64fc47ba1240a6c620f3d10cb9051465b9f179ed Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Tue, 10 Dec 2013 10:09:39 -0500 Subject: [PATCH 184/658] bitbake: bitbake: runqueue: Fix hole in setsceneverify skipped task logic We have do_bundle_initramfs which is a task inserted after compile and before build. It is not covered by sstate. If we run a build with a valid sstate cache present, the setsceneverify function realises it will rerun the do_compile step (due to the bundle_initramfs task) and hence marks do_populate_sysroot to rerun. do_install, a dependency of do_populate_sysroot is left as marked as covered by sstate. What we need to do is traverse the dependency tree for any setsceneverify invalided task and ensure any dependencies are also invalidated. We can stop at any point we reach another setscene task though. This means the do_populate_sysroot task has the data from do_install available and doesn't crash. (Bitbake master rev: f21910157d873c030b149c4cdc5b57c5062ab5a6) (Bitbake rev: 1484905373ad717cedcaef37a0addde034ebdc60) Signed-off-by: Richard Purdie Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- bitbake/lib/bb/runqueue.py | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/bitbake/lib/bb/runqueue.py b/bitbake/lib/bb/runqueue.py index c09cfd4b2ca..72c020801b4 100644 --- a/bitbake/lib/bb/runqueue.py +++ b/bitbake/lib/bb/runqueue.py @@ -1204,6 +1204,8 @@ def __init__(self, rq): self.stampcache = {} + initial_covered = self.rq.scenequeue_covered.copy() + # Mark initial buildable tasks for task in xrange(self.stats.total): self.runq_running.append(0) @@ -1257,13 +1259,28 @@ def __init__(self, rq): except TypeError: covered_remove = bb.utils.better_eval(call2, locs) - for task in covered_remove: + def removecoveredtask(task): fn = self.rqdata.taskData.fn_index[self.rqdata.runq_fnid[task]] taskname = self.rqdata.runq_task[task] + '_setscene' bb.build.del_stamp(taskname, self.rqdata.dataCache, fn) - logger.debug(1, 'Not skipping task %s due to setsceneverify', task) self.rq.scenequeue_covered.remove(task) + toremove = covered_remove + for task in toremove: + logger.debug(1, 'Not skipping task %s due to setsceneverify', task) + while toremove: + covered_remove = [] + for task in toremove: + removecoveredtask(task) + for deptask in self.rqdata.runq_depends[task]: + if deptask not in self.rq.scenequeue_covered: + continue + if deptask in toremove or deptask in covered_remove or deptask in initial_covered: + continue + logger.debug(1, 'Task %s depends on task %s so not skipping' % (task, deptask)) + covered_remove.append(deptask) + toremove = covered_remove + logger.debug(1, 'Full skip list %s', self.rq.scenequeue_covered) event.fire(bb.event.StampUpdate(self.rqdata.target_pairs, self.rqdata.dataCache.stamp), self.cfgData) From 39e9690f879b26e255e416ef00a23c23b9fccb67 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Tue, 3 Dec 2013 04:48:40 -0600 Subject: [PATCH 185/658] ref-manual: Added kernel-arch class. (From yocto-docs rev: 0f07277b4ab7850ca5aa39ef6e8e926351069771) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index 198bfe54704..cd3924af6bd 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -986,6 +986,16 @@
+
+ <filename>kernel-arch.bbclass</filename> + + + The kernel architecture (kernel-arch) class + sets the ARCH environment variable for Linux + kernel compilation (including modules). + +
+
<filename>mime.bbclass</filename> From 0466785eb9b8753a314201ed660d2ebb95e6b3de Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Tue, 3 Dec 2013 04:50:51 -0600 Subject: [PATCH 186/658] ref-manual: Added kernel module split class. (From yocto-docs rev: d320d2df41ac4082b1773f1480ad01c62df47999) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index cd3924af6bd..1c40743a104 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -996,6 +996,16 @@
+
+ <filename>kernel-module-split.bbclass</filename> + + + The kernel module split (kernel-module-split) class + provides common functionality for splitting Linux kernel modules into + separate packages. + +
+
<filename>mime.bbclass</filename> From e3e87d6f11378273f12d9f0c325058654167262b Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Tue, 3 Dec 2013 04:53:14 -0600 Subject: [PATCH 187/658] ref-manual: Added the kernel-yocto class. (From yocto-docs rev: f6434320b8fdd67c0b4833d474ea920ba60aa1c9) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index 1c40743a104..2af27c67da4 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -1006,6 +1006,16 @@
+
+ <filename>kernel-yocto.bbclass</filename> + + + The Yocto Project kernel (kernel-yocto) class + provides common functionality for building from linux-yocto style + kernel source repositories. + +
+
<filename>mime.bbclass</filename> From 2fb93ec40c13ec5d31ad3c3341fcdea30893a928 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Tue, 3 Dec 2013 04:59:14 -0600 Subject: [PATCH 188/658] ref-manual: Added the lib_package class. (From yocto-docs rev: 93aaf3705c28d97041368b2a4ca00f964fdf5837) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index 2af27c67da4..2bddc4eaae9 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -1016,6 +1016,20 @@
+
+ <filename>lib_package.bbclass</filename> + + + The library package (lib_package) class + supports recipes that build libraries and produce executable + binaries, where those binaries should not be installed by default + along with the library. + Instead, the binaries are added to a separate + ${PN}-bin + package to make their installation optional. + +
+
<filename>mime.bbclass</filename> From f639451816714d531c978260af1308901e9a26c9 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Tue, 3 Dec 2013 05:02:51 -0600 Subject: [PATCH 189/658] ref-manual: Added the linux-kernel-base class. (From yocto-docs rev: 06adf8c60b4c80f84ff834872a48ca961252c135) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index 2bddc4eaae9..acaae8cd9c4 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -1030,6 +1030,18 @@
+
+ <filename>linux-kernel-base.bbclass</filename> + + + The Linux kernel base (linux-kernel-base) class + provides common functionality for recipes that build out of the Linux + kernel source tree. + These builds goes beyond the kernel itself. + For example, the Perf recipe also inherits this class. + +
+
<filename>mime.bbclass</filename> From b57292b4425177a3019f2362dfc265b6ac2d4c57 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Tue, 3 Dec 2013 05:04:43 -0600 Subject: [PATCH 190/658] ref-manual: Added the license class. (From yocto-docs rev: 6958ed69a82bef1305cd3c4d5257dc412254348b) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index acaae8cd9c4..b93ae36e046 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -1042,6 +1042,15 @@
+
+ <filename>license.bbclass</filename> + + + The license (license) class provides license + manifest creation and license exclusion. + +
+
<filename>mime.bbclass</filename> From ad750cf7b37feebb2bcedca79af5bbf71da919fe Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Tue, 3 Dec 2013 05:35:05 -0600 Subject: [PATCH 191/658] ref-manual: Edits to license class added INHERIT_DISTRO variable. (From yocto-docs rev: 55f45ce942ba7b4c398b37d4d8784ecf3d5b01e4) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 3 +++ documentation/ref-manual/ref-variables.xml | 19 +++++++++++++++++++ 2 files changed, 22 insertions(+) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index b93ae36e046..8facafb74ad 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -1048,6 +1048,9 @@ The license (license) class provides license manifest creation and license exclusion. + This class is enabled by default using the default value for the + INHERIT_DISTRO + variable.
diff --git a/documentation/ref-manual/ref-variables.xml b/documentation/ref-manual/ref-variables.xml index aa0737e4989..a33595cd6fd 100644 --- a/documentation/ref-manual/ref-variables.xml +++ b/documentation/ref-manual/ref-variables.xml @@ -2902,6 +2902,25 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3" + INHERIT_DISTRO + + + Lists classes that are inherited by default at the + distribution level. + It is unlikely that you want to edit this variable. + + + + The variable is set as follows in the + meta/conf/distro/defaultsetup.conf + file: + + INHERIT_DISTRO ?= "debian devshell sstate license" + + + + + INITRAMFS_FSTYPES From 5e8bd4311b56da737298e68b98932b2f793bcabf Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Tue, 3 Dec 2013 05:40:25 -0600 Subject: [PATCH 192/658] ref-manual: Added the logging class. (From yocto-docs rev: d2c2b7c50f316ab6bad30e6248d996fe0ff806fa) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index 8facafb74ad..c842bc6f989 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -1054,6 +1054,23 @@
+
+ <filename>logging.bbclass</filename> + + + The logging (logging) class provides the standard + shell functions used to log messages for various BitBake severity levels + (i.e. bbplain, bbnote, + bbwarn, bberror, + bbfatal, and bbdebug. + + + + This class is enabled by default since it is inherited by + the base class. + +
+
<filename>mime.bbclass</filename> From 5169456348e24bdf6d47dc29a7be9731d40ff9da Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Tue, 3 Dec 2013 05:44:00 -0600 Subject: [PATCH 193/658] ref-manual: Added the meta class. (From yocto-docs rev: 05058a65e239f114efb1381a416008470f8a4a3b) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index c842bc6f989..6ac7142fc3a 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -1071,6 +1071,16 @@
+
+ <filename>meta.bbclass</filename> + + + The Metadata (meta) class is inherited by recipes + that do not build any output packages themselves, but act as a "meta" + target for building other recipes. + +
+
<filename>mime.bbclass</filename> From fadb2c803ff0ffd8eb0a4bdcd5016191b5de14c9 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Tue, 3 Dec 2013 05:52:46 -0600 Subject: [PATCH 194/658] ref-manual: Added the metadata_scm class. (From yocto-docs rev: 0464c95d6421d3d7547ed69f38697ae7212e682e) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index 6ac7142fc3a..67b28901713 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -1081,6 +1081,24 @@
+
+ <filename>metadata_scm.bbclass</filename> + + + The Metadata Source Code Management (SCM) System + (metadata_scm) class provides functionality for + querying the branch and revision of an SCM repository. + + + + The base + class uses this class to print the revisions of each layer before + starting every build. + The metadata_scm class is enabled by default + because it is inherited by the base class. + +
+
<filename>mime.bbclass</filename> From 8440bc7f0dd92342e3355300047fa87e06aa6d56 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Tue, 3 Dec 2013 05:58:16 -0600 Subject: [PATCH 195/658] ref-manual: Added the mime class. (From yocto-docs rev: de672e576fe410a2fe51aa0e2d2e9df9e3acd0a9) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index 67b28901713..12bf49b811e 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -1103,7 +1103,12 @@ <filename>mime.bbclass</filename> - The GNOME (mime) class + The Multipurpose Internet Mail Extension (MIME) + (mime) class generates the proper + post-install and post-remove (postinst/postrm) scriptlets for packages + that install MIME type files. + These scriptlets call update-mime-database to add + the MIME types to the shared database.
From 9055d86ed7de66c90cb725fb7751cbeea7c198f3 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Tue, 3 Dec 2013 06:04:56 -0600 Subject: [PATCH 196/658] ref-manual: Added the mirrors class. (From yocto-docs rev: 3dc1dd9f8d03f28ee7c1a7ac2c7827bd6d064f8b) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index 12bf49b811e..ef38b4f92af 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -1112,6 +1112,25 @@
+
+ <filename>mirrors.bbclass</filename> + + + The mirrors (mirrors) class sets up some standard + MIRRORS entries + for source code mirrors. + These mirrors provide a fall-back path in case the upstream source + specified in + SRC_URI + within recipes is unavailable. + + + + This class is enabled by default since it is inherited by the + base class. + +
+
Pkg-config - <filename>pkgconfig.bbclass</filename> From a3afb9301af644e72928f1097cb5ab31f5f31e74 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Tue, 3 Dec 2013 06:12:06 -0600 Subject: [PATCH 197/658] ref-manual: Added the multilib* class. (From yocto-docs rev: eb6484ddc6a79c9749877e1499b6f76e06ff0a47) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index ef38b4f92af..131ca0ea248 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -1131,6 +1131,22 @@
+
+ <filename>multilib*.bbclass</filename> + + + The Multilib (multilib*) classes provide support + for building libraries with different target optimizations or target + architectures and installing them side-by-side in the same image. + + + + For more information on using the Multilib feature, see the + "Combining Multiple Versions of Library Files into One Image" + section in the Yocto Project Development Manual. + +
+
Pkg-config - <filename>pkgconfig.bbclass</filename> From c4f72e13fa5e536f0039f5ab7af3525149ea293b Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Tue, 3 Dec 2013 09:11:46 -0600 Subject: [PATCH 198/658] ref-manual: Added the native class. (From yocto-docs rev: 9be6f08f35e085302a0527d8eaa76062b898b247) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 38 ++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index 131ca0ea248..9be0d0191ae 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -1147,6 +1147,44 @@
+
+ <filename>native.bbclass</filename> + + + The native (native) class provides common + functionality for recipes that wish to build tools to run on the build + host (i.e. tools that use the compiler or other tools from the + build host). + + + + You can create a recipe that builds tools that run natively on the + host a couple different ways: + + Create a myrecipe-native.bb + that inherits the native class. + + Create or modify a target recipe that has adds + the following: + + BBCLASSEXTEND = "native" + + Inside the recipe, use _class-native and + _class-target overrides to specify any + functionality specific to the respective native or target + case. + + + + + Although applied differently, the native class is + used with both methods. + The advantage of the second method is that you do not need to have two + separate recipes (assuming you need both) for native and target. + All common parts of the recipe are automatically shared. + +
+
Pkg-config - <filename>pkgconfig.bbclass</filename> From 8933434d6ee29f549135412da39603b8b9a152f4 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Tue, 3 Dec 2013 09:25:48 -0600 Subject: [PATCH 199/658] ref-manual: Added the nativesdk class. (From yocto-docs rev: 17e7e5571cc5e60bed498844efa2f90b5c60e38e) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 39 ++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index 9be0d0191ae..ba94df2285f 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -1185,6 +1185,45 @@
+
+ <filename>nativesdk.bbclass</filename> + + + The native SDK (nativesdk) class provides common + functionality for recipes that wish to build tools to run as part of + an SDK (i.e. tools that run on + SDKMACHINE). + + + + You can create a recipe that builds tools that run on the SDK machine + a couple different ways: + + Create a myrecipe-native.bb + that inherits the nativesdk class. + + Create a nativesdk variant + of any recipe by adding the following: + + BBCLASSEXTEND = "nativesdk" + + Inside the recipe, use _class-nativesdk and + _class-target overrides to specify any + functionality specific to the respective SDK machine or target + case. + + + + + Although applied differently, the nativesdk class + is used with both methods. + The advantage of the second method is that you do not need to have two + separate recipes (assuming you need both) for the SDK machine and the + target. + All common parts of the recipe are automatically shared. + +
+
Pkg-config - <filename>pkgconfig.bbclass</filename> From 9a38035b4effdfa7313a36de50b0259b0df11b9f Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Tue, 3 Dec 2013 09:43:02 -0600 Subject: [PATCH 200/658] ref-manual: Added the oelint class. (From yocto-docs rev: 58570cd703abc3066e2c0925fbe8888390825906) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index ba94df2285f..d5445d6a8f5 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -1224,6 +1224,25 @@
+
+ <filename>oelint.bbclass</filename> + + + The OpenEmbedded link (oelint) class is an + obsolete lint checking tool that exists in + meta/classes in the + Source Directory. + + + + A number of classes exist that are could be generally useful in + OE-Core but are never actually used within OE-Core itself. + The oelint class is one such example. + However, being aware of this class can reduce the proliferation of + different versions of similar classes across multiple layers. + +
+
Pkg-config - <filename>pkgconfig.bbclass</filename> From 267c0a39cc379321c9b00daf045450011b0508c1 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Tue, 3 Dec 2013 10:03:46 -0600 Subject: [PATCH 201/658] ref-manual: Added the ownmirrors class and the SOURCE_MIRROR_URL variable. (From yocto-docs rev: 8979676949e1c32ff71835b8d506e176a7b5c941) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 26 +++++++++++++++++++++ documentation/ref-manual/ref-variables.xml | 27 ++++++++++++++++++++++ 2 files changed, 53 insertions(+) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index d5445d6a8f5..3be247a7dc0 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -1243,6 +1243,32 @@
+
+ <filename>ownmirrors.bbclass</filename> + + + The own mirrors (ownmirrors) class makes it + easier to set up your own + PREMIRRORS + from which to first fetch source before attempting to fetch it from the + upstream specified in + SRC_URI + within each recipe. + + + + To use this class, inherit it globally and specify + SOURCE_MIRROR_URL. + Here is an example: + + INHERIT += "own-mirrors" + SOURCE_MIRROR_URL = "http://example.com/my-source-mirror" + + You can specify only a single URL in + SOURCE_MIRROR_URL. + +
+
Pkg-config - <filename>pkgconfig.bbclass</filename> diff --git a/documentation/ref-manual/ref-variables.xml b/documentation/ref-manual/ref-variables.xml index a33595cd6fd..5e3edcd9378 100644 --- a/documentation/ref-manual/ref-variables.xml +++ b/documentation/ref-manual/ref-variables.xml @@ -5664,6 +5664,33 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3" + SOURCE_MIRROR_URL + + + Defines your own + PREMIRRORS + from which to first fetch source before attempting to fetch + from the upstream specified in + SRC_URI. + + + + To use this variable, you must globally inherit the + ownmirrors + class and then provide the URL to your mirrors. + Here is an example: + + INHERIT += "own-mirrors" + SOURCE_MIRROR_URL = "http://example.com/my-source-mirror" + + + You can specify only a single URL in + SOURCE_MIRROR_URL. + + + + + SPECIAL_PKGSUFFIX From 10146f07384d9fdabca153b4e6cbdcd2ff7fa0e8 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Tue, 3 Dec 2013 11:15:05 -0600 Subject: [PATCH 202/658] ref-manual: Added the packagedata class. (From yocto-docs rev: b813c690089fd73a23347b4ad2be38cef683d754) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index 3be247a7dc0..89bad481f4c 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -1309,6 +1309,25 @@
+
+ <filename>packagedata.bbclass</filename> + + + The package data (packagedata) class provides + common functionality for reading pkgdata files + found in + PKGDATA_DIR. + These files contain information about each output package produced by + the OpenEmbedded build system. + + + + This class is enabled by default because it is inherited by the + package + class. + +
+
Perl Modules - <filename>cpan.bbclass</filename> From e8d94a6abff3bea95b1b86b5693f8e075e3c13a8 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Tue, 3 Dec 2013 12:39:44 -0600 Subject: [PATCH 203/658] ref-manual: Improved on package* class. Previously, we were documenting the "package*" class and lumping the "package_deb", "package_rpm", and "package_ipk" classes in that entry. Really, we need to break out the "package" class on its own and create entries for the sub-classes that were being bundled in there. Additionally, we needed to document the "package_tar" class. (From yocto-docs rev: 0c263568c1c6c1700b0b87ed1a22fdc8e51f28c1) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 115 +++++++++++++++++++---- 1 file changed, 96 insertions(+), 19 deletions(-) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index 89bad481f4c..70f12d06907 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -1406,24 +1406,28 @@
- Packaging - <filename>package*.bbclass</filename> - - - The packaging classes add support for generating packages from a build's - output. - The core generic functionality is in package.bbclass. - The code specific to particular package types is contained in various sub-classes such as - package_deb.bbclass, package_ipk.bbclass, - and package_rpm.bbclass. - Most users will want one or more of these classes. + <filename>package.bbclass</filename> + + + The packaging class (package) supports generating + packages from a build's output. + The core generic functionality is in the + package.bbclass. + The code specific to particular package types resides in these + package-specific classes: + package_deb, + package_rpm, + package_ipk, + and + package_tar. You can control the list of resulting package formats by using the PACKAGE_CLASSES - variable defined in the local.conf configuration file, - which is located in the conf folder of the - Source Directory. + variable defined in your conf/local.conf + configuration file, which is located in the + Build Directory. When defining the variable, you can specify one or more package types. Since images are generated from packages, a packaging class is needed to enable image generation. @@ -1441,8 +1445,8 @@ - The package class you choose can affect build-time performance and has space - ramifications. + The package-specific class you choose can affect build-time performance + and has space ramifications. In general, building a package with IPK takes about thirty percent less time as compared to using RPM to build the same or similar package. This comparison takes into account a complete build of the package with @@ -1451,17 +1455,18 @@ creates and processes more Metadata than the IPK package manager. - Consequently, you might consider setting PACKAGE_CLASSES - to "package_ipk" if you are building smaller systems. + Consequently, you might consider setting + PACKAGE_CLASSES to "package_ipk" if you are + building smaller systems. - Before making your decision on package manager, however, you should + Before making your package manager decision, however, you should consider some further things about using RPM: RPM starts to provide more abilities than IPK due to - the fact that it processes more metadata. + the fact that it processes more Metadata. For example, this information includes individual file types, file checksum generation and evaluation on install, sparse file support, conflict detection and resolution for Multilib systems, @@ -1487,6 +1492,78 @@
+
+ <filename>package_deb.bbclass</filename> + + + The Debian package manager (package_deb) class + provides support for creating packages that use the + .deb file format. + The class ensures the packages are written out to the + ${DEPLOY_DIR}/deb + directory in a .deb file format. + + This package inherits the + package + class. + + +
+ +
+ <filename>package_rpm.bbclass</filename> + + + The RPM package manager (package_deb) class + provides support for creating packages that use the + .rpm file format. + The class ensures the packages are written out to the + ${DEPLOY_DIR}/rpm + directory in a .rpm file format. + + This package inherits the + package + class. + + +
+ +
+ <filename>package_ipk.bbclass</filename> + + + The Itsy package manager (package_ipk) class + provides support for creating packages that use the + .ipk file format. + The class ensures the packages are written out to the + ${DEPLOY_DIR}/ipk + directory in a .ipk file format. + + This package inherits the + package + class. + + +
+ +
+ <filename>package_tar.bbclass</filename> + + + The consolidated Unix archive file (package_tar) + class provides support for creating packages that use the + .tar file format. + The class ensures the packages are written out to the + ${DEPLOY_DIR}/tar + directory in a .tar file format. + + This package inherits the + package + class. + + +
+
Building Kernels - <filename>kernel.bbclass</filename> From 52d20f88dd3148c935ba5237e498bd537d0cbc4c Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Tue, 3 Dec 2013 12:55:30 -0600 Subject: [PATCH 204/658] ref-manual: Added the packageinfo class. (From yocto-docs rev: 509958a080dcefc6ec44a98fe89e0a762c27d2dc) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index 70f12d06907..73d7692b366 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -1328,6 +1328,16 @@
+
+ <filename>packageinfo.bbclass</filename> + + + The package information (packageinfo) class + gives a BitBake user interface the ability to retrieve information + about output packages from the pkgdata files. + +
+
Perl Modules - <filename>cpan.bbclass</filename> From 9e1170506d5e0063298ed97be84a179a9f483fa7 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Tue, 3 Dec 2013 13:32:41 -0600 Subject: [PATCH 205/658] ref-manual: Edits to the packageinfo class. Forgot the part about the class being automatically enabled when using the Hob. (From yocto-docs rev: 38eb3208adf18b75c9b441afe117900d9052f9c8) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index 73d7692b366..320108e8734 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -1336,6 +1336,12 @@ gives a BitBake user interface the ability to retrieve information about output packages from the pkgdata files. + + + This class is enabled automatically when using the + Hob + user interface. +
From 6a655bb023f2f4dc15ed6e107727157e833f9b20 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Tue, 3 Dec 2013 13:38:05 -0600 Subject: [PATCH 206/658] ref-manual: Added the patch class. (From yocto-docs rev: 359e4bd3b26ed45bc3dfe42339d99bfad7b3b1ac) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index 320108e8734..f9cf72c676f 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -1344,6 +1344,21 @@
+
+ <filename>patch.bbclass</filename> + + + The patch class provides all functionality for + applying patches during the do_patch task. + + + + This class is enabled by default because it is inherited by the + base + class. + +
+
Perl Modules - <filename>cpan.bbclass</filename> From eb48cd7b5617c73bfe3250a90f9eeda0b41d4bd2 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Tue, 3 Dec 2013 13:45:57 -0600 Subject: [PATCH 207/658] ref-manual: Added the perlnative class. (From yocto-docs rev: a55691268830692cdef40fd174e4028ca73ea871) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index f9cf72c676f..2e6a17f2551 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -1359,6 +1359,16 @@
+
+ <filename>perlnative.bbclass</filename> + + + When inherited by a recipe, the perlnative class + supports using the native version of Perl built by the build system + rather than using the version provided by the build host. + +
+
Perl Modules - <filename>cpan.bbclass</filename> From 6bb0173d909ef2e47c8622fc9b7fbecf0ae58c2c Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Tue, 3 Dec 2013 14:21:57 -0600 Subject: [PATCH 208/658] ref-manual: Added pixbufcache class and PIXBUF_PACKAGES variable. (From yocto-docs rev: 88186f1a694b655d92f936935743759788e834f6) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 24 ++++++++++++++++++++++ documentation/ref-manual/ref-variables.xml | 18 ++++++++++++++++ 2 files changed, 42 insertions(+) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index 2e6a17f2551..615adb96cbb 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -1369,6 +1369,30 @@
+
+ <filename>pixbufcache.bbclass</filename> + + + The pixbufcache class generates the proper + post-install and post-remove (postinst/postrm) scriptlets for packages + that install pixbuf loaders, which are used with + gdk-pixbuf. + These scriptlets call update_pixbuf_cache + to add the input method modules to the cache. + Since the cache files are architecture-specific, + update_pixbuf_cache is run using QEMU if the + postinst scriptlets need to be run on the build host during image + creation. + + + + If the pixbuf loaders modules being installed are in packages other + than the main package, set + PIXBUF_PACKAGES + to include the packages containing the modules. + +
+
Perl Modules - <filename>cpan.bbclass</filename> diff --git a/documentation/ref-manual/ref-variables.xml b/documentation/ref-manual/ref-variables.xml index 5e3edcd9378..fccffe77bb8 100644 --- a/documentation/ref-manual/ref-variables.xml +++ b/documentation/ref-manual/ref-variables.xml @@ -4646,6 +4646,24 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3" + PIXBUF_PACKAGES + + + When a recipe inherits the + pixbufcache + class, this variable identifies packages that contain + the pixbuf loaders modules used with + gdk-pixbuf that the OpenEmbedded build + system installs. + By default, these modules appear in the main package + (i.e. ${PN}). + Use this variable if the modules that have the pixbuf + loaders you need appear in a package other than that main + package. + + + + PKGD From 39eab266c26564fffa2b2eac0741597231c4b5f9 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Wed, 4 Dec 2013 03:33:31 -0600 Subject: [PATCH 209/658] ref-manual: Added populate_sdk class. (From yocto-docs rev: 36a1d43d7deea639cf8c66408354d276e2f0aa89) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index 615adb96cbb..abb40a8e1b3 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -1393,6 +1393,15 @@
+
+ <filename>populate_sdk.bbclass</filename> + + + The populate_sdk class facilitates compatibility + with SDK-only recipes. + +
+
Perl Modules - <filename>cpan.bbclass</filename> From 2a21166e3c4c6edc2ebedf97c05ffbbf5c9f0e8b Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Wed, 4 Dec 2013 04:55:45 -0600 Subject: [PATCH 210/658] ref-manual: Added populate_sdk_* class and some new variables. Variables added: IMAGE_PKGTYPE SDK_OUTPUT SKD_DIR (From yocto-docs rev: 90cd5ad1235a66117a86182bd6bf9bc75f09c424) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 66 +++++++++++++++++++++- documentation/ref-manual/ref-variables.xml | 60 ++++++++++++++++++++ 2 files changed, 125 insertions(+), 1 deletion(-) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index abb40a8e1b3..74478981d0e 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -1393,7 +1393,7 @@
-
+
<filename>populate_sdk.bbclass</filename> @@ -1402,6 +1402,70 @@
+
+ <filename>populate_sdk_*.bbclass</filename> + + + The populate_sdk_* family of classes support + SDK creation. + This family of classes consists of the following: + + populate_sdk_base: + The base class supporting SDK creation under all package + managers (i.e. DEB, RPM, and IPK). + populate_sdk_deb: + Supports creation of the SDK given the Debian package manager. + + populate_sdk_rpm: + Supports creation of the SDK given the RPM package manager. + + populate_sdk_ipk: + Supports creation of the SDK given the IPK package manager. + + + + + + The populate_sdk_base package inherits the + appropriate populate_sdk_* (i.e. + deb, rpm, and + ipk) based on + IMAGE_PKGTYPE. + + + + The base class ensures all source and destination directories are + established and then populates the SDK. + After populating the SDK, the populate_sdk_base + class constructs two images: + SDK_ARCH-nativesdk, + which contains the cross-compiler and associated tooling, and the + target, which contains a target root filesystem that is configured for + the SDK usage. + These two images reside in + SDK_OUTPUT, + which consists of the following: + + ${SDK_OUTPUT}/<sdk_arch-nativesdk pkgs> + ${SDK_OUTPUT}/${SDKTARGETSYSROOT}/<target pkgs> + + + + + Finally, the base populate SDK class creates the toolchain + environment setup script, the tarball of the SDK, and the installer. + + + + The respective populate_sdk_deb, + populate_sdk_rpm, and + populate_sdk_ipk classes each support the + specific type of SDK. + These classes are inherited by and used with the + populate_sdk_base class. + +
+
Perl Modules - <filename>cpan.bbclass</filename> diff --git a/documentation/ref-manual/ref-variables.xml b/documentation/ref-manual/ref-variables.xml index fccffe77bb8..dee179d3935 100644 --- a/documentation/ref-manual/ref-variables.xml +++ b/documentation/ref-manual/ref-variables.xml @@ -2645,6 +2645,36 @@ + IMAGE_PKGTYPE + + + Defines the package type (DEB, RPM, IPK, or TAR) used + by the OpenEmbedded build system. + The variable is defined appropriately by the + package_deb + class, the + package_rpm + class, the + package_ipk + class, or the + package_tar + class as follows: + + IMAGE_PKGTYPE ?= "deb" + IMAGE_PKGTYPE ?= "ipk" + IMAGE_PKGTYPE ?= "rpm" + IMAGE_PKGTYPE ?= "tar" + + The + package_sdk_base + and + image + classes use the IMAGE_PKGTYPE for + packaging up images and SDKs. + + + + IMAGE_POSTPROCESS_COMMAND @@ -5436,6 +5466,21 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3" + SDK_DIR + + + The parent directory used by the OpenEmbedded build system + when creating SDK output. + The + populate_sdk_base + class defines the variable as follows: + + SDK_DIR = "${WORKDIR}/sdk" + + + + + SDK_NAME @@ -5455,6 +5500,21 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3" + SDK_OUTPUT + + + The location used by the OpenEmbedded build system when + creating SDK output. + The + populate_sdk_base + class defines the variable as follows: + + SDK_OUTPUT = "${SDK_DIR}/image" + + + + + SDKIMAGE_FEATURES Equivalent to From 33f921cd5fb14c57a1f2a7a03455cd63085e4563 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Wed, 4 Dec 2013 05:05:58 -0600 Subject: [PATCH 211/658] ref-manual: Added prexport class. (From yocto-docs rev: 471139942a937f095e55476d17ed75855e34dc10) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index 74478981d0e..2e25253a8ba 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -1487,6 +1487,21 @@
+
+ <filename>prexport.bbclass</filename> + + + The prexport class provides functionality for + exporting + PR values. + + This class is not intended to be used directly. + Rather, it is enabled when using + "bitbake-prserv-tool export". + + +
+
Python Extensions - <filename>distutils.bbclass</filename> From 4dd7a66a9dd3928ea6d6941edc2b0cb4c587e1f8 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Wed, 4 Dec 2013 05:08:21 -0600 Subject: [PATCH 212/658] ref-manual: Added primport class. (From yocto-docs rev: d11eaff5d616ffba8dff021388f90271726d7a2d) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index 2e25253a8ba..cde8f5bb9e3 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -1502,6 +1502,21 @@
+
+ <filename>primport.bbclass</filename> + + + The primport class provides functionality for + importing + PR values. + + This class is not intended to be used directly. + Rather, it is enabled when using + "bitbake-prserv-tool import". + + +
+
Python Extensions - <filename>distutils.bbclass</filename> From 4a2da5eeb4ef7280a778193309d8485d3896b27f Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Wed, 4 Dec 2013 05:30:58 -0600 Subject: [PATCH 213/658] ref-manual: Added prserv class and PRSERV_HOST variable. (From yocto-docs rev: 3a17d1709c5b5291dfae2a72b16e4c2dac561525) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 23 +++++++++++++++++++ documentation/ref-manual/ref-variables.xml | 26 ++++++++++++++++++++++ 2 files changed, 49 insertions(+) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index cde8f5bb9e3..450501694c3 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -1517,6 +1517,29 @@
+
+ <filename>prserv.bbclass</filename> + + + The prserv class provides functionality for + using a + PR service + in order to automatically manage the incrementing of the + PR variable for + each recipe. + + + + This class is enabled by default because it is inherited by the + package + class. + However, the OpenEmbedded build system will not use this variable + unless + PRSERV_HOST + has been set. + +
+
Python Extensions - <filename>distutils.bbclass</filename> diff --git a/documentation/ref-manual/ref-variables.xml b/documentation/ref-manual/ref-variables.xml index dee179d3935..c756512c525 100644 --- a/documentation/ref-manual/ref-variables.xml +++ b/documentation/ref-manual/ref-variables.xml @@ -4947,6 +4947,32 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3" + PRSERV_HOST + + + The network based + PR + service host and port. + + + + The conf/local.conf.sample.extended + configuration file in the + Source Directory + shows how the PRSERV_HOST variable is + set: + + PRSERV_HOST = "localhost:0" + + You must set the variable if you want to automatically + start a local + PR service. + You can set PRSERV_HOST to other + values to use a remote PR service. + + + + PV The version of the recipe. From 46aa9e702746561bfbd8ffe84404d692e0e948be Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Wed, 4 Dec 2013 05:36:18 -0600 Subject: [PATCH 214/658] dev-manual: Updated the "Working with a PR Service" section. I added a link to the PRSERV_HOST variable. That variable is now defined in the ref-manual variable glossary. (From yocto-docs rev: ac6050263eba890ea0084f8f8444e967e10004f6) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- .../dev-manual/dev-manual-common-tasks.xml | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/documentation/dev-manual/dev-manual-common-tasks.xml b/documentation/dev-manual/dev-manual-common-tasks.xml index e7b9032c5af..ae567195297 100644 --- a/documentation/dev-manual/dev-manual-common-tasks.xml +++ b/documentation/dev-manual/dev-manual-common-tasks.xml @@ -3986,9 +3986,10 @@ the details. The simplest form for a PR Service is for it to exist for a single host development system that builds the package feed (building system). - For this scenario, you can enable the PR Service by adding - the following to your local.conf - file in the + For this scenario, you can enable a local PR Service by + setting + PRSERV_HOST + in your local.conf file in the Build Directory: PRSERV_HOST = "localhost:0" @@ -5146,12 +5147,12 @@ the details. In fact, the Yocto Project provides a distribution named - poky-bleeding, whose configuration + poky-bleeding, whose configuration file contains the line: require conf/distro/include/poky-floating-revisions.inc - This line pulls in the listed include file that contains + This line pulls in the listed include file that contains numerous lines of exactly that form: SRCREV_pn-gconf-dbus ?= "${AUTOREV}" @@ -5173,14 +5174,14 @@ the details. . . - These lines allow you to experiment with building a - distribution that tracks the latest development source + These lines allow you to experiment with building a + distribution that tracks the latest development source for numerous packages. Caution The poky-bleeding distribution is not tested on a regular basis. Keep this in mind if you use it. - +
From b240103ad6204581af3c3dd1c619e47fc0f0c20e Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Wed, 4 Dec 2013 05:46:45 -0600 Subject: [PATCH 215/658] ref-manual: Added ptest class. (From yocto-docs rev: f132704166b6b91a2a6db931622f8f1dc3347f3e) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index 450501694c3..1b56bff03e0 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -1540,6 +1540,27 @@
+
+ <filename>ptest.bbclass</filename> + + + The ptest class provides functionality for + packaging and installing runtime tests for recipes that build software + that provides these tests. + + + + This class is intended to be inherited by individual recipes. + However, the class' functionality is largely disabled unless "ptest" + appears in + DISTRO_FEATURES. + See the + "Testing Packages With ptest" + section in the Yocto Project Development Manual for more information + on ptest. + +
+
Python Extensions - <filename>distutils.bbclass</filename> From fd7683133ed4b1b51da8f63c514ae55b968d8382 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Wed, 4 Dec 2013 05:51:01 -0600 Subject: [PATCH 216/658] ref-manual: Added python-dir class. (From yocto-docs rev: 0f89ce33ccf3975abae018ec206d89caa552fbaa) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index 1b56bff03e0..42dbb5bd887 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -1561,6 +1561,15 @@
+
+ <filename>python-dir.bbclass</filename> + + + The python-dir class provides the base version, + location, and site package location for Python. + +
+
Python Extensions - <filename>distutils.bbclass</filename> From aef5ef91b4fb09534be23f32864892c20cade474 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Wed, 4 Dec 2013 05:56:48 -0600 Subject: [PATCH 217/658] ref-manual: Added pythonnative class. (From yocto-docs rev: 3cbf468049b21f2ccced662e339c6313c8eed9ee) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index 42dbb5bd887..a2cdca442b6 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -1570,6 +1570,21 @@
+
+ <filename>pythonnative.bbclass</filename> + + + The pythonnative causes the OpenEmbedded build + system to use the native version of Python, which is built by the + build system. + Normally, the OpenEmbedded build system uses the version of Python + that is built by the build host. + + This class must be inherited by a recipe in order to be used. + + +
+
Python Extensions - <filename>distutils.bbclass</filename> From 04823a7b7aeade3257af77b873def7b65dc92264 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Wed, 4 Dec 2013 06:00:26 -0600 Subject: [PATCH 218/658] ref-manual: Added qemu class. (From yocto-docs rev: 85732913c2abb9b38857cec7abe12407e1be42ce) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index a2cdca442b6..d2eb1be68aa 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -1585,6 +1585,17 @@
+
+ <filename>qemu.bbclass</filename> + + + The qemu class provides functionality for recipes + that either need QEMU or test for the existence of QEMU. + Typically, this class is used to run programs for a target system on + the build host using QEMU's application emulation mode. + +
+
Python Extensions - <filename>distutils.bbclass</filename> From 6f9fc443fb9a9af5df9b0a809249cdd751a6932a Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Wed, 4 Dec 2013 06:53:16 -0600 Subject: [PATCH 219/658] ref-manual: Added qmake* class and three variables. Variables: EXTRA_QMAKEVARS_POST EXTRA_QMAKEVARS_PRE QMAKE_PROFILES (From yocto-docs rev: 2b9a3d3fc639b859142bf3372334f69029e9f111) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 41 +++++++++++++++++++ documentation/ref-manual/ref-variables.xml | 46 ++++++++++++++++++++-- 2 files changed, 84 insertions(+), 3 deletions(-) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index d2eb1be68aa..634c14fe9b2 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -1596,6 +1596,47 @@
+
+ <filename>qmake*.bbclass</filename> + + + This family of classes consists of the following: + + qmake_base: + Provides base functionality for all versions of + qmake. + qmake2: + Extends base functionality for qmake 2.x as + used by Qt 4.x. + + + + + The qmake* family of classes support recipes that + need to build software that uses Qt's qmake + build system. + + + + If you need to set any configuration variables or pass any options to + qmake, you can add these to the + EXTRA_QMAKEVARS_PRE + or + EXTRA_QMAKEVARS_POST + variables, depending on whether the arguments need to be before or + after the .pro file list on the command line, + respectively. + + + + By default, all .pro files are built. + If you want to specify your own subset of .pro + files to be built, specify them in the + QMAKE_PROFILES + variable. + +
+
Python Extensions - <filename>distutils.bbclass</filename> diff --git a/documentation/ref-manual/ref-variables.xml b/documentation/ref-manual/ref-variables.xml index c756512c525..44ef4617288 100644 --- a/documentation/ref-manual/ref-variables.xml +++ b/documentation/ref-manual/ref-variables.xml @@ -32,7 +32,7 @@ O P - + Q R S T @@ -1803,6 +1803,28 @@ + EXTRA_QMAKEVARS_POST + + + Configuration variables or options you want to pass to + qmake. + Use this variable when the arguments need to be after the + .pro file list on the command line. + + + + + EXTRA_QMAKEVARS_PRE + + + Configuration variables or options you want to pass to + qmake. + Use this variable when the arguments need to be before the + .pro file list on the command line. + + + + EXTRA_USERS_PARAMS @@ -4989,8 +5011,26 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3" - - + Q + + QMAKE_PROFILES + + + Specifies your own subset of .pro + files to be built for use with + qmake. + + + + To use the QMAKE_PROFILES variable, + set it in a recipe that inherits the + qmake_base + class. + + + + + R From 08c105e9ad544c990664aaa222942803e3bbc519 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Wed, 4 Dec 2013 07:03:25 -0600 Subject: [PATCH 220/658] ref-manual: Added qt4* classes. (From yocto-docs rev: 468d08f309621045f3e049595ee9aa43baa04d25) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index 634c14fe9b2..0f35abe2d9e 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -1637,6 +1637,29 @@
+
+ <filename>qt4*.bbclass</filename> + + + This family of classes consists of the following: + + qt4e: + Supports building against Qt/Embedded, which uses the + framebuffer for graphical output. + qt4x11: + Supports building against Qt/X11. + + + + + These classes support recipes that need to build software that uses + the Qt development framework version 4.x. + The classes inherit the + qmake2 + class. + +
+
Python Extensions - <filename>distutils.bbclass</filename> From 4edb41b9a7d652158105c584d29deee6df0e031e Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Wed, 4 Dec 2013 07:18:00 -0600 Subject: [PATCH 221/658] ref-manual: Added relocatable class. (From yocto-docs rev: 6a5c2d42f4eab1e27e71e85b4ef4c91d468dc553) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index 0f35abe2d9e..f97929c208b 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -1660,6 +1660,25 @@
+
+ <filename>relocatable.bbclass</filename> + + + The relocatable class enables relocation of + binaries when they are installed into the sysroot. + + + + This class makes use of the + chrpath + class and is used by both the + cross + and + native + classes. + +
+
Python Extensions - <filename>distutils.bbclass</filename> From 2d5b0433112e10f29b613da7358a8a4876cfc490 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Wed, 4 Dec 2013 07:31:36 -0600 Subject: [PATCH 222/658] ref-manual: Added scons class and EXTRA_OESCONS variable. (From yocto-docs rev: 99faed264301dbe46f071733e5d7291c8e2e0444) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 13 +++++++++++++ documentation/ref-manual/ref-variables.xml | 11 +++++++++++ 2 files changed, 24 insertions(+) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index f97929c208b..e23340fb6d8 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -1679,6 +1679,19 @@
+
+ <filename>scons.bbclass</filename> + + + The scons class supports recipes that need to + build software that uses the SCons build system. + You can use the + EXTRA_OESCONS + variable to specify additional configuration options you want to pass + SCons command line. + +
+
Python Extensions - <filename>distutils.bbclass</filename> diff --git a/documentation/ref-manual/ref-variables.xml b/documentation/ref-manual/ref-variables.xml index 44ef4617288..c5030727f94 100644 --- a/documentation/ref-manual/ref-variables.xml +++ b/documentation/ref-manual/ref-variables.xml @@ -1803,6 +1803,17 @@ + EXTRA_OESCONS + + + When a recipe inherits the + scons + class, this variable specifies additional configuration + options you want to pass to the SCon command line. + + + + EXTRA_QMAKEVARS_POST From 1f72508b966db7d2ca49820bc72432617d06b540 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Wed, 4 Dec 2013 07:35:07 -0600 Subject: [PATCH 223/658] ref-manual: Added sdl class. (From yocto-docs rev: 60debc9853b82b01a1549178514374264ec3b51c) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index e23340fb6d8..b533ee9d3bb 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -1692,6 +1692,15 @@
+
+ <filename>sdl.bbclass</filename> + + + The sdl class supports recipes that need to build + software that uses the Simple DirectMedia Layer (SDL) library. + +
+
Python Extensions - <filename>distutils.bbclass</filename> From 9ff93dbc50ed61a15d1379bfa467f1784ee1f341 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Wed, 4 Dec 2013 07:59:34 -0600 Subject: [PATCH 224/658] ref-manual: Added setuptools class and edits to distutils class. (From yocto-docs rev: 5bd4a02a55f0be84787103f99c48f1759840ac7c) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index b533ee9d3bb..c9fedb20bb8 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -1701,6 +1701,17 @@
+
+ <filename>setuptools.bbclass</filename> + + + The setuptools class supports extensions that use + setuptools-based build systems. + If your recipe uses these build systems, the recipe needs to + inherit the setuptools class. + +
+
Python Extensions - <filename>distutils.bbclass</filename> @@ -1712,12 +1723,16 @@ Extensions that use an Autotools-based build system require Autotools and - distutils-based - .bbclasse files in their recipes. + distutils-based classes in their recipes. Extensions that use distutils-based build systems require - distutils.bbclass in their recipes. + the distutils class in their recipes. + + Extensions that use the setuptools-based build + systems require the + setuptools + class in their recipes. From 45fa7b27ddb1acd0fb1e7d7287c54253f4f26e35 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Wed, 4 Dec 2013 08:09:23 -0600 Subject: [PATCH 225/658] ref-manual: Added sip class. (From yocto-docs rev: 955439810f4b49728e4ce797479dcb79dae95ef7) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index c9fedb20bb8..e64f88bf1f3 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -1913,6 +1913,15 @@
+
+ <filename>sip.bbclass</filename> + + + The sip class + supports recipes that build or package SIP-based Python bindings. + +
+
<filename>package_tar.bbclass</filename> From 089cc7d093324162ed7e3b74cc76a7a2b797a4b2 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Wed, 4 Dec 2013 11:41:18 -0600 Subject: [PATCH 226/658] ref-manual: Added siteconfig class. (From yocto-docs rev: f7a2fad49f12033141ce7f84b94275f93413d7de) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index e64f88bf1f3..c2eac809be5 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -1922,6 +1922,18 @@
+
+ <filename>siteconfig.bbclass</filename> + + + The siteconfig class + provides functionality for handling site configuration. + The class is used by the + autotools + class to accelerate the do_configure task. + +
+
<filename>package_tar.bbclass</filename> From 92d5851a622ed3d3ea7f4a7fca6a3b6f313e0bac Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Wed, 4 Dec 2013 11:47:02 -0600 Subject: [PATCH 227/658] ref-manual: Added spdx class. (From yocto-docs rev: 1b7f65f6b48050190cc04bba07f3501ad119adbb) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index c2eac809be5..8a26efad599 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -1934,6 +1934,20 @@
+
+ <filename>spdx.bbclass</filename> + + + The spdx class integrates real-time license + scanning, generation of SPDX standard output, and verification + of license information during the build. + + This class is currently at the prototype stage in the 1.5 + release. + + +
+
<filename>package_tar.bbclass</filename> From 5f36c1f12c36d640b18f1d3f22db4f2cf553ffee Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Wed, 4 Dec 2013 11:53:20 -0600 Subject: [PATCH 228/658] ref-manual: Added sstate class. (From yocto-docs rev: 75f7f3103554f6138aab4fd02c8fefa0c61e164f) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index 8a26efad599..a3a198a2fa4 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -1948,6 +1948,24 @@
+
+ <filename>sstate.bbclass</filename> + + + The sstate class provides support for Shared + State (sstate). + By default, the class is enabled through the + INHERIT_DISTRO + variable's default value. + + + + For more information on sstate, see the + "Shared State Cache" + section. + +
+
<filename>package_tar.bbclass</filename> From 234ea4b9ba998061f1adeb68551f011297ee594d Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Wed, 4 Dec 2013 11:59:56 -0600 Subject: [PATCH 229/658] ref-manual: Added the staging class. (From yocto-docs rev: 68b8c6156997f7910020e959ec47a35635287c3a) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index a3a198a2fa4..756acee71c0 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -1966,6 +1966,19 @@
+
+ <filename>staging.bbclass</filename> + + + The staging class provides support for staging + files into the sysroot during the + do_populate_sysroot task. + The class is enabled by default because it is inherited by the + base + class. + +
+
<filename>package_tar.bbclass</filename> From 4dcaea2128546cbbf5b375f2bfcbb5fad407482a Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Wed, 4 Dec 2013 13:26:10 -0600 Subject: [PATCH 230/658] ref-manual: Added syslinux class and many variables. Variables added: AUTO_SYSLINUXMENU SYSLINUX_OPTS SYSLINUX_SPLASH SYSLINUX_DEFAULT_CONSOLE SYSLINUX_SERIAL SYSLINUX_SERIAL_TTY (From yocto-docs rev: 1c1bfe53f760b56db9a84a1d46dd2cd85168990f) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 48 +++++++++++ documentation/ref-manual/ref-variables.xml | 98 ++++++++++++++++++++++ 2 files changed, 146 insertions(+) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index 756acee71c0..bd1ec36ae30 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -1979,6 +1979,54 @@
+
+ <filename>syslinux.bbclass</filename> + + + The syslinux class provides syslinux-specific + functions for building bootable images. + + + + The class supports the following variables: + + INITRD: + Indicates a filesystem image to use as an initial RAM disk + (initrd). + This variable is optional. + ROOTFS: + Indicates a filesystem image to include as the root filesystem. + This variable is optional. + AUTO_SYSLINUXMENU: + Enables creating an automatic menu when set to "1". + + LABELS: + Lists targets for automatic configuration. + + APPEND: + Lists append string overrides for each label. + + SYSLINUX_OPTS: + Lists additional options to add to the syslinux file. + Semicolon characters separate multiple options. + + SYSLINUX_SPLASH: + Lists a background for the VGA boot menu when you are using the + boot menu. + SYSLINUX_DEFAULT_CONSOLE: + Set to "console=ttyX" to change kernel boot default console. + + SYSLINUX_SERIAL: + Sets an alternate serial port. + Or, turns off serial when the variable is set with an + empty string. + SYSLINUX_SERIAL_TTY: + Sets an alternate "console=tty..." kernel boot argument. + + + +
+
<filename>package_tar.bbclass</filename> diff --git a/documentation/ref-manual/ref-variables.xml b/documentation/ref-manual/ref-variables.xml index c5030727f94..049c771ea52 100644 --- a/documentation/ref-manual/ref-variables.xml +++ b/documentation/ref-manual/ref-variables.xml @@ -225,6 +225,18 @@ + AUTO_SYSLINUXMENU + + + Enables creating an automatic menu. + You must set this in your recipe. + The + syslinux + class checks this variable. + + + + AUTOREV When SRCREV @@ -6179,6 +6191,92 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3" + SYSLINUX_DEFAULT_CONSOLE + + + Specifies the kernel boot default console. + If you want to use a console other than the default, + set this variable in your recipe as follows where "X" is + the console number you want to use: + + SYSLINUX_DEFAULT_CONSOLE = "console=ttyX" + + + + + The + syslinux + class initially sets this variable to null but then checks + for a value later. + + + + + SYSLINUX_OPTS + + + Lists additional options to add to the syslinux file. + You need to set this variable in your recipe. + If you want to list multiple options, separate the options + with a semicolon character (;). + + + + The + syslinux + class uses this variable to create a set of options. + + + + + SYSLINUX_SERIAL + + + Specifies the alternate serial port or turns it off. + To turn off serial, set this variable to an empty string + in your recipe. + The variable's default value is set in the + syslinux + as follows: + + SYSLINUX_SERIAL ?= "0 115200" + + The class checks for and uses the variable as needed. + + + + SYSLINUX_SPLASH + + + An .LSS file used as the background + for the VGA boot menu when you are using the boot menu. + You need to set this variable in your recipe. + + + + The + syslinux + class checks for this variable and if found, the + OpenEmbedded build system installs the splash screen. + + + + + SYSLINUX_SERIAL_TTY + + + Specifies the alternate console=tty... kernel boot argument. + The variable's default value is set in the + syslinux + as follows: + + SYSLINUX_SERIAL_TTY ?= "console=ttyS0,115200" + + The class checks for and uses the variable as needed. + + + + SYSROOT_PREPROCESS_FUNCS From 99f680264d82162a0579c17d5123209de246ec03 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 5 Dec 2013 07:49:01 -0600 Subject: [PATCH 231/658] ref-manual: Added systemd class and three variables: Variables: SYSTEMD_PACKAGES SYSTEMD_SERVICE SYSTEMD_AUTO_ENABLE (From yocto-docs rev: 052db07a049fac9e41a1f4cbef0e6daa0c0a1d76) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 50 ++++++++++++++++++ documentation/ref-manual/ref-variables.xml | 59 ++++++++++++++++++++++ 2 files changed, 109 insertions(+) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index bd1ec36ae30..fa3d8d7df19 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -2027,6 +2027,56 @@
+
+ <filename>systemd.bbclass</filename> + + + The systemd class provides support for recipes + that install systemd unit files. + + + + The functionality for this class is disabled unless you have "systemd" + in + DISTRO_FEATURES. + + + + Under this class, unit files are installed into + ${D}${systemd_unitdir}/system + during the do_install task. + If the unit files being installed go into packages other than the + main package, you need to set + SYSTEMD_PACKAGES + in your recipe to identify the packages in which the files will be + installed. + + + + You should set + SYSTEMD_SERVICE + to the name of the service file. + You should also use a package name override to indicate the package + to which the value applies. + If the value applies to the recipe's main package, use + ${PN}. + Here is an example from the connman recipe: + + SYSTEMD_SERVICE_${PN} = "connman.service" + + Services are set up to start on boot automatically unless + you have set + SYSTEMD_AUTO_ENABLE + to "disable". + + + + For more information on systemd, see the + "Selecting an Initialization Manager" + section in the Yocto Project Development Manual. + +
+
<filename>package_tar.bbclass</filename> diff --git a/documentation/ref-manual/ref-variables.xml b/documentation/ref-manual/ref-variables.xml index 049c771ea52..60e24ef5656 100644 --- a/documentation/ref-manual/ref-variables.xml +++ b/documentation/ref-manual/ref-variables.xml @@ -6289,6 +6289,65 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3" + SYSTEMD_AUTO_ENABLE + + + Enables and disables the systemd + service manager. + By default, the service is enabled to automatically start + at boot time. + The default setting is in the + systemd + class as follows: + + SYSTEMD_AUTO_ENABLE ??= "enable" + + You can disable the service by setting the variable to + "disable." + + + + + SYSTEMD_PACKAGES + + + Specifies the packages into which + systemd unit files are installed + when the files need to be installed into packages other + than recipe's main package. + + + + The + systemd + class sets SYSTEMD_PACKAGES as follows: + + SYSTEMD_PACKAGES ?= "${PN}" + + + + + + SYSTEMD_SERVICE + + + The service file for the systemd + service manager. + + + + When you specify this file in your recipe, use a package + name override to indicate the package to which the value + applies when the value applies to a package other than + the recipe's main package. + Here is an example from the connman recipe: + + SYSTEMD_SERVICE_${PN} = "connman.service" + + + + + T From 2a173ade624b5fd5a661d6ca33866405956c6693 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 5 Dec 2013 10:50:13 -0600 Subject: [PATCH 232/658] ref-manual: Added terminal class. (From yocto-docs rev: 756d44806d82963775e604dc01aeec5e9e4fe812) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 26 ++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index fa3d8d7df19..39fd5cf6961 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -2583,6 +2583,32 @@
+
+ <filename>terminal.bbclass</filename> + + + The terminal class provides support for starting + a terminal session. + The + OE_TERMINAL + variable controls which terminal emulator is used for the session. + + + + You can use this class anywhere a separate terminal session needs to + be started. + To use the class, include the + patch + class if + PATCHRESOLVE + is set to "user", include the + cml1 + class, and include the + devshell + class. + +
+
Adding Users - <filename>useradd.bbclass</filename> From eaf4e8e69a7ff7679883a54295780e3cd81a47d1 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 5 Dec 2013 10:59:15 -0600 Subject: [PATCH 233/658] ref-manual: Added tinderclient class. (From yocto-docs rev: f4bf1658de1c5edefa31644368a3376658949b23) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index 39fd5cf6961..330e360d69a 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -2609,6 +2609,18 @@
+
+ <filename>tinderclient.bbclass</filename> + + + The tinderclient class submits build results to + an external Tinderbox instance. + + This class is currently unmaintained. + + +
+
Adding Users - <filename>useradd.bbclass</filename> From b9a78f05f36ea52fe4212c6ea557dad73eb857b6 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 5 Dec 2013 11:04:22 -0600 Subject: [PATCH 234/658] ref-manual: Added toaster class. (From yocto-docs rev: ae813ee94ffe467e6b5a979010d3a5d5b7616f59) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index 330e360d69a..943daf0ee01 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -2621,6 +2621,21 @@
+
+ <filename>toaster.bbclass</filename> + + + The toaster class collects information about + packages and images and sends them as events that the BitBake + user interface can receive. + The class is enabled when the Toaster user interface is running. + + + + This class is not intended to be used directly. + +
+
Adding Users - <filename>useradd.bbclass</filename> From 1ac994c9801d5e6a6497918e3666b7d8a0e7d4dd Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 5 Dec 2013 11:09:00 -0600 Subject: [PATCH 235/658] ref-manual: Added toolchain-scripts class. (From yocto-docs rev: 0ae57bd21835a4903f783bac9772d52f53255e52) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index 943daf0ee01..1264aa5f4a5 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -2636,6 +2636,15 @@
+
+ <filename>toolchain-scripts.bbclass</filename> + + + The toolchain-scripts class provides the scripts + used for setting up the environment for installed SDKs. + +
+
Adding Users - <filename>useradd.bbclass</filename> From 7ead8dc752ddfc88085f18bf0b7d75d6a1ea029a Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 5 Dec 2013 11:13:27 -0600 Subject: [PATCH 236/658] ref-manual: Added typecheck class. (From yocto-docs rev: de7d8ec25cd6e3d03392d4106f081a32e349d50d) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index 1264aa5f4a5..df465900592 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -2645,6 +2645,22 @@
+
+ <filename>typecheck.bbclass</filename> + + + The typecheck class provides support for + validating the values of variables set at the configuration level + against their defined types. + The OpenEmbedded build system allows you to define the type of a + variable using the "type" varflag. + Here is an example: + + IMAGE_FEATURES[type] = "list" + + +
+
Adding Users - <filename>useradd.bbclass</filename> From d919228aba187d9b8ef2cd5caa4b14758d62ad3a Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 5 Dec 2013 11:27:47 -0600 Subject: [PATCH 237/658] ref-manual: Added uboot-config class. (From yocto-docs rev: 6dec694c5002bea025e8ee4db018276e2d5288ea) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index df465900592..6795afb12ac 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -2661,6 +2661,29 @@
+
+ <filename>uboot-config.bbclass</filename> + + + The uboot-config class provides support for + U-Boot configuration for a machine. + Specify the machine in your recipe as follows: + + UBOOT_CONFIG ??= <default> + UBOOT_CONFIG[foo] = "config,images" + + You can also specify the machine using this method: + + UBOOT_MACHINE = "config" + + See the + UBOOT_CONFIG + and + UBOOT_MACHINE + variables for additional information. + +
+
Adding Users - <filename>useradd.bbclass</filename> From 07c96ea0ea5b6ca12143ad274eb33e19480a681e Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 5 Dec 2013 11:35:57 -0600 Subject: [PATCH 238/658] ref-manual: Added utility-tasks class. (From yocto-docs rev: 8b3254f3df533954f77270740e04d7882565285c) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index 6795afb12ac..e17f1f4fab9 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -2700,6 +2700,24 @@
+
+ <filename>utility-tasks.bbclass</filename> + + + The utility-tasks class provides support for + various "utility" type tasks that are applicable to all recipes, + such as do_clean and + do_listtasks. + + + + This class is enabled by default because it is inherited by + the + base + class. + +
+
<filename>externalsrc.bbclass</filename> From e319b70e07789aabf78a91db6ea7963df1649c1e Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 5 Dec 2013 11:44:43 -0600 Subject: [PATCH 239/658] ref-manual: Added utils class. (From yocto-docs rev: ba1c91587a272bc285867b0d7d8c1fe8d73b809e) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index e17f1f4fab9..c7b99223591 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -2718,6 +2718,23 @@
+
+ <filename>utils.bbclass</filename> + + + The utils class provides some useful Python + functions that are typically used in inline Python expressions + (e.g. ${@...}). + One example use is for base_contains(). + + + + This class is enabled by default because it is inherited by the + base + class. + +
+
<filename>externalsrc.bbclass</filename> From a7def726c9a66bd81e3c94239aa2f61af3f701e9 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 5 Dec 2013 11:50:07 -0600 Subject: [PATCH 240/658] ref-manual: Added vala class. (From yocto-docs rev: be011365798ad1cd6a098e3d8d5b760be0a59dee) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index c7b99223591..5da3863fc41 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -2735,6 +2735,15 @@
+
+ <filename>vala.bbclass</filename> + + + The vala class supports recipes that need to + build software written using the Vala programming language. + +
+
<filename>externalsrc.bbclass</filename> From ca29b1c14f2a19f3971da0b5dcbf95e5cfefaf00 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 5 Dec 2013 11:55:02 -0600 Subject: [PATCH 241/658] ref-manual: Added waf class. (From yocto-docs rev: 2ceb41523952d01eaa2b416e0999c8ea9fa5aca9) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index 5da3863fc41..27d56313e8d 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -2744,6 +2744,19 @@
+
+ <filename>waf.bbclass</filename> + + + The waf class supports recipes that need to build + software that uses the Waf build system. + You can use the + EXTRA_OECONF + variable to specify additional configuration options to be passed on + the Waf command line. + +
+
<filename>externalsrc.bbclass</filename> From 3ca6ae7cdf324ffe33ab577262c1e31acd318cb0 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 5 Dec 2013 12:23:32 -0600 Subject: [PATCH 242/658] ref-manual: Edits to archive* classes. (From yocto-docs rev: 2e989cbc9f994bde26ed9fda3e6d7ac011790f94) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 44 ++++++++++++------------ 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index 27d56313e8d..f3a449f5ddd 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -65,6 +65,28 @@
+
+ <filename>archive*.bbclass</filename> + + + The archive* set of classes support releasing + source code and other materials with the binaries. + This set of classes consists of the following: + + archive-original-sources.bbclass + archive-patched-sources.bbclass + archive-configured-sources.bbclass + archiver.bbclass + + + + + For more details on the source archiver, see the + "Maintaining Open Source License Compliance During Your Product's Lifecycle" + section in the Yocto Project Development Manual. + +
+
The base Class - <filename>base.bbclass</filename> @@ -1287,28 +1309,6 @@
-
- Archiving Sources - <filename>archive*.bbclass</filename> - - - Many software licenses require that source code and other materials be - released with the binaries. - To help with that task, the following classes are provided: - - archive-original-sources.bbclass - archive-patched-sources.bbclass - archive-configured-sources.bbclass - archiver.bbclass - - - - - For more details on the source archiver, see the - "Maintaining Open Source License Compliance During Your Product's Lifecycle" - section in the Yocto Project Development Manual. - -
-
<filename>packagedata.bbclass</filename> From 0619ece9b36c45a628e3b8d0c777209714cb9088 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 5 Dec 2013 12:28:41 -0600 Subject: [PATCH 243/658] ref-manual: Edits to autotools class. (From yocto-docs rev: 91f058a605dc8f6ad38f73c5874fe754f6e1eed6) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 39 +++++++++++++----------- 1 file changed, 22 insertions(+), 17 deletions(-) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index f3a449f5ddd..71e74e869ba 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -87,28 +87,17 @@
-
- The base Class - <filename>base.bbclass</filename> +
+ <filename>autotools.bbclass</filename> - The base class is special in that every .bb - file inherits it automatically. - This class contains definitions for standard basic - tasks such as fetching, unpacking, configuring (empty by default), compiling - (runs any Makefile present), installing (empty by default) and packaging - (empty by default). - These classes are often overridden or extended by other classes - such as autotools.bbclass or package.bbclass. - The class also contains some commonly used functions such as oe_runmake. + The autotools class supports Autotooled + packages. -
- -
- Autotooled Packages - <filename>autotools.bbclass</filename> - Autotools (autoconf, automake, - and libtool) bring standardization. + The autoconf, automake, + and libtool bring standardization. This class defines a set of tasks (configure, compile etc.) that work for all Autotooled packages. It should usually be enough to define a few standard variables @@ -143,6 +132,22 @@
+
+ The base Class - <filename>base.bbclass</filename> + + + The base class is special in that every .bb + file inherits it automatically. + This class contains definitions for standard basic + tasks such as fetching, unpacking, configuring (empty by default), compiling + (runs any Makefile present), installing (empty by default) and packaging + (empty by default). + These classes are often overridden or extended by other classes + such as autotools.bbclass or package.bbclass. + The class also contains some commonly used functions such as oe_runmake. + +
+
Alternatives - <filename>update-alternatives.bbclass</filename> From bbb9996af447852e263143a91defaebb2aa4e988 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 5 Dec 2013 12:33:36 -0600 Subject: [PATCH 244/658] ref-manual: Edits to base class. (From yocto-docs rev: 91e5eb73e223fc8fb95978d39a57b4790760daec) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index 71e74e869ba..d0dc0b09005 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -133,18 +133,23 @@
- The base Class - <filename>base.bbclass</filename> + <filename>base.bbclass</filename> - The base class is special in that every .bb - file inherits it automatically. + The base class is special in that every + .bb file automatically inherits the class. This class contains definitions for standard basic - tasks such as fetching, unpacking, configuring (empty by default), compiling - (runs any Makefile present), installing (empty by default) and packaging - (empty by default). + tasks such as fetching, unpacking, configuring (empty by default), + compiling (runs any Makefile present), installing + (empty by default) and packaging (empty by default). These classes are often overridden or extended by other classes - such as autotools.bbclass or package.bbclass. - The class also contains some commonly used functions such as oe_runmake. + such as the + autotools + class or the + package + class. + The class also contains some commonly used functions such as + oe_runmake.
From 4d3a713cd215932474ee83a31b66119f5f154e52 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 5 Dec 2013 12:37:40 -0600 Subject: [PATCH 245/658] ref-manual: Edits to the bin_package class. (From yocto-docs rev: 5261cb2b993150e929edcf8a298b54d543b1826c) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 160 +++++++++++------------ 1 file changed, 80 insertions(+), 80 deletions(-) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index d0dc0b09005..60e70d0891f 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -153,65 +153,26 @@
-
- Alternatives - <filename>update-alternatives.bbclass</filename> - - - This class helps the alternatives system when multiple sources provide - the same command. - This situation occurs when several programs that have the same or - similar function are installed with the same name. - For example, the ar command is available from the - busybox, binutils and - elfutils packages. - The update-alternatives.bbclass class handles - renaming the binaries so that multiple packages can be installed - without conflicts. - The ar command still works regardless of which - packages are installed or subsequently removed. - The class renames the conflicting binary in each package and symlinks - the highest priority binary during installation or removal of packages. - - - - To use this class, you need to define a number of variables: - - ALTERNATIVE - - ALTERNATIVE_LINK_NAME - - ALTERNATIVE_TARGET - - ALTERNATIVE_PRIORITY - - - These variables list alternative commands needed by a package, - provide pathnames for links, default links for targets, and - so forth. - For details on how to use this class, see the comments in the - update-alternatives.bbclass. - - - - You can use the update-alternatives command - directly in your recipes. - However, this class simplifies things in most cases. - -
- -
- Initscripts - <filename>update-rc.d.bbclass</filename> +
+ <filename>bin_package.bbclass</filename> - This class uses update-rc.d to safely install an - initialization script on behalf of the package. - The OpenEmbedded build system takes care of details such as making sure the script is stopped before - a package is removed and started when the package is installed. - Three variables control this class: - INITSCRIPT_PACKAGES, - INITSCRIPT_NAME and - INITSCRIPT_PARAMS. - See the variable links for details. + The bin_package class is a + helper class for recipes that extract the contents of a binary package + (e.g. an RPM) and install those contents rather than building the + binary from source. + The binary package is extracted and new packages in the configured + output package format are created. + + For RPMs and other packages that do not contain a subdirectory, + you should specify a "subdir" parameter. + Here is an example where ${BP} matches the + subdirectory expected by the default value of + S: + + SRC_URI = "http://example.com/downloads/somepackage.rpm;subdir=${BP}" + +
@@ -243,29 +204,6 @@
-
- <filename>bin_package.bbclass</filename> - - - The binary package (bin_package) class is a - helper class for recipes that extract the contents of a binary package - (e.g. an RPM) and install those contents rather than building the - binary from source. - The binary package is extracted and new packages in the configured - output package format are created. - - For RPMs and other packages that do not contain a subdirectory, - you should specify a "subdir" parameter. - Here is an example where ${BP} matches the - subdirectory expected by the default value of - S: - - SRC_URI = "http://example.com/downloads/somepackage.rpm;subdir=${BP}" - - - -
-
<filename>blacklist.bbclass</filename> @@ -2849,6 +2787,68 @@
+
+ Alternatives - <filename>update-alternatives.bbclass</filename> + + + This class helps the alternatives system when multiple sources provide + the same command. + This situation occurs when several programs that have the same or + similar function are installed with the same name. + For example, the ar command is available from the + busybox, binutils and + elfutils packages. + The update-alternatives.bbclass class handles + renaming the binaries so that multiple packages can be installed + without conflicts. + The ar command still works regardless of which + packages are installed or subsequently removed. + The class renames the conflicting binary in each package and symlinks + the highest priority binary during installation or removal of packages. + + + + To use this class, you need to define a number of variables: + + ALTERNATIVE + + ALTERNATIVE_LINK_NAME + + ALTERNATIVE_TARGET + + ALTERNATIVE_PRIORITY + + + These variables list alternative commands needed by a package, + provide pathnames for links, default links for targets, and + so forth. + For details on how to use this class, see the comments in the + update-alternatives.bbclass. + + + + You can use the update-alternatives command + directly in your recipes. + However, this class simplifies things in most cases. + +
+ +
+ Initscripts - <filename>update-rc.d.bbclass</filename> + + + This class uses update-rc.d to safely install an + initialization script on behalf of the package. + The OpenEmbedded build system takes care of details such as making sure the script is stopped before + a package is removed and started when the package is installed. + Three variables control this class: + INITSCRIPT_PACKAGES, + INITSCRIPT_NAME and + INITSCRIPT_PARAMS. + See the variable links for details. + +
+
Other Classes From ef2bf39bc4891a616be56b316a847e6d41c41223 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 5 Dec 2013 12:38:56 -0600 Subject: [PATCH 246/658] ref-manual: Edits to binconfig class. (From yocto-docs rev: 28128f24690150c648f52714a5b92df307a24fec) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index 60e70d0891f..40c974d29e5 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -180,7 +180,8 @@ <filename>binconfig.bbclass</filename> - This class helps to correct paths in shell scripts. + The binconfig class helps to correct paths in + shell scripts. From d717d7865d367363be83e23eb9324db3311161a6 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 5 Dec 2013 12:41:11 -0600 Subject: [PATCH 247/658] ref-manual: Edits to the blacklist class. (From yocto-docs rev: 8092f0cbc8e511f38e9636a963f35647de4ad9e0) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index 40c974d29e5..54c272e5da0 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -209,11 +209,12 @@ <filename>blacklist.bbclass</filename> - The blacklist (blacklist) class prevents + The blacklist class prevents the OpenEmbedded build system from building specific recipes (blacklists them). To use this class, inherit the class globally and set - PNBLACKLIST for each recipe you wish to blacklist. + PNBLACKLIST + for each recipe you wish to blacklist. Specify the PN value as a variable flag (varflag) and provide a reason, which is reported, if the package is requested to be built as the value. From a6a30b16e6cfb64167bf622e45cfb8de7385e726 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 5 Dec 2013 12:42:04 -0600 Subject: [PATCH 248/658] ref-manual: Edits to boot-directdisk class. (From yocto-docs rev: 9b6fcdb32fe53d99c5c32f475f6944da7556aca7) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index 54c272e5da0..693b6130922 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -232,7 +232,7 @@ <filename>boot-directdisk.bbclass</filename> - The boot direct disk (boot-directdisk) class + The boot-directdisk class creates an image that can be placed directly onto a hard disk using dd and then booted. The image uses SYSLINUX. From 4348ee8eab2b1ce716201ff16ac950bf10ae77d2 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 5 Dec 2013 12:43:57 -0600 Subject: [PATCH 249/658] ref-manual: Edits to bootimg class. (From yocto-docs rev: 7717bd85ee6458d7279fc2010f9ac32dc1134c81) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index 693b6130922..f2ca4ef1ced 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -251,7 +251,7 @@ <filename>bootimg.bbclass</filename> - The boot image (bootimg class creates a bootable + The bootimg class creates a bootable image using SYSLINUX, your kernel and an optional initial RAM disk (initrd). From 2580b6ab920304ace7ad33d43b1e8a843366d7fd Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 5 Dec 2013 12:44:37 -0600 Subject: [PATCH 250/658] ref-manual: Edits to bugzilla class. (From yocto-docs rev: 5891f1a3b1c54f10221d2c7c98fb76dcdafef052) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index f2ca4ef1ced..d700cb19b30 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -290,7 +290,7 @@ <filename>bugzilla.bbclass</filename> - The Bugzilla (bugzilla) class, if enabled in + The bugzilla class, if enabled in your instance of Bugzilla, automatically files bug reports to that enabled instance in response to build failures. This class uses Bugzilla's XML-RPC interface. From f6f4e5d335bbfc4f662697b48e965e81bde83632 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 5 Dec 2013 12:45:11 -0600 Subject: [PATCH 251/658] ref-manual: Edits to buildhistory class. (From yocto-docs rev: 8046633f00b376db502db98f78c772e94622fb6e) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index d700cb19b30..844a58e35b8 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -301,7 +301,7 @@ <filename>buildhistory.bbclass</filename> - The Build History (buildhistory) class records a + The buildhistory class records a history of build output metadata, which can be used to detect possible regressions as well as used for analysis of the build output. For more information on using Build History, see the From 5beaa27ee976b22058aa0027758dc334c4b4809e Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 5 Dec 2013 12:45:56 -0600 Subject: [PATCH 252/658] ref-manual: Edits to buildstats class. (From yocto-docs rev: 7f868e766f64515d3276a013d3750fdbba74f077) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index 844a58e35b8..dba50850b3a 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -314,7 +314,7 @@ <filename>buildstats.bbclass</filename> - The Build Stats (buildstats) class records + The buildstats class records performance statistics about each task executed during the build (e.g. elapsed time, CPU usage, and I/O usage). From 764a60c698899e05a7bec111513ce7dca75e8c66 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 5 Dec 2013 12:50:38 -0600 Subject: [PATCH 253/658] ref-manual: Re-ordered the classes that start with "C" (From yocto-docs rev: 3edf122c8323e2a9c60b3f95f8f93a429d8a6116) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 66 ++++++++++++------------ 1 file changed, 33 insertions(+), 33 deletions(-) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index dba50850b3a..dae9a6f396b 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -340,18 +340,6 @@
-
- <filename>chrpath.bbclass</filename> - - - The change runtime search path (chrpath) class - is a wrapper around the "chrpath" utility, which is used during the - build process for nativesdk recipes to change - RPATH records within binaries in order to make - them relocatable. - -
-
<filename>ccache.bbclass</filename> @@ -366,6 +354,18 @@
+
+ <filename>chrpath.bbclass</filename> + + + The change runtime search path (chrpath) class + is a wrapper around the "chrpath" utility, which is used during the + build process for nativesdk recipes to change + RPATH records within binaries in order to make + them relocatable. + +
+
<filename>clutter.bbclass</filename> @@ -424,6 +424,27 @@
+
+ Perl Modules - <filename>cpan.bbclass</filename> + + + Recipes for Perl modules are simple. + These recipes usually only need to point to the source's archive and then inherit the + proper .bbclass file. + Building is split into two methods depending on which method the module authors used. + + Modules that use old + Makefile.PL-based build system require + cpan.bbclass in their recipes. + + Modules that use + Build.PL-based build system require + using cpan_build.bbclass in their recipes. + + + +
+
<filename>cross.bbclass</filename> @@ -1416,27 +1437,6 @@
-
- Perl Modules - <filename>cpan.bbclass</filename> - - - Recipes for Perl modules are simple. - These recipes usually only need to point to the source's archive and then inherit the - proper .bbclass file. - Building is split into two methods depending on which method the module authors used. - - Modules that use old - Makefile.PL-based build system require - cpan.bbclass in their recipes. - - Modules that use - Build.PL-based build system require - using cpan_build.bbclass in their recipes. - - - -
-
<filename>prexport.bbclass</filename> From 74ff808e1ce442748147317396c412a0366333d7 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 5 Dec 2013 12:54:40 -0600 Subject: [PATCH 254/658] ref-manual: Edits to the cpan class. (From yocto-docs rev: c74aad5cb61fbe0d030d0a7d6a0c3b74154b02a0) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index dae9a6f396b..7812209dbb2 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -424,14 +424,19 @@
-
- Perl Modules - <filename>cpan.bbclass</filename> +
+ <filename>cpan.bbclass</filename> + + + The cpan class supports Perl modules. + Recipes for Perl modules are simple. - These recipes usually only need to point to the source's archive and then inherit the - proper .bbclass file. - Building is split into two methods depending on which method the module authors used. + These recipes usually only need to point to the source's archive and + then inherit the proper class file. + Building is split into two methods depending on which method the module + authors used. Modules that use old Makefile.PL-based build system require From 38f25fae3f9afa1e9e3d3ac1c296134782cf694d Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 5 Dec 2013 12:55:45 -0600 Subject: [PATCH 255/658] ref-manual: Edits to ccache class. (From yocto-docs rev: 2e94db5e642ddcb7d81526b2e36ee135c825b1c2) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index 7812209dbb2..f0c3e9a7c3d 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -344,8 +344,7 @@ <filename>ccache.bbclass</filename> - The C/C++ Compiler Cache (ccache) class enables - this cache for the build. + The ccache class enables this cache for the build. This class is used to give a minor performance boost during the build. However, using the class can lead to unexpected side-effects. Thus, it is recommended that you do not use this class. From 86c35d0d39466d23690c8c795e9f80fa5ceca536 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 5 Dec 2013 12:56:29 -0600 Subject: [PATCH 256/658] ref-manual: Edits to chrpath class. (From yocto-docs rev: b8909479a6396890f66ecf0a70a03563ae0311c2) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index f0c3e9a7c3d..d18dc39c1c1 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -357,7 +357,7 @@ <filename>chrpath.bbclass</filename> - The change runtime search path (chrpath) class + The chrpath class is a wrapper around the "chrpath" utility, which is used during the build process for nativesdk recipes to change RPATH records within binaries in order to make From ca3c32e7c7bab32402073acc441ae7348cb45240 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 5 Dec 2013 12:56:58 -0600 Subject: [PATCH 257/658] ref-manual: Edits to clutter class. (From yocto-docs rev: 3869e568ee53a895971c1f70e8225eda91544c8d) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index d18dc39c1c1..3a328ceaab2 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -369,7 +369,7 @@ <filename>clutter.bbclass</filename> - The Clutter (clutter) class consolidates the + The clutter class consolidates the major and minor version naming and other common items used by Clutter and related recipes. From 5d966deca7dd53712852678c4eb59a149b6e85c2 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 5 Dec 2013 12:57:27 -0600 Subject: [PATCH 258/658] ref-manual: Edits to cmake class. (From yocto-docs rev: aa397e791e02f3a5e3d9d2df40f298cbf4f26fe2) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index 3a328ceaab2..f5ec3edfec1 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -379,7 +379,7 @@ <filename>cmake.bbclass</filename> - The CMake build system (cmake) class allows for + The cmake class allows for recipes that need to build software using the CMake build system. You can use the EXTRA_OECMAKE From cdae5044de86291f05c10be24c72d806f3250653 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 5 Dec 2013 12:58:10 -0600 Subject: [PATCH 259/658] ref-manual: Edits to the copyleft_compliance class. (From yocto-docs rev: deeca7276527aaac6cde01ff0440b39543b3ce3f) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index f5ec3edfec1..c1c1242f50f 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -401,7 +401,7 @@ <filename>copyleft_compliance.bbclass</filename> - The Copyleft Compliance (copyleft_compliance) class + The copyleft_compliance class preserves source code for the purposes of license compliance. This class is an alternative to the archive* classes and is still used by some users even though it has been From 67b2ba861df838bb0e53577b2ce50d27df0705d2 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 5 Dec 2013 12:58:57 -0600 Subject: [PATCH 260/658] ref-manual: Edits to core-image class. (From yocto-docs rev: 6ad4edae4ccbe071a52a142b062e5d2d95745eb0) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index c1c1242f50f..32492548c65 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -415,7 +415,7 @@ <filename>core-image.bbclass</filename> - The Core Image (core-image) class + The core-image class provides common definitions for the core-image-* image recipes, such as support for additional From 44c15f901e58174ca444729ce6d24b2ea82a746f Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 5 Dec 2013 12:59:42 -0600 Subject: [PATCH 261/658] ref-manual: Edits to cross class. (From yocto-docs rev: 852f477f180968dac3eca7b56876616e7479918c) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index 32492548c65..571344cab1f 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -453,8 +453,8 @@ <filename>cross.bbclass</filename> - The cross-compilation (cross) class - provides support for cross-compilation tools. + The cross)class provides support for + cross-compilation tools.
From bf29c7002e14ddbf560b16f630b36cb283bded73 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 5 Dec 2013 13:00:14 -0600 Subject: [PATCH 262/658] ref-manual: Edits to cross-canadian class. (From yocto-docs rev: 5e4fe91ae999cd4f0a84e64ebc0e1931f44a88f2) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index 571344cab1f..e9dda61fefd 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -462,7 +462,7 @@ <filename>cross-canadian.bbclass</filename> - The Canadian Cross (cross-canadian) class + The cross-canadian class provides support for Canadian Cross compilation tools for SDKs. See the "Cross-Development Toolchain Generation" From 35dcd38287b3ce2df722f65c20ae74e93fe8ac7a Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 5 Dec 2013 13:00:43 -0600 Subject: [PATCH 263/658] ref-manual: Edits to crosssdk class. (From yocto-docs rev: 24a16ca53617091e6201a94f2fae7c9fdbc9b4ee) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index e9dda61fefd..92ae60dfa7a 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -474,7 +474,7 @@ <filename>crosssdk.bbclass</filename> - The Cross SDK (crosssdk) class + The crosssdk class provides support for cross-compilation tools used for building SDKs. See the From 8f3ed72b06c97894eeb9d11dbb54be9f50ffd2b9 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 5 Dec 2013 13:06:21 -0600 Subject: [PATCH 264/658] ref-manual: Re-ordered the classes that start with "D". (From yocto-docs rev: e65278b9476681eb6f9c662993e110ee4422ebc7) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 105 +++++++++++------------ 1 file changed, 52 insertions(+), 53 deletions(-) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index 92ae60dfa7a..275a965f801 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -483,6 +483,16 @@
+
+ Debian Renaming - <filename>debian.bbclass</filename> + + + This class renames packages so that they follow the Debian naming + policy (i.e. eglibc becomes libc6 + and eglibc-devel becomes libc6-dev.) + +
+
<filename>deploy.bbclass</filename> @@ -503,12 +513,15 @@
-
- <filename>distrodata.bbclass</filename> +
+ Developer Shell - <filename>devshell.bbclass</filename> - The Distribution Data (distrodata) class - provides for automatic checking for upstream recipe updates. + This class adds the devshell task. + Distribution policy dictates whether to include this class. + See the + "Using a Development Shell" section + in the Yocto Project Development Manual for more information about using devshell.
@@ -532,6 +545,41 @@
+
+ <filename>distrodata.bbclass</filename> + + + The Distribution Data (distrodata) class + provides for automatic checking for upstream recipe updates. + +
+ +
+ Python Extensions - <filename>distutils.bbclass</filename> + + + Recipes for Python extensions are simple. + These recipes usually only need to point to the source's archive and then inherit + the proper .bbclass file. + Building is split into two methods depending on which method the module authors used. + + Extensions that use an Autotools-based build system + require Autotools and + distutils-based classes in their recipes. + + Extensions that use + distutils-based build systems require + the distutils class in their recipes. + + Extensions that use the setuptools-based build + systems require the + setuptools + class in their recipes. + + + +
+
<filename>extrausers.bbclass</filename> @@ -593,16 +641,6 @@
-
- Debian Renaming - <filename>debian.bbclass</filename> - - - This class renames packages so that they follow the Debian naming - policy (i.e. eglibc becomes libc6 - and eglibc-devel becomes libc6-dev.) - -
-
<filename>gconf.bbclass</filename> @@ -1666,44 +1704,6 @@
-
- Python Extensions - <filename>distutils.bbclass</filename> - - - Recipes for Python extensions are simple. - These recipes usually only need to point to the source's archive and then inherit - the proper .bbclass file. - Building is split into two methods depending on which method the module authors used. - - Extensions that use an Autotools-based build system - require Autotools and - distutils-based classes in their recipes. - - Extensions that use - distutils-based build systems require - the distutils class in their recipes. - - Extensions that use the setuptools-based build - systems require the - setuptools - class in their recipes. - - - -
- -
- Developer Shell - <filename>devshell.bbclass</filename> - - - This class adds the devshell task. - Distribution policy dictates whether to include this class. - See the - "Using a Development Shell" section - in the Yocto Project Development Manual for more information about using devshell. - -
-
Package Groups - <filename>packagegroup.bbclass</filename> @@ -1725,7 +1725,6 @@
-
<filename>package.bbclass</filename> From 1856110b9292eabb3560cb7e2887e2972d83b79b Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 5 Dec 2013 13:08:04 -0600 Subject: [PATCH 265/658] ref-manual: Edits to debian class. (From yocto-docs rev: e17c4f495c1b3d029bdfe820a8a8448f2453a9f7) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index 275a965f801..0f904d3c9e8 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -484,12 +484,13 @@
- Debian Renaming - <filename>debian.bbclass</filename> + <filename>debian.bbclass</filename> - This class renames packages so that they follow the Debian naming - policy (i.e. eglibc becomes libc6 - and eglibc-devel becomes libc6-dev.) + The debian class renames packages so that they + follow the Debian naming policy (i.e. eglibc + becomes libc6 and eglibc-devel + becomes libc6-dev.)
From 4526a1747cc69c754a1e10c37760b4d40b574c3c Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 5 Dec 2013 13:08:47 -0600 Subject: [PATCH 266/658] ref-manual: Edits to deploy class. (From yocto-docs rev: aec5ec0b95bc2d4ba5a00d070282cbef460df877) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index 0f904d3c9e8..36c0ee3502a 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -498,7 +498,7 @@ <filename>deploy.bbclass</filename> - The Deploy (deploy) class handles deploying files + The deploy class handles deploying files to the DEPLOY_DIR_IMAGE directory. From 7042d72d04bedae51a2cc71c21fff490433ec940 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 5 Dec 2013 13:10:29 -0600 Subject: [PATCH 267/658] ref-manual: Edits to devshell class. (From yocto-docs rev: 2688ebef1dac71d64083bf0725c1c5e8382dfa6c) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index 36c0ee3502a..5d99b69c7f2 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -515,14 +515,16 @@
- Developer Shell - <filename>devshell.bbclass</filename> + <filename>devshell.bbclass</filename> - This class adds the devshell task. + The devshell class adds the + devshell task. Distribution policy dictates whether to include this class. See the "Using a Development Shell" section - in the Yocto Project Development Manual for more information about using devshell. + in the Yocto Project Development Manual for more information about + using devshell.
From 213540317dbe59d0e8b1a3c988bc2ee289d93897 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 5 Dec 2013 13:11:08 -0600 Subject: [PATCH 268/658] ref-manual: Edits to distro_features_check class. (From yocto-docs rev: 058a4a38e1001ec5b8405a1f2eb3a15837750605) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index 5d99b69c7f2..b508ea42402 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -532,7 +532,7 @@ <filename>distro_features_check.bbclass</filename> - The Distribution Features Check (distro_features_check) class + The distro_features_check class allows individual recipes to check for required and conflicting DISTRO_FEATURES. From 66946cc0268ed057d9a8d20c5c93e047aa5fcf97 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 5 Dec 2013 13:11:51 -0600 Subject: [PATCH 269/658] ref-manual: Edits to distrodata class. (From yocto-docs rev: e744c7ac57c22dec67f612e3e0c1669cc4df447b) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index b508ea42402..f94ae2f9ed4 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -552,7 +552,7 @@ <filename>distrodata.bbclass</filename> - The Distribution Data (distrodata) class + The distrodata class provides for automatic checking for upstream recipe updates. From 86a44bbd9968990072953cc194aaecb22a034839 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 5 Dec 2013 13:14:04 -0600 Subject: [PATCH 270/658] ref-manual: Edits to distutils class. (From yocto-docs rev: 97c5d2a4e5e8b1e6495cd79a47bd2e2155cd246c) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index f94ae2f9ed4..5fc7be9c266 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -558,13 +558,15 @@
- Python Extensions - <filename>distutils.bbclass</filename> + <filename>distutils.bbclass</filename> - Recipes for Python extensions are simple. - These recipes usually only need to point to the source's archive and then inherit - the proper .bbclass file. - Building is split into two methods depending on which method the module authors used. + The distutils class supports recipes for Python + extensions, which are simple. + These recipes usually only need to point to the source's archive and + then inherit the proper class. + Building is split into two methods depending on which method the + module authors used. Extensions that use an Autotools-based build system require Autotools and From 3b69a8e19d30e0afb4e9fd238d4727647f54afea Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 5 Dec 2013 13:16:21 -0600 Subject: [PATCH 271/658] ref-manual: Edits to extrausers class. (From yocto-docs rev: cbda2153184c9b8f16ca407b269a284d03fcdff9) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index 5fc7be9c266..4c8a8c74713 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -589,7 +589,7 @@ <filename>extrausers.bbclass</filename> - The extra users (extrausers) class allows + The extrausers class allows additional user and group configuration to be applied at the image level. Inheriting this class either globally or from an image recipe allows From f1751a96765c168377038925bc9702433bedad19 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 5 Dec 2013 13:19:28 -0600 Subject: [PATCH 272/658] ref-manual: Edits to fontcache class. (From yocto-docs rev: 48ddff0c81ac4992247401115049acd7e72603db) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index 4c8a8c74713..646a9d44fec 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -627,8 +627,8 @@ <filename>fontcache.bbclass</filename> - The font cache (fontcache) class generates the - proper post-installation and post-remove (postinst and postrm) + The fontcache class generates the + proper post-install and post-remove (postinst and postrm) scriptlets for font packages. These scriptlets call fc-cache (part of Fontconfig) to add the fonts to the font From fac71e1909a5df10faf58abc58f2788a902bf8ac Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 5 Dec 2013 13:21:34 -0600 Subject: [PATCH 273/658] ref-manual: Edits to gconf class. (From yocto-docs rev: c2643fd1075817392bb324a0e92466e7995b2e2f) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index 646a9d44fec..087fde1c334 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -650,12 +650,12 @@ <filename>gconf.bbclass</filename> - The GConf (gconf) class provides common + The gconf class provides common functionality for recipes that need to install GConf schemas. The schemas will be put into a separate package (${PN}-gconf) that is created automatically when this class is inherited. - This package uses the appropriate post-installation and post-remove + This package uses the appropriate post-install and post-remove (postinst/postrm) scriptlets to register and unregister the schemas in the target image. From 7b9874a0c182b170f23d33cdf4d947f480dc3f93 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 5 Dec 2013 13:22:07 -0600 Subject: [PATCH 274/658] ref-manual: Edits to gettext class. (From yocto-docs rev: 22689cbe58a157de5c1ebc38e0859491373b73fe) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index 087fde1c334..eca3542578c 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -665,7 +665,7 @@ <filename>gettext.bbclass</filename> - The GText (gettext) class provides support for + The gettext class provides support for building software that uses the GNU gettext internationalization and localization system. All recipes building software that use From 0b8dfacddf5eb6783682e02c91ebe2708ededfde Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 5 Dec 2013 13:22:40 -0600 Subject: [PATCH 275/658] ref-manual: Edits to gnome class. (From yocto-docs rev: 8c845bdef9380da400be7b0bfbe5167876b0d5aa) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index eca3542578c..4255eb18509 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -677,7 +677,7 @@ <filename>gnome.bbclass</filename> - The GNOME (gnome) class supports recipes that + The gnome class supports recipes that build software from the GNOME stack. This class inherits the gnomebase, From bb795b78301dc86eda92f8dd6973a815648c3122 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 5 Dec 2013 13:23:12 -0600 Subject: [PATCH 276/658] ref-manual: Edits to gnomebase class. (From yocto-docs rev: ed4380f015ecb554e8efc3f6250a53053c2c327c) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index 4255eb18509..71564f20e19 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -693,7 +693,7 @@ <filename>gnomebase.bbclass</filename> - The GNOME base (gnomebase) class is the base + The gnomebase class is the base class for recipes that build software from the GNOME stack.
From a860737bbaf5bc4d1dd4f91deade2e6d5582807e Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 5 Dec 2013 13:23:57 -0600 Subject: [PATCH 277/658] ref-manual: Edits to grub-efi class. (From yocto-docs rev: 99b858ea434c087de900ed99b8615dc060fd1850) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index 71564f20e19..88a3b517bbc 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -702,7 +702,7 @@ <filename>grub-efi.bbclass</filename> - The GRUB Extensible Firmware Interface (grub-efi) + The grub-efi class provides grub-efi-specific functions for building bootable images. From 9814463a40154dbff2263571deafa8653dc84397 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 5 Dec 2013 13:24:45 -0600 Subject: [PATCH 278/658] ref-manual: Edits to gsettings class. (From yocto-docs rev: 4eab42554d1409f58cf8498e40eb32b4d91677d3) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index 88a3b517bbc..1fb91ecd5b6 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -749,11 +749,11 @@ <filename>gsettings.bbclass</filename> - The GSettings (gsettings) class + The gsettings class provides common functionality for recipes that need to install GSettings (glib) schemas. The schemas are assumed to be part of the main package. - Appropriate post-installation and post-remove (postinst/postrm) + Appropriate post-install and post-remove (postinst/postrm) scriptlets are added to register and unregister the schemas in the target image. From c38098f91c797e69d0083ec44372baeaf1966c10 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 5 Dec 2013 13:25:18 -0600 Subject: [PATCH 279/658] ref-manual: Edits to gtk-doc class. (From yocto-docs rev: ba43afe951e31e6ddac1df247451ba79d1c6e615) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index 1fb91ecd5b6..c5c8885167e 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -763,7 +763,7 @@ <filename>gtk-doc.bbclass</filename> - The GIMP Toolkit Documentation (gtk-doc) class + The gtk-doc class is a helper class to pull in the appropriate gtk-doc dependencies and disable gtk-doc. From 8081a47a04bfcf2ce0a4e211a66b0822116fa64a Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 5 Dec 2013 13:25:52 -0600 Subject: [PATCH 280/658] ref-manual: Edits to gtk-icon-cache class. (From yocto-docs rev: 6e0136e432211fc47d49f9634fc21ec1b328cac8) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index c5c8885167e..678d7792d72 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -774,7 +774,7 @@ <filename>gtk-icon-cache.bbclass</filename> - The GIMP Toolkit icon cache (gtk-icon-cache) class + The gtk-icon-cache class Generates the proper post-install and post-remove (postinst/postrm) scriptlets for packages that use GTK+ and install icons. These scriptlets call gtk-update-icon-cache to add From 5f9c15fc85354cdbed72ae9092744ae2b6c8387f Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 5 Dec 2013 13:26:30 -0600 Subject: [PATCH 281/658] ref-manual: Edits to gtk-immodules-cache class. (From yocto-docs rev: b6c042b34a302b659369c005b07f6f476d04f695) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index 678d7792d72..d726dcb7ce6 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -790,8 +790,7 @@ <filename>gtk-immodules-cache.bbclass</filename> - The GIMP Toolkit input method modules - (gtk-immodules-cache) class + The gtk-immodules-cache class generates the proper post-install and post-remove (postinst/postrm) scriptlets for packages that install GTK+ input method modules for virtual keyboards. From d22c00e9fcdf765d01764d35b018ad6b0aad1c9b Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 5 Dec 2013 13:27:16 -0600 Subject: [PATCH 282/658] ref-manual: Edits to gzipnative class. (From yocto-docs rev: 4294792a9ef590945a2adc91ddd75456e7ea80b2) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index d726dcb7ce6..da47d51fd66 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -814,7 +814,7 @@ <filename>gzipnative.bbclass</filename> - The gzip native (gzipnative) + The gzipnative class enables the use of native versions of gzip and pigz rather than the system versions. From ae9f8623a9f882c1db82a45c6d782dee60f88721 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 5 Dec 2013 13:35:21 -0600 Subject: [PATCH 283/658] ref-manual: Edits to icecc class and re-order of "I" classes. (From yocto-docs rev: 643ccc4ac495e0dc88de20012d4843d2a402b507) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 2602 +++++++++++----------- 1 file changed, 1311 insertions(+), 1291 deletions(-) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index da47d51fd66..f36c80d6f3b 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -824,9 +824,8 @@ <filename>icecc.bbclass</filename> - The Icecream distributed compile support (icecc) - class stages directories with symlinks from - gcc and g++ to + The icecc class stages directories with symlinks + from gcc and g++ to icecc, for both native and cross compilers. Depending on each configure or compile, the OpenEmbedded build system adds the directories at the head of the PATH list @@ -892,26 +891,69 @@ -
- <filename>image-live.bbclass</filename> +
+ Creating Images - <filename>image.bbclass</filename> and <filename>rootfs*.bbclass</filename> - The live image (image-live) class - supports building "live" images. - Normally, you do not use this class directly. - Instead, you add "live" to - IMAGE_FSTYPES. + These classes add support for creating images in several formats. + First, the root filesystem is created from packages using + one of the rootfs_*.bbclass + files (depending on the package format used) and then the image is created. + + The + IMAGE_FSTYPES + variable controls the types of images to generate. + + The + IMAGE_INSTALL + variable controls the list of packages to install into the + image. +
-
- <filename>image-vmdk.bbclass</filename> +
+ <filename>image_types.bbclass</filename> - The Virtual Machine Disk image (image-vmdk) class - supports building VMware VMDK images. + The image types (image_types) class defines all of + the standard image output types that you can enable through the + IMAGE_FSTYPES + variable. + You can use this class as a reference on how to add support for custom + image output types. + + + + By default, this class is enabled through the + IMAGE_CLASSES + variable in + image.bbclass. + If you define your own image types using a custom BitBake class and + then use IMAGE_CLASSES to enable it, the custom + class must either inherit image_types or + image_types must also appear in + IMAGE_CLASSES. + +
+ +
+ <filename>image_types_uboot.bbclass</filename> + + + The U-Boot image types (image_types_uboot) class + defines additional image types specifically for the U-Boot bootloader. + +
+ +
+ <filename>image-live.bbclass</filename> + + + The live image (image-live) class + supports building "live" images. Normally, you do not use this class directly. - Instead, you add "vmdk" to + Instead, you add "live" to IMAGE_FSTYPES.
@@ -979,1502 +1021,1480 @@
-
- <filename>image_types.bbclass</filename> - - - The image types (image_types) class defines all of - the standard image output types that you can enable through the - IMAGE_FSTYPES - variable. - You can use this class as a reference on how to add support for custom - image output types. - - - - By default, this class is enabled through the - IMAGE_CLASSES - variable in - image.bbclass. - If you define your own image types using a custom BitBake class and - then use IMAGE_CLASSES to enable it, the custom - class must either inherit image_types or - image_types must also appear in - IMAGE_CLASSES. - -
- -
- <filename>image_types_uboot.bbclass</filename> - - - The U-Boot image types (image_types_uboot) class - defines additional image types specifically for the U-Boot bootloader. - -
- -
- <filename>insserve.bbclass</filename> - - - The insserve (insserve) class - uses the insserv utility to update the order of - symbolic links in /etc/rc?.d/ within an image - based on dependencies specified by LSB headers in the - init.d scripts themselves. - -
- -
- <filename>kernel-arch.bbclass</filename> - - - The kernel architecture (kernel-arch) class - sets the ARCH environment variable for Linux - kernel compilation (including modules). - -
- -
- <filename>kernel-module-split.bbclass</filename> - - - The kernel module split (kernel-module-split) class - provides common functionality for splitting Linux kernel modules into - separate packages. - -
- -
- <filename>kernel-yocto.bbclass</filename> - - - The Yocto Project kernel (kernel-yocto) class - provides common functionality for building from linux-yocto style - kernel source repositories. - -
- -
- <filename>lib_package.bbclass</filename> - - - The library package (lib_package) class - supports recipes that build libraries and produce executable - binaries, where those binaries should not be installed by default - along with the library. - Instead, the binaries are added to a separate - ${PN}-bin - package to make their installation optional. - -
- -
- <filename>linux-kernel-base.bbclass</filename> - - - The Linux kernel base (linux-kernel-base) class - provides common functionality for recipes that build out of the Linux - kernel source tree. - These builds goes beyond the kernel itself. - For example, the Perf recipe also inherits this class. - -
- -
- <filename>license.bbclass</filename> - - - The license (license) class provides license - manifest creation and license exclusion. - This class is enabled by default using the default value for the - INHERIT_DISTRO - variable. - -
- -
- <filename>logging.bbclass</filename> - - - The logging (logging) class provides the standard - shell functions used to log messages for various BitBake severity levels - (i.e. bbplain, bbnote, - bbwarn, bberror, - bbfatal, and bbdebug. - +
+ <filename>image-vmdk.bbclass</filename> - This class is enabled by default since it is inherited by - the base class. + The Virtual Machine Disk image (image-vmdk) class + supports building VMware VMDK images. + Normally, you do not use this class directly. + Instead, you add "vmdk" to + IMAGE_FSTYPES.
-
- <filename>meta.bbclass</filename> +
+<filename>insane.bbclass</filename> - The Metadata (meta) class is inherited by recipes - that do not build any output packages themselves, but act as a "meta" - target for building other recipes. + This class adds a step to the package generation process so that + output quality assurance checks are generated by the OpenEmbedded + build system. + A range of checks are performed that check the build's output + for common problems that show up during runtime. + Distribution policy usually dictates whether to include this class. -
- -
- <filename>metadata_scm.bbclass</filename> - The Metadata Source Code Management (SCM) System - (metadata_scm) class provides functionality for - querying the branch and revision of an SCM repository. + You can configure the sanity checks so that specific test failures + either raise a warning or an error message. + Typically, failures for new tests generate a warning. + Subsequent failures for the same test would then generate an error + message once the metadata is in a known and good condition. - The base - class uses this class to print the revisions of each layer before - starting every build. - The metadata_scm class is enabled by default - because it is inherited by the base class. + Use the + WARN_QA and + ERROR_QA + variables to control the behavior of + these checks at the global level (i.e. in your custom distro + configuration). + However, to skip one or more checks in recipes, you should use + INSANE_SKIP. + For example, to skip the check for symbolic link + .so files in the main package of a recipe, + add the following to the recipe. + You need to realize that the package name override, in this example + ${PN}, must be used: + + INSANE_SKIP_${PN} += "dev-so" + + Please keep in mind that the QA checks exist in order to detect real + or potential problems in the packaged output. + So exercise caution when disabling these checks. -
- -
- <filename>mime.bbclass</filename> - The Multipurpose Internet Mail Extension (MIME) - (mime) class generates the proper - post-install and post-remove (postinst/postrm) scriptlets for packages - that install MIME type files. - These scriptlets call update-mime-database to add - the MIME types to the shared database. - -
- -
- <filename>mirrors.bbclass</filename> - - - The mirrors (mirrors) class sets up some standard - MIRRORS entries - for source code mirrors. - These mirrors provide a fall-back path in case the upstream source - specified in - SRC_URI - within recipes is unavailable. - - - - This class is enabled by default since it is inherited by the - base class. - -
- -
- <filename>multilib*.bbclass</filename> - - - The Multilib (multilib*) classes provide support - for building libraries with different target optimizations or target - architectures and installing them side-by-side in the same image. - - - - For more information on using the Multilib feature, see the - "Combining Multiple Versions of Library Files into One Image" - section in the Yocto Project Development Manual. - -
- -
- <filename>native.bbclass</filename> - - - The native (native) class provides common - functionality for recipes that wish to build tools to run on the build - host (i.e. tools that use the compiler or other tools from the - build host). - - - - You can create a recipe that builds tools that run natively on the - host a couple different ways: + The following list shows the tests you can list with the + WARN_QA and ERROR_QA + variables: - Create a myrecipe-native.bb - that inherits the native class. + ldflags: + Ensures that the binaries were linked with the + LDFLAGS options provided by the build system. + If this test fails, check that the LDFLAGS variable + is being passed to the linker command. + useless-rpaths: + Checks for dynamic library load paths (rpaths) in the binaries that + by default on a standard system are searched by the linker (e.g. + /lib and /usr/lib). + While these paths will not cause any breakage, they do waste space and + are unnecessary. + rpaths: + Checks for rpaths in the binaries that contain build system paths such + as TMPDIR. + If this test fails, bad -rpath options are being + passed to the linker commands and your binaries have potential security + issues. + dev-so: + Checks that the .so symbolic links are in the + -dev package and not in any of the other packages. + In general, these symlinks are only useful for development purposes. + Thus, the -dev package is the correct location for + them. + Some very rare cases do exist for dynamically loaded modules where + these symlinks are needed instead in the main package. - Create or modify a target recipe that has adds - the following: - - BBCLASSEXTEND = "native" - - Inside the recipe, use _class-native and - _class-target overrides to specify any - functionality specific to the respective native or target - case. - - - - - Although applied differently, the native class is - used with both methods. - The advantage of the second method is that you do not need to have two - separate recipes (assuming you need both) for native and target. - All common parts of the recipe are automatically shared. - -
- -
- <filename>nativesdk.bbclass</filename> - - - The native SDK (nativesdk) class provides common - functionality for recipes that wish to build tools to run as part of - an SDK (i.e. tools that run on - SDKMACHINE). - - - - You can create a recipe that builds tools that run on the SDK machine - a couple different ways: - - Create a myrecipe-native.bb - that inherits the nativesdk class. + debug-files: + Checks for .debug directories in anything but the + -dbg package. + The debug files should all be in the -dbg package. + Thus, anything packaged elsewhere is incorrect packaging. + arch: + Checks the Executable and Linkable Format (ELF) type, bit size, and endianness + of any binaries to ensure they match the target architecture. + This test fails if any binaries don't match the type since there would be an + incompatibility. + Sometimes software, like bootloaders, might need to bypass this check. - Create a nativesdk variant - of any recipe by adding the following: - - BBCLASSEXTEND = "nativesdk" - - Inside the recipe, use _class-nativesdk and - _class-target overrides to specify any - functionality specific to the respective SDK machine or target - case. - - - - - Although applied differently, the nativesdk class - is used with both methods. - The advantage of the second method is that you do not need to have two - separate recipes (assuming you need both) for the SDK machine and the - target. - All common parts of the recipe are automatically shared. - -
- -
- <filename>oelint.bbclass</filename> - - - The OpenEmbedded link (oelint) class is an - obsolete lint checking tool that exists in - meta/classes in the - Source Directory. - - - - A number of classes exist that are could be generally useful in - OE-Core but are never actually used within OE-Core itself. - The oelint class is one such example. - However, being aware of this class can reduce the proliferation of - different versions of similar classes across multiple layers. - -
- -
- <filename>ownmirrors.bbclass</filename> - - - The own mirrors (ownmirrors) class makes it - easier to set up your own - PREMIRRORS - from which to first fetch source before attempting to fetch it from the - upstream specified in - SRC_URI - within each recipe. - - - - To use this class, inherit it globally and specify - SOURCE_MIRROR_URL. - Here is an example: - - INHERIT += "own-mirrors" - SOURCE_MIRROR_URL = "http://example.com/my-source-mirror" - - You can specify only a single URL in - SOURCE_MIRROR_URL. - -
- -
- Pkg-config - <filename>pkgconfig.bbclass</filename> - - - pkg-config provides a standard way to get - header and library information. - This class aims to smooth integration of - pkg-config into libraries that use it. - - - - During staging, BitBake installs pkg-config data into the - sysroots/ directory. - By making use of sysroot functionality within pkg-config, - this class no longer has to manipulate the files. - -
- -
- <filename>packagedata.bbclass</filename> - - - The package data (packagedata) class provides - common functionality for reading pkgdata files - found in - PKGDATA_DIR. - These files contain information about each output package produced by - the OpenEmbedded build system. - - - - This class is enabled by default because it is inherited by the - package - class. - -
- -
- <filename>packageinfo.bbclass</filename> - - - The package information (packageinfo) class - gives a BitBake user interface the ability to retrieve information - about output packages from the pkgdata files. - - - - This class is enabled automatically when using the - Hob - user interface. - -
- -
- <filename>patch.bbclass</filename> - - - The patch class provides all functionality for - applying patches during the do_patch task. - - - - This class is enabled by default because it is inherited by the - base - class. - -
- -
- <filename>perlnative.bbclass</filename> - - - When inherited by a recipe, the perlnative class - supports using the native version of Perl built by the build system - rather than using the version provided by the build host. - -
- -
- <filename>pixbufcache.bbclass</filename> - - - The pixbufcache class generates the proper - post-install and post-remove (postinst/postrm) scriptlets for packages - that install pixbuf loaders, which are used with - gdk-pixbuf. - These scriptlets call update_pixbuf_cache - to add the input method modules to the cache. - Since the cache files are architecture-specific, - update_pixbuf_cache is run using QEMU if the - postinst scriptlets need to be run on the build host during image - creation. - - - - If the pixbuf loaders modules being installed are in packages other - than the main package, set - PIXBUF_PACKAGES - to include the packages containing the modules. - -
- -
- <filename>populate_sdk.bbclass</filename> - - - The populate_sdk class facilitates compatibility - with SDK-only recipes. - -
- -
- <filename>populate_sdk_*.bbclass</filename> - - - The populate_sdk_* family of classes support - SDK creation. - This family of classes consists of the following: - - populate_sdk_base: - The base class supporting SDK creation under all package - managers (i.e. DEB, RPM, and IPK). - populate_sdk_deb: - Supports creation of the SDK given the Debian package manager. + debug-deps: + Checks that -dbg packages only depend on other + -dbg packages and not on any other types of packages, + which would cause a packaging bug. + dev-deps: + Checks that -dev packages only depend on other + -dev packages and not on any other types of packages, + which would be a packaging bug. + pkgconfig: + Checks .pc files for any + TMPDIR/WORKDIR + paths. + Any .pc file containing these paths is incorrect + since pkg-config itself adds the correct sysroot prefix + when the files are accessed. + textrel: + Checks for ELF binaries that contain relocations in their + .text sections, which can result in a + performance impact at runtime. + pkgvarcheck: + Checks through the variables + RDEPENDS, + RRECOMMENDS, + RSUGGESTS, + RCONFLICTS, + RPROVIDES, + RREPLACES, + FILES, + ALLOW_EMPTY, + pkg_preinst, + pkg_postinst, + pkg_prerm + and pkg_postrm, and reports if there are + variable sets that are not package-specific. + Using these variables without a package suffix is bad practice, + and might unnecessarily complicate dependencies of other packages + within the same recipe or have other unintended consequences. - populate_sdk_rpm: - Supports creation of the SDK given the RPM package manager. + xorg-driver-abi: + Checks that all packages containing Xorg drivers have ABI + dependencies. + The xserver-xorg recipe provides driver + ABI names. + All drivers should depend on the ABI versions that they have + been built against. + Driver recipes that include + xorg-driver-input.inc + or xorg-driver-video.inc will + automatically get these versions. + Consequently, you should only need to explicitly add + dependencies to binary driver recipes. - populate_sdk_ipk: - Supports creation of the SDK given the IPK package manager. + libexec: + Checks if a package contains files in + /usr/libexec. + This check is not performed if the + libexecdir variable has been set + explicitly to /usr/libexec. - - - - - The populate_sdk_base package inherits the - appropriate populate_sdk_* (i.e. - deb, rpm, and - ipk) based on - IMAGE_PKGTYPE. - - - - The base class ensures all source and destination directories are - established and then populates the SDK. - After populating the SDK, the populate_sdk_base - class constructs two images: - SDK_ARCH-nativesdk, - which contains the cross-compiler and associated tooling, and the - target, which contains a target root filesystem that is configured for - the SDK usage. - These two images reside in - SDK_OUTPUT, - which consists of the following: - - ${SDK_OUTPUT}/<sdk_arch-nativesdk pkgs> - ${SDK_OUTPUT}/${SDKTARGETSYSROOT}/<target pkgs> - - - - - Finally, the base populate SDK class creates the toolchain - environment setup script, the tarball of the SDK, and the installer. - - - - The respective populate_sdk_deb, - populate_sdk_rpm, and - populate_sdk_ipk classes each support the - specific type of SDK. - These classes are inherited by and used with the - populate_sdk_base class. - -
- -
- <filename>prexport.bbclass</filename> - - - The prexport class provides functionality for - exporting - PR values. - - This class is not intended to be used directly. - Rather, it is enabled when using - "bitbake-prserv-tool export". - - -
- -
- <filename>primport.bbclass</filename> - - - The primport class provides functionality for - importing - PR values. - - This class is not intended to be used directly. - Rather, it is enabled when using - "bitbake-prserv-tool import". - - -
- -
- <filename>prserv.bbclass</filename> - - - The prserv class provides functionality for - using a - PR service - in order to automatically manage the incrementing of the - PR variable for - each recipe. - - - - This class is enabled by default because it is inherited by the - package - class. - However, the OpenEmbedded build system will not use this variable - unless - PRSERV_HOST - has been set. - -
- -
- <filename>ptest.bbclass</filename> - - - The ptest class provides functionality for - packaging and installing runtime tests for recipes that build software - that provides these tests. - - - - This class is intended to be inherited by individual recipes. - However, the class' functionality is largely disabled unless "ptest" - appears in - DISTRO_FEATURES. - See the - "Testing Packages With ptest" - section in the Yocto Project Development Manual for more information - on ptest. - -
- -
- <filename>python-dir.bbclass</filename> - - - The python-dir class provides the base version, - location, and site package location for Python. - -
- -
- <filename>pythonnative.bbclass</filename> - - - The pythonnative causes the OpenEmbedded build - system to use the native version of Python, which is built by the - build system. - Normally, the OpenEmbedded build system uses the version of Python - that is built by the build host. - - This class must be inherited by a recipe in order to be used. - + staticdev: + Checks for static library files (*.a) in + non-staticdev packages. + + la: + Checks .la files for any TMPDIR + paths. + Any .la file containing these paths is incorrect since + libtool adds the correct sysroot prefix when using the + files automatically itself. + desktop: + Runs the desktop-file-validate program + against any .desktop files to validate + their contents against the specification for + .desktop files. + already-stripped: + Checks that produced binaries have not already been + stripped prior to the build system extracting debug symbols. + It is common for upstream software projects to default to + stripping debug symbols for output binaries. + In order for debugging to work on the target using + -dbg packages, this stripping must be + disabled. + + split-strip: + Reports that splitting or stripping debug symbols from binaries + has failed. + + arch: + Checks to ensure the architecture, bit size, and endianness + of all output binaries matches that of the target. + This test can detect when the wrong compiler or compiler options + have been used. + + installed-vs-shipped: + Reports when files have been installed within + do_install but have not been included in + any package by way of the + FILES + variable. + Files that do not appear in any package cannot be present in + an image later on in the build process. + Ideally, all installed files should be packaged or not + installed at all. + These files can be deleted at the end of + do_install if the files are not + needed in any package. + + dep-cmp: + Checks for invalid version comparison statements in runtime + dependency relationships between packages (i.e. in + RDEPENDS, + RRECOMMENDS, + RSUGGESTS, + RPROVIDES, + RREPLACES, + and + RCONFLICTS + variable values). + Any invalid comparisons might trigger failures or undesirable + behavior when passed to the package manager. + + files-invalid: + Checks for + FILES + variable values that contain "//", which is invalid. + + incompatible-license: + Report when packages are excluded from being created due to + being marked with a license that is in + INCOMPATIBLE_LICENSE. + + compile-host-path: + Checks the do_compile log for indications + that paths to locations on the build host were used. + Using such paths might result in host contamination of the + build output. + + install-host-path: + Checks the do_install log for indications + that paths to locations on the build host were used. + Using such paths might result in host contamination of the + build output. + + libdir: + Checks for libraries being installed into incorrect + (possibly hardcoded) installation paths. + For example, this test will catch recipes that install + /lib/bar.so when + ${base_libdir} is "lib32". + Another example is when recipes install + /usr/lib64/foo.so when + ${libdir} is "/usr/lib". + + packages-list: + Checks for the same package being listed multiple times through + the PACKAGES + variable value. + Installing the package in this manner can cause errors during + packaging. + + perm-config: + Reports lines in fs-perms.txt that have + an invalid format. + + perm-line: + Reports lines in fs-perms.txt that have + an invalid format. + + perm-link: + Reports lines in fs-perms.txt that + specify 'link' where the specified target already exists. + + pkgname: + Checks that all packages in + PACKAGES + have names that do not contain invalid characters (i.e. + characters other than 0-9, a-z, ., +, and -). + + pn-overrides: + Checks that a recipe does not have a name + (PN) value + that appears in + OVERRIDES. + If a recipe is named such that its PN + value matches something already in + OVERRIDES (e.g. PN + happens to be the same as + MACHINE + or + DISTRO), + it can have unexpected consequences. + For example, assignments such as + FILES_${PN} = "xyz" effectively turn into + FILES = "xyz". + + unsafe-references-in-binaries: + Reports when a binary installed in + ${base_libdir}, + ${base_bindir}, or + ${base_sbindir}, depends on another + binary installed under ${exec_prefix}. + This dependency is a concern if you want the system to remain + basically operable if /usr is mounted + separately and is not mounted. + + Defaults for binaries installed in + ${base_libdir}, + ${base_bindir}, and + ${base_sbindir} are + /lib, /bin, and + /sbin, respectively. + The default for a binary installed + under ${exec_prefix} is + /usr. + + + unsafe-references-in-scripts: + Reports when a script file installed in + ${base_libdir}, + ${base_bindir}, or + ${base_sbindir}, depends on files + installed under ${exec_prefix}. + This dependency is a concern if you want the system to remain + basically operable if /usr is mounted + separately and is not mounted. + + Defaults for binaries installed in + ${base_libdir}, + ${base_bindir}, and + ${base_sbindir} are + /lib, /bin, and + /sbin, respectively. + The default for a binary installed + under ${exec_prefix} is + /usr. + + + var-undefined: + Reports when variables fundamental to packaging (i.e. + WORKDIR, + DEPLOY_DIR, + D, + PN, and + PKGD) are + undefined during do_package. + + pkgv-undefined: + Checks to see if the PKGV variable + is undefined during do_package. + + buildpaths: + Checks for paths to locations on the build host inside the + output files. + Currently, this test triggers too many false positives and + thus is not normally enabled. + + perms: + Currently, this check is unused but reserved. + + version-going-backwards: + If Build History is enabled, reports when a package + being written out has a lower version than the previously + written package under the same name. + If you are placing output packages into a feed and + upgrading packages on a target system using that feed, the + version of a package going backwards can result in the target + system not correctly upgrading to the "new" version of the + package. + + If you are not using runtime package management on your + target system, then you do not need to worry about + this situation. + + +
-
- <filename>qemu.bbclass</filename> +
+ <filename>insserve.bbclass</filename> - The qemu class provides functionality for recipes - that either need QEMU or test for the existence of QEMU. - Typically, this class is used to run programs for a target system on - the build host using QEMU's application emulation mode. + The insserve (insserve) class + uses the insserv utility to update the order of + symbolic links in /etc/rc?.d/ within an image + based on dependencies specified by LSB headers in the + init.d scripts themselves.
-
- <filename>qmake*.bbclass</filename> +
+ <filename>kernel-arch.bbclass</filename> - This family of classes consists of the following: - - qmake_base: - Provides base functionality for all versions of - qmake. - qmake2: - Extends base functionality for qmake 2.x as - used by Qt 4.x. - + The kernel architecture (kernel-arch) class + sets the ARCH environment variable for Linux + kernel compilation (including modules). +
+ +
+ <filename>kernel-module-split.bbclass</filename> - The qmake* family of classes support recipes that - need to build software that uses Qt's qmake - build system. + The kernel module split (kernel-module-split) class + provides common functionality for splitting Linux kernel modules into + separate packages. +
+ +
+ <filename>kernel-yocto.bbclass</filename> - If you need to set any configuration variables or pass any options to - qmake, you can add these to the - EXTRA_QMAKEVARS_PRE - or - EXTRA_QMAKEVARS_POST - variables, depending on whether the arguments need to be before or - after the .pro file list on the command line, - respectively. + The Yocto Project kernel (kernel-yocto) class + provides common functionality for building from linux-yocto style + kernel source repositories. +
+ +
+ <filename>lib_package.bbclass</filename> - By default, all .pro files are built. - If you want to specify your own subset of .pro - files to be built, specify them in the - QMAKE_PROFILES - variable. + The library package (lib_package) class + supports recipes that build libraries and produce executable + binaries, where those binaries should not be installed by default + along with the library. + Instead, the binaries are added to a separate + ${PN}-bin + package to make their installation optional.
-
- <filename>qt4*.bbclass</filename> +
+ <filename>linux-kernel-base.bbclass</filename> - This family of classes consists of the following: - - qt4e: - Supports building against Qt/Embedded, which uses the - framebuffer for graphical output. - qt4x11: - Supports building against Qt/X11. - + The Linux kernel base (linux-kernel-base) class + provides common functionality for recipes that build out of the Linux + kernel source tree. + These builds goes beyond the kernel itself. + For example, the Perf recipe also inherits this class. +
+ +
+ <filename>license.bbclass</filename> - These classes support recipes that need to build software that uses - the Qt development framework version 4.x. - The classes inherit the - qmake2 - class. + The license (license) class provides license + manifest creation and license exclusion. + This class is enabled by default using the default value for the + INHERIT_DISTRO + variable.
-
- <filename>relocatable.bbclass</filename> +
+ <filename>logging.bbclass</filename> - The relocatable class enables relocation of - binaries when they are installed into the sysroot. + The logging (logging) class provides the standard + shell functions used to log messages for various BitBake severity levels + (i.e. bbplain, bbnote, + bbwarn, bberror, + bbfatal, and bbdebug. - This class makes use of the - chrpath - class and is used by both the - cross - and - native - classes. + This class is enabled by default since it is inherited by + the base class.
-
- <filename>scons.bbclass</filename> +
+ <filename>meta.bbclass</filename> - The scons class supports recipes that need to - build software that uses the SCons build system. - You can use the - EXTRA_OESCONS - variable to specify additional configuration options you want to pass - SCons command line. + The Metadata (meta) class is inherited by recipes + that do not build any output packages themselves, but act as a "meta" + target for building other recipes.
-
- <filename>sdl.bbclass</filename> +
+ <filename>metadata_scm.bbclass</filename> - The sdl class supports recipes that need to build - software that uses the Simple DirectMedia Layer (SDL) library. + The Metadata Source Code Management (SCM) System + (metadata_scm) class provides functionality for + querying the branch and revision of an SCM repository. -
- -
- <filename>setuptools.bbclass</filename> - The setuptools class supports extensions that use - setuptools-based build systems. - If your recipe uses these build systems, the recipe needs to - inherit the setuptools class. + The base + class uses this class to print the revisions of each layer before + starting every build. + The metadata_scm class is enabled by default + because it is inherited by the base class.
-
- Package Groups - <filename>packagegroup.bbclass</filename> +
+ <filename>mime.bbclass</filename> - This class sets default values appropriate for package group recipes (e.g. - PACKAGES, - PACKAGE_ARCH, - ALLOW_EMPTY, - and so forth). - It is highly recommended that all package group recipes inherit this class. + The Multipurpose Internet Mail Extension (MIME) + (mime) class generates the proper + post-install and post-remove (postinst/postrm) scriptlets for packages + that install MIME type files. + These scriptlets call update-mime-database to add + the MIME types to the shared database. +
+ +
+ <filename>mirrors.bbclass</filename> + - For information on how to use this class, see the - "Customizing Images Using Custom Package Groups" - section in the Yocto Project Development Manual. + The mirrors (mirrors) class sets up some standard + MIRRORS entries + for source code mirrors. + These mirrors provide a fall-back path in case the upstream source + specified in + SRC_URI + within recipes is unavailable. + - Previously, this class was named task.bbclass. + This class is enabled by default since it is inherited by the + base class.
-
- <filename>package.bbclass</filename> +
+ <filename>multilib*.bbclass</filename> - The packaging class (package) supports generating - packages from a build's output. - The core generic functionality is in the - package.bbclass. - The code specific to particular package types resides in these - package-specific classes: - package_deb, - package_rpm, - package_ipk, - and - package_tar. + The Multilib (multilib*) classes provide support + for building libraries with different target optimizations or target + architectures and installing them side-by-side in the same image. - You can control the list of resulting package formats by using the - PACKAGE_CLASSES - variable defined in your conf/local.conf - configuration file, which is located in the - Build Directory. - When defining the variable, you can specify one or more package types. - Since images are generated from packages, a packaging class is - needed to enable image generation. - The first class listed in this variable is used for image generation. + For more information on using the Multilib feature, see the + "Combining Multiple Versions of Library Files into One Image" + section in the Yocto Project Development Manual. +
- - If you take the optional step to set up a repository (package feed) - on the development host that can be used by Smart, you can - install packages from the feed while you are running the image - on the target (i.e. runtime installation of packages). - For more information, see the - "Using Runtime Package Management" - section in the Yocto Project Development Manual. - +
+ <filename>native.bbclass</filename> - The package-specific class you choose can affect build-time performance - and has space ramifications. - In general, building a package with IPK takes about thirty percent less - time as compared to using RPM to build the same or similar package. - This comparison takes into account a complete build of the package with - all dependencies previously built. - The reason for this discrepancy is because the RPM package manager - creates and processes more - Metadata than the - IPK package manager. - Consequently, you might consider setting - PACKAGE_CLASSES to "package_ipk" if you are - building smaller systems. + The native (native) class provides common + functionality for recipes that wish to build tools to run on the build + host (i.e. tools that use the compiler or other tools from the + build host). - Before making your package manager decision, however, you should - consider some further things about using RPM: + You can create a recipe that builds tools that run natively on the + host a couple different ways: - - RPM starts to provide more abilities than IPK due to - the fact that it processes more Metadata. - For example, this information includes individual file types, - file checksum generation and evaluation on install, sparse file - support, conflict detection and resolution for Multilib systems, - ACID style upgrade, and repackaging abilities for rollbacks. - - - For smaller systems, the extra space used for the Berkley - Database and the amount of metadata when using RPM can affect - your ability to perform on-device upgrades. + Create a myrecipe-native.bb + that inherits the native class. + Create or modify a target recipe that has adds + the following: + + BBCLASSEXTEND = "native" + + Inside the recipe, use _class-native and + _class-target overrides to specify any + functionality specific to the respective native or target + case. - You can find additional information on the effects of the package - class at these two Yocto Project mailing list links: - - - https://lists.yoctoproject.org/pipermail/poky/2011-May/006362.html - - https://lists.yoctoproject.org/pipermail/poky/2011-May/006363.html - - + Although applied differently, the native class is + used with both methods. + The advantage of the second method is that you do not need to have two + separate recipes (assuming you need both) for native and target. + All common parts of the recipe are automatically shared. +
-
- <filename>package_deb.bbclass</filename> +
+ <filename>nativesdk.bbclass</filename> - The Debian package manager (package_deb) class - provides support for creating packages that use the - .deb file format. - The class ensures the packages are written out to the - ${DEPLOY_DIR}/deb - directory in a .deb file format. - - This package inherits the - package - class. - + The native SDK (nativesdk) class provides common + functionality for recipes that wish to build tools to run as part of + an SDK (i.e. tools that run on + SDKMACHINE). -
-
- <filename>package_rpm.bbclass</filename> + + You can create a recipe that builds tools that run on the SDK machine + a couple different ways: + + Create a myrecipe-native.bb + that inherits the nativesdk class. + + Create a nativesdk variant + of any recipe by adding the following: + + BBCLASSEXTEND = "nativesdk" + + Inside the recipe, use _class-nativesdk and + _class-target overrides to specify any + functionality specific to the respective SDK machine or target + case. + + - The RPM package manager (package_deb) class - provides support for creating packages that use the - .rpm file format. - The class ensures the packages are written out to the - ${DEPLOY_DIR}/rpm - directory in a .rpm file format. - - This package inherits the - package - class. - + Although applied differently, the nativesdk class + is used with both methods. + The advantage of the second method is that you do not need to have two + separate recipes (assuming you need both) for the SDK machine and the + target. + All common parts of the recipe are automatically shared.
-
- <filename>package_ipk.bbclass</filename> +
+ <filename>oelint.bbclass</filename> - The Itsy package manager (package_ipk) class - provides support for creating packages that use the - .ipk file format. - The class ensures the packages are written out to the - ${DEPLOY_DIR}/ipk - directory in a .ipk file format. - - This package inherits the - package - class. - + The OpenEmbedded link (oelint) class is an + obsolete lint checking tool that exists in + meta/classes in the + Source Directory. -
- -
- <filename>sip.bbclass</filename> - The sip class - supports recipes that build or package SIP-based Python bindings. + A number of classes exist that are could be generally useful in + OE-Core but are never actually used within OE-Core itself. + The oelint class is one such example. + However, being aware of this class can reduce the proliferation of + different versions of similar classes across multiple layers.
-
- <filename>siteconfig.bbclass</filename> +
+ <filename>ownmirrors.bbclass</filename> - The siteconfig class - provides functionality for handling site configuration. - The class is used by the - autotools - class to accelerate the do_configure task. + The own mirrors (ownmirrors) class makes it + easier to set up your own + PREMIRRORS + from which to first fetch source before attempting to fetch it from the + upstream specified in + SRC_URI + within each recipe. -
- -
- <filename>spdx.bbclass</filename> - The spdx class integrates real-time license - scanning, generation of SPDX standard output, and verification - of license information during the build. - - This class is currently at the prototype stage in the 1.5 - release. - + To use this class, inherit it globally and specify + SOURCE_MIRROR_URL. + Here is an example: + + INHERIT += "own-mirrors" + SOURCE_MIRROR_URL = "http://example.com/my-source-mirror" + + You can specify only a single URL in + SOURCE_MIRROR_URL.
-
- <filename>sstate.bbclass</filename> +
+ Pkg-config - <filename>pkgconfig.bbclass</filename> - The sstate class provides support for Shared - State (sstate). - By default, the class is enabled through the - INHERIT_DISTRO - variable's default value. + pkg-config provides a standard way to get + header and library information. + This class aims to smooth integration of + pkg-config into libraries that use it. - For more information on sstate, see the - "Shared State Cache" - section. + During staging, BitBake installs pkg-config data into the + sysroots/ directory. + By making use of sysroot functionality within pkg-config, + this class no longer has to manipulate the files.
-
- <filename>staging.bbclass</filename> +
+ <filename>packagedata.bbclass</filename> - The staging class provides support for staging - files into the sysroot during the - do_populate_sysroot task. - The class is enabled by default because it is inherited by the - base + The package data (packagedata) class provides + common functionality for reading pkgdata files + found in + PKGDATA_DIR. + These files contain information about each output package produced by + the OpenEmbedded build system. + + + + This class is enabled by default because it is inherited by the + package class.
-
- <filename>syslinux.bbclass</filename> +
+ <filename>packageinfo.bbclass</filename> - The syslinux class provides syslinux-specific - functions for building bootable images. + The package information (packageinfo) class + gives a BitBake user interface the ability to retrieve information + about output packages from the pkgdata files. - The class supports the following variables: - - INITRD: - Indicates a filesystem image to use as an initial RAM disk - (initrd). - This variable is optional. - ROOTFS: - Indicates a filesystem image to include as the root filesystem. - This variable is optional. - AUTO_SYSLINUXMENU: - Enables creating an automatic menu when set to "1". - - LABELS: - Lists targets for automatic configuration. - - APPEND: - Lists append string overrides for each label. - - SYSLINUX_OPTS: - Lists additional options to add to the syslinux file. - Semicolon characters separate multiple options. - - SYSLINUX_SPLASH: - Lists a background for the VGA boot menu when you are using the - boot menu. - SYSLINUX_DEFAULT_CONSOLE: - Set to "console=ttyX" to change kernel boot default console. - - SYSLINUX_SERIAL: - Sets an alternate serial port. - Or, turns off serial when the variable is set with an - empty string. - SYSLINUX_SERIAL_TTY: - Sets an alternate "console=tty..." kernel boot argument. - - + This class is enabled automatically when using the + Hob + user interface.
-
- <filename>systemd.bbclass</filename> +
+ <filename>patch.bbclass</filename> - The systemd class provides support for recipes - that install systemd unit files. + The patch class provides all functionality for + applying patches during the do_patch task. - The functionality for this class is disabled unless you have "systemd" - in - DISTRO_FEATURES. + This class is enabled by default because it is inherited by the + base + class. +
+ +
+ <filename>perlnative.bbclass</filename> - Under this class, unit files are installed into - ${D}${systemd_unitdir}/system - during the do_install task. - If the unit files being installed go into packages other than the - main package, you need to set - SYSTEMD_PACKAGES - in your recipe to identify the packages in which the files will be - installed. + When inherited by a recipe, the perlnative class + supports using the native version of Perl built by the build system + rather than using the version provided by the build host. +
+ +
+ <filename>pixbufcache.bbclass</filename> - You should set - SYSTEMD_SERVICE - to the name of the service file. - You should also use a package name override to indicate the package - to which the value applies. - If the value applies to the recipe's main package, use - ${PN}. - Here is an example from the connman recipe: + The pixbufcache class generates the proper + post-install and post-remove (postinst/postrm) scriptlets for packages + that install pixbuf loaders, which are used with + gdk-pixbuf. + These scriptlets call update_pixbuf_cache + to add the input method modules to the cache. + Since the cache files are architecture-specific, + update_pixbuf_cache is run using QEMU if the + postinst scriptlets need to be run on the build host during image + creation. + + + + If the pixbuf loaders modules being installed are in packages other + than the main package, set + PIXBUF_PACKAGES + to include the packages containing the modules. + +
+ +
+ <filename>populate_sdk.bbclass</filename> + + + The populate_sdk class facilitates compatibility + with SDK-only recipes. + +
+ +
+ <filename>populate_sdk_*.bbclass</filename> + + + The populate_sdk_* family of classes support + SDK creation. + This family of classes consists of the following: + + populate_sdk_base: + The base class supporting SDK creation under all package + managers (i.e. DEB, RPM, and IPK). + populate_sdk_deb: + Supports creation of the SDK given the Debian package manager. + + populate_sdk_rpm: + Supports creation of the SDK given the RPM package manager. + + populate_sdk_ipk: + Supports creation of the SDK given the IPK package manager. + + + + + + The populate_sdk_base package inherits the + appropriate populate_sdk_* (i.e. + deb, rpm, and + ipk) based on + IMAGE_PKGTYPE. + + + + The base class ensures all source and destination directories are + established and then populates the SDK. + After populating the SDK, the populate_sdk_base + class constructs two images: + SDK_ARCH-nativesdk, + which contains the cross-compiler and associated tooling, and the + target, which contains a target root filesystem that is configured for + the SDK usage. + These two images reside in + SDK_OUTPUT, + which consists of the following: - SYSTEMD_SERVICE_${PN} = "connman.service" + ${SDK_OUTPUT}/<sdk_arch-nativesdk pkgs> + ${SDK_OUTPUT}/${SDKTARGETSYSROOT}/<target pkgs> - Services are set up to start on boot automatically unless - you have set - SYSTEMD_AUTO_ENABLE - to "disable". - For more information on systemd, see the - "Selecting an Initialization Manager" - section in the Yocto Project Development Manual. + Finally, the base populate SDK class creates the toolchain + environment setup script, the tarball of the SDK, and the installer. + + + + The respective populate_sdk_deb, + populate_sdk_rpm, and + populate_sdk_ipk classes each support the + specific type of SDK. + These classes are inherited by and used with the + populate_sdk_base class.
-
- <filename>package_tar.bbclass</filename> +
+ <filename>prexport.bbclass</filename> - The consolidated Unix archive file (package_tar) - class provides support for creating packages that use the - .tar file format. - The class ensures the packages are written out to the - ${DEPLOY_DIR}/tar - directory in a .tar file format. + The prexport class provides functionality for + exporting + PR values. - This package inherits the - package - class. + This class is not intended to be used directly. + Rather, it is enabled when using + "bitbake-prserv-tool export".
-
- Building Kernels - <filename>kernel.bbclass</filename> +
+ <filename>primport.bbclass</filename> - This class handles building Linux kernels. - The class contains code to build all kernel trees. - All needed headers are staged into the - STAGING_KERNEL_DIR - directory to allow out-of-tree module builds using module.bbclass. + The primport class provides functionality for + importing + PR values. + + This class is not intended to be used directly. + Rather, it is enabled when using + "bitbake-prserv-tool import". + +
+ +
+ <filename>prserv.bbclass</filename> - This means that each built kernel module is packaged separately and inter-module - dependencies are created by parsing the modinfo output. - If all modules are required, then installing the kernel-modules - package installs all packages with modules and various other kernel packages - such as kernel-vmlinux. + The prserv class provides functionality for + using a + PR service + in order to automatically manage the incrementing of the + PR variable for + each recipe. - Various other classes are used by the kernel and module classes internally including - kernel-arch.bbclass, module_strip.bbclass, - module-base.bbclass, and linux-kernel-base.bbclass. + This class is enabled by default because it is inherited by the + package + class. + However, the OpenEmbedded build system will not use this variable + unless + PRSERV_HOST + has been set.
-
- Creating Images - <filename>image.bbclass</filename> and <filename>rootfs*.bbclass</filename> +
+ <filename>ptest.bbclass</filename> - These classes add support for creating images in several formats. - First, the root filesystem is created from packages using - one of the rootfs_*.bbclass - files (depending on the package format used) and then the image is created. - - The - IMAGE_FSTYPES - variable controls the types of images to generate. - - The - IMAGE_INSTALL - variable controls the list of packages to install into the - image. - + The ptest class provides functionality for + packaging and installing runtime tests for recipes that build software + that provides these tests. + + + + This class is intended to be inherited by individual recipes. + However, the class' functionality is largely disabled unless "ptest" + appears in + DISTRO_FEATURES. + See the + "Testing Packages With ptest" + section in the Yocto Project Development Manual for more information + on ptest.
-
- Host System Sanity Checks - <filename>sanity.bbclass</filename> +
+ <filename>python-dir.bbclass</filename> - This class checks to see if prerequisite software is present on the host system - so that users can be notified of potential problems that might affect their build. - The class also performs basic user configuration checks from - the local.conf configuration file to - prevent common mistakes that cause build failures. - Distribution policy usually determines whether to include this class. + The python-dir class provides the base version, + location, and site package location for Python.
-
-<filename>insane.bbclass</filename> +
+ <filename>pythonnative.bbclass</filename> - This class adds a step to the package generation process so that - output quality assurance checks are generated by the OpenEmbedded + The pythonnative causes the OpenEmbedded build + system to use the native version of Python, which is built by the build system. - A range of checks are performed that check the build's output - for common problems that show up during runtime. - Distribution policy usually dictates whether to include this class. + Normally, the OpenEmbedded build system uses the version of Python + that is built by the build host. + + This class must be inherited by a recipe in order to be used. + +
- - You can configure the sanity checks so that specific test failures - either raise a warning or an error message. - Typically, failures for new tests generate a warning. - Subsequent failures for the same test would then generate an error - message once the metadata is in a known and good condition. - +
+ <filename>qemu.bbclass</filename> - Use the - WARN_QA and - ERROR_QA - variables to control the behavior of - these checks at the global level (i.e. in your custom distro - configuration). - However, to skip one or more checks in recipes, you should use - INSANE_SKIP. - For example, to skip the check for symbolic link - .so files in the main package of a recipe, - add the following to the recipe. - You need to realize that the package name override, in this example - ${PN}, must be used: - - INSANE_SKIP_${PN} += "dev-so" - - Please keep in mind that the QA checks exist in order to detect real - or potential problems in the packaged output. - So exercise caution when disabling these checks. + The qemu class provides functionality for recipes + that either need QEMU or test for the existence of QEMU. + Typically, this class is used to run programs for a target system on + the build host using QEMU's application emulation mode. +
+ +
+ <filename>qmake*.bbclass</filename> - The following list shows the tests you can list with the - WARN_QA and ERROR_QA - variables: + This family of classes consists of the following: - ldflags: - Ensures that the binaries were linked with the - LDFLAGS options provided by the build system. - If this test fails, check that the LDFLAGS variable - is being passed to the linker command. - useless-rpaths: - Checks for dynamic library load paths (rpaths) in the binaries that - by default on a standard system are searched by the linker (e.g. - /lib and /usr/lib). - While these paths will not cause any breakage, they do waste space and - are unnecessary. - rpaths: - Checks for rpaths in the binaries that contain build system paths such - as TMPDIR. - If this test fails, bad -rpath options are being - passed to the linker commands and your binaries have potential security - issues. - dev-so: - Checks that the .so symbolic links are in the - -dev package and not in any of the other packages. - In general, these symlinks are only useful for development purposes. - Thus, the -dev package is the correct location for - them. - Some very rare cases do exist for dynamically loaded modules where - these symlinks are needed instead in the main package. + qmake_base: + Provides base functionality for all versions of + qmake. + qmake2: + Extends base functionality for qmake 2.x as + used by Qt 4.x. + + + + + The qmake* family of classes support recipes that + need to build software that uses Qt's qmake + build system. + + + + If you need to set any configuration variables or pass any options to + qmake, you can add these to the + EXTRA_QMAKEVARS_PRE + or + EXTRA_QMAKEVARS_POST + variables, depending on whether the arguments need to be before or + after the .pro file list on the command line, + respectively. + + + + By default, all .pro files are built. + If you want to specify your own subset of .pro + files to be built, specify them in the + QMAKE_PROFILES + variable. + +
+ +
+ <filename>qt4*.bbclass</filename> + + + This family of classes consists of the following: + + qt4e: + Supports building against Qt/Embedded, which uses the + framebuffer for graphical output. + qt4x11: + Supports building against Qt/X11. + + + + + These classes support recipes that need to build software that uses + the Qt development framework version 4.x. + The classes inherit the + qmake2 + class. + +
+ +
+ <filename>relocatable.bbclass</filename> + + + The relocatable class enables relocation of + binaries when they are installed into the sysroot. + + + + This class makes use of the + chrpath + class and is used by both the + cross + and + native + classes. + +
+ +
+ <filename>scons.bbclass</filename> + + + The scons class supports recipes that need to + build software that uses the SCons build system. + You can use the + EXTRA_OESCONS + variable to specify additional configuration options you want to pass + SCons command line. + +
+ +
+ <filename>sdl.bbclass</filename> + + + The sdl class supports recipes that need to build + software that uses the Simple DirectMedia Layer (SDL) library. + +
+ +
+ <filename>setuptools.bbclass</filename> + + + The setuptools class supports extensions that use + setuptools-based build systems. + If your recipe uses these build systems, the recipe needs to + inherit the setuptools class. + +
+ +
+ Package Groups - <filename>packagegroup.bbclass</filename> + + + This class sets default values appropriate for package group recipes (e.g. + PACKAGES, + PACKAGE_ARCH, + ALLOW_EMPTY, + and so forth). + It is highly recommended that all package group recipes inherit this class. + + + For information on how to use this class, see the + "Customizing Images Using Custom Package Groups" + section in the Yocto Project Development Manual. + + + Previously, this class was named task.bbclass. + +
+ +
+ <filename>package.bbclass</filename> + + + The packaging class (package) supports generating + packages from a build's output. + The core generic functionality is in the + package.bbclass. + The code specific to particular package types resides in these + package-specific classes: + package_deb, + package_rpm, + package_ipk, + and + package_tar. + + + + You can control the list of resulting package formats by using the + PACKAGE_CLASSES + variable defined in your conf/local.conf + configuration file, which is located in the + Build Directory. + When defining the variable, you can specify one or more package types. + Since images are generated from packages, a packaging class is + needed to enable image generation. + The first class listed in this variable is used for image generation. + + + + If you take the optional step to set up a repository (package feed) + on the development host that can be used by Smart, you can + install packages from the feed while you are running the image + on the target (i.e. runtime installation of packages). + For more information, see the + "Using Runtime Package Management" + section in the Yocto Project Development Manual. + + + + The package-specific class you choose can affect build-time performance + and has space ramifications. + In general, building a package with IPK takes about thirty percent less + time as compared to using RPM to build the same or similar package. + This comparison takes into account a complete build of the package with + all dependencies previously built. + The reason for this discrepancy is because the RPM package manager + creates and processes more + Metadata than the + IPK package manager. + Consequently, you might consider setting + PACKAGE_CLASSES to "package_ipk" if you are + building smaller systems. + + + + Before making your package manager decision, however, you should + consider some further things about using RPM: + + + RPM starts to provide more abilities than IPK due to + the fact that it processes more Metadata. + For example, this information includes individual file types, + file checksum generation and evaluation on install, sparse file + support, conflict detection and resolution for Multilib systems, + ACID style upgrade, and repackaging abilities for rollbacks. - debug-files: - Checks for .debug directories in anything but the - -dbg package. - The debug files should all be in the -dbg package. - Thus, anything packaged elsewhere is incorrect packaging. - arch: - Checks the Executable and Linkable Format (ELF) type, bit size, and endianness - of any binaries to ensure they match the target architecture. - This test fails if any binaries don't match the type since there would be an - incompatibility. - Sometimes software, like bootloaders, might need to bypass this check. + + For smaller systems, the extra space used for the Berkley + Database and the amount of metadata when using RPM can affect + your ability to perform on-device upgrades. - debug-deps: - Checks that -dbg packages only depend on other - -dbg packages and not on any other types of packages, - which would cause a packaging bug. - dev-deps: - Checks that -dev packages only depend on other - -dev packages and not on any other types of packages, - which would be a packaging bug. - pkgconfig: - Checks .pc files for any - TMPDIR/WORKDIR - paths. - Any .pc file containing these paths is incorrect - since pkg-config itself adds the correct sysroot prefix - when the files are accessed. - textrel: - Checks for ELF binaries that contain relocations in their - .text sections, which can result in a - performance impact at runtime. - pkgvarcheck: - Checks through the variables - RDEPENDS, - RRECOMMENDS, - RSUGGESTS, - RCONFLICTS, - RPROVIDES, - RREPLACES, - FILES, - ALLOW_EMPTY, - pkg_preinst, - pkg_postinst, - pkg_prerm - and pkg_postrm, and reports if there are - variable sets that are not package-specific. - Using these variables without a package suffix is bad practice, - and might unnecessarily complicate dependencies of other packages - within the same recipe or have other unintended consequences. - - xorg-driver-abi: - Checks that all packages containing Xorg drivers have ABI - dependencies. - The xserver-xorg recipe provides driver - ABI names. - All drivers should depend on the ABI versions that they have - been built against. - Driver recipes that include - xorg-driver-input.inc - or xorg-driver-video.inc will - automatically get these versions. - Consequently, you should only need to explicitly add - dependencies to binary driver recipes. - - libexec: - Checks if a package contains files in - /usr/libexec. - This check is not performed if the - libexecdir variable has been set - explicitly to /usr/libexec. - - staticdev: - Checks for static library files (*.a) in - non-staticdev packages. - - la: - Checks .la files for any TMPDIR - paths. - Any .la file containing these paths is incorrect since - libtool adds the correct sysroot prefix when using the - files automatically itself. - desktop: - Runs the desktop-file-validate program - against any .desktop files to validate - their contents against the specification for - .desktop files. - already-stripped: - Checks that produced binaries have not already been - stripped prior to the build system extracting debug symbols. - It is common for upstream software projects to default to - stripping debug symbols for output binaries. - In order for debugging to work on the target using - -dbg packages, this stripping must be - disabled. - - split-strip: - Reports that splitting or stripping debug symbols from binaries - has failed. - - arch: - Checks to ensure the architecture, bit size, and endianness - of all output binaries matches that of the target. - This test can detect when the wrong compiler or compiler options - have been used. - - installed-vs-shipped: - Reports when files have been installed within - do_install but have not been included in - any package by way of the - FILES - variable. - Files that do not appear in any package cannot be present in - an image later on in the build process. - Ideally, all installed files should be packaged or not - installed at all. - These files can be deleted at the end of - do_install if the files are not - needed in any package. - - dep-cmp: - Checks for invalid version comparison statements in runtime - dependency relationships between packages (i.e. in - RDEPENDS, - RRECOMMENDS, - RSUGGESTS, - RPROVIDES, - RREPLACES, - and - RCONFLICTS - variable values). - Any invalid comparisons might trigger failures or undesirable - behavior when passed to the package manager. - - files-invalid: - Checks for - FILES - variable values that contain "//", which is invalid. - - incompatible-license: - Report when packages are excluded from being created due to - being marked with a license that is in - INCOMPATIBLE_LICENSE. - - compile-host-path: - Checks the do_compile log for indications - that paths to locations on the build host were used. - Using such paths might result in host contamination of the - build output. - - install-host-path: - Checks the do_install log for indications - that paths to locations on the build host were used. - Using such paths might result in host contamination of the - build output. - - libdir: - Checks for libraries being installed into incorrect - (possibly hardcoded) installation paths. - For example, this test will catch recipes that install - /lib/bar.so when - ${base_libdir} is "lib32". - Another example is when recipes install - /usr/lib64/foo.so when - ${libdir} is "/usr/lib". - - packages-list: - Checks for the same package being listed multiple times through - the PACKAGES - variable value. - Installing the package in this manner can cause errors during - packaging. - - perm-config: - Reports lines in fs-perms.txt that have - an invalid format. - - perm-line: - Reports lines in fs-perms.txt that have - an invalid format. - - perm-link: - Reports lines in fs-perms.txt that - specify 'link' where the specified target already exists. - - pkgname: - Checks that all packages in - PACKAGES - have names that do not contain invalid characters (i.e. - characters other than 0-9, a-z, ., +, and -). - - pn-overrides: - Checks that a recipe does not have a name - (PN) value - that appears in - OVERRIDES. - If a recipe is named such that its PN - value matches something already in - OVERRIDES (e.g. PN - happens to be the same as - MACHINE - or - DISTRO), - it can have unexpected consequences. - For example, assignments such as - FILES_${PN} = "xyz" effectively turn into - FILES = "xyz". - - unsafe-references-in-binaries: - Reports when a binary installed in - ${base_libdir}, - ${base_bindir}, or - ${base_sbindir}, depends on another - binary installed under ${exec_prefix}. - This dependency is a concern if you want the system to remain - basically operable if /usr is mounted - separately and is not mounted. - - Defaults for binaries installed in - ${base_libdir}, - ${base_bindir}, and - ${base_sbindir} are - /lib, /bin, and - /sbin, respectively. - The default for a binary installed - under ${exec_prefix} is - /usr. - + + + + + You can find additional information on the effects of the package + class at these two Yocto Project mailing list links: + + + https://lists.yoctoproject.org/pipermail/poky/2011-May/006362.html + + https://lists.yoctoproject.org/pipermail/poky/2011-May/006363.html + + +
+ +
+ <filename>package_deb.bbclass</filename> + + + The Debian package manager (package_deb) class + provides support for creating packages that use the + .deb file format. + The class ensures the packages are written out to the + ${DEPLOY_DIR}/deb + directory in a .deb file format. + + This package inherits the + package + class. + + +
+ +
+ <filename>package_rpm.bbclass</filename> + + + The RPM package manager (package_deb) class + provides support for creating packages that use the + .rpm file format. + The class ensures the packages are written out to the + ${DEPLOY_DIR}/rpm + directory in a .rpm file format. + + This package inherits the + package + class. + + +
+ +
+ <filename>package_ipk.bbclass</filename> + + + The Itsy package manager (package_ipk) class + provides support for creating packages that use the + .ipk file format. + The class ensures the packages are written out to the + ${DEPLOY_DIR}/ipk + directory in a .ipk file format. + + This package inherits the + package + class. + + +
+ +
+ <filename>sip.bbclass</filename> + + + The sip class + supports recipes that build or package SIP-based Python bindings. + +
+ +
+ <filename>siteconfig.bbclass</filename> + + + The siteconfig class + provides functionality for handling site configuration. + The class is used by the + autotools + class to accelerate the do_configure task. + +
+ +
+ <filename>spdx.bbclass</filename> + + + The spdx class integrates real-time license + scanning, generation of SPDX standard output, and verification + of license information during the build. + + This class is currently at the prototype stage in the 1.5 + release. + + +
+ +
+ <filename>sstate.bbclass</filename> + + + The sstate class provides support for Shared + State (sstate). + By default, the class is enabled through the + INHERIT_DISTRO + variable's default value. + + + + For more information on sstate, see the + "Shared State Cache" + section. + +
+ +
+ <filename>staging.bbclass</filename> + + + The staging class provides support for staging + files into the sysroot during the + do_populate_sysroot task. + The class is enabled by default because it is inherited by the + base + class. + +
+ +
+ <filename>syslinux.bbclass</filename> + + + The syslinux class provides syslinux-specific + functions for building bootable images. + + + + The class supports the following variables: + + INITRD: + Indicates a filesystem image to use as an initial RAM disk + (initrd). + This variable is optional. + ROOTFS: + Indicates a filesystem image to include as the root filesystem. + This variable is optional. + AUTO_SYSLINUXMENU: + Enables creating an automatic menu when set to "1". - unsafe-references-in-scripts: - Reports when a script file installed in - ${base_libdir}, - ${base_bindir}, or - ${base_sbindir}, depends on files - installed under ${exec_prefix}. - This dependency is a concern if you want the system to remain - basically operable if /usr is mounted - separately and is not mounted. - - Defaults for binaries installed in - ${base_libdir}, - ${base_bindir}, and - ${base_sbindir} are - /lib, /bin, and - /sbin, respectively. - The default for a binary installed - under ${exec_prefix} is - /usr. - + LABELS: + Lists targets for automatic configuration. - var-undefined: - Reports when variables fundamental to packaging (i.e. - WORKDIR, - DEPLOY_DIR, - D, - PN, and - PKGD) are - undefined during do_package. + APPEND: + Lists append string overrides for each label. - pkgv-undefined: - Checks to see if the PKGV variable - is undefined during do_package. + SYSLINUX_OPTS: + Lists additional options to add to the syslinux file. + Semicolon characters separate multiple options. - buildpaths: - Checks for paths to locations on the build host inside the - output files. - Currently, this test triggers too many false positives and - thus is not normally enabled. + SYSLINUX_SPLASH: + Lists a background for the VGA boot menu when you are using the + boot menu. + SYSLINUX_DEFAULT_CONSOLE: + Set to "console=ttyX" to change kernel boot default console. - perms: - Currently, this check is unused but reserved. + SYSLINUX_SERIAL: + Sets an alternate serial port. + Or, turns off serial when the variable is set with an + empty string. + SYSLINUX_SERIAL_TTY: + Sets an alternate "console=tty..." kernel boot argument. - version-going-backwards: - If Build History is enabled, reports when a package - being written out has a lower version than the previously - written package under the same name. - If you are placing output packages into a feed and - upgrading packages on a target system using that feed, the - version of a package going backwards can result in the target - system not correctly upgrading to the "new" version of the - package. - - If you are not using runtime package management on your - target system, then you do not need to worry about - this situation. - + + +
+ +
+ <filename>systemd.bbclass</filename> + + + The systemd class provides support for recipes + that install systemd unit files. + + + + The functionality for this class is disabled unless you have "systemd" + in + DISTRO_FEATURES. + + + + Under this class, unit files are installed into + ${D}${systemd_unitdir}/system + during the do_install task. + If the unit files being installed go into packages other than the + main package, you need to set + SYSTEMD_PACKAGES + in your recipe to identify the packages in which the files will be + installed. + + + + You should set + SYSTEMD_SERVICE + to the name of the service file. + You should also use a package name override to indicate the package + to which the value applies. + If the value applies to the recipe's main package, use + ${PN}. + Here is an example from the connman recipe: + + SYSTEMD_SERVICE_${PN} = "connman.service" + + Services are set up to start on boot automatically unless + you have set + SYSTEMD_AUTO_ENABLE + to "disable". + + + + For more information on systemd, see the + "Selecting an Initialization Manager" + section in the Yocto Project Development Manual. + +
+ +
+ <filename>package_tar.bbclass</filename> + + + The consolidated Unix archive file (package_tar) + class provides support for creating packages that use the + .tar file format. + The class ensures the packages are written out to the + ${DEPLOY_DIR}/tar + directory in a .tar file format. + + This package inherits the + package + class. + + +
+ +
+ Building Kernels - <filename>kernel.bbclass</filename> + + + This class handles building Linux kernels. + The class contains code to build all kernel trees. + All needed headers are staged into the + STAGING_KERNEL_DIR + directory to allow out-of-tree module builds using module.bbclass. + + + + This means that each built kernel module is packaged separately and inter-module + dependencies are created by parsing the modinfo output. + If all modules are required, then installing the kernel-modules + package installs all packages with modules and various other kernel packages + such as kernel-vmlinux. + + + + Various other classes are used by the kernel and module classes internally including + kernel-arch.bbclass, module_strip.bbclass, + module-base.bbclass, and linux-kernel-base.bbclass. + +
+ +
+ Creating Images - <filename>image.bbclass</filename> and <filename>rootfs*.bbclass</filename> + + + These classes add support for creating images in several formats. + First, the root filesystem is created from packages using + one of the rootfs_*.bbclass + files (depending on the package format used) and then the image is created. + + The + IMAGE_FSTYPES + variable controls the types of images to generate. + The + IMAGE_INSTALL + variable controls the list of packages to install into the + image.
+
+ Host System Sanity Checks - <filename>sanity.bbclass</filename> + + + This class checks to see if prerequisite software is present on the host system + so that users can be notified of potential problems that might affect their build. + The class also performs basic user configuration checks from + the local.conf configuration file to + prevent common mistakes that cause build failures. + Distribution policy usually determines whether to include this class. + +
+
Removing Work Files During the Build - <filename>rm_work.bbclass</filename> From 96f46c33470f2d1431ba22ad883ab9ab94e2414b Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 5 Dec 2013 13:38:26 -0600 Subject: [PATCH 284/658] ref-manual: Edits to image class. (From yocto-docs rev: 45a9e03953ad664fafc234e289d0fad47e5d8c08) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index f36c80d6f3b..105f8dbef82 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -892,13 +892,15 @@
- Creating Images - <filename>image.bbclass</filename> and <filename>rootfs*.bbclass</filename> + <filename>image.bbclass</filename> - These classes add support for creating images in several formats. + The image class helps support creating images + in different formats. First, the root filesystem is created from packages using one of the rootfs_*.bbclass - files (depending on the package format used) and then the image is created. + files (depending on the package format used) and then the image is + created. The IMAGE_FSTYPES From f0bfc9c4f9c529f377ef3869905049c8fa5f3666 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 5 Dec 2013 13:39:08 -0600 Subject: [PATCH 285/658] ref-manual: Edits to image_types class. (From yocto-docs rev: 1e65670b7efcf4189f05190799d4a1740da249f5) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index 105f8dbef82..afb9da2c615 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -918,7 +918,7 @@ <filename>image_types.bbclass</filename> - The image types (image_types) class defines all of + The image_types class defines all of the standard image output types that you can enable through the IMAGE_FSTYPES variable. From a4696d42f177627771db1d6f7d90a84fbb69d23a Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 5 Dec 2013 13:39:38 -0600 Subject: [PATCH 286/658] ref-manual: Edits to image_types_uboot class. (From yocto-docs rev: e0617a2adb198431b40d14548743486c1d12f4f6) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index afb9da2c615..58e9d08b851 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -943,7 +943,7 @@ <filename>image_types_uboot.bbclass</filename> - The U-Boot image types (image_types_uboot) class + The image_types_uboot class defines additional image types specifically for the U-Boot bootloader.
From 5daa76fc348c089ae87587ab5c5f7cd470bc4855 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 5 Dec 2013 13:40:28 -0600 Subject: [PATCH 287/658] ref-manual: Edits to image-live class. (From yocto-docs rev: 1287a4d88f7b72e73d7c6cbe5308c64aa26841a5) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index 58e9d08b851..a5d49e2f7c3 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -952,8 +952,8 @@ <filename>image-live.bbclass</filename> - The live image (image-live) class - supports building "live" images. + The image-live class supports building "live" + images. Normally, you do not use this class directly. Instead, you add "live" to IMAGE_FSTYPES. From 93e1f76b81d32d1effd7cb14ea2985ee60ce3832 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 5 Dec 2013 13:41:06 -0600 Subject: [PATCH 288/658] ref-manuals: Edits to image-mklibs class. (From yocto-docs rev: 0bf0fc9147a7c0a515ebdc417ae74e0665c6abaa) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index a5d49e2f7c3..57c6c1b76bb 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -964,7 +964,7 @@ <filename>image-mklibs.bbclass</filename> - The make libraries (mklibs) class + The mklibs class enables the use of the mklibs utility during the do_rootfs task, which optimizes the size of libraries contained in the image. From df9b61ea9f5185150dbf17391bfa6c5229b4db38 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 5 Dec 2013 13:41:45 -0600 Subject: [PATCH 289/658] ref-manual: Edits to image-prelink class. (From yocto-docs rev: 3660fcbd1a3973a39329cb3450aa7c43dbddb6dc) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index 57c6c1b76bb..00d97626ca2 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -988,7 +988,7 @@ <filename>image-prelink.bbclass</filename> - The image prelink (image-prelink) class + The image-prelink class enables the use of the prelink utility during the do_rootfs task, which optimizes the dynamic linking of shared libraries to reduce executable startup time. From 7269f3fa48fc22a8b4a35b162885891b4b7b6648 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 5 Dec 2013 13:42:21 -0600 Subject: [PATCH 290/658] ref-manual: Edits to the image-swab class. (From yocto-docs rev: a4f0555177bb94d64ed973222a6e7234e4663120) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index 00d97626ca2..0dbefa2b911 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -1012,8 +1012,7 @@ <filename>image-swab.bbclass</filename> - The image Swabber (image-swab) class - enables the + The image-swab class enables the Swabber tool in order to detect and log accesses to the host system during the OpenEmbedded build process. From 4fb27cd11113cb7d0c2077a697e0d096434b5c34 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 5 Dec 2013 13:43:00 -0600 Subject: [PATCH 291/658] ref-manual: Edits to image-vmdk class. (From yocto-docs rev: 0c8ce94bb9e821f82c96a2fee20afcb0ca064f49) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index 0dbefa2b911..6b22de568c9 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -1026,8 +1026,8 @@ <filename>image-vmdk.bbclass</filename> - The Virtual Machine Disk image (image-vmdk) class - supports building VMware VMDK images. + The image-vmdk class supports building VMware + VMDK images. Normally, you do not use this class directly. Instead, you add "vmdk" to IMAGE_FSTYPES. From 1c5c2db321501a4a7a53269a008748e434b152a8 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 5 Dec 2013 13:45:03 -0600 Subject: [PATCH 292/658] ref-manual: Edits to insane class. (From yocto-docs rev: d69e06c401290882aed97189a9beeecb7accf452) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index 6b22de568c9..7457dd7ae8e 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -1035,12 +1035,12 @@
-<filename>insane.bbclass</filename> + <filename>insane.bbclass</filename> - This class adds a step to the package generation process so that - output quality assurance checks are generated by the OpenEmbedded - build system. + The insane class adds a step to the package + generation process so that output quality assurance checks are + generated by the OpenEmbedded build system. A range of checks are performed that check the build's output for common problems that show up during runtime. Distribution policy usually dictates whether to include this class. From 5555e4f25b26f653869ceb046c7203887988c5d4 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 5 Dec 2013 13:45:33 -0600 Subject: [PATCH 293/658] ref-manual: Edits to insserve class. (From yocto-docs rev: 7c93717d8f4d917d9fddc288e262dbd2f7d15e49) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index 7457dd7ae8e..0dcff0be2b1 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -1401,7 +1401,7 @@ <filename>insserve.bbclass</filename> - The insserve (insserve) class + The insserve class uses the insserv utility to update the order of symbolic links in /etc/rc?.d/ within an image based on dependencies specified by LSB headers in the From 68e8bc844964f3ef9284609e0d93c520df1ddf1f Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 5 Dec 2013 13:49:33 -0600 Subject: [PATCH 294/658] ref-manual: Re-ordered classes that start with "K". (From yocto-docs rev: 1df0aeede8b35020771274d4ae7dfa096da3672f) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 56 ++++++++++++------------ 1 file changed, 28 insertions(+), 28 deletions(-) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index 0dcff0be2b1..4f1b798be41 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -1409,6 +1409,32 @@
+
+ Building Kernels - <filename>kernel.bbclass</filename> + + + This class handles building Linux kernels. + The class contains code to build all kernel trees. + All needed headers are staged into the + STAGING_KERNEL_DIR + directory to allow out-of-tree module builds using module.bbclass. + + + + This means that each built kernel module is packaged separately and inter-module + dependencies are created by parsing the modinfo output. + If all modules are required, then installing the kernel-modules + package installs all packages with modules and various other kernel packages + such as kernel-vmlinux. + + + + Various other classes are used by the kernel and module classes internally including + kernel-arch.bbclass, module_strip.bbclass, + module-base.bbclass, and linux-kernel-base.bbclass. + +
+
<filename>kernel-arch.bbclass</filename> @@ -2436,34 +2462,8 @@
-
- Building Kernels - <filename>kernel.bbclass</filename> - - - This class handles building Linux kernels. - The class contains code to build all kernel trees. - All needed headers are staged into the - STAGING_KERNEL_DIR - directory to allow out-of-tree module builds using module.bbclass. - - - - This means that each built kernel module is packaged separately and inter-module - dependencies are created by parsing the modinfo output. - If all modules are required, then installing the kernel-modules - package installs all packages with modules and various other kernel packages - such as kernel-vmlinux. - - - - Various other classes are used by the kernel and module classes internally including - kernel-arch.bbclass, module_strip.bbclass, - module-base.bbclass, and linux-kernel-base.bbclass. - -
- -
- Creating Images - <filename>image.bbclass</filename> and <filename>rootfs*.bbclass</filename> +
+ <filename>rootfs*.bbclass</filename> These classes add support for creating images in several formats. From 8aec3db1512f43d4a03a866b9b32512581a04600 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 5 Dec 2013 13:51:23 -0600 Subject: [PATCH 295/658] ref-manual: Edits to kernel class. (From yocto-docs rev: eeb8e5a6f49590fa17bca6aa142b76d8917a8731) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index 4f1b798be41..68a540d6354 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -1410,10 +1410,10 @@
- Building Kernels - <filename>kernel.bbclass</filename> + <filename>kernel.bbclass</filename> - This class handles building Linux kernels. + The kernel class handles building Linux kernels. The class contains code to build all kernel trees. All needed headers are staged into the STAGING_KERNEL_DIR From edce571ec0e2382af0740fda15a922d00181797b Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 5 Dec 2013 13:51:57 -0600 Subject: [PATCH 296/658] ref-manual: Edits to kernel-arch class. (From yocto-docs rev: 0d49f85cf3a039a60b65efffda4dc2b4f98ddf48) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index 68a540d6354..dca395fda4b 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -1439,7 +1439,7 @@ <filename>kernel-arch.bbclass</filename> - The kernel architecture (kernel-arch) class + The kernel-arch class sets the ARCH environment variable for Linux kernel compilation (including modules). From ebb06c8c9607afb5d4657c088e8971f9ea2f0796 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 5 Dec 2013 13:52:24 -0600 Subject: [PATCH 297/658] ref-manuals: Edits to kernel-module-split class. (From yocto-docs rev: 5880ecb8bf70944f257832c2b692ce4724bc6a85) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index dca395fda4b..b271284b4ae 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -1449,7 +1449,7 @@ <filename>kernel-module-split.bbclass</filename> - The kernel module split (kernel-module-split) class + The kernel-module-split class provides common functionality for splitting Linux kernel modules into separate packages. From be168f33f99a64b3053e0d101db67eea063a77e9 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 5 Dec 2013 13:52:56 -0600 Subject: [PATCH 298/658] ref-manual: Edits to kernel-yocto class. (From yocto-docs rev: 062b42e7822d1f787f7295a21f7eebb920db3434) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index b271284b4ae..ab43a84973c 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -1459,7 +1459,7 @@ <filename>kernel-yocto.bbclass</filename> - The Yocto Project kernel (kernel-yocto) class + The kernel-yocto class provides common functionality for building from linux-yocto style kernel source repositories. From 1f0853c7ea444a1ab25e4dd8a4309982cef46a91 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 5 Dec 2013 13:54:38 -0600 Subject: [PATCH 299/658] ref-manual: Re-ordered classes that start with "L". (From yocto-docs rev: a6aa120b1c15743a85b8730545cd5fe89c783d2f) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index ab43a84973c..fb3c8ba5296 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -1479,18 +1479,6 @@
-
- <filename>linux-kernel-base.bbclass</filename> - - - The Linux kernel base (linux-kernel-base) class - provides common functionality for recipes that build out of the Linux - kernel source tree. - These builds goes beyond the kernel itself. - For example, the Perf recipe also inherits this class. - -
-
<filename>license.bbclass</filename> @@ -1503,6 +1491,18 @@
+
+ <filename>linux-kernel-base.bbclass</filename> + + + The Linux kernel base (linux-kernel-base) class + provides common functionality for recipes that build out of the Linux + kernel source tree. + These builds goes beyond the kernel itself. + For example, the Perf recipe also inherits this class. + +
+
<filename>logging.bbclass</filename> From 35bc7dc25e6defd06ce20ae3adbbc056742d4ea7 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 5 Dec 2013 13:57:09 -0600 Subject: [PATCH 300/658] ref-manual: Edits to lib_package class. (From yocto-docs rev: 2e2846611a441a7a4c5c71ce9b5b58912d47dc09) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index fb3c8ba5296..61e23ca8c98 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -1469,7 +1469,7 @@ <filename>lib_package.bbclass</filename> - The library package (lib_package) class + The lib_package class supports recipes that build libraries and produce executable binaries, where those binaries should not be installed by default along with the library. From 9f5d1873feba8e1b47cb4a866b97e356f5fcdce4 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 5 Dec 2013 13:58:53 -0600 Subject: [PATCH 301/658] ref-manual: Edits to license class. (From yocto-docs rev: 54c4e798de3325eade7b303cac726ad9a7364e05) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index 61e23ca8c98..2250e0a2594 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -1483,7 +1483,7 @@ <filename>license.bbclass</filename> - The license (license) class provides license + The license class provides license manifest creation and license exclusion. This class is enabled by default using the default value for the INHERIT_DISTRO From 043b9b13f1eaeff3e2f548433c87ba9db721d9d8 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 5 Dec 2013 13:59:29 -0600 Subject: [PATCH 302/658] ref-manual: Edits to linux-kernel-base class. (From yocto-docs rev: 0c3170c4dcb62853fa9925486905ee587c070496) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index 2250e0a2594..b24cb8e107a 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -1495,7 +1495,7 @@ <filename>linux-kernel-base.bbclass</filename> - The Linux kernel base (linux-kernel-base) class + The linux-kernel-base class provides common functionality for recipes that build out of the Linux kernel source tree. These builds goes beyond the kernel itself. From eeb2085b99c25c9cdd8e520a4308a1c3cd1c522d Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 5 Dec 2013 14:01:04 -0600 Subject: [PATCH 303/658] ref-manual: Edits to logging class. (From yocto-docs rev: 4e2dd82488b818c9c5283d5489364825d6ed6681) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index b24cb8e107a..66857e768cc 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -1507,7 +1507,7 @@ <filename>logging.bbclass</filename> - The logging (logging) class provides the standard + The logging class provides the standard shell functions used to log messages for various BitBake severity levels (i.e. bbplain, bbnote, bbwarn, bberror, From 5d8d5f33d3e4fa82e03726224380cab9792e7554 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 5 Dec 2013 14:01:44 -0600 Subject: [PATCH 304/658] ref-manual: Edits to meta class. (From yocto-docs rev: 4425e5ddc0c45e8fabaa8d962535977669a1e2c9) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index 66857e768cc..b194876a08b 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -1524,7 +1524,7 @@ <filename>meta.bbclass</filename> - The Metadata (meta) class is inherited by recipes + The meta class is inherited by recipes that do not build any output packages themselves, but act as a "meta" target for building other recipes. From 1eb1d8fcabc8bb63e8a59e953986d58f94c937ad Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 5 Dec 2013 14:02:58 -0600 Subject: [PATCH 305/658] ref-manual: Edits to metadata_scm class. (From yocto-docs rev: f7a131ad4d27e73221e30dda631dae8426a240c9) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index b194876a08b..4f61a3fb07b 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -1534,9 +1534,9 @@ <filename>metadata_scm.bbclass</filename> - The Metadata Source Code Management (SCM) System - (metadata_scm) class provides functionality for - querying the branch and revision of an SCM repository. + The metadata_scm class provides functionality for + querying the branch and revision of a Source Code Manager (SCM) + repository. From b9663ce80f84d36cc176b6a412ee3e7bfdc79e93 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 5 Dec 2013 14:04:01 -0600 Subject: [PATCH 306/658] ref-manual: Edits to mime class. (From yocto-docs rev: 770be89bc3ce279e7ab40cf411d623c8c2005095) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index 4f61a3fb07b..b451edb2e2e 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -1552,8 +1552,7 @@ <filename>mime.bbclass</filename> - The Multipurpose Internet Mail Extension (MIME) - (mime) class generates the proper + The mime class generates the proper post-install and post-remove (postinst/postrm) scriptlets for packages that install MIME type files. These scriptlets call update-mime-database to add From 24020c0c3031f9e4fa3e37d5e5c89e4d84eef29b Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 5 Dec 2013 14:04:46 -0600 Subject: [PATCH 307/658] ref-manual: Edits to mirrors class. (From yocto-docs rev: cf7edc4452a5e04f5b1088b0aa57610530845035) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index b451edb2e2e..b5a802f3b56 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -1564,7 +1564,7 @@ <filename>mirrors.bbclass</filename> - The mirrors (mirrors) class sets up some standard + The mirrors class sets up some standard MIRRORS entries for source code mirrors. These mirrors provide a fall-back path in case the upstream source From 4652dbc17244307b96115dad0e2a07a6d7222943 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 5 Dec 2013 14:05:32 -0600 Subject: [PATCH 308/658] ref-manual: Edits to multilib classes. (From yocto-docs rev: 4654aadfd8ea822e9f67546d583d9fd402687244) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index b5a802f3b56..f47e09122d6 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -1583,7 +1583,7 @@ <filename>multilib*.bbclass</filename> - The Multilib (multilib*) classes provide support + The multilib* classes provide support for building libraries with different target optimizations or target architectures and installing them side-by-side in the same image. From 6a44b35f4e439999ff9811459fae74bae8c269d6 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 5 Dec 2013 14:07:26 -0600 Subject: [PATCH 309/658] ref-manual: Edits to native class. (From yocto-docs rev: 3f026aa351be7c39ea0927df3599012abadf9364) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index f47e09122d6..92950020d69 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -1599,7 +1599,7 @@ <filename>native.bbclass</filename> - The native (native) class provides common + The native class provides common functionality for recipes that wish to build tools to run on the build host (i.e. tools that use the compiler or other tools from the build host). From d3edf6ad3dbd5eebc281c023fa00bc061655b28c Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 5 Dec 2013 14:08:47 -0600 Subject: [PATCH 310/658] ref-manual: Edits to nativesdk class. (From yocto-docs rev: e869b89259c8f46a5dd3c27542cbf3a1d2267c81) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index 92950020d69..ed36bec9b64 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -1637,7 +1637,7 @@ <filename>nativesdk.bbclass</filename> - The native SDK (nativesdk) class provides common + The nativesdk class provides common functionality for recipes that wish to build tools to run as part of an SDK (i.e. tools that run on SDKMACHINE). @@ -1648,7 +1648,7 @@ a couple different ways: Create a myrecipe-native.bb - that inherits the nativesdk class. + recipe that inherits the nativesdk class. Create a nativesdk variant of any recipe by adding the following: From cc7b1b32d938798532f4c19a68adc79773eb65f4 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 5 Dec 2013 14:09:50 -0600 Subject: [PATCH 311/658] ref-manual: Edits to oelint class. (From yocto-docs rev: 30d54e4d73fda5cbfcd5dc0b010f2843e5842f55) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index ed36bec9b64..b15dce8877d 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -1676,7 +1676,7 @@ <filename>oelint.bbclass</filename> - The OpenEmbedded link (oelint) class is an + The oelint class is an obsolete lint checking tool that exists in meta/classes in the Source Directory. From 6b7704d5245e0512df70bb90d63a0a3847d11d51 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 5 Dec 2013 14:10:37 -0600 Subject: [PATCH 312/658] ref-manual: Edits to ownmirrors class. (From yocto-docs rev: 46dfb31482ff7348974079323aeabbd06b058986) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index b15dce8877d..0c0316efdfd 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -1695,7 +1695,7 @@ <filename>ownmirrors.bbclass</filename> - The own mirrors (ownmirrors) class makes it + The ownmirrors class makes it easier to set up your own PREMIRRORS from which to first fetch source before attempting to fetch it from the From b6de0c9a4e6443dc5672c72b2ef25d694812c1cb Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 5 Dec 2013 14:23:01 -0600 Subject: [PATCH 313/658] ref-manual: Re-ordered classes that start with "P". (From yocto-docs rev: e441adc9ed731d0dcd636e2204751c095504e6db) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 380 +++++++++++------------ 1 file changed, 190 insertions(+), 190 deletions(-) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index 0c0316efdfd..0ad7d0f5d62 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -1717,21 +1717,162 @@
-
- Pkg-config - <filename>pkgconfig.bbclass</filename> +
+ <filename>package.bbclass</filename> - pkg-config provides a standard way to get - header and library information. - This class aims to smooth integration of - pkg-config into libraries that use it. + The packaging class (package) supports generating + packages from a build's output. + The core generic functionality is in the + package.bbclass. + The code specific to particular package types resides in these + package-specific classes: + package_deb, + package_rpm, + package_ipk, + and + package_tar. - During staging, BitBake installs pkg-config data into the - sysroots/ directory. - By making use of sysroot functionality within pkg-config, - this class no longer has to manipulate the files. + You can control the list of resulting package formats by using the + PACKAGE_CLASSES + variable defined in your conf/local.conf + configuration file, which is located in the + Build Directory. + When defining the variable, you can specify one or more package types. + Since images are generated from packages, a packaging class is + needed to enable image generation. + The first class listed in this variable is used for image generation. + + + + If you take the optional step to set up a repository (package feed) + on the development host that can be used by Smart, you can + install packages from the feed while you are running the image + on the target (i.e. runtime installation of packages). + For more information, see the + "Using Runtime Package Management" + section in the Yocto Project Development Manual. + + + + The package-specific class you choose can affect build-time performance + and has space ramifications. + In general, building a package with IPK takes about thirty percent less + time as compared to using RPM to build the same or similar package. + This comparison takes into account a complete build of the package with + all dependencies previously built. + The reason for this discrepancy is because the RPM package manager + creates and processes more + Metadata than the + IPK package manager. + Consequently, you might consider setting + PACKAGE_CLASSES to "package_ipk" if you are + building smaller systems. + + + + Before making your package manager decision, however, you should + consider some further things about using RPM: + + + RPM starts to provide more abilities than IPK due to + the fact that it processes more Metadata. + For example, this information includes individual file types, + file checksum generation and evaluation on install, sparse file + support, conflict detection and resolution for Multilib systems, + ACID style upgrade, and repackaging abilities for rollbacks. + + + For smaller systems, the extra space used for the Berkley + Database and the amount of metadata when using RPM can affect + your ability to perform on-device upgrades. + + + + + + You can find additional information on the effects of the package + class at these two Yocto Project mailing list links: + + + https://lists.yoctoproject.org/pipermail/poky/2011-May/006362.html + + https://lists.yoctoproject.org/pipermail/poky/2011-May/006363.html + + +
+ +
+ <filename>package_deb.bbclass</filename> + + + The Debian package manager (package_deb) class + provides support for creating packages that use the + .deb file format. + The class ensures the packages are written out to the + ${DEPLOY_DIR}/deb + directory in a .deb file format. + + This package inherits the + package + class. + + +
+ +
+ <filename>package_ipk.bbclass</filename> + + + The Itsy package manager (package_ipk) class + provides support for creating packages that use the + .ipk file format. + The class ensures the packages are written out to the + ${DEPLOY_DIR}/ipk + directory in a .ipk file format. + + This package inherits the + package + class. + + +
+ +
+ <filename>package_rpm.bbclass</filename> + + + The RPM package manager (package_deb) class + provides support for creating packages that use the + .rpm file format. + The class ensures the packages are written out to the + ${DEPLOY_DIR}/rpm + directory in a .rpm file format. + + This package inherits the + package + class. + + +
+ +
+ <filename>package_tar.bbclass</filename> + + + The consolidated Unix archive file (package_tar) + class provides support for creating packages that use the + .tar file format. + The class ensures the packages are written out to the + ${DEPLOY_DIR}/tar + directory in a .tar file format. + + This package inherits the + package + class. +
@@ -1754,6 +1895,27 @@
+
+ Package Groups - <filename>packagegroup.bbclass</filename> + + + This class sets default values appropriate for package group recipes (e.g. + PACKAGES, + PACKAGE_ARCH, + ALLOW_EMPTY, + and so forth). + It is highly recommended that all package group recipes inherit this class. + + + For information on how to use this class, see the + "Customizing Images Using Custom Package Groups" + section in the Yocto Project Development Manual. + + + Previously, this class was named task.bbclass. + +
+
<filename>packageinfo.bbclass</filename> @@ -1819,6 +1981,24 @@
+
+ Pkg-config - <filename>pkgconfig.bbclass</filename> + + + pkg-config provides a standard way to get + header and library information. + This class aims to smooth integration of + pkg-config into libraries that use it. + + + + During staging, BitBake installs pkg-config data into the + sysroots/ directory. + By making use of sysroot functionality within pkg-config, + this class no longer has to manipulate the files. + +
+
<filename>populate_sdk.bbclass</filename> @@ -2117,168 +2297,6 @@
-
- Package Groups - <filename>packagegroup.bbclass</filename> - - - This class sets default values appropriate for package group recipes (e.g. - PACKAGES, - PACKAGE_ARCH, - ALLOW_EMPTY, - and so forth). - It is highly recommended that all package group recipes inherit this class. - - - For information on how to use this class, see the - "Customizing Images Using Custom Package Groups" - section in the Yocto Project Development Manual. - - - Previously, this class was named task.bbclass. - -
- -
- <filename>package.bbclass</filename> - - - The packaging class (package) supports generating - packages from a build's output. - The core generic functionality is in the - package.bbclass. - The code specific to particular package types resides in these - package-specific classes: - package_deb, - package_rpm, - package_ipk, - and - package_tar. - - - - You can control the list of resulting package formats by using the - PACKAGE_CLASSES - variable defined in your conf/local.conf - configuration file, which is located in the - Build Directory. - When defining the variable, you can specify one or more package types. - Since images are generated from packages, a packaging class is - needed to enable image generation. - The first class listed in this variable is used for image generation. - - - - If you take the optional step to set up a repository (package feed) - on the development host that can be used by Smart, you can - install packages from the feed while you are running the image - on the target (i.e. runtime installation of packages). - For more information, see the - "Using Runtime Package Management" - section in the Yocto Project Development Manual. - - - - The package-specific class you choose can affect build-time performance - and has space ramifications. - In general, building a package with IPK takes about thirty percent less - time as compared to using RPM to build the same or similar package. - This comparison takes into account a complete build of the package with - all dependencies previously built. - The reason for this discrepancy is because the RPM package manager - creates and processes more - Metadata than the - IPK package manager. - Consequently, you might consider setting - PACKAGE_CLASSES to "package_ipk" if you are - building smaller systems. - - - - Before making your package manager decision, however, you should - consider some further things about using RPM: - - - RPM starts to provide more abilities than IPK due to - the fact that it processes more Metadata. - For example, this information includes individual file types, - file checksum generation and evaluation on install, sparse file - support, conflict detection and resolution for Multilib systems, - ACID style upgrade, and repackaging abilities for rollbacks. - - - For smaller systems, the extra space used for the Berkley - Database and the amount of metadata when using RPM can affect - your ability to perform on-device upgrades. - - - - - - You can find additional information on the effects of the package - class at these two Yocto Project mailing list links: - - - https://lists.yoctoproject.org/pipermail/poky/2011-May/006362.html - - https://lists.yoctoproject.org/pipermail/poky/2011-May/006363.html - - -
- -
- <filename>package_deb.bbclass</filename> - - - The Debian package manager (package_deb) class - provides support for creating packages that use the - .deb file format. - The class ensures the packages are written out to the - ${DEPLOY_DIR}/deb - directory in a .deb file format. - - This package inherits the - package - class. - - -
- -
- <filename>package_rpm.bbclass</filename> - - - The RPM package manager (package_deb) class - provides support for creating packages that use the - .rpm file format. - The class ensures the packages are written out to the - ${DEPLOY_DIR}/rpm - directory in a .rpm file format. - - This package inherits the - package - class. - - -
- -
- <filename>package_ipk.bbclass</filename> - - - The Itsy package manager (package_ipk) class - provides support for creating packages that use the - .ipk file format. - The class ensures the packages are written out to the - ${DEPLOY_DIR}/ipk - directory in a .ipk file format. - - This package inherits the - package - class. - - -
-
<filename>sip.bbclass</filename> @@ -2443,24 +2461,6 @@
-
- <filename>package_tar.bbclass</filename> - - - The consolidated Unix archive file (package_tar) - class provides support for creating packages that use the - .tar file format. - The class ensures the packages are written out to the - ${DEPLOY_DIR}/tar - directory in a .tar file format. - - This package inherits the - package - class. - - -
-
<filename>rootfs*.bbclass</filename> From 05d9a74462e0c60fde999e29e3ecb309a1ba46f4 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 5 Dec 2013 14:30:31 -0600 Subject: [PATCH 314/658] ref-manual: Edits to package class. (From yocto-docs rev: 8af4bd18ba08642b46a4aa82bb13ebe2742a6eee) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index 0ad7d0f5d62..eec19031f50 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -1721,9 +1721,9 @@ <filename>package.bbclass</filename> - The packaging class (package) supports generating + The package supports generating packages from a build's output. - The core generic functionality is in the + The core generic functionality is in package.bbclass. The code specific to particular package types resides in these package-specific classes: From 9af84aa1d8d2d3d38f0035b8a8f0c28a41acbb6f Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 5 Dec 2013 14:31:10 -0600 Subject: [PATCH 315/658] ref-manual: Edits to package_deb class. (From yocto-docs rev: e6bd83296e42b361e57ebbdbfaf2f5c513b778e6) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index eec19031f50..dfb6d24f5a9 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -1808,7 +1808,7 @@ <filename>package_deb.bbclass</filename> - The Debian package manager (package_deb) class + The package_deb class provides support for creating packages that use the .deb file format. The class ensures the packages are written out to the From 335ac80ff63930967fb1a4e2cc4722eda7228796 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 5 Dec 2013 14:31:50 -0600 Subject: [PATCH 316/658] ref-manual: Edits to package_ipk class. (From yocto-docs rev: 8e29ca5e0bb057426206bfdae399ed8e75b4776c) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index dfb6d24f5a9..da8d667e461 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -1826,7 +1826,7 @@ <filename>package_ipk.bbclass</filename> - The Itsy package manager (package_ipk) class + The package_ipk class provides support for creating packages that use the .ipk file format. The class ensures the packages are written out to the From 997aae29fae8a1e628098a4561c665791539adfb Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 5 Dec 2013 14:32:21 -0600 Subject: [PATCH 317/658] ref-manual: Edits to package_rpm class. (From yocto-docs rev: d82beb24b8c3bba9385c1504d44da25c093e7e6c) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index da8d667e461..c115ee2bfa0 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -1844,7 +1844,7 @@ <filename>package_rpm.bbclass</filename> - The RPM package manager (package_deb) class + The package_deb class provides support for creating packages that use the .rpm file format. The class ensures the packages are written out to the From 055910579c3d457a5044e8517f17e70566055d99 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 5 Dec 2013 14:32:55 -0600 Subject: [PATCH 318/658] ref-manual: Edits to package_tar class. (From yocto-docs rev: eb7ef27b9fb12c2cf13873a61b482ff8a1c9c49c) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index c115ee2bfa0..fa99ec54159 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -1862,7 +1862,7 @@ <filename>package_tar.bbclass</filename> - The consolidated Unix archive file (package_tar) + The package_tar class provides support for creating packages that use the .tar file format. The class ensures the packages are written out to the From 0259a40e315d7090f9e3e7db849499b74a072027 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 5 Dec 2013 14:33:31 -0600 Subject: [PATCH 319/658] ref-manual: Edits to packagedata class. (From yocto-docs rev: efcfe0a447998d2fcf2dd4d741bf0ba493edf7de) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index fa99ec54159..19660dee10b 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -1880,7 +1880,7 @@ <filename>packagedata.bbclass</filename> - The package data (packagedata) class provides + The packagedata class provides common functionality for reading pkgdata files found in PKGDATA_DIR. From 91a59ebc32958f20bff5d4f380ceb9e4211d65a2 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 5 Dec 2013 14:39:36 -0600 Subject: [PATCH 320/658] ref-manual: Edits to packagegroup class. Had to also fix a couple links in the "migration" chapter due to the section heading of the packagegroup.bbclass section changing. (From yocto-docs rev: 412b8325a13e5bf31d057efb5f6dbb54f8a1aba0) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/migration.xml | 4 ++-- documentation/ref-manual/ref-classes.xml | 9 ++++++--- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/documentation/ref-manual/migration.xml b/documentation/ref-manual/migration.xml index dc24628e3cd..9ec38e146ec 100644 --- a/documentation/ref-manual/migration.xml +++ b/documentation/ref-manual/migration.xml @@ -157,7 +157,7 @@ LIC_FILES_CHKSUM, and so forth. See the - "Package Groups - packagegroup.bbclass" + "packagegroup.bbclass" section for further details.
@@ -886,7 +886,7 @@ For more information, see the - "Package Groups - packagegroup.bbclass" + "packagegroup.bbclass" section.
diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index 19660dee10b..00706e53863 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -1896,23 +1896,26 @@
- Package Groups - <filename>packagegroup.bbclass</filename> + <filename>packagegroup.bbclass</filename> - This class sets default values appropriate for package group recipes (e.g. + The packagegroup class sets default values + appropriate for package group recipes (e.g. PACKAGES, PACKAGE_ARCH, ALLOW_EMPTY, and so forth). It is highly recommended that all package group recipes inherit this class. + For information on how to use this class, see the "Customizing Images Using Custom Package Groups" section in the Yocto Project Development Manual. + - Previously, this class was named task.bbclass. + Previously, this class was called the task class.
From 573baf28e0e70a163bb9fa06bc564a69873435ba Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 5 Dec 2013 14:41:03 -0600 Subject: [PATCH 321/658] ref-manual: Edits to packageinfo class. (From yocto-docs rev: ab28f1f9596b1defbf4dd1ae8ad3b90304e8260d) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index 00706e53863..111c0606429 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -1923,7 +1923,7 @@ <filename>packageinfo.bbclass</filename> - The package information (packageinfo) class + The packageinfo class gives a BitBake user interface the ability to retrieve information about output packages from the pkgdata files. From ab8665879d125a334e6ba999d8582286cf0c4902 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 5 Dec 2013 14:42:41 -0600 Subject: [PATCH 322/658] ref-manual: Edits to populate-sdk classes. (From yocto-docs rev: 7ba49d9db2bed6d3da12f695ad9e2be4b138663d) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index 111c0606429..b6249e03592 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -2015,9 +2015,8 @@ <filename>populate_sdk_*.bbclass</filename> - The populate_sdk_* family of classes support - SDK creation. - This family of classes consists of the following: + The populate_sdk_* classes support SDK creation + and consist of the following classes: populate_sdk_base: The base class supporting SDK creation under all package From 28a93a5ce99109d9e35d72102e6e3ba3381b899b Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 5 Dec 2013 14:45:32 -0600 Subject: [PATCH 323/658] ref-manual: Edits to pkgconfig class. (From yocto-docs rev: 4b53e19d830dba8c0b85c5f91a5fa67d908ac6cb) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index b6249e03592..3368c7a3b7d 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -1985,10 +1985,10 @@
- Pkg-config - <filename>pkgconfig.bbclass</filename> + <filename>pkgconfig.bbclass</filename> - pkg-config provides a standard way to get + The pkg-config class provides a standard way to get header and library information. This class aims to smooth integration of pkg-config into libraries that use it. From e9131310ab7aa0144f3934ecb91fd3e163742ade Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 5 Dec 2013 14:51:45 -0600 Subject: [PATCH 324/658] ref-manual: Edits to qmake* classes. (From yocto-docs rev: ea57971614689ea70a9ba74da70435b03e6d6158) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index 3368c7a3b7d..bb07e4c95d8 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -2187,7 +2187,9 @@ <filename>qmake*.bbclass</filename> - This family of classes consists of the following: + The qmake* classes support recipes that + need to build software that uses Qt's qmake + build system and are comprised of the following: qmake_base: Provides base functionality for all versions of @@ -2198,12 +2200,6 @@ - - The qmake* family of classes support recipes that - need to build software that uses Qt's qmake - build system. - - If you need to set any configuration variables or pass any options to qmake, you can add these to the From 2db4b6565dd8030dd1d91c8355c9b0cc2f65df1f Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 5 Dec 2013 14:53:20 -0600 Subject: [PATCH 325/658] ref-manual: Edits to classes-qt4* classes. (From yocto-docs rev: 04e74c7dcdae2dbd01660db6fc5f6745a97b1130) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index bb07e4c95d8..f24f5946b4c 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -2224,7 +2224,9 @@ <filename>qt4*.bbclass</filename> - This family of classes consists of the following: + The qt4* classes support recipes that need to + build software that uses the Qt development framework version 4.x + and consist of the following: qt4e: Supports building against Qt/Embedded, which uses the @@ -2235,8 +2237,6 @@ - These classes support recipes that need to build software that uses - the Qt development framework version 4.x. The classes inherit the qmake2 class. From d34ba8b56bece4e6ef3f3ec328a042d1122a853c Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 5 Dec 2013 15:04:28 -0600 Subject: [PATCH 326/658] ref-manual: Edits to rm_work class. (From yocto-docs rev: 89de6352a441f85532516e08883ba5d4620e0210) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 118 +++++++++++---------- documentation/ref-manual/ref-variables.xml | 2 +- 2 files changed, 62 insertions(+), 58 deletions(-) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index f24f5946b4c..b5d53cd70b3 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -2262,6 +2262,67 @@
+
+ <filename>rm_work.bbclass</filename> + + + The rm_work class supports deletion of temporary + workspace, which can ease your hard drive demands during builds. + + + + The OpenEmbedded build system can use a substantial amount of disk + space during the build process. + A portion of this space is the work files under the + ${TMPDIR}/work directory for each recipe. + Once the build system generates the packages for a recipe, the work + files for that recipe are no longer needed. + However, by default, the build system preserves these files + for inspection and possible debugging purposes. + If you would rather have these files deleted to save disk space + as the build progresses, you can enable rm_work + by adding the following to your local.conf file, + which is found in the + Build Directory. + + INHERIT += "rm_work" + + If you are modifying and building source code out of the work directory + for a recipe, enabling rm_work will potentially + result in your changes to the source being lost. + To exclude some recipes from having their work directories deleted by + rm_work, you can add the names of the recipe or + recipes you are working on to the RM_WORK_EXCLUDE + variable, which can also be set in your local.conf + file. + Here is an example: + + RM_WORK_EXCLUDE += "busybox eglibc" + + +
+ +
+ <filename>rootfs*.bbclass</filename> + + + These classes add support for creating images in several formats. + First, the root filesystem is created from packages using + one of the rootfs_*.bbclass + files (depending on the package format used) and then the image is created. + + The + IMAGE_FSTYPES + variable controls the types of images to generate. + + The + IMAGE_INSTALL + variable controls the list of packages to install into the + image. + + +
+
<filename>scons.bbclass</filename> @@ -2459,27 +2520,6 @@
-
- <filename>rootfs*.bbclass</filename> - - - These classes add support for creating images in several formats. - First, the root filesystem is created from packages using - one of the rootfs_*.bbclass - files (depending on the package format used) and then the image is created. - - The - IMAGE_FSTYPES - variable controls the types of images to generate. - - The - IMAGE_INSTALL - variable controls the list of packages to install into the - image. - - -
-
Host System Sanity Checks - <filename>sanity.bbclass</filename> @@ -2493,42 +2533,6 @@
-
- Removing Work Files During the Build - <filename>rm_work.bbclass</filename> - - - The OpenEmbedded build system can use a substantial amount of disk - space during the build process. - A portion of this space is the work files under the - ${TMPDIR}/work directory for each recipe. - Once the build system generates the packages for a recipe, the work - files for that recipe are no longer needed. - However, by default, the build system preserves these files - for inspection and possible debugging purposes. - If you would rather have these files deleted to save disk space - as the build progresses, you can enable rm_work - by adding the following to your local.conf file, - which is found in the - Build Directory. - - INHERIT += "rm_work" - - If you are modifying and building source code out of the work directory - for a recipe, enabling rm_work will potentially - result in your changes to the source being lost. - To exclude some recipes from having their work directories deleted by - rm_work, you can add the names of the recipe or - recipes you are working on to the RM_WORK_EXCLUDE - variable, which can also be set in your local.conf - file. - Here is an example: - - RM_WORK_EXCLUDE += "busybox eglibc" - - -
- -
Autotools Configuration Data Cache - <filename>siteinfo.bbclass</filename> diff --git a/documentation/ref-manual/ref-variables.xml b/documentation/ref-manual/ref-variables.xml index 60e24ef5656..7ece12cc2c4 100644 --- a/documentation/ref-manual/ref-variables.xml +++ b/documentation/ref-manual/ref-variables.xml @@ -5274,7 +5274,7 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3" With rm_work enabled, this variable specifies a list of recipes whose work directories should not be removed. - See the "Removing Work Files During the Build - rm_work.bbclass" + See the "rm_work.bbclass" section for more details. From c7521f627b14a7c9562912c54ea6f0b3adaefd0f Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 5 Dec 2013 15:05:55 -0600 Subject: [PATCH 327/658] ref-manual: Edits to rootfs* class. (From yocto-docs rev: 3c57e1239054fae3e3c72ec7b49bcea95a3f1313) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index b5d53cd70b3..57b448a3516 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -2306,10 +2306,8 @@ <filename>rootfs*.bbclass</filename> - These classes add support for creating images in several formats. - First, the root filesystem is created from packages using - one of the rootfs_*.bbclass - files (depending on the package format used) and then the image is created. + The rootfs* classes add support for creating + images in several formats and consist of the following: The IMAGE_FSTYPES @@ -2320,6 +2318,10 @@ variable controls the list of packages to install into the image. + First, the root filesystem is created from packages using + one of the rootfs_*.bbclass + files (depending on the package format used) and then the image + is created.
From 32b62a9c967d464050fe4a9fa460018620de4396 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 5 Dec 2013 15:09:29 -0600 Subject: [PATCH 328/658] ref-manual: Re-ordered classes that start with "S". (From yocto-docs rev: bfe1c17bd023cd7865cf535803bb7b02741ba16c) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 84 ++++++++++++------------ 1 file changed, 42 insertions(+), 42 deletions(-) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index 57b448a3516..a28053cd856 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -2325,6 +2325,19 @@
+
+ Host System Sanity Checks - <filename>sanity.bbclass</filename> + + + This class checks to see if prerequisite software is present on the host system + so that users can be notified of potential problems that might affect their build. + The class also performs basic user configuration checks from + the local.conf configuration file to + prevent common mistakes that cause build failures. + Distribution policy usually determines whether to include this class. + +
+
<filename>scons.bbclass</filename> @@ -2379,6 +2392,35 @@
+
+ Autotools Configuration Data Cache - <filename>siteinfo.bbclass</filename> + + + Autotools can require tests that must execute on the target hardware. + Since this is not possible in general when cross compiling, site information is + used to provide cached test results so these tests can be skipped over but + still make the correct values available. + The meta/site directory + contains test results sorted into different categories such as architecture, endianness, and + the libc used. + Site information provides a list of files containing data relevant to + the current build in the + CONFIG_SITE variable + that Autotools automatically picks up. + + + + The class also provides variables like + SITEINFO_ENDIANNESS + and SITEINFO_BITS + that can be used elsewhere in the metadata. + + + + Because this class is included from base.bbclass, it is always active. + +
+
<filename>spdx.bbclass</filename> @@ -2522,48 +2564,6 @@
-
- Host System Sanity Checks - <filename>sanity.bbclass</filename> - - - This class checks to see if prerequisite software is present on the host system - so that users can be notified of potential problems that might affect their build. - The class also performs basic user configuration checks from - the local.conf configuration file to - prevent common mistakes that cause build failures. - Distribution policy usually determines whether to include this class. - -
- -
- Autotools Configuration Data Cache - <filename>siteinfo.bbclass</filename> - - - Autotools can require tests that must execute on the target hardware. - Since this is not possible in general when cross compiling, site information is - used to provide cached test results so these tests can be skipped over but - still make the correct values available. - The meta/site directory - contains test results sorted into different categories such as architecture, endianness, and - the libc used. - Site information provides a list of files containing data relevant to - the current build in the - CONFIG_SITE variable - that Autotools automatically picks up. - - - - The class also provides variables like - SITEINFO_ENDIANNESS - and SITEINFO_BITS - that can be used elsewhere in the metadata. - - - - Because this class is included from base.bbclass, it is always active. - -
-
<filename>terminal.bbclass</filename> From 9407e718c1241dade697965caba9b9af7de1a68f Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 5 Dec 2013 15:11:25 -0600 Subject: [PATCH 329/658] ref-manual: Edits to sanity class. (From yocto-docs rev: 517b4348988b88de3cb9b8031e25175772e26f64) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index a28053cd856..18bb9a7cc37 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -2326,11 +2326,12 @@
- Host System Sanity Checks - <filename>sanity.bbclass</filename> + <filename>sanity.bbclass</filename> - This class checks to see if prerequisite software is present on the host system - so that users can be notified of potential problems that might affect their build. + The sanity class checks to see if prerequisite + software is present on the host system so that users can be notified + of potential problems that might affect their build. The class also performs basic user configuration checks from the local.conf configuration file to prevent common mistakes that cause build failures. From 5f85440bd56783638986006b4f8aaf34e599f806 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 5 Dec 2013 15:20:01 -0600 Subject: [PATCH 330/658] ref-manual: Edits to siteinfo class. (From yocto-docs rev: 6be23e9efacf2025d1ca337b98dc52bd4ab65477) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 27 ++++++++++++++++-------- 1 file changed, 18 insertions(+), 9 deletions(-) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index 18bb9a7cc37..132ffaf8758 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -2394,16 +2394,23 @@
- Autotools Configuration Data Cache - <filename>siteinfo.bbclass</filename> + <filename>siteinfo.bbclass</filename> - Autotools can require tests that must execute on the target hardware. - Since this is not possible in general when cross compiling, site information is - used to provide cached test results so these tests can be skipped over but - still make the correct values available. - The meta/site directory - contains test results sorted into different categories such as architecture, endianness, and - the libc used. + The siteinfo class provides information about + the targets that might be needed by other classes or recipes. + + + + As an example, consider Autotools, which can require tests that must + execute on the target hardware. + Since this is not possible in general when cross compiling, site + information is used to provide cached test results so these tests can + be skipped over but still make the correct values available. + The + meta/site directory + contains test results sorted into different categories such as + architecture, endianness, and the libc used. Site information provides a list of files containing data relevant to the current build in the CONFIG_SITE variable @@ -2418,7 +2425,9 @@ - Because this class is included from base.bbclass, it is always active. + Because the + base class + includes the siteinfo class, it is always active.
From ae82bc0e0c16156ce7f44a15ae026fa346170e6b Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 5 Dec 2013 15:22:11 -0600 Subject: [PATCH 331/658] ref-manual: Re-ordered classes that start with "T" (From yocto-docs rev: 9a6e1c68b7c4fb22d0724dd108735b9dd1e7f721) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 58 ++++++++++++------------ 1 file changed, 29 insertions(+), 29 deletions(-) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index 132ffaf8758..ecfde202c84 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -2600,6 +2600,35 @@
+
+ <filename>testimage.bbclass</filename> + + + You can use this class to enable running a series of automated tests + for images. + The class handles loading the tests and starting the image. + + Currently, there is only support for running these tests + under QEMU. + + + + + To use the class, you need to perform steps to set up the + environment. + The tests are commands that run on the target system over + ssh. + they are written in Python and make use of the + unittest module. + + + + For information on how to enable, run, and create new tests, see the + "Performing Automated Runtime Testing" + section. + +
+
<filename>tinderclient.bbclass</filename> @@ -2801,35 +2830,6 @@
-
- <filename>testimage.bbclass</filename> - - - You can use this class to enable running a series of automated tests - for images. - The class handles loading the tests and starting the image. - - Currently, there is only support for running these tests - under QEMU. - - - - - To use the class, you need to perform steps to set up the - environment. - The tests are commands that run on the target system over - ssh. - they are written in Python and make use of the - unittest module. - - - - For information on how to enable, run, and create new tests, see the - "Performing Automated Runtime Testing" - section. - -
-
Alternatives - <filename>update-alternatives.bbclass</filename> From bb0fca8a62e4bd52f9db3a4a05fc2711ef144322 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 5 Dec 2013 15:24:11 -0600 Subject: [PATCH 332/658] ref-manual: Edits to testimage class. (From yocto-docs rev: a44377ed2f02127eb6d807721e6c37f53322f89c) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index ecfde202c84..f99889e570a 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -2604,8 +2604,8 @@ <filename>testimage.bbclass</filename> - You can use this class to enable running a series of automated tests - for images. + The testimage class supports running automated + tests against images. The class handles loading the tests and starting the image. Currently, there is only support for running these tests From aa12d3bc482219b5a276a22e8b5bffbc242fdbdb Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 5 Dec 2013 15:27:39 -0600 Subject: [PATCH 333/658] ref-manual: Re-ordered the classes that start with "U" (From yocto-docs rev: d1fa21f55d85804934a52e93704f6b5fd46acce7) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 124 +++++++++++------------ 1 file changed, 62 insertions(+), 62 deletions(-) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index f99889e570a..17784c26285 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -2704,6 +2704,68 @@
+
+ Alternatives - <filename>update-alternatives.bbclass</filename> + + + This class helps the alternatives system when multiple sources provide + the same command. + This situation occurs when several programs that have the same or + similar function are installed with the same name. + For example, the ar command is available from the + busybox, binutils and + elfutils packages. + The update-alternatives.bbclass class handles + renaming the binaries so that multiple packages can be installed + without conflicts. + The ar command still works regardless of which + packages are installed or subsequently removed. + The class renames the conflicting binary in each package and symlinks + the highest priority binary during installation or removal of packages. + + + + To use this class, you need to define a number of variables: + + ALTERNATIVE + + ALTERNATIVE_LINK_NAME + + ALTERNATIVE_TARGET + + ALTERNATIVE_PRIORITY + + + These variables list alternative commands needed by a package, + provide pathnames for links, default links for targets, and + so forth. + For details on how to use this class, see the comments in the + update-alternatives.bbclass. + + + + You can use the update-alternatives command + directly in your recipes. + However, this class simplifies things in most cases. + +
+ +
+ Initscripts - <filename>update-rc.d.bbclass</filename> + + + This class uses update-rc.d to safely install an + initialization script on behalf of the package. + The OpenEmbedded build system takes care of details such as making sure the script is stopped before + a package is removed and started when the package is installed. + Three variables control this class: + INITSCRIPT_PACKAGES, + INITSCRIPT_NAME and + INITSCRIPT_PARAMS. + See the variable links for details. + +
+
Adding Users - <filename>useradd.bbclass</filename> @@ -2830,68 +2892,6 @@
-
- Alternatives - <filename>update-alternatives.bbclass</filename> - - - This class helps the alternatives system when multiple sources provide - the same command. - This situation occurs when several programs that have the same or - similar function are installed with the same name. - For example, the ar command is available from the - busybox, binutils and - elfutils packages. - The update-alternatives.bbclass class handles - renaming the binaries so that multiple packages can be installed - without conflicts. - The ar command still works regardless of which - packages are installed or subsequently removed. - The class renames the conflicting binary in each package and symlinks - the highest priority binary during installation or removal of packages. - - - - To use this class, you need to define a number of variables: - - ALTERNATIVE - - ALTERNATIVE_LINK_NAME - - ALTERNATIVE_TARGET - - ALTERNATIVE_PRIORITY - - - These variables list alternative commands needed by a package, - provide pathnames for links, default links for targets, and - so forth. - For details on how to use this class, see the comments in the - update-alternatives.bbclass. - - - - You can use the update-alternatives command - directly in your recipes. - However, this class simplifies things in most cases. - -
- -
- Initscripts - <filename>update-rc.d.bbclass</filename> - - - This class uses update-rc.d to safely install an - initialization script on behalf of the package. - The OpenEmbedded build system takes care of details such as making sure the script is stopped before - a package is removed and started when the package is installed. - Three variables control this class: - INITSCRIPT_PACKAGES, - INITSCRIPT_NAME and - INITSCRIPT_PARAMS. - See the variable links for details. - -
-
Other Classes From ba1af319dec8b55c83539db1d0bd839d608b6c53 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 5 Dec 2013 15:32:55 -0600 Subject: [PATCH 334/658] ref-manual: Edits to update-alternatives class. Also had to update four instances in the variables glossary where links to the section for the class became misnamed due to stripping out the excess stuff from the class section heading. (From yocto-docs rev: 2b7c245021d16a22fb5a2e14e26b2f9b0082a669) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 8 ++++---- documentation/ref-manual/ref-variables.xml | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index 17784c26285..21f125b6ad9 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -2705,17 +2705,17 @@
- Alternatives - <filename>update-alternatives.bbclass</filename> + <filename>update-alternatives.bbclass</filename> - This class helps the alternatives system when multiple sources provide - the same command. + The update-alternatives class helps the + alternatives system when multiple sources provide the same command. This situation occurs when several programs that have the same or similar function are installed with the same name. For example, the ar command is available from the busybox, binutils and elfutils packages. - The update-alternatives.bbclass class handles + The update-alternatives class handles renaming the binaries so that multiple packages can be installed without conflicts. The ar command still works regardless of which diff --git a/documentation/ref-manual/ref-variables.xml b/documentation/ref-manual/ref-variables.xml index 7ece12cc2c4..4a0e4d10472 100644 --- a/documentation/ref-manual/ref-variables.xml +++ b/documentation/ref-manual/ref-variables.xml @@ -89,7 +89,7 @@ ALTERNATIVE_busybox = "sh sed test bracket" For more information on the alternatives system, see the - "Alternatives - update-alternatives.bbclass" + "update-alternatives.bbclass" section. @@ -122,7 +122,7 @@ For more information on the alternatives system, see the - "Alternatives - update-alternatives.bbclass" + "update-alternatives.bbclass" section. @@ -147,7 +147,7 @@ For more information on the alternatives system, see the - "Alternatives - update-alternatives.bbclass" + "update-alternatives.bbclass" section. @@ -197,7 +197,7 @@ For more information on the alternatives system, see the - "Alternatives - update-alternatives.bbclass" + "update-alternatives.bbclass" section. From 2ac1c7294384df28a16c6598d795cdc36fda5cd4 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 5 Dec 2013 15:40:26 -0600 Subject: [PATCH 335/658] ref-manual: Edits to update-rc.d class. (From yocto-docs rev: 34d011d3e658a86a28339cfe47f1c93e15eb8b26) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index 21f125b6ad9..0d64f84cfbb 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -2751,13 +2751,18 @@
- Initscripts - <filename>update-rc.d.bbclass</filename> + <filename>update-rc.d.bbclass</filename> - This class uses update-rc.d to safely install an + The update-rc.d class uses + update-rc.d to safely install an initialization script on behalf of the package. - The OpenEmbedded build system takes care of details such as making sure the script is stopped before - a package is removed and started when the package is installed. + The OpenEmbedded build system takes care of details such as making + sure the script is stopped before a package is removed and started when + the package is installed. + + + Three variables control this class: INITSCRIPT_PACKAGES, INITSCRIPT_NAME and From 010d18250dd124885473f5c007f35126639e6b59 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 5 Dec 2013 15:49:22 -0600 Subject: [PATCH 336/658] ref-manual: Edits to useradd class. (From yocto-docs rev: 250b955536f4f8ea4369c08265670b59113dcbfc) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index 0d64f84cfbb..eaab17258d9 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -2772,18 +2772,20 @@
- Adding Users - <filename>useradd.bbclass</filename> + <filename>useradd.bbclass</filename> - If you have packages that install files that are owned by custom users or groups, - you can use this class to specify those packages and associate the users and groups - with those packages. + The useradd class supports recipes that restrict + packages to certain users or groups. + For example, if you have packages that install files that are owned + by custom users or groups, you can use this class to specify + those packages and then associate them with the users and groups. The meta-skeleton/recipes-skeleton/useradd/useradd-example.bb recipe in the Source Directory provides a simple example that shows how to add three users and groups to two packages. - See the useradd-example.bb for more information on how to - use this class. + See the useradd-example.bb recipe for more + information on how to use this class.
From bfb6cd84f1c526f4df966e3602c048bb86b57dc2 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 5 Dec 2013 15:52:53 -0600 Subject: [PATCH 337/658] ref-manual: Edits to externalsrc class. (From yocto-docs rev: 08c18fa4fc354972e9898bd3eb10e9aa6b96532d) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index eaab17258d9..be68fce8ee1 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -2850,8 +2850,8 @@ <filename>externalsrc.bbclass</filename> - You can use this class to build software from source code that is - external to the OpenEmbedded build system. + The externalsrc class supports building software + from source code that is external to the OpenEmbedded build system. Building software from an external source tree means that the build system's normal fetch, unpack, and patch process is not used. @@ -2861,7 +2861,7 @@ S and B variables to locate unpacked recipe source code and to build it, respectively. - When your recipe inherits externalsrc.bbclass, + When your recipe inherits the externalsrc class, you use the EXTERNALSRC and @@ -2881,19 +2881,19 @@ ${WORKDIR}/${BPN}/{PV}/ - See the glossary entries for the + See these variables for more information: WORKDIR, - BPN, + BPN, and PV, - For more information on - externalsrc.bbclass, see the comments in + For more information on the + externalsrc class, see the comments in meta/classes/externalsrc.bbclass in the Source Directory. - For information on how to use externalsrc.bbclass, - see the + For information on how to use the externalsrc + class, see the "Building Software from an External Source" section in the Yocto Project Development Manual. From a3519ba573c96adcaf9f526dfca705588ad30156 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 5 Dec 2013 15:54:08 -0600 Subject: [PATCH 338/658] ref-manual: Re-ordered externalsrc class into the "C"'s (From yocto-docs rev: c2f04331ee5e1681e2c00f94f025bcf01506d129) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 106 +++++++++++------------ 1 file changed, 53 insertions(+), 53 deletions(-) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index be68fce8ee1..e631c0ca187 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -585,6 +585,59 @@
+
+ <filename>externalsrc.bbclass</filename> + + + The externalsrc class supports building software + from source code that is external to the OpenEmbedded build system. + Building software from an external source tree means that the build + system's normal fetch, unpack, and patch process is not used. + + + + By default, the OpenEmbedded build system uses the + S and + B variables to + locate unpacked recipe source code and to build it, respectively. + When your recipe inherits the externalsrc class, + you use the + EXTERNALSRC + and + EXTERNALSRC_BUILD + variables to ultimately define S and + B. + + + + By default, this class expects the source code to support recipe builds + that use the B + variable to point to the directory in which the OpenEmbedded build + system places the generated objects built from the recipes. + By default, the B directory is set to the + following, which is separate from the source directory + (S): + + ${WORKDIR}/${BPN}/{PV}/ + + See these variables for more information: + WORKDIR, + BPN, and + PV, + + + + For more information on the + externalsrc class, see the comments in + meta/classes/externalsrc.bbclass in the + Source Directory. + For information on how to use the externalsrc + class, see the + "Building Software from an External Source" + section in the Yocto Project Development Manual. + +
+
<filename>extrausers.bbclass</filename> @@ -2846,59 +2899,6 @@
-
- <filename>externalsrc.bbclass</filename> - - - The externalsrc class supports building software - from source code that is external to the OpenEmbedded build system. - Building software from an external source tree means that the build - system's normal fetch, unpack, and patch process is not used. - - - - By default, the OpenEmbedded build system uses the - S and - B variables to - locate unpacked recipe source code and to build it, respectively. - When your recipe inherits the externalsrc class, - you use the - EXTERNALSRC - and - EXTERNALSRC_BUILD - variables to ultimately define S and - B. - - - - By default, this class expects the source code to support recipe builds - that use the B - variable to point to the directory in which the OpenEmbedded build - system places the generated objects built from the recipes. - By default, the B directory is set to the - following, which is separate from the source directory - (S): - - ${WORKDIR}/${BPN}/{PV}/ - - See these variables for more information: - WORKDIR, - BPN, and - PV, - - - - For more information on the - externalsrc class, see the comments in - meta/classes/externalsrc.bbclass in the - Source Directory. - For information on how to use the externalsrc - class, see the - "Building Software from an External Source" - section in the Yocto Project Development Manual. - -
-
Other Classes From d7c3160f58e7098cc8b2115a35dce01675f94a23 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 5 Dec 2013 15:58:36 -0600 Subject: [PATCH 339/658] ref-manual: Removed the section "Other Classes" This section was there because we did not document all the classes in meta/classes. Now that we are I am dumping it. (From yocto-docs rev: 94fb23c80770af2fd6b52e0f255a5d24020a3ef5) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index e631c0ca187..9045769a767 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -2899,19 +2899,6 @@
-
- Other Classes - - - Thus far, this chapter has discussed only the most useful and important - classes. - However, other classes exist within the meta/classes directory - in the Source Directory. - You can examine the .bbclass files directly for more - information. - -
- From 54a2ed579dc23fce9527f24204a01dc1d7cc558b Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Fri, 6 Dec 2013 08:20:09 -0600 Subject: [PATCH 341/658] ref-manual: Review edits to classes A through B Applied some review edits from Paul Eggleton for the following classes: allarch base bin_package bugzilla buildstats (From yocto-docs rev: 7caa9de2ffd2024e9ad560c58425bd16fbca2790) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 25 ++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index 8e49c4d6891..5e7fad3ea28 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -45,7 +45,7 @@ <filename>allarch.bbclass</filename> - The all architecture (allarch) class is inherited + The allarch class is inherited by recipes that do not produce architecture-specific output. The class disables functionality that is normally needed for recipes that produce executable binaries (such as building the cross-compiler @@ -137,7 +137,7 @@ The base class is special in that every - .bb file automatically inherits the class. + .bb file implicitly inherits the class. This class contains definitions for standard basic tasks such as fetching, unpacking, configuring (empty by default), compiling (runs any Makefile present), installing @@ -166,8 +166,9 @@ For RPMs and other packages that do not contain a subdirectory, you should specify a "subdir" parameter. - Here is an example where ${BP} matches the - subdirectory expected by the default value of + Here is an example where ${BP} is used so that + the files are extracted into the subdirectory expected by the + default value of S: SRC_URI = "http://example.com/downloads/somepackage.rpm;subdir=${BP}" @@ -290,10 +291,11 @@ <filename>bugzilla.bbclass</filename> - The bugzilla class, if enabled in - your instance of Bugzilla, automatically files bug reports to that - enabled instance in response to build failures. + The bugzilla class automatically files bug reports + to a Bugzilla instance in response to build failures. This class uses Bugzilla's XML-RPC interface. + Consequently, you need to enable the class in the instance of Bugzilla + within which you wish to file reports.
@@ -330,13 +332,12 @@ - To enable this class, use the + Collecting build statistics is enabled by default through the USER_CLASSES variable from your local.conf file. - The meta-yocto/conf/local.conf.sample file - in the - Source Directory - enables this class by default. + Consequently, you do not have to do anything to enable the class. + However, if you want to disable the class, simply remove "buildstats" + from the USER_CLASSES list.
From 51362f7858dda16840ed4384992062023e9c29dc Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Fri, 6 Dec 2013 12:41:17 -0600 Subject: [PATCH 342/658] ref-manual: Review edits to the "C" and "D" classes. Modifications to ccache, chrpath, clutter, cross, cross-canadian, crosssdk, and debian classes. Added a new variable to the glossary for LEAD_SONAME. (From yocto-docs rev: bfaea19935ed694edee1dc03be37c7dcbebea47f) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 42 +++++++++++++++++----- documentation/ref-manual/ref-variables.xml | 17 +++++++++ 2 files changed, 50 insertions(+), 9 deletions(-) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index 5e7fad3ea28..a5a906d5ac4 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -345,7 +345,9 @@ <filename>ccache.bbclass</filename> - The ccache class enables this cache for the build. + The ccache class enables the + C/C++ Compiler Cache + for the build. This class is used to give a minor performance boost during the build. However, using the class can lead to unexpected side-effects. Thus, it is recommended that you do not use this class. @@ -360,7 +362,9 @@ The chrpath class is a wrapper around the "chrpath" utility, which is used during the - build process for nativesdk recipes to change + build process for nativesdk, + cross, and + cross-canadian recipes to change RPATH records within binaries in order to make them relocatable. @@ -373,6 +377,12 @@ The clutter class consolidates the major and minor version naming and other common items used by Clutter and related recipes. + + Unlike some other classes related to specific libraries, recipes + building other software that uses Clutter do not need to + inherit this class unless they use the same recipe versioning + scheme that the Clutter and related recipes do. +
@@ -454,8 +464,8 @@ <filename>cross.bbclass</filename> - The cross)class provides support for - cross-compilation tools. + The cross class provides support for the recipes + that build the cross-compilation tools.
@@ -464,7 +474,8 @@ The cross-canadian class - provides support for Canadian Cross compilation tools for SDKs. + provides support for the recipes that build the Canadian + Cross-compilation tools for SDKs. See the "Cross-Development Toolchain Generation" section for more discussion on these cross-compilation tools. @@ -476,8 +487,8 @@ The crosssdk class - provides support for cross-compilation tools used for building - SDKs. + provides support for the recipes that build the cross-compilation + tools used for building SDKs. See the "Cross-Development Toolchain Generation" section for more discussion on these cross-compilation tools. @@ -488,10 +499,20 @@ <filename>debian.bbclass</filename> - The debian class renames packages so that they - follow the Debian naming policy (i.e. eglibc + The debian class renames output packages so that + they follow the Debian naming policy (i.e. eglibc becomes libc6 and eglibc-devel becomes libc6-dev.) + Renaming includes the library name and version as part of the package + name. + + + + If a recipe creates packages for multiple libraries + (shared object files of .so type), use the + LEAD_SONAME + variable in the recipe to specify the library on which to apply the + naming scheme.
@@ -512,6 +533,9 @@ and use addtask to add the task at the appropriate place, which is usually after do_compile or do_install. + The class then takes care of staging the files from + DEPLOYDIR to + DEPLOY_DIR_IMAGE.
diff --git a/documentation/ref-manual/ref-variables.xml b/documentation/ref-manual/ref-variables.xml index 4a0e4d10472..2f3aafacc68 100644 --- a/documentation/ref-manual/ref-variables.xml +++ b/documentation/ref-manual/ref-variables.xml @@ -3514,6 +3514,23 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3" + LEAD_SONAME + + + Specifies the lead (or primary) compiled library file + (.so) that the + debian + class applies its naming policy to given a recipe that + packages multiple libraries. + + + + This variable works in conjunction with the + debian class. + + + + LIC_FILES_CHKSUM Checksums of the license text in the recipe source code. From 936b8180e3615251b2bd2c99cb23e969222dd3bb Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Mon, 9 Dec 2013 07:07:42 -0600 Subject: [PATCH 343/658] ref-manual: Edits to bugzilla and deploy class. Fixed a link in the deploy class. Re-wrote the bugzilla class to be clearer. (From yocto-docs rev: ce4f72644e9da987adb3873c91c14a8e5e8df555) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index a5a906d5ac4..965302f7787 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -291,11 +291,11 @@ <filename>bugzilla.bbclass</filename> - The bugzilla class automatically files bug reports - to a Bugzilla instance in response to build failures. - This class uses Bugzilla's XML-RPC interface. - Consequently, you need to enable the class in the instance of Bugzilla - within which you wish to file reports. + The bugzilla class supports setting up an + instance of Bugzilla in which you can automatically files bug reports + in response to build failures. + For this class to work, you need to enable the XML-RPC interface in + the instance of Bugzilla.
@@ -529,7 +529,7 @@ Recipes that inherit this class should define their own do_deploy function to copy the files to be deployed to - DEPLOYDIR, + DEPLOYDIR, and use addtask to add the task at the appropriate place, which is usually after do_compile or do_install. From 9881936f9c384e35832aee38bd7fc116ae2611ae Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Mon, 9 Dec 2013 07:20:51 -0600 Subject: [PATCH 344/658] ref-manual: Added new DEPLOYDIR variable. (From yocto-docs rev: 7edc293539ffc630f05e4a63f6efff4e4e9930b7) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-variables.xml | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/documentation/ref-manual/ref-variables.xml b/documentation/ref-manual/ref-variables.xml index 2f3aafacc68..210b29da17f 100644 --- a/documentation/ref-manual/ref-variables.xml +++ b/documentation/ref-manual/ref-variables.xml @@ -1321,6 +1321,27 @@ + DEPLOYDIR + + + For recipes that inherit the + deploy + class, the DEPLOYDIR points to a + temporary work area for deployed files that is set in the + deploy class as follows: + + DEPLOYDIR = "${WORKDIR}/deploy-${PN}" + + Recipes inheriting the deploy class + should copy files to be deployed into + DEPLOYDIR, and the class will take + care of copying them into + DEPLOY_DIR_IMAGE + afterwards. + + + + DESCRIPTION The package description used by package managers. From f4efad340eae012b62f0960777a0e4bd0d0b29d1 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Mon, 9 Dec 2013 08:00:31 -0600 Subject: [PATCH 345/658] ref-manual: Review edits to classes "E" through "G" extrausers - Changed the note to try and describe that the change is still specific to an image recipe but is not tied to other individual recipes. fontcache - Minor fix. gtk-icon-cache - fixed capitalization issue. gtk-immodules-cache - Minor fix gzipnative - Minor fix. (From yocto-docs rev: bc25a62de2345b7ec0b2b019ff399921ec6edd0a) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index 965302f7787..9a095a21bc9 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -677,11 +677,11 @@ The user and group operations added using the extrausers class are not tied to a specific - recipe but can be performed across the image as a whole. - See the + recipe outside of the recipe for the image. + Thus, the operations can be performed across the image as a whole. + Use the useradd - class for information on how to add user and group configuration - to a specific recipe. + class to add user and group configuration to a specific recipe. @@ -720,7 +720,7 @@ If the fonts being installed are in packages other than the main package, set FONT_PACKAGES - to include the packages containing the fonts. + to specify the packages containing the fonts.
@@ -762,8 +762,7 @@ gtk-icon-cache, gconf and mime classes. - The class also disables GLib Object System (Gobject) introspection - where applicable. + The class also disables Gobject introspection where applicable.
@@ -853,7 +852,7 @@ The gtk-icon-cache class - Generates the proper post-install and post-remove (postinst/postrm) + generates the proper post-install and post-remove (postinst/postrm) scriptlets for packages that use GTK+ and install icons. These scriptlets call gtk-update-icon-cache to add the fonts to GTK+'s icon cache. @@ -884,7 +883,7 @@ If the input method modules being installed are in packages other than the main package, set GTKIMMODULES_PACKAGES - to include the packages containing the modules. + to specify the packages containing the modules.
@@ -894,7 +893,8 @@ The gzipnative class enables the use of native versions of gzip - and pigz rather than the system versions. + and pigz rather than the versions of these tools + from the build host.
From ffeec6c9971cec9a0a8b1a2381af2396cc1d0394 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Mon, 9 Dec 2013 08:37:17 -0600 Subject: [PATCH 346/658] ref-manual: Edits to classes "I" through "K" Added opening reason for the icecc class. Also cleared up the sentence describing ICECC_PATH. Minor fix to image class. Also added some reference links. Minor fix to image-mklibs class. Also combined rouge sentence stating that the class in enabled. Same fix to rogue sentence in image-prelink class. Fixed "insserve" into "insserv" throughout. Added many links to some missing classes in the kernel class. Subsequent commit to actually add the class documentation. (From yocto-docs rev: 2260032cdbfd04dbb445d72341a2d2c87ce72545) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 66 ++++++++++++++---------- 1 file changed, 40 insertions(+), 26 deletions(-) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index 9a095a21bc9..0dc8c8d5f81 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -902,9 +902,15 @@ <filename>icecc.bbclass</filename> - The icecc class stages directories with symlinks - from gcc and g++ to - icecc, for both native and cross compilers. + The icecc class supports Icecream, which + facilitates taking compile jobs and distributing them among remote + machines to achieve parallelism during the build. + + + + The class stages directories with symlinks from gcc + and g++ to icecc, for both + native and cross compilers. Depending on each configure or compile, the OpenEmbedded build system adds the directories at the head of the PATH list and then sets @@ -931,7 +937,8 @@ If ICECC_PATH is not set in your local.conf file, then the - class tries to locate it using which. + class tries to locate the icecc binary + using which. If ICECC_ENV_EXEC @@ -977,8 +984,8 @@ in different formats. First, the root filesystem is created from packages using one of the rootfs_*.bbclass - files (depending on the package format used) and then the image is - created. + files (depending on the package format used) and then one or more image + files are created. The IMAGE_FSTYPES @@ -989,6 +996,11 @@ variable controls the list of packages to install into the image. + For more information on customizing images, see the + "Customizing Images" + section in the Yocto Project Development Manual and the + "Images" section elsewhere + in this manual.
@@ -1042,20 +1054,17 @@ <filename>image-mklibs.bbclass</filename> - The mklibs class + The image-mklibs class enables the use of the mklibs utility during the do_rootfs task, which optimizes the size of libraries contained in the image. - The - USER_CLASSES - variable enables this class. By default, the class is enabled in the - local.conf.template in the - Source Directory - as follows: + local.conf.template using the + USER_CLASSES + variable as follows: USER_CLASSES ?= "buildstats image-mklibs image-prelink" @@ -1073,13 +1082,10 @@ - The - USER_CLASSES - variable enables this class. By default, the class is enabled in the - local.conf.template in the - Source Directory - as follows: + local.conf.template using the + USER_CLASSES + variable as follows: USER_CLASSES ?= "buildstats image-mklibs image-prelink" @@ -1475,11 +1481,11 @@
-
- <filename>insserve.bbclass</filename> +
+ <filename>insserv.bbclass</filename> - The insserve class + The insserv class uses the insserv utility to update the order of symbolic links in /etc/rc?.d/ within an image based on dependencies specified by LSB headers in the @@ -1495,7 +1501,10 @@ The class contains code to build all kernel trees. All needed headers are staged into the STAGING_KERNEL_DIR - directory to allow out-of-tree module builds using module.bbclass. + directory to allow out-of-tree module builds using + the + module + class. @@ -1507,9 +1516,14 @@ - Various other classes are used by the kernel and module classes internally including - kernel-arch.bbclass, module_strip.bbclass, - module-base.bbclass, and linux-kernel-base.bbclass. + Various other classes are used by the kernel + and module classes internally including the + kernel-arch, + module_strip, + module-base, + and + linux-kernel-base + classes.
From 3658c0aa627b5595cd8ee52c469774907803f0c9 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Mon, 9 Dec 2013 08:43:28 -0600 Subject: [PATCH 347/658] ref-manual: Changed Gobject to GObject. (From yocto-docs rev: 9ef07e0ad3b201807c7548495f4d4d53360da21d) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index 0dc8c8d5f81..d38071e1221 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -762,7 +762,7 @@ gtk-icon-cache, gconf and mime classes. - The class also disables Gobject introspection where applicable. + The class also disables GObject introspection where applicable.
From 179e55d619a0d8a88a3fbf337a52948d8060832f Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Mon, 9 Dec 2013 14:42:00 -0600 Subject: [PATCH 348/658] ref-manual: Fixed link back to own-mirrors class. (From yocto-docs rev: 761849633b541ce9f26ac27b76fb84ec47e48d70) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-variables.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/ref-manual/ref-variables.xml b/documentation/ref-manual/ref-variables.xml index 210b29da17f..fe0225c5d69 100644 --- a/documentation/ref-manual/ref-variables.xml +++ b/documentation/ref-manual/ref-variables.xml @@ -5881,7 +5881,7 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3" To use this variable, you must globally inherit the - ownmirrors + own-mirrors class and then provide the URL to your mirrors. Here is an example: From 7b0e4fb0674189c21a0046bb1208ec85c7ea7190 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Mon, 9 Dec 2013 14:43:18 -0600 Subject: [PATCH 349/658] ref-manual: Review edits from "I" through "Z" classes. icecc - added link to Icecream. images - added some reference links to the end of the section. logging - added closing ")" character. nativesdk - corrected the mis-copied recipe name. own-mirrors - fixed the class name so it was not "ownmirrors". package - minor tweak to indicate class. Also spelled Berkeley correctly. package_deb, package_ipk, and package_rpm - dumped a note and mentioned that you need PACKAGE_CLASSES to enable the class. package_tar - noted that the recipe inheriting the tar class is what does the trick here. pixbufcache - minor edits populate_sdk - minor edits prserv - edits to tell how it is enabled. pythonnative - re-worded it. rootfs* - reworded. rootfs_deb, rootfs_ipk, and rootfs_rpm - Brand new. systemd - reworded. terminal - rewording useradd - reworded (From yocto-docs rev: 110c192499a0e349b317e51aeca1a391c35785fc) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 192 +++++++++++++++-------- 1 file changed, 127 insertions(+), 65 deletions(-) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index d38071e1221..555918e80aa 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -902,9 +902,10 @@ <filename>icecc.bbclass</filename> - The icecc class supports Icecream, which + The icecc class supports + Icecream, which facilitates taking compile jobs and distributing them among remote - machines to achieve parallelism during the build. + machines. @@ -996,9 +997,10 @@ variable controls the list of packages to install into the image. - For more information on customizing images, see the + For information on customizing images, see the "Customizing Images" - section in the Yocto Project Development Manual and the + section in the Yocto Project Development Manual. + For information on how images are created, see the "Images" section elsewhere in this manual. @@ -1603,7 +1605,7 @@ shell functions used to log messages for various BitBake severity levels (i.e. bbplain, bbnote, bbwarn, bberror, - bbfatal, and bbdebug. + bbfatal, and bbdebug). @@ -1739,7 +1741,7 @@ You can create a recipe that builds tools that run on the SDK machine a couple different ways: - Create a myrecipe-native.bb + Create a myrecipe-nativesdk.bb recipe that inherits the nativesdk class. Create a nativesdk variant @@ -1783,11 +1785,11 @@
-
- <filename>ownmirrors.bbclass</filename> +
+ <filename>own-mirrors.bbclass</filename> - The ownmirrors class makes it + The own-mirrors class makes it easier to set up your own PREMIRRORS from which to first fetch source before attempting to fetch it from the @@ -1813,7 +1815,7 @@ <filename>package.bbclass</filename> - The package supports generating + The package class supports generating packages from a build's output. The core generic functionality is in package.bbclass. @@ -1877,7 +1879,7 @@ ACID style upgrade, and repackaging abilities for rollbacks. - For smaller systems, the extra space used for the Berkley + For smaller systems, the extra space used for the Berkeley Database and the amount of metadata when using RPM can affect your ability to perform on-device upgrades. @@ -1906,11 +1908,14 @@ The class ensures the packages are written out to the ${DEPLOY_DIR}/deb directory in a .deb file format. - - This package inherits the - package - class. - + + + + This class inherits the + package + class and is enabled through the + PACKAGE_CLASSES + variable in the local.conf file.
@@ -1924,11 +1929,14 @@ The class ensures the packages are written out to the ${DEPLOY_DIR}/ipk directory in a .ipk file format. - - This package inherits the - package - class. - + + + + This class inherits the + package + class and is enabled through the + PACKAGE_CLASSES + variable in the local.conf file.
@@ -1942,11 +1950,14 @@ The class ensures the packages are written out to the ${DEPLOY_DIR}/rpm directory in a .rpm file format. - - This package inherits the - package - class. - + + + + This class inherits the + package + class and is enabled through the + PACKAGE_CLASSES + variable in the local.conf file.
@@ -1960,11 +1971,12 @@ The class ensures the packages are written out to the ${DEPLOY_DIR}/tar directory in a .tar file format. - - This package inherits the - package - class. - + + + + This class inherits the + package + class and is for a given recipe when the recipe inherits the class.
@@ -2061,7 +2073,7 @@ that install pixbuf loaders, which are used with gdk-pixbuf. These scriptlets call update_pixbuf_cache - to add the input method modules to the cache. + to add the pixbuf loaders to the cache. Since the cache files are architecture-specific, update_pixbuf_cache is run using QEMU if the postinst scriptlets need to be run on the build host during image @@ -2072,7 +2084,7 @@ If the pixbuf loaders modules being installed are in packages other than the main package, set PIXBUF_PACKAGES - to include the packages containing the modules. + to specify the packages containing the modules.
@@ -2098,8 +2110,8 @@ <filename>populate_sdk.bbclass</filename> - The populate_sdk class facilitates compatibility - with SDK-only recipes. + The populate_sdk class provides support for + SDK-only recipes. @@ -2212,8 +2224,8 @@ This class is enabled by default because it is inherited by the package class. - However, the OpenEmbedded build system will not use this variable - unless + However, the OpenEmbedded build system will not enable the + functionality of this class unless PRSERV_HOST has been set.
@@ -2253,11 +2265,9 @@ <filename>pythonnative.bbclass</filename> - The pythonnative causes the OpenEmbedded build - system to use the native version of Python, which is built by the - build system. - Normally, the OpenEmbedded build system uses the version of Python - that is built by the build host. + When inherited by a recipe, the pythonnative class + supports using the native version of Python built by the build system + rather than using the version provided by the build host. This class must be inherited by a recipe in order to be used. @@ -2399,21 +2409,72 @@ The rootfs* classes add support for creating - images in several formats and consist of the following: + the root filesystem in either .ext3 or + tar.bz2 formats and consist of the following + classes: The - IMAGE_FSTYPES - variable controls the types of images to generate. - + rootfs_deb + class. The - IMAGE_INSTALL - variable controls the list of packages to install into the - image. + rootfs_rpm + class. + The + rootfs_ipk + class. - First, the root filesystem is created from packages using - one of the rootfs_*.bbclass - files (depending on the package format used) and then the image - is created. +
+ + + The root filesystem is created from packages using one of the + rootfs_*.bbclass files as determined by the + IMAGE_FSTYPES + variable. + + + + For information on how root filesystem images are created, see the + "Image Generation" + section. + + + +
+ <filename>rootfs_deb.bbclass</filename> + + + The rootfs_deb class supports creation of + root filesystems for images built using .deb + packages. + See the + "rootfs*.bbclass" + section for more information. + +
+ +
+ <filename>rootfs_ipk.bbclass</filename> + + + The rootfs_ipk class supports creation of + root filesystems for images built using .ipk + packages. + See the + "rootfs*.bbclass" + section for more information. + +
+ +
+ <filename>rootfs_rpm.bbclass</filename> + + + The rootfs_rpm class supports creation of + root filesystems for images built using .rpm + packages. + See the + "rootfs*.bbclass" + section for more information.
@@ -2458,7 +2519,7 @@ The setuptools class supports extensions that use - setuptools-based build systems. + setuptools-based build systems making use of Python. If your recipe uses these build systems, the recipe needs to inherit the setuptools class. @@ -2631,9 +2692,10 @@
- Under this class, unit files are installed into - ${D}${systemd_unitdir}/system - during the do_install task. + Under this class, the recipe or Makefile (i.e. whatever the recipe is + calling during the do_install task) installs unit + files into + ${D}${systemd_unitdir}/system. If the unit files being installed go into packages other than the main package, you need to set SYSTEMD_PACKAGES @@ -2678,9 +2740,9 @@ - You can use this class anywhere a separate terminal session needs to - be started. - To use the class, include the + Other classes use the terminal class anywhere a + separate terminal session needs to be started. + The class is used by including the patch class if PATCHRESOLVE @@ -2867,11 +2929,11 @@ <filename>useradd.bbclass</filename> - The useradd class supports recipes that restrict - packages to certain users or groups. - For example, if you have packages that install files that are owned - by custom users or groups, you can use this class to specify - those packages and then associate them with the users and groups. + The useradd class supports the addition of users + or groups for usage by the package on the target. + For example, if you have packages that contain system services that + should be run under their own user or group, you can use this class to + enable creation of the user or group. The meta-skeleton/recipes-skeleton/useradd/useradd-example.bb recipe in the Source Directory provides a simple example that shows how to add three From 49735c68e0e01774836413965cf471483a8f38a8 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Mon, 9 Dec 2013 15:07:02 -0600 Subject: [PATCH 350/658] ref-manual: Added some references to variables in the useradd class. Added links to USERADD_PACKAGES, USERADD_PARAM, GROUPADD_PARAM, and GROUPMEMS_PARAM (From yocto-docs rev: d0a594b474662fe5daee6fb72b6190541a40ef14) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index 555918e80aa..a219a930b95 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -2941,6 +2941,16 @@ See the useradd-example.bb recipe for more information on how to use this class. + + + The useradd class supports the + USERADD_PACKAGES, + USERADD_PARAM, + GROUPADD_PARAM, + and + GROUPMEMS_PARAM + variables. +
From 79d9919005a841509f46ddc9f8660fbc794c2f8f Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Mon, 9 Dec 2013 15:47:51 -0600 Subject: [PATCH 351/658] ref-manual: Edits to SYSTEMD* variables. Minor changes to the SYSTEMD_PACKAGES, SYSTEMD_SERVICE, and SYSTEMD_AUTO_ENABLE variables. (From yocto-docs rev: 39a0a959d77ce7c6cb19564445d198b64d4cb9b6) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-variables.xml | 27 ++++++++++++++-------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/documentation/ref-manual/ref-variables.xml b/documentation/ref-manual/ref-variables.xml index fe0225c5d69..c7d3ac9db5e 100644 --- a/documentation/ref-manual/ref-variables.xml +++ b/documentation/ref-manual/ref-variables.xml @@ -6330,8 +6330,12 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3" SYSTEMD_AUTO_ENABLE - Enables and disables the systemd - service manager. + For recipes that inherit the + systemd + class, this variable specifies whether the service you have + specified in + SYSTEMD_SERVICE + should be started automatically or not. By default, the service is enabled to automatically start at boot time. The default setting is in the @@ -6349,10 +6353,12 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3" SYSTEMD_PACKAGES - Specifies the packages into which - systemd unit files are installed - when the files need to be installed into packages other - than recipe's main package. + For recipes that inherit the + systemd + class, this variable specifies the packages into which + systemd unit files have been packaged when the files + need to be installed into packages other than recipe's main + package. @@ -6369,15 +6375,16 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3" SYSTEMD_SERVICE - The service file for the systemd - service manager. + For recipes that inherit the + systemd + class, this variable specifies the + systemd service name for a package. When you specify this file in your recipe, use a package name override to indicate the package to which the value - applies when the value applies to a package other than - the recipe's main package. + applies. Here is an example from the connman recipe: SYSTEMD_SERVICE_${PN} = "connman.service" From d29e57a01799b8f42f4d760651ec6281db0eef78 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Mon, 9 Dec 2013 16:01:22 -0600 Subject: [PATCH 352/658] ref-manual: Minor edits to FONT_PACKAGES variable. (From yocto-docs rev: 92e085cdebd470c27e740c8a16ea7ffc98207633) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-variables.xml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/documentation/ref-manual/ref-variables.xml b/documentation/ref-manual/ref-variables.xml index c7d3ac9db5e..55f4ebc128a 100644 --- a/documentation/ref-manual/ref-variables.xml +++ b/documentation/ref-manual/ref-variables.xml @@ -2153,7 +2153,8 @@ fontcache class, this variable identifies packages that contain fonts the OpenEmbedded build system installs. - By default, installed fonts appear in the main package + By default, the fontcache class assumes + that fonts appear in the main package (i.e. ${PN}). Use this variable if fonts you need appear in a package other than that main package. From 84c76124a7637bd39ff1627ea21847670d21b604 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Mon, 9 Dec 2013 16:02:46 -0600 Subject: [PATCH 353/658] ref-manual: Minor edits to GTKIMMODULES_PACKAGES variable. (From yocto-docs rev: c02782ece3ac8d422c9870ac237e7fd2e7b076ee) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-variables.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/ref-manual/ref-variables.xml b/documentation/ref-manual/ref-variables.xml index 55f4ebc128a..43829a6607d 100644 --- a/documentation/ref-manual/ref-variables.xml +++ b/documentation/ref-manual/ref-variables.xml @@ -2278,7 +2278,7 @@ GTKIMMODULES_PACKAGES - Includes the packages that contain the GIMP Toolkit input + Includes the packages that contain the GTK+ input method modules being installed when the modules are in packages other than the main package. From 122657979e866bfe6cac3fdb8dbe357083fb175c Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Mon, 9 Dec 2013 16:15:46 -0600 Subject: [PATCH 354/658] ref-manual: Edits to icecc class and removal of three variables. Fixed the links in the icecc class that linked into ICECC_CC, ICECC_CXX, and ICECC_VERSION so they don't link anymore but rather give a very brief explanation of what the variable does. Removed the above three variables from the variable glossary. These are not BitBake variables and we should not document them. (From yocto-docs rev: 67842df1a4a01f7bdd924027c66faf8f30c426ce) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 12 ++--- documentation/ref-manual/ref-variables.xml | 51 +--------------------- 2 files changed, 7 insertions(+), 56 deletions(-) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index a219a930b95..bd4f8629da6 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -914,17 +914,17 @@ native and cross compilers. Depending on each configure or compile, the OpenEmbedded build system adds the directories at the head of the PATH list - and then sets - ICECC_CXX - and - ICEC_CC. + and then sets the ICECC_CXX and + ICEC_CC variables, which are the paths to the + g++ and gcc compilers, + respectively. For the cross compiler, the class creates a tar.gz file that contains the Yocto Project toolchain and sets - ICECC_VERSION - accordingly. + ICECC_VERSION, which is the version of the + cross-compiler used in the cross-development toolchain, accordingly. diff --git a/documentation/ref-manual/ref-variables.xml b/documentation/ref-manual/ref-variables.xml index 43829a6607d..736dde2d57f 100644 --- a/documentation/ref-manual/ref-variables.xml +++ b/documentation/ref-manual/ref-variables.xml @@ -24,7 +24,7 @@ F G H - I + I K L @@ -2334,42 +2334,6 @@ I - ICECC_CC - - - The path to the GNU C compiler gcc. - This variable is used by the - icecc - class. - You do not set this variable by hand. - - - - When the location for the GNU C compiler is not a - symbolic link, the class sets the variable to the location - of the compiler. - - - - - ICECC_CXX - - - The path to the GNU C++ compiler g++. - This variable is used by the - icecc - class. - You do not set this variable by hand. - - - - When the location for the GNU C++ compiler is not a - symbolic link, the class sets the variable to the location - of the compiler. - - - - ICECC_ENV_EXEC @@ -2468,19 +2432,6 @@ - ICECC_VERSION - - - The version of the cross-compiler used in the - cross-development toolchain. - This variable is used by the - icecc - class. - You do not set this variable by hand. - - - - IMAGE_BASENAME From 6cf5b608ef773b2cd4293b340c083263c9060d5c Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Mon, 9 Dec 2013 16:19:06 -0600 Subject: [PATCH 355/658] ref-manual: Updates to ICECC_USER_PACKAGE_BL and _WL variable. (From yocto-docs rev: 50cf335a1b07f97b27aae1332e4cf27a0531218c) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-variables.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/documentation/ref-manual/ref-variables.xml b/documentation/ref-manual/ref-variables.xml index 736dde2d57f..3f07f549735 100644 --- a/documentation/ref-manual/ref-variables.xml +++ b/documentation/ref-manual/ref-variables.xml @@ -2396,7 +2396,7 @@ ICECC_USER_PACKAGE_BL - Identifies user packages that you do not want the + Identifies user recipes that you do not want the Icecream distributed compile support to consider. This variable is used by the icecc @@ -2418,7 +2418,7 @@ ICECC_USER_PACKAGE_WL - Identifies user packages that use an empty + Identifies user recipes that use an empty PARALLEL_MAKE variable that you want to force remote distributed compilation on using the Icecream distributed compile From 4647dee052ea154b3017eb381bda29ae026f8f6f Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Mon, 9 Dec 2013 16:21:12 -0600 Subject: [PATCH 356/658] ref-manual: Edits to INHERIT_DISTRO variable. (From yocto-docs rev: 7be16706e3515bd74d293da0bea2a8d720555b19) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-variables.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/documentation/ref-manual/ref-variables.xml b/documentation/ref-manual/ref-variables.xml index 3f07f549735..bc66b15a7f0 100644 --- a/documentation/ref-manual/ref-variables.xml +++ b/documentation/ref-manual/ref-variables.xml @@ -2953,13 +2953,13 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3" INHERIT_DISTRO - Lists classes that are inherited by default at the + Lists classes that will be inherited at the distribution level. It is unlikely that you want to edit this variable. - The variable is set as follows in the + The default value of the variable is set as follows in the meta/conf/distro/defaultsetup.conf file: From 22c0fde9a82dbf5cf83fc91cd4392eed14d0f8d0 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Mon, 9 Dec 2013 16:23:27 -0600 Subject: [PATCH 357/658] ref-manual: Edits to PIXBUF_PACKAGES variable. typo fixed. (From yocto-docs rev: 9d32225c86d904bcd62b738f88d69594f959982a) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-variables.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/ref-manual/ref-variables.xml b/documentation/ref-manual/ref-variables.xml index bc66b15a7f0..5c1f785da23 100644 --- a/documentation/ref-manual/ref-variables.xml +++ b/documentation/ref-manual/ref-variables.xml @@ -4717,7 +4717,7 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3" When a recipe inherits the pixbufcache class, this variable identifies packages that contain - the pixbuf loaders modules used with + the pixbuf loader modules used with gdk-pixbuf that the OpenEmbedded build system installs. By default, these modules appear in the main package From 6e148e742fea7ef4d5423a3c2567ddb34262d980 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Mon, 9 Dec 2013 16:28:19 -0600 Subject: [PATCH 358/658] ref-manual: More edits to PIXBUF_PACKAGES variable. Sorting out who assumes what. (From yocto-docs rev: 31d7f9c92c411c639a5cd05c25e73bbc0fc265f8) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-variables.xml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/documentation/ref-manual/ref-variables.xml b/documentation/ref-manual/ref-variables.xml index 5c1f785da23..78036dcf194 100644 --- a/documentation/ref-manual/ref-variables.xml +++ b/documentation/ref-manual/ref-variables.xml @@ -4720,10 +4720,11 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3" the pixbuf loader modules used with gdk-pixbuf that the OpenEmbedded build system installs. - By default, these modules appear in the main package + By default, the pixbufcache class + assumes that the loader modules appear in the main package (i.e. ${PN}). Use this variable if the modules that have the pixbuf - loaders you need appear in a package other than that main + loader you need appear in a package other than that main package. From 03d27e12dc18cc1a78b8992b4d2c39d9a5f153b7 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Mon, 9 Dec 2013 16:46:12 -0600 Subject: [PATCH 359/658] ref-manual: Edits to IMAGE_PKGTYPE variable. (From yocto-docs rev: 7bcdae64b69067728dc89aebced40d18d7c973fb) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-variables.xml | 34 +++++++++++++--------- 1 file changed, 21 insertions(+), 13 deletions(-) diff --git a/documentation/ref-manual/ref-variables.xml b/documentation/ref-manual/ref-variables.xml index 78036dcf194..b9b0dfc09ad 100644 --- a/documentation/ref-manual/ref-variables.xml +++ b/documentation/ref-manual/ref-variables.xml @@ -2669,20 +2669,15 @@ Defines the package type (DEB, RPM, IPK, or TAR) used by the OpenEmbedded build system. The variable is defined appropriately by the - package_deb - class, the - package_rpm - class, the - package_ipk - class, or the + package_deb, + package_rpm, + package_ipk, + or package_tar - class as follows: - - IMAGE_PKGTYPE ?= "deb" - IMAGE_PKGTYPE ?= "ipk" - IMAGE_PKGTYPE ?= "rpm" - IMAGE_PKGTYPE ?= "tar" - + class. + + + The package_sdk_base and @@ -2690,6 +2685,19 @@ classes use the IMAGE_PKGTYPE for packaging up images and SDKs. + + + You should not set the IMAGE_PKGTYPE + manually. + Rather, the variable is set indirectly through the + appropriate + package_* + class using the + PACKAGE_CLASSES + variable. + The OpenEmbedded build system uses the first package type + (e.g. DEB, RPM, or IPK) that appears with the variable + From 7628cdbc8f2dfe4630f28ac315dfaa73111bff26 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Mon, 9 Dec 2013 16:53:26 -0600 Subject: [PATCH 360/658] ref-manual: Edits to the SDK_DIR and SDK_OUTPUT variables. (From yocto-docs rev: a150ee32fda9222f749f666ebf5f3db30165be2e) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-variables.xml | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/documentation/ref-manual/ref-variables.xml b/documentation/ref-manual/ref-variables.xml index b9b0dfc09ad..5661a869071 100644 --- a/documentation/ref-manual/ref-variables.xml +++ b/documentation/ref-manual/ref-variables.xml @@ -5565,6 +5565,13 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3" SDK_DIR = "${WORKDIR}/sdk" + + The SDK_DIR directory is a + temporary directory as it is part of + WORKDIR. + The final output directory is + SDK_DEPLOY. + @@ -5599,6 +5606,15 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3" SDK_OUTPUT = "${SDK_DIR}/image" + + The SDK_OUTPUT directory is a + temporary directory as it is part of + WORKDIR by way of + SDK_DIR. + The final output directory is + SDK_DEPLOY. + + From ae0766bf0f4d4ec0d65a04d84b403dbcd08bf652 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Mon, 9 Dec 2013 16:57:40 -0600 Subject: [PATCH 361/658] ref-manual: Edits to the EXTRA_QMAKEVARS_* variables. (From yocto-docs rev: cc3d87348414a8b89361b2976f6e23f20f68ee3e) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-variables.xml | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/documentation/ref-manual/ref-variables.xml b/documentation/ref-manual/ref-variables.xml index 5661a869071..5556e56cbab 100644 --- a/documentation/ref-manual/ref-variables.xml +++ b/documentation/ref-manual/ref-variables.xml @@ -1855,6 +1855,13 @@ Use this variable when the arguments need to be after the .pro file list on the command line. + + + This variable is is used with recipes that inherit the + qmake_base + class or other classes that inherit + qmake_base. + @@ -1866,6 +1873,13 @@ Use this variable when the arguments need to be before the .pro file list on the command line. + + + This variable is is used with recipes that inherit the + qmake_base + class or other classes that inherit + qmake_base. + From b6d41355e127abe202daf0482f0f04c75972b6a5 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Mon, 9 Dec 2013 17:01:00 -0600 Subject: [PATCH 362/658] ref-manual: Edits to the QMAKE_PROFILES variable. (From yocto-docs rev: b4a4516029e98d7fd189b884299232516c871839) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-variables.xml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/documentation/ref-manual/ref-variables.xml b/documentation/ref-manual/ref-variables.xml index 5556e56cbab..8f3429ff087 100644 --- a/documentation/ref-manual/ref-variables.xml +++ b/documentation/ref-manual/ref-variables.xml @@ -5062,6 +5062,10 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3" set it in a recipe that inherits the qmake_base class. + If you do not set this variable, all + .pro files in the directory pointed to + by S + will be built by default. From 63f321197d4750bf1b206f1a6d2dfd11dd2bff44 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Mon, 9 Dec 2013 17:02:28 -0600 Subject: [PATCH 363/658] ref-manual: Edits to the EXTRA_OESCONS variable. (From yocto-docs rev: b051e62e552263588f0d832c6ca8df3448f9b0b8) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-variables.xml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/documentation/ref-manual/ref-variables.xml b/documentation/ref-manual/ref-variables.xml index 8f3429ff087..ab7b27298ff 100644 --- a/documentation/ref-manual/ref-variables.xml +++ b/documentation/ref-manual/ref-variables.xml @@ -1842,7 +1842,8 @@ When a recipe inherits the scons class, this variable specifies additional configuration - options you want to pass to the SCon command line. + options you want to pass to the + scons command line. From a51875b08ce563e4b95edfe6322e2249c5662e72 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Tue, 10 Dec 2013 10:16:18 -0600 Subject: [PATCH 364/658] ref-manual: Edits to SYSTEMD_PACKAGES and SYSTEMD_SERVICES. (From yocto-docs rev: 6b7c22c1d931a49e39433f7d0165e9e2ba3cbaf2) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-variables.xml | 25 +++++++++++----------- 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/documentation/ref-manual/ref-variables.xml b/documentation/ref-manual/ref-variables.xml index ab7b27298ff..16fbf962136 100644 --- a/documentation/ref-manual/ref-variables.xml +++ b/documentation/ref-manual/ref-variables.xml @@ -6351,19 +6351,20 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3" For recipes that inherit the systemd - class, this variable specifies the packages into which - systemd unit files have been packaged when the files - need to be installed into packages other than recipe's main - package. - - - - The - systemd - class sets SYSTEMD_PACKAGES as follows: + class, this variable locates the systemd unit files when + they are not found in the main recipe's package. + By default, the + SYSTEMD_PACKAGES variable is set + such that the systemd unit files are assumed to reside in + the recipes main package: SYSTEMD_PACKAGES ?= "${PN}" + If these unit files are not in this recipe's main + package, you need to use + SYSTEMD_PACKAGES to list the package + or packages in which the build system can find the systemd + unit files. @@ -6373,8 +6374,8 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3" For recipes that inherit the systemd - class, this variable specifies the - systemd service name for a package. + class, this variable specifies the systemd service name for + a package. From 08436ae88df9978593df806f77fb633a2b4e9a9c Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Tue, 10 Dec 2013 10:33:12 -0600 Subject: [PATCH 365/658] ref-manual: Edits to PACKAGE_CLASSES variable. I discovered some issues with this description. Should be referencing the Build Directory for where the local.conf file is and not the Source Directory. Also, the link to the package.bbclass section was mis-titled. (From yocto-docs rev: ddfc7454dfb653ad3e90f995716e55977fe44311) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-variables.xml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/documentation/ref-manual/ref-variables.xml b/documentation/ref-manual/ref-variables.xml index 16fbf962136..d4072f1b8db 100644 --- a/documentation/ref-manual/ref-variables.xml +++ b/documentation/ref-manual/ref-variables.xml @@ -4342,7 +4342,7 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3" This variable, which is set in the local.conf configuration file found in the conf folder of the - Source Directory, + Build Directory, specifies the package manager to use when packaging data. You can provide one or more arguments for the variable with the first argument being the package manager used to create images: @@ -4350,9 +4350,9 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3" PACKAGE_CLASSES ?= "package_rpm package_deb package_ipk" For information on build performance effects as a result of the - package manager use, see - Packaging - package*.bbclass - in this manual. + package manager use, see the + "package.bbclass" + section. From a8aa6bd6790098d780f596daefdc432ee68ba3fc Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Tue, 10 Dec 2013 11:27:27 -0600 Subject: [PATCH 366/658] ref-manual: Updated the PACKAGE_CLASSES variable description. This was pathetic and needed updating. (From yocto-docs rev: 6dd88094a07da56efc752dea0b447f65b25d276a) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-variables.xml | 46 ++++++++++++++++++---- 1 file changed, 38 insertions(+), 8 deletions(-) diff --git a/documentation/ref-manual/ref-variables.xml b/documentation/ref-manual/ref-variables.xml index d4072f1b8db..262fd0b39a2 100644 --- a/documentation/ref-manual/ref-variables.xml +++ b/documentation/ref-manual/ref-variables.xml @@ -4340,17 +4340,47 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3" PACKAGE_CLASSES - This variable, which is set in the local.conf configuration - file found in the conf folder of the + + This variable, which is set in the + local.conf configuration file found in + the conf folder of the Build Directory, - specifies the package manager to use when packaging data. - You can provide one or more arguments for the variable with the first - argument being the package manager used to create images: + specifies the package manager the OpenEmbedded build system + uses when packaging data. + + + + You can provide one or more of the following arguments for + the variable: + + PACKAGE_CLASSES ?= "package_rpm package_deb package_ipk package_tar" + + The build system uses only the first argument in the list + as the package manager when creating your image or SDK. + However, packages will be created using any additional + packaging classes you specify. + For example, if you use the following in your + local.conf file: - PACKAGE_CLASSES ?= "package_rpm package_deb package_ipk" + PACKAGE_CLASSES ?= "package_ipk package_tar" - For information on build performance effects as a result of the - package manager use, see the + The OpenEmbedded build system uses the IPK package manager + to create your image or SDK as well as generating + TAR packages. + + + + You cannot specify the + package_tar + class first in the list. + Files using the .tar format cannot + be used as a substitute packaging format + for DEB, RPM, and IPK formatted files for you image or SDK. + + + + For information on packaging and build performance effects + as a result of the package manager in use, see the "package.bbclass" section. From acf18e52dc094933567995d5dc5ac33b41723b55 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Tue, 10 Dec 2013 11:28:05 -0600 Subject: [PATCH 367/658] ref-manual: Edits to the package_tar class. Turns out you can specify this using the PACKAGE_CLASSES variable but you better not list it first. (From yocto-docs rev: 7fdf5f9fcf026503cdedd906cd7b8c814affa81d) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index bd4f8629da6..b6125a5fa11 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -1976,7 +1976,16 @@ This class inherits the package - class and is for a given recipe when the recipe inherits the class. + class and is enabled through the + PACKAGE_CLASSES + variable in the local.conf file. + + You cannot specify the package_tar class + first using the PACKAGE_CLASSES variable. + You must use .deb, + .ipk, or .rpm file + formats for your image or SDK. +
From 3cb58633dc1ad4463bc250527b98813771a0bd48 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Tue, 10 Dec 2013 12:00:25 -0600 Subject: [PATCH 368/658] ref-manual: Edits to the PIXBUF_PACKAGES variable. (From yocto-docs rev: 67be82a0c3952c0bf155abf5ad728bd5b1b95fc9) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-variables.xml | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/documentation/ref-manual/ref-variables.xml b/documentation/ref-manual/ref-variables.xml index 262fd0b39a2..9af4250e279 100644 --- a/documentation/ref-manual/ref-variables.xml +++ b/documentation/ref-manual/ref-variables.xml @@ -4770,15 +4770,14 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3" When a recipe inherits the pixbufcache class, this variable identifies packages that contain - the pixbuf loader modules used with + the pixbuf loaders used with gdk-pixbuf that the OpenEmbedded build system installs. By default, the pixbufcache class - assumes that the loader modules appear in the main package + assumes that the loaders are in the recipe's main package (i.e. ${PN}). - Use this variable if the modules that have the pixbuf - loader you need appear in a package other than that main - package. + Use this variable if the loaders you need are in a package + other than that main package.
From 9b8a8e463a66509466c1412e6e8b5a9e093dac91 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Tue, 10 Dec 2013 12:01:12 -0600 Subject: [PATCH 369/658] ref-manual: Edits to pixbufcache and pythonnative classes. (From yocto-docs rev: 6d2f07b23ea39e1068be97c45d334168424bccf1) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index b6125a5fa11..c5688b3e6ec 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -2090,10 +2090,10 @@
- If the pixbuf loaders modules being installed are in packages other - than the main package, set + If the pixbuf loaders being installed are in packages other + than the recipe's main package, set PIXBUF_PACKAGES - to specify the packages containing the modules. + to specify the packages containing the loaders. @@ -2277,9 +2277,6 @@ When inherited by a recipe, the pythonnative class supports using the native version of Python built by the build system rather than using the version provided by the build host. - - This class must be inherited by a recipe in order to be used. -
From 374e582d63703cca4290451c3d59fb89bea1e10f Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Tue, 10 Dec 2013 12:27:07 -0600 Subject: [PATCH 370/658] ref-manual: Edits to the rootfs* class. I removed the rootfs_deb, rootfs_ipk, and rootfs_rpm classes altoghther and opted to briefly describe their purposes in the rootfs* class section. I also am not linking to the IMAGE_FSTYPES variable but am rather linking over to the PACKAGE_CLASSES variable. (From yocto-docs rev: 64038a23403fd274ce4488c239bfa0b9a2e56b16) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 66 +++++------------------- 1 file changed, 14 insertions(+), 52 deletions(-) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index c5688b3e6ec..e53eaf9db6a 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -2415,26 +2415,27 @@ The rootfs* classes add support for creating - the root filesystem in either .ext3 or - tar.bz2 formats and consist of the following - classes: + the root filesystem and consist of the following classes: - The - rootfs_deb - class. - The - rootfs_rpm - class. - The - rootfs_ipk - class. + + The rootfs_deb class, which supports + creation of root filesystems for images built using + .deb packages. + + The rootfs_rpm class, which supports + creation of root filesystems for images built using + .rpm packages. + + The rootfs_ipk class, which supports + creation of root filesystems for images built using + .ipk packages. The root filesystem is created from packages using one of the rootfs_*.bbclass files as determined by the - IMAGE_FSTYPES + PACKAGE_CLASSES variable. @@ -2445,45 +2446,6 @@ -
- <filename>rootfs_deb.bbclass</filename> - - - The rootfs_deb class supports creation of - root filesystems for images built using .deb - packages. - See the - "rootfs*.bbclass" - section for more information. - -
- -
- <filename>rootfs_ipk.bbclass</filename> - - - The rootfs_ipk class supports creation of - root filesystems for images built using .ipk - packages. - See the - "rootfs*.bbclass" - section for more information. - -
- -
- <filename>rootfs_rpm.bbclass</filename> - - - The rootfs_rpm class supports creation of - root filesystems for images built using .rpm - packages. - See the - "rootfs*.bbclass" - section for more information. - -
-
<filename>sanity.bbclass</filename> From 82abb2325d5f29497c17a9e77743e54e8cae9c26 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Tue, 10 Dec 2013 12:30:55 -0600 Subject: [PATCH 371/658] ref-manual: Edits to the setuptools class. Some minor re-wordings here. (From yocto-docs rev: 73129359d2f1425f68f5801525b42f3efda206d0) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index e53eaf9db6a..315ec651dd7 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -2486,8 +2486,8 @@ <filename>setuptools.bbclass</filename> - The setuptools class supports extensions that use - setuptools-based build systems making use of Python. + The setuptools class supports Python extensions + that use setuptools-based build systems making use of Python. If your recipe uses these build systems, the recipe needs to inherit the setuptools class. From bca79ff0b21afb46220555a4409d82a9275eda56 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Tue, 10 Dec 2013 12:34:33 -0600 Subject: [PATCH 372/658] ref-manual: Edits to the systemd class. Removed the formatting of the second instance of the term "systemd". (From yocto-docs rev: 0975dd2649f028ac6553ad41c9f32fa412197aea) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index 315ec651dd7..45fd698cd9f 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -2650,7 +2650,7 @@ The systemd class provides support for recipes - that install systemd unit files. + that install systemd unit files. From cfff1d696d1b762d6630006b4d29ff75e7d51c55 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Tue, 10 Dec 2013 12:55:35 -0600 Subject: [PATCH 373/658] ref-manual: Edits to the terminal class. (From yocto-docs rev: 33052ca2c5feaf353f2348c3c8d0ac6b4cd770db) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index 45fd698cd9f..bbaaf50ef32 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -2710,15 +2710,15 @@ Other classes use the terminal class anywhere a separate terminal session needs to be started. - The class is used by including the + For example, the patch - class if + class assuming PATCHRESOLVE - is set to "user", include the + is set to "user", the cml1 - class, and include the + class, and the devshell - class. + class all use the terminal class.
From 948f2fac0735b0c78a53eb74f557126e770d152a Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Tue, 10 Dec 2013 12:56:04 -0600 Subject: [PATCH 374/658] ref-manual: Edits to FONT_PACKAGES variable. (From yocto-docs rev: 4f0cd82ee07f88a572560bdbc8edfe5450329f43) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-variables.xml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/documentation/ref-manual/ref-variables.xml b/documentation/ref-manual/ref-variables.xml index 9af4250e279..cf08dbe0a7d 100644 --- a/documentation/ref-manual/ref-variables.xml +++ b/documentation/ref-manual/ref-variables.xml @@ -2166,12 +2166,12 @@ When a recipe inherits the fontcache - class, this variable identifies packages that contain fonts - the OpenEmbedded build system installs. + class, this variable identifies packages containing font + files that need to be cached by Fontconfig. By default, the fontcache class assumes - that fonts appear in the main package + that fonts are in the recipe's main package (i.e. ${PN}). - Use this variable if fonts you need appear in a package + Use this variable if fonts you need are in a package other than that main package. From 16e24ab95c2e613e7abf304d58092aef5e3eb020 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Tue, 10 Dec 2013 12:59:20 -0600 Subject: [PATCH 375/658] ref-manual: Edits to GTKIMMODULES_PACKAGES variable. (From yocto-docs rev: 16e8905a65ac3a5fa4654492603d5db4eb02f173) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-variables.xml | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/documentation/ref-manual/ref-variables.xml b/documentation/ref-manual/ref-variables.xml index cf08dbe0a7d..d9f1136468d 100644 --- a/documentation/ref-manual/ref-variables.xml +++ b/documentation/ref-manual/ref-variables.xml @@ -2293,15 +2293,11 @@ GTKIMMODULES_PACKAGES - Includes the packages that contain the GTK+ input - method modules being installed when the modules are in - packages other than the main package. - - - - See the + For recipes that inherit the gtk-immodules-cache - class for more information on how this variable is used. + class, this variable includes the packages that contain the + GTK+ input method modules being installed when the modules + are in packages other than the main package. From f8c0f01c75b6088217e44598a14266a24509e8a0 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Tue, 10 Dec 2013 13:06:08 -0600 Subject: [PATCH 376/658] ref-manual: Edits to the icecc class. The text used "packages" rather than "recipes." This is a tragic result of historical naming mistakes early in the project. (From yocto-docs rev: 844224d76e0daf40709fe85659c75afcdeb26280) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index bbaaf50ef32..6bbc3f17bc1 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -957,8 +957,8 @@ If you do not want the Icecream distributed compile support to apply - to specific packages or classes, you can effectively "blacklist" them - by listing the packages and classes using the + to specific recipes or classes, you can effectively "blacklist" them + by listing the recipes and classes using the ICECC_USER_PACKAGE_BL and ICECC_USER_CLASS_BL, @@ -968,10 +968,10 @@ - Additionally, you can list packages using the + Additionally, you can list recipes using the ICECC_USER_PACKAGE_WL variable in your local.conf file to force - icecc to be enabled for packages using an empty + icecc to be enabled for recipes using an empty PARALLEL_MAKE variable. From c666e21b7a420dc7fd961e0aa37129908380e3cf Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Tue, 10 Dec 2013 13:29:08 -0600 Subject: [PATCH 377/658] ref-manual: Edits to PIXBUF_PACKAGES variable. (From yocto-docs rev: 538c84715b1487133a8d8a2522f8e8112696dffc) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-variables.xml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/documentation/ref-manual/ref-variables.xml b/documentation/ref-manual/ref-variables.xml index d9f1136468d..11448237798 100644 --- a/documentation/ref-manual/ref-variables.xml +++ b/documentation/ref-manual/ref-variables.xml @@ -4767,8 +4767,7 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3" pixbufcache class, this variable identifies packages that contain the pixbuf loaders used with - gdk-pixbuf that the OpenEmbedded build - system installs. + gdk-pixbuf. By default, the pixbufcache class assumes that the loaders are in the recipe's main package (i.e. ${PN}). From 886b7e79c4a9485f20d34c5f098679991fd0a080 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Tue, 10 Dec 2013 13:41:52 -0600 Subject: [PATCH 378/658] ref-manual: Edits to the IMAGE_PKGTYPE variable. Added a note at the bottom clearly stating TAR files are never used as a substitute for RPM, DEB, or IPK files when generating your image or SDK. (From yocto-docs rev: 5bc911ce2d13a19744aa800133a5ca4c8fba98b2) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-variables.xml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/documentation/ref-manual/ref-variables.xml b/documentation/ref-manual/ref-variables.xml index 11448237798..110368c484b 100644 --- a/documentation/ref-manual/ref-variables.xml +++ b/documentation/ref-manual/ref-variables.xml @@ -2708,6 +2708,11 @@ variable. The OpenEmbedded build system uses the first package type (e.g. DEB, RPM, or IPK) that appears with the variable + + Files using the .tar format are + never used as a substitute packaging format for DEB, + RPM, and IPK formatted files for your image or SDK. + From b49a8ed1c982ef8115ce98522263c197b575c420 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Tue, 10 Dec 2013 13:43:33 -0600 Subject: [PATCH 379/658] ref-manual: Fixed typo in PACKAGE_CLASSES variable. (From yocto-docs rev: 106471227a8d9ad073207f601a78b059d7f10361) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-variables.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/ref-manual/ref-variables.xml b/documentation/ref-manual/ref-variables.xml index 110368c484b..f32fafbf598 100644 --- a/documentation/ref-manual/ref-variables.xml +++ b/documentation/ref-manual/ref-variables.xml @@ -4376,7 +4376,7 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3" class first in the list. Files using the .tar format cannot be used as a substitute packaging format - for DEB, RPM, and IPK formatted files for you image or SDK. + for DEB, RPM, and IPK formatted files for your image or SDK. From 87f3c552369dea9552d4cb54702b69331356464b Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Tue, 10 Dec 2013 13:51:48 -0600 Subject: [PATCH 380/658] ref-manual: Edits to QMAKE_PROFILES variable. (From yocto-docs rev: 781f18ca3948ead3f3153f593f63e06f4a7501af) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-variables.xml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/documentation/ref-manual/ref-variables.xml b/documentation/ref-manual/ref-variables.xml index f32fafbf598..fe220c7c4e4 100644 --- a/documentation/ref-manual/ref-variables.xml +++ b/documentation/ref-manual/ref-variables.xml @@ -5085,18 +5085,18 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3" Specifies your own subset of .pro files to be built for use with qmake. - - - - To use the QMAKE_PROFILES variable, - set it in a recipe that inherits the - qmake_base - class. If you do not set this variable, all .pro files in the directory pointed to by S will be built by default. + + + This variable is used with recipes that inherit the + qmake_base + class or other classes that inherit + qmake_base. + From a14a29635d1b361e67cacc5fd5c43af2cea2a7da Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Tue, 10 Dec 2013 13:52:50 -0600 Subject: [PATCH 381/658] ref-manual: Fixed double word in EXTRA_QMAKEVARS_POST variable. (From yocto-docs rev: 575c611a8c78e6f9c9eeba143c12425b8f648396) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-variables.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/ref-manual/ref-variables.xml b/documentation/ref-manual/ref-variables.xml index fe220c7c4e4..b3d2448183b 100644 --- a/documentation/ref-manual/ref-variables.xml +++ b/documentation/ref-manual/ref-variables.xml @@ -1858,7 +1858,7 @@ - This variable is is used with recipes that inherit the + This variable is used with recipes that inherit the qmake_base class or other classes that inherit qmake_base. From ab3d7e13c105c6f3b1a06b0ea745d259a2221fc5 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Tue, 10 Dec 2013 13:53:55 -0600 Subject: [PATCH 382/658] ref-manual: Fixed double word error in EXTRA_QMAKEVARS_PRE variable. (From yocto-docs rev: 855de90887750bc5811dfb1da51edb342f831c67) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-variables.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/ref-manual/ref-variables.xml b/documentation/ref-manual/ref-variables.xml index b3d2448183b..923412ca317 100644 --- a/documentation/ref-manual/ref-variables.xml +++ b/documentation/ref-manual/ref-variables.xml @@ -1876,7 +1876,7 @@ - This variable is is used with recipes that inherit the + This variable is used with recipes that inherit the qmake_base class or other classes that inherit qmake_base. From 60dfe7203ca68e23434da678dc386acf9df2459f Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Tue, 10 Dec 2013 14:15:12 -0600 Subject: [PATCH 383/658] ref-manual: Fixed some broken cross-references. Three broken cross-references to the "qmake_base" class existed in the variables chapter. The actual class "qmake_base" is listed as part of the "qmake*" class so there is no tag taking a user to the exact "qmake_base" class. Changed the tag to "ref-classes-qmake*". (From yocto-docs rev: 96c92e7a26afefbce16a723a071fa203d70ce547) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-variables.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/documentation/ref-manual/ref-variables.xml b/documentation/ref-manual/ref-variables.xml index 923412ca317..c99f7362c3a 100644 --- a/documentation/ref-manual/ref-variables.xml +++ b/documentation/ref-manual/ref-variables.xml @@ -1859,7 +1859,7 @@ This variable is used with recipes that inherit the - qmake_base + qmake_base class or other classes that inherit qmake_base. @@ -1877,7 +1877,7 @@ This variable is used with recipes that inherit the - qmake_base + qmake_base class or other classes that inherit qmake_base. @@ -5093,7 +5093,7 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3" This variable is used with recipes that inherit the - qmake_base + qmake_base class or other classes that inherit qmake_base. From 9f8def21d6a2397ee8e420b236ef99663c691181 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Tue, 10 Dec 2013 16:11:06 -0600 Subject: [PATCH 384/658] ref-manual: Added more info to gnomebase class. Ross Burton provided an expanded explanation. (From yocto-docs rev: 3d867803d03c22499c0be3a27a2ffac3b0a5854a) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index 6bbc3f17bc1..0626e6cc757 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -772,6 +772,11 @@ The gnomebase class is the base class for recipes that build software from the GNOME stack. + This class sets + SRC_URI to + download the source from the GNOME mirrors as well as extends + FILES + with the typical GNOME installation path. From 8c930e521723bb00c5ab852048307680773c87a8 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Tue, 10 Dec 2013 16:30:10 -0600 Subject: [PATCH 385/658] ref-manual: Added more info to distrodata class. Saul Wold provided me with more detail on this class, which I added. (From yocto-docs rev: 73c79f0460511039d5497bfd303cdc88f96e2fcc) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index 0626e6cc757..ce76140eddd 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -579,6 +579,26 @@ The distrodata class provides for automatic checking for upstream recipe updates. + The class creates a comma-separated value (CSV) spreadsheet that + contains information about the recipes. + The information provides the distrodata and + distro_check tasks, which do upstream checking + and also verify if a package is used in multiple major distributions. + + + + The class is not included by default. + To use it, you must include the following files and set the + INHERIT + variable: + + include conf/distro/include/distro_alias.inc + include conf/distro/include/recipe_color.inc + include conf/distro/include/maintainers.inc + include conf/distro/include/upstream_tracking.inc + include conf/distro/include/package_regex.inc + INHERIT+= "distrodata" + From 446df6fef308d962234e4f1d39100a953ec312f4 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Tue, 10 Dec 2013 16:50:06 -0600 Subject: [PATCH 386/658] ref-manual: Added new SDK_DEPLOY variable description. (From yocto-docs rev: a49e265083467e79e12f729d7f23c5ffc5a0c22f) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-variables.xml | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/documentation/ref-manual/ref-variables.xml b/documentation/ref-manual/ref-variables.xml index c99f7362c3a..ebdc554219a 100644 --- a/documentation/ref-manual/ref-variables.xml +++ b/documentation/ref-manual/ref-variables.xml @@ -5602,6 +5602,21 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3" + SDK_DEPLOY + + + The temporary work directory set up and used by the + populate_sdk_base + in which the SDK is deployed. + The populate_sdk_base class defines + SDK_DEPLOY as follows: + + SDK_DEPLOY = "${TMPDIR}/deploy/sdk" + + + + + SDK_DIR From fb354a3a1c6eb79212db09547068e147b3be4aed Mon Sep 17 00:00:00 2001 From: Chen Qi Date: Wed, 9 Oct 2013 09:57:35 +0000 Subject: [PATCH 387/658] device_table-minimal.txt: change group of /dev/hda back to disk The group for /dev/hda should be disk instead of root. The group ID for /dev/hda was 6, but it was modified to be root by accident in the following commit. commit c5ef0294a9b8d178896a47c9f5d6e3dd6797e343 device_table-minimal.txt: use user/group names instead of uid/gid This patch changes it back. (From OE-Core master rev: 5c5db302400894c2bb1f4052d0f120738589c128) (From OE-Core rev: aaaba8d087bd4186cd2e309b962d62f240f96b98) Signed-off-by: Chen Qi Signed-off-by: Saul Wold Signed-off-by: Richard Purdie Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- meta/files/device_table-minimal.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta/files/device_table-minimal.txt b/meta/files/device_table-minimal.txt index 6ac741a9779..56c74bb71e3 100644 --- a/meta/files/device_table-minimal.txt +++ b/meta/files/device_table-minimal.txt @@ -12,8 +12,8 @@ /dev/initctl p 600 root root - - - - - /dev/apm_bios c 660 root plugdev 10 134 - - - /dev/fb0 c 600 root root 29 0 - - - -/dev/hda b 660 root root 3 0 - - - -/dev/hda b 660 root root 3 1 1 1 19 +/dev/hda b 660 root disk 3 0 - - - +/dev/hda b 660 root disk 3 1 1 1 19 /dev/kmem c 640 root kmem 1 2 - - - /dev/kmsg c 600 root root 1 11 - - - /dev/mem c 640 root kmem 1 1 - - - From 63d6c644a3bf16449d5dd0b0d4c0b6dac40ec4c6 Mon Sep 17 00:00:00 2001 From: Ting Liu Date: Tue, 10 Sep 2013 06:00:20 +0000 Subject: [PATCH 388/658] kmod-native: use bswap to work on older Linux hosts We can't use htobe* and be*toh functions because they are not available on older versions of glibc, For example, shipped on Centos 5.5. Change to directly calling bswap_* as defined in byteswap.h. (From OE-Core master rev: 63edb6b9a8bdf2f5541edd618f2f598185e37223) (From OE-Core rev: 2e791639625746037626e348cfac4ad1109bb9ae) Signed-off-by: Ting Liu Signed-off-by: Saul Wold Signed-off-by: Richard Purdie Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- meta/recipes-kernel/kmod/kmod-native_git.bb | 1 + ...g-bswap_-instead-of-htobe-and-be-toh.patch | 39 +++++++++++++++++++ 2 files changed, 40 insertions(+) create mode 100644 meta/recipes-kernel/kmod/kmod/Change-to-calling-bswap_-instead-of-htobe-and-be-toh.patch diff --git a/meta/recipes-kernel/kmod/kmod-native_git.bb b/meta/recipes-kernel/kmod/kmod-native_git.bb index f22efc0615d..d008cbf7c4a 100644 --- a/meta/recipes-kernel/kmod/kmod-native_git.bb +++ b/meta/recipes-kernel/kmod/kmod-native_git.bb @@ -6,6 +6,7 @@ inherit native SRC_URI += "file://fix-undefined-O_CLOEXEC.patch \ file://0001-Fix-build-with-older-gcc-4.6.patch \ + file://Change-to-calling-bswap_-instead-of-htobe-and-be-toh.patch \ " do_install_append (){ diff --git a/meta/recipes-kernel/kmod/kmod/Change-to-calling-bswap_-instead-of-htobe-and-be-toh.patch b/meta/recipes-kernel/kmod/kmod/Change-to-calling-bswap_-instead-of-htobe-and-be-toh.patch new file mode 100644 index 00000000000..82b83b36b72 --- /dev/null +++ b/meta/recipes-kernel/kmod/kmod/Change-to-calling-bswap_-instead-of-htobe-and-be-toh.patch @@ -0,0 +1,39 @@ +From 0c4dbadc9db3cda1cfca64e44ea08c6e89919ea7 Mon Sep 17 00:00:00 2001 +From: Ting Liu +Date: Tue, 10 Sep 2013 13:44:18 +0800 +Subject: [PATCH] Change to calling bswap_* instead of htobe* and be*toh + +We can't use htobe* and be*toh functions because they are not +available on older versions of glibc, For example, shipped on Centos 5.5. + +Change to directly calling bswap_* as defined in+byteswap.h. + +Signed-off-by: Ting Liu +--- + libkmod/libkmod-signature.c | 3 ++- + 1 files changed, 2 insertions(+), 1 deletions(-) + +diff --git a/libkmod/libkmod-signature.c b/libkmod/libkmod-signature.c +index 6b80caa..3544a36 100644 +--- a/libkmod/libkmod-signature.c ++++ b/libkmod/libkmod-signature.c +@@ -19,6 +19,7 @@ + */ + + #include ++#include + #include + #include + #include +@@ -121,7 +122,7 @@ bool kmod_module_signature_info(const struct kmod_file *file, struct kmod_signat + modsig->hash >= PKEY_HASH__LAST || + modsig->id_type >= PKEY_ID_TYPE__LAST) + return false; +- sig_len = be32toh(modsig->sig_len); ++ sig_len = bswap_32(modsig->sig_len); + if (size < (off_t)(modsig->signer_len + modsig->key_id_len + sig_len)) + return false; + +-- +1.7.5.4 + From 2ec209c0f45f8fb3f455e3316b36d4a59d043143 Mon Sep 17 00:00:00 2001 From: Muhammad Shakeel Date: Mon, 7 Oct 2013 15:05:04 +0000 Subject: [PATCH 389/658] sysvinit-inittab: Fix getting tty device name from SERIAL_CONSOLES entries Currently the part after "tty" in the device name go into label along with everything after that part. For example if SERIAL_CONSOLES="115200;vt100;ttyS0" than label=S0 but if SERIAL_CONSOLES="115200;ttyS0;vt100" than label=S0;vt100. If SERIAL_CONSOLES="..;ttyX;..", part after 'X' should also be trimmed. (From OE-Core master rev: b00b9ae5693e04cacd0843c12a529e7f3dc501ed) (From OE-Core rev: e807747f28798b080bf13a65293ab04c8d83834c) Signed-off-by: Muhammad Shakeel Signed-off-by: Saul Wold Signed-off-by: Richard Purdie Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- meta/recipes-core/sysvinit/sysvinit-inittab_2.88dsf.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/recipes-core/sysvinit/sysvinit-inittab_2.88dsf.bb b/meta/recipes-core/sysvinit/sysvinit-inittab_2.88dsf.bb index 23c284d131c..05ba4104413 100644 --- a/meta/recipes-core/sysvinit/sysvinit-inittab_2.88dsf.bb +++ b/meta/recipes-core/sysvinit/sysvinit-inittab_2.88dsf.bb @@ -22,7 +22,7 @@ do_install() { for i in $tmp do j=`echo ${i} | sed s/\;/\ /g` - label=`echo ${i} | sed -e 's/^.*;tty//'` + label=`echo ${i} | sed -e 's/^.*;tty//' -e 's/;.*//'` echo "$label:12345:respawn:${base_sbindir}/getty ${j}" >> ${D}${sysconfdir}/inittab done From ce15d9a1e501b7dc71130119f932116e74a2e391 Mon Sep 17 00:00:00 2001 From: Ross Burton Date: Tue, 8 Oct 2013 11:23:32 +0000 Subject: [PATCH 390/658] xorg-lib-common: fix malloc0returnsnull usage Xorg libraries that use Xmalloc need to know if malloc(0) returns NULL or not, and as this is a runtime test it can't be checked for. Previously xorg-lib-common declared that malloc(0) did return NULL, but this isn't true for eglibc (only uclibc). Instead, use libc-specific overrides to pass the relevant option. (ideally the check would use the autoconf cache so this can be stored in the site files) (From OE-Core master rev: e628c8aba0189de30de2833882b9999ff3b6547a) (From OE-Core rev: 93e084ae8bcae8e7bde5a7e52a274a39dc9ba509) Signed-off-by: Ross Burton Signed-off-by: Saul Wold Signed-off-by: Richard Purdie Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- meta/recipes-graphics/xorg-lib/xorg-lib-common.inc | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/meta/recipes-graphics/xorg-lib/xorg-lib-common.inc b/meta/recipes-graphics/xorg-lib/xorg-lib-common.inc index c911925505b..98e14162850 100644 --- a/meta/recipes-graphics/xorg-lib/xorg-lib-common.inc +++ b/meta/recipes-graphics/xorg-lib/xorg-lib-common.inc @@ -13,8 +13,9 @@ S = "${WORKDIR}/${XORG_PN}-${PV}" inherit autotools pkgconfig -EXTRA_OECONF = "--enable-malloc0returnsnull \ - --disable-specs --with-groff=no --with-ps2pdf=no --with-fop=no --without-xmlto" +EXTRA_OECONF = "--disable-specs --without-groff --without-ps2pdf --without-fop --without-xmlto" +EXTRA_OECONF_append_libc-glibc = " --disable-malloc0returnsnull" +EXTRA_OECONF_append_libc-uclibc = " --enable-malloc0returnsnull" python () { whitelist = [ "pixman", "libpciaccess" ] From b5c4bad0bfac3908d021b7b02caa5ae9ff96c185 Mon Sep 17 00:00:00 2001 From: Jonathan Liu Date: Wed, 9 Oct 2013 13:21:46 +0000 Subject: [PATCH 391/658] qt4: add upstream QTBUG-31579 patch for QPainter regression (From OE-Core master rev: a5afc67cbfc32beb3be10392bf9788cfc3610ab1) (From OE-Core rev: 18e49ebf8d5cc43eca417cd51cabae175f6b5ea4) Signed-off-by: Jonathan Liu Signed-off-by: Saul Wold Signed-off-by: Richard Purdie Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- meta/recipes-qt/qt4/qt4-4.8.5.inc | 1 + ....y-is-also-initalized-to-1-when-nece.patch | 48 +++++++++++++++++++ 2 files changed, 49 insertions(+) create mode 100644 meta/recipes-qt/qt4/qt4-4.8.5/0024-Ensure-lastPixel.y-is-also-initalized-to-1-when-nece.patch diff --git a/meta/recipes-qt/qt4/qt4-4.8.5.inc b/meta/recipes-qt/qt4/qt4-4.8.5.inc index 95a14f3dddd..99359927cbc 100644 --- a/meta/recipes-qt/qt4/qt4-4.8.5.inc +++ b/meta/recipes-qt/qt4/qt4-4.8.5.inc @@ -23,6 +23,7 @@ SRC_URI = "http://download.qt-project.org/official_releases/qt/4.8/${PV}/qt-ever file://0020-webkit-disable-the-fuse-ld-gold-flag.patch \ file://0022-Fix-drawing-of-0-width-polylines-from-outside-the-de.patch \ file://0023-QHttpMultiPart-fix-data-corruption-in-readData-metho.patch \ + file://0024-Ensure-lastPixel.y-is-also-initalized-to-1-when-nece.patch \ file://0027-tools.pro-disable-qmeegographicssystemhelper.patch \ file://g++.conf \ file://linux.conf \ diff --git a/meta/recipes-qt/qt4/qt4-4.8.5/0024-Ensure-lastPixel.y-is-also-initalized-to-1-when-nece.patch b/meta/recipes-qt/qt4/qt4-4.8.5/0024-Ensure-lastPixel.y-is-also-initalized-to-1-when-nece.patch new file mode 100644 index 00000000000..7825205310f --- /dev/null +++ b/meta/recipes-qt/qt4/qt4-4.8.5/0024-Ensure-lastPixel.y-is-also-initalized-to-1-when-nece.patch @@ -0,0 +1,48 @@ +From 0726127285413829f58618b5b82fb3e2da0c3a74 Mon Sep 17 00:00:00 2001 +From: Andy Shaw +Date: Tue, 8 Oct 2013 15:45:42 +0200 +Subject: [PATCH] Ensure lastPixel.y is also initalized to -1 when necessary + +Task-number: QTBUG-31579 + +Upstream-Status: Accepted [https://codereview.qt-project.org/#change,67624] +Signed-off-by: Jonathan Liu + +Change-Id: Ia4916ac0d384ea523bbfad0dafbc90044da7ec3e +Reviewed-by: Gunnar Sletta +(cherry picked from qtbase/f0b950144dde85b65df0c3cf83f7c8df0e94bbbf) +--- + src/gui/painting/qcosmeticstroker.cpp | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/src/gui/painting/qcosmeticstroker.cpp b/src/gui/painting/qcosmeticstroker.cpp +index 4413170..36616d4 100644 +--- a/src/gui/painting/qcosmeticstroker.cpp ++++ b/src/gui/painting/qcosmeticstroker.cpp +@@ -305,6 +305,7 @@ void QCosmeticStroker::setup() + ymax = deviceRect.bottom() + 2; + + lastPixel.x = -1; ++ lastPixel.y = -1; + } + + // returns true if the whole line gets clipped away +@@ -533,6 +534,7 @@ void QCosmeticStroker::drawPath(const QVectorPath &path) + QPointF p = QPointF(points[0], points[1]) * state->matrix; + patternOffset = state->lastPen.dashOffset()*64; + lastPixel.x = -1; ++ lastPixel.y = -1; + + bool closed; + const QPainterPath::ElementType *e = subPath(type, end, points, &closed); +@@ -587,6 +589,7 @@ void QCosmeticStroker::drawPath(const QVectorPath &path) + QPointF movedTo = p; + patternOffset = state->lastPen.dashOffset()*64; + lastPixel.x = -1; ++ lastPixel.y = -1; + + const qreal *begin = points; + const qreal *end = points + 2*path.elementCount(); +-- +1.8.4 + From 042fec8fc3f7be031ff4ad46abf1e6251ebcc8cb Mon Sep 17 00:00:00 2001 From: Ross Burton Date: Tue, 8 Oct 2013 14:13:22 +0000 Subject: [PATCH 392/658] pango: fix x11 DISTRO_FEATURE check --without-x was removed in 1.32.0, so the correct option is now --without-xft. Also remove --disable-glibtest, as configure.ac doesn't invoke that test. (From OE-Core master rev: e806f4ff404515f38318b6fed7d2b614c2138da6) (From OE-Core rev: 147eac9794bd815f7f10002beacbe47302352ca4) Signed-off-by: Ross Burton Signed-off-by: Saul Wold Signed-off-by: Richard Purdie Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- meta/recipes-graphics/pango/pango.inc | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/meta/recipes-graphics/pango/pango.inc b/meta/recipes-graphics/pango/pango.inc index ea360c7cd6f..17006d386cd 100644 --- a/meta/recipes-graphics/pango/pango.inc +++ b/meta/recipes-graphics/pango/pango.inc @@ -13,7 +13,7 @@ X11DEPENDS = "virtual/libx11 libxft" DEPENDS = "glib-2.0 fontconfig freetype zlib virtual/libiconv cairo harfbuzz" PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES', 'x11', 'x11', '', d)}" -PACKAGECONFIG[x11] = "--with-x,--without-x,${X11DEPENDS}" +PACKAGECONFIG[x11] = "--with-xft,--without-xft,${X11DEPENDS}" BBCLASSEXTEND = "native" DEPENDS_class-native = "glib-2.0-native cairo-native harfbuzz-native" @@ -34,8 +34,7 @@ EXTRA_AUTORECONF = "" # seems to go wrong with default cflags FULL_OPTIMIZATION_arm = "-O2" -EXTRA_OECONF = "--disable-glibtest \ - --disable-introspection \ +EXTRA_OECONF = "--disable-introspection \ --enable-explicit-deps=no \ --disable-debug \ --with-mlprefix=${MLPREFIX}" From aeae568600864a733b633dceb224f18f2c853d00 Mon Sep 17 00:00:00 2001 From: Tom Zanussi Date: Wed, 16 Oct 2013 00:14:29 -0500 Subject: [PATCH 393/658] wic: check for build artifacts wic needs to be given one form of build artifacts or another - complain if the user doesn't do that. (From OE-Core master rev: 9116a17efd42447f276000927d0c2ea63776865b) (From OE-Core rev: f9b9b920dc071b0798cbdaa150314a0126d2afad) Signed-off-by: Tom Zanussi Signed-off-by: Richard Purdie Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- scripts/wic | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/scripts/wic b/scripts/wic index 06e72bbfda0..aa2791ac6e3 100755 --- a/scripts/wic +++ b/scripts/wic @@ -75,6 +75,14 @@ def wic_create_subcommand(args, usage_str): parser.print_help() sys.exit(1) + if not options.image_name and not (options.rootfs_dir and + options.bootimg_dir and + options.kernel_dir and + options.native_sysroot): + print "Build artifacts not completely specified, exiting." + print " (Use 'wic -e' or 'wic -r -b -k -n' to specify artifacts)" + sys.exit(1) + if not options.image_name: options.build_check = False From dad9e78f09671062b48d226d6db3aa30f759fc27 Mon Sep 17 00:00:00 2001 From: Tom Zanussi Date: Wed, 16 Oct 2013 00:14:30 -0500 Subject: [PATCH 394/658] wic: check passed-in build artifact directories Make sure they exist - complain if they don't. (From OE-Core master rev: 24a585e3fd0ea0166991a6aa834bba15bcd8295d) (From OE-Core rev: 4565512015d257e492d7fbb9e28c6086111d892d) Signed-off-by: Tom Zanussi Signed-off-by: Richard Purdie Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- scripts/wic | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/scripts/wic b/scripts/wic index aa2791ac6e3..425b6658619 100755 --- a/scripts/wic +++ b/scripts/wic @@ -119,6 +119,18 @@ def wic_create_subcommand(args, usage_str): bootimg_dir = options.bootimg_dir kernel_dir = options.kernel_dir native_sysroot = options.native_sysroot + if not os.path.isdir(rootfs_dir): + print "--roofs-dir (-r) not found, exiting\n" + sys.exit(1) + if not os.path.isdir(bootimg_dir): + print "--bootimg-dir (-b) not found, exiting\n" + sys.exit(1) + if not os.path.isdir(kernel_dir): + print "--kernel-dir (-k) not found, exiting\n" + sys.exit(1) + if not os.path.isdir(native_sysroot): + print "--native-sysroot (-n) not found, exiting\n" + sys.exit(1) wic_create(args, wks_file, rootfs_dir, bootimg_dir, kernel_dir, native_sysroot, hdddir, staging_data_dir, scripts_path, From a253acca45e6f797af38aaa9fbc52f9c213469c1 Mon Sep 17 00:00:00 2001 From: Saul Wold Date: Tue, 15 Oct 2013 19:51:30 -0700 Subject: [PATCH 395/658] busybox: Add depmod (adds 2240 bytes) This will allow packages that update kernel modules to run correctly (From OE-Core master rev: 72c23255cc88b5e2cd6f783231e6f42bf5190df7) (From OE-Core rev: bce32a41c7e700f49aaa0aacbeb6c83d91a8b255) Signed-off-by: Saul Wold Signed-off-by: Richard Purdie Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- meta/recipes-core/busybox/busybox-1.21.1/defconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/recipes-core/busybox/busybox-1.21.1/defconfig b/meta/recipes-core/busybox/busybox-1.21.1/defconfig index 4526121a44e..f0e63c2a1ff 100644 --- a/meta/recipes-core/busybox/busybox-1.21.1/defconfig +++ b/meta/recipes-core/busybox/busybox-1.21.1/defconfig @@ -504,7 +504,7 @@ CONFIG_LSMOD=y # CONFIG_FEATURE_LSMOD_PRETTY_2_6_OUTPUT is not set CONFIG_MODPROBE=y # CONFIG_FEATURE_MODPROBE_BLACKLIST is not set -# CONFIG_DEPMOD is not set +CONFIG_DEPMOD=y # # Options common to multiple modutils From 30df3a1e7b08108692166f88b3de2d99fecf9a7d Mon Sep 17 00:00:00 2001 From: Darren Hart Date: Tue, 15 Oct 2013 14:46:23 -0700 Subject: [PATCH 396/658] wic: Force lba off for FAT16 partitions If fat16 is specified to the mkpart parted command, parted will default to setting the lba flag which causes certain EFI firmware to fail to detect the filesystem. lba shouldn't be necessary for FAT16 filesystems anyway, explicitly disable it. (From OE-Core master rev: 30442d432e203e655b7d40b93f7307f475de1614) (From OE-Core rev: e437cd5ccaa44798107a6aa5177b1b867c94dfc3) Signed-off-by: Darren Hart Cc: Tom Zanussi Signed-off-by: Richard Purdie Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- scripts/lib/mic/utils/partitionedfs.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/scripts/lib/mic/utils/partitionedfs.py b/scripts/lib/mic/utils/partitionedfs.py index e8cded26e06..59263ba1a58 100644 --- a/scripts/lib/mic/utils/partitionedfs.py +++ b/scripts/lib/mic/utils/partitionedfs.py @@ -352,6 +352,16 @@ def __format_disks(self): self.__run_parted(["-s", d['disk'].device, "set", "%d" % p['num'], flag_name, "on"]) + # Parted defaults to enabling the lba flag for fat16 partitions, + # which causes compatibility issues with some firmware (and really + # isn't necessary). + if parted_fs_type == "fat16": + if d['ptable_format'] == 'msdos': + msger.debug("Disable 'lba' flag for partition '%s' on disk '%s'" % \ + (p['num'], d['disk'].device)) + self.__run_parted(["-s", d['disk'].device, "set", + "%d" % p['num'], "lba", "off"]) + # If the partition table format is "gpt", find out PARTUUIDs for all # the partitions. And if users specified custom parition type UUIDs, # set them. From e395ace67198551630f4aeb7c7e52253687fb407 Mon Sep 17 00:00:00 2001 From: Darren Hart Date: Tue, 15 Oct 2013 14:46:24 -0700 Subject: [PATCH 397/658] wic: Check for external modules Since eight unique files import rpm, perform a check at the top level for the existence of the rpm module print a sensible error message if it is not. This may be able to be removed if some of the core rpm dependencies are removed from the mic libs. Also check for urlgrabber. This avoids a bracktrace in the event the modules are not installed which can be very off-putting to would-be users. (From OE-Core master rev: b11bfadba20c1f39a63e396e605a8316c2ed2a94) (From OE-Core rev: 93b1d54bf377703cd0c7debce21b07b4fbf4e5a5) Signed-off-by: Darren Hart Cc: Tom Zanussi Signed-off-by: Richard Purdie Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- scripts/wic | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/scripts/wic b/scripts/wic index 425b6658619..a7221c36107 100755 --- a/scripts/wic +++ b/scripts/wic @@ -31,11 +31,23 @@ __version__ = "0.1.0" +# Python Standard Library modules import os import sys import optparse import logging +# External modules +try: + import rpm + import urlgrabber +except ImportError: + print("ERROR: failed to import necessary modules.") + print("Please ensure the following modules are installed:") + print("\trpm"); + print("\turlgrabber"); + sys.exit(1) + scripts_path = os.path.abspath(os.path.dirname(os.path.abspath(sys.argv[0]))) lib_path = scripts_path + '/lib' sys.path = sys.path + [lib_path] From 0866fc91def60d5a630af02868bd9c54059dca04 Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Tue, 15 Oct 2013 14:39:55 +0100 Subject: [PATCH 398/658] nativesdk: Fix pn check There are missing brackets in the check meaning MLPREFIX doesn't get set for nativesdk-qemu-helper when it should be. (From OE-Core master rev: 5011f4bc8a418d0616d2936b60ecb7ca156632a3) (From OE-Core rev: 48b4bb2f98a1b7b97688071af4c2d3ee390b6ab3) Signed-off-by: Richard Purdie Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- meta/classes/nativesdk.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/classes/nativesdk.bbclass b/meta/classes/nativesdk.bbclass index ed276ef0a49..94bc3266718 100644 --- a/meta/classes/nativesdk.bbclass +++ b/meta/classes/nativesdk.bbclass @@ -59,7 +59,7 @@ export PKG_CONFIG_SYSROOT_DIR = "${STAGING_DIR_HOST}" python nativesdk_virtclass_handler () { pn = e.data.getVar("PN", True) - if not pn.endswith("-nativesdk") or pn.startswith("nativesdk-"): + if not (pn.endswith("-nativesdk") or pn.startswith("nativesdk-")): return e.data.setVar("MLPREFIX", "nativesdk-") From e07b3448708e201bef485b008cefcdcd5dda17dc Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Tue, 15 Oct 2013 14:40:35 +0100 Subject: [PATCH 399/658] cross-canadian: Fix SHLIBSDIR when using multilib Both nativesdk and multilib use MLPREFIX for their partciular purposes. When we have both set, cross-canadian can confuse SHLIBSDIR. This forces the variable to the correct value for cross-canadian, fixing toolchains in multilib builds. [YOCTO #5333] (From OE-Core master rev: 0633b93086a7de7226f4dc6ca403ee116bc58669) (From OE-Core rev: 003ddbccb260cdbfc6c1ff9e576a0584b0f25378) Signed-off-by: Richard Purdie Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- meta/classes/cross-canadian.bbclass | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/meta/classes/cross-canadian.bbclass b/meta/classes/cross-canadian.bbclass index 4387d05f78c..7181c60d5fc 100644 --- a/meta/classes/cross-canadian.bbclass +++ b/meta/classes/cross-canadian.bbclass @@ -95,3 +95,8 @@ USE_NLS = "${SDKUSE_NLS}" # We have to us TARGET_ARCH but we care about the absolute value # and not any particular tune that is enabled. TARGET_ARCH[vardepsexclude] = "TUNE_ARCH" + +# If MLPREFIX is set by multilib code, shlibs +# points to the wrong place so force it +SHLIBSDIRS = "${PKGDATA_DIR}/nativesdk-shlibs" +SHLIBSWORKDIR = "${PKGDATA_DIR}/nativesdk-shlibs" From 52e0863e51b9a0306e0e5be7e604a0e7e9ab1b42 Mon Sep 17 00:00:00 2001 From: Saul Wold Date: Wed, 9 Oct 2013 15:35:46 -0700 Subject: [PATCH 400/658] kmod: Add patch to fix seperate build dir of ptest (From OE-Core master rev: 68322eadd1d9456e606b375c2f4181725784c292) (From OE-Core rev: ed94da7c1fbb39eb7f28d50d61d2d254892a5df8) Signed-off-by: Saul Wold Signed-off-by: Richard Purdie Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- meta/recipes-kernel/kmod/kmod.inc | 1 + .../kmod/kmod/fix-seperatebuilddir.patch | 34 +++++++++++++++++++ 2 files changed, 35 insertions(+) create mode 100644 meta/recipes-kernel/kmod/kmod/fix-seperatebuilddir.patch diff --git a/meta/recipes-kernel/kmod/kmod.inc b/meta/recipes-kernel/kmod/kmod.inc index 633258b05e3..880a53aa075 100644 --- a/meta/recipes-kernel/kmod/kmod.inc +++ b/meta/recipes-kernel/kmod/kmod.inc @@ -20,6 +20,7 @@ SRC_URI = "git://git.kernel.org/pub/scm/utils/kernel/kmod/kmod.git \ file://run-ptest \ file://ptest.patch \ file://remove_parallel_tests.patch \ + file://fix-seperatebuilddir.patch \ " SRCREV = "3b38c7fcb58be4ddc34f90454c5f5dc3693d2d85" diff --git a/meta/recipes-kernel/kmod/kmod/fix-seperatebuilddir.patch b/meta/recipes-kernel/kmod/kmod/fix-seperatebuilddir.patch new file mode 100644 index 00000000000..b090eb56a5b --- /dev/null +++ b/meta/recipes-kernel/kmod/kmod/fix-seperatebuilddir.patch @@ -0,0 +1,34 @@ + +If we are not building in the existing source tree, the testsuite +directory will not exist so the cp of the stamp-rootfs would fail. + +Also added buildtest-TESTS so they could be build in the cross env, +without running the tests. + +Upstream-Status: Accepted + +Signed-off-by: Saul Wold + +Index: git/Makefile.am +=================================================================== +--- git.orig/Makefile.am ++++ git/Makefile.am +@@ -131,7 +131,7 @@ endif + + ROOTFS = testsuite/rootfs + ROOTFS_PRISTINE = $(top_srcdir)/testsuite/rootfs-pristine +-CREATE_ROOTFS = $(AM_V_GEN) ( $(RM) -rf $(ROOTFS) && \ ++CREATE_ROOTFS = $(AM_V_GEN) ( $(RM) -rf $(ROOTFS) && mkdir -p $(dir $(ROOTFS)) && \ + cp -r $(ROOTFS_PRISTINE) $(ROOTFS) && \ + touch testsuite/stamp-rootfs && \ + find $(ROOTFS) -type d -exec chmod +w {} \; ) +@@ -217,6 +217,9 @@ DISTCHECK_CONFIGURE_FLAGS=--enable-gtk-d + + distclean-local: $(DISTCLEAN_LOCAL_HOOKS) + ++buildtest-TESTS: ++ $(MAKE) $(AM_MAKEFLAGS) $(check_LTLIBRARIES) $(check_PROGRAMS) ++ + install-ptest: + @$(MKDIR_P) $(DESTDIR)/testsuite + @for file in $(TESTSUITE); do \ From 7612323dba9f16db95906e51c4942940500c6829 Mon Sep 17 00:00:00 2001 From: Ross Burton Date: Mon, 14 Oct 2013 17:28:15 +0100 Subject: [PATCH 401/658] cairo: add explicit dependency on zlib In normal use this is pulled in through libpng, but it's exposed in the headers of cairo-pdf and cairo-ps and a build from sstate can end up without zlib being present. (From OE-Core master rev: 8413bf1ce95802bff032b4592ca1aa4728d62cbf) (From OE-Core rev: 252896140bb107315e58bbd82b9a73528da9b860) Signed-off-by: Ross Burton Signed-off-by: Saul Wold Signed-off-by: Richard Purdie Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- meta/recipes-graphics/cairo/cairo.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/recipes-graphics/cairo/cairo.inc b/meta/recipes-graphics/cairo/cairo.inc index 06d2dee821b..214999772a5 100644 --- a/meta/recipes-graphics/cairo/cairo.inc +++ b/meta/recipes-graphics/cairo/cairo.inc @@ -11,7 +11,7 @@ BUGTRACKER = "http://bugs.freedesktop.org" SECTION = "libs" LICENSE = "MPL-1 & LGPLv2.1" X11DEPENDS = "virtual/libx11 libsm libxrender libxext" -DEPENDS = "libpng fontconfig pixman glib-2.0" +DEPENDS = "libpng fontconfig pixman glib-2.0 zlib" PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES', 'x11', 'x11', '', d)} \ ${@base_contains('DISTRO_FEATURES', 'directfb', 'directfb', '', d)}" PACKAGECONFIG[x11] = "--with-x=yes,--without-x,${X11DEPENDS}" From 404e0cfafd021562aace1cbbe62e7fee8a3c110d Mon Sep 17 00:00:00 2001 From: Jeffrey C Honig Date: Sat, 12 Oct 2013 13:30:29 +0800 Subject: [PATCH 402/658] initscripts: insure checkroot.sh runs before anything writing to the file If bootlogd was configured to write to a log file on the root file system, the checkroot.sh was not able to change the rootfs to read-only because bootlogd was started earlier and had a file descriptor open. Lowering the order of checkroot.sh ensures that the volatile filesystem is set up before anything writes to it. (From OE-Core master rev: 13c9bc143f6861517970dafdc7e7a45740d0933d) (From OE-Core rev: e54864e6db9fddb8ec98e323fe6da88e02ff070a) Signed-off-by: Jeffrey C Honig Signed-off-by: Chen Qi Signed-off-by: Saul Wold Signed-off-by: Richard Purdie Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- meta/recipes-core/initscripts/initscripts_1.0.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/recipes-core/initscripts/initscripts_1.0.bb b/meta/recipes-core/initscripts/initscripts_1.0.bb index 5b5085fc006..c2998c3a025 100644 --- a/meta/recipes-core/initscripts/initscripts_1.0.bb +++ b/meta/recipes-core/initscripts/initscripts_1.0.bb @@ -114,7 +114,7 @@ do_install () { update-rc.d -r ${D} halt start 90 0 . update-rc.d -r ${D} save-rtc.sh start 25 0 6 . update-rc.d -r ${D} banner.sh start 02 S . - update-rc.d -r ${D} checkroot.sh start 10 S . + update-rc.d -r ${D} checkroot.sh start 06 S . update-rc.d -r ${D} mountall.sh start 35 S . update-rc.d -r ${D} hostname.sh start 39 S . update-rc.d -r ${D} mountnfs.sh start 45 S . From dba3eff8e21c9ed905ad294ff9a66593c1192ad9 Mon Sep 17 00:00:00 2001 From: Ting Liu Date: Fri, 11 Oct 2013 16:11:44 +0800 Subject: [PATCH 403/658] perf: flag __SANE_USERSPACE_TYPES__ to include int-ll64.h for powerpc64 PPC64 uses long long for u64 in the kernel, but powerpc's asm/types.h prevents 64-bit userland from seeing this definition, instead defaulting to u64 == long in userspace. Perf want LL64, flag __SANE_USERSPACE_TYPES__ to get int-ll64.h. Fix the below issue: | tests/attr.c:71:4: error: format '%llu' expects argument of type 'long long unsigned int', but argument 6 has type '__u64' [-Werror=format=] | tests/attr.c:80:7: error: format '%llu' expects argument of type 'long long unsigned int', but argument 4 has type '__u64' [-Werror=format=] | attr->type, attr->config, fd) < 0) { | ^ (From OE-Core master rev: e0b56f7ed84da4f71f448548e15d5a75e8eada6e) (From OE-Core rev: 7d55375ddc1a928e77d5687a8e7b36eecb91c594) Signed-off-by: Ting Liu Signed-off-by: Saul Wold Signed-off-by: Richard Purdie Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- meta/recipes-kernel/perf/perf.bb | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/meta/recipes-kernel/perf/perf.bb b/meta/recipes-kernel/perf/perf.bb index 269069f3af2..d27e535605d 100644 --- a/meta/recipes-kernel/perf/perf.bb +++ b/meta/recipes-kernel/perf/perf.bb @@ -89,6 +89,12 @@ EXTRA_OEMAKE += "\ 'infodir=${@oe.path.relative(prefix, infodir)}' \ " +# PPC64 uses long long for u64 in the kernel, but powerpc's asm/types.h +# prevents 64-bit userland from seeing this definition, instead defaulting +# to u64 == long in userspace. Define __SANE_USERSPACE_TYPES__ to get +# int-ll64.h included. +EXTRA_OEMAKE_append_powerpc64 = ' CFLAGS=-D__SANE_USERSPACE_TYPES__' + PARALLEL_MAKE = "" do_compile() { From cb916ff4e55da077fe66392905a88c2cf1dfe9dc Mon Sep 17 00:00:00 2001 From: Jack Mitchell Date: Tue, 15 Oct 2013 10:06:14 +0100 Subject: [PATCH 404/658] crond: remove UID check in init script this init script fails when the default shell is busybox sh. This is because busybox sh doesn't set the UID. No other init scripts in oecore feel the need to check the UID so just remove the check. (From OE-Core master rev: dd6a45536043af34c05a699e468cef4845f7affd) (From OE-Core rev: 11385321982411d3d1c2aa663b2b2d195c74f353) Signed-off-by: Jack Mitchell Signed-off-by: Saul Wold Signed-off-by: Richard Purdie Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- meta/recipes-extended/cronie/cronie/crond.init | 8 -------- 1 file changed, 8 deletions(-) diff --git a/meta/recipes-extended/cronie/cronie/crond.init b/meta/recipes-extended/cronie/cronie/crond.init index 08f34beed95..c8dffef89a3 100755 --- a/meta/recipes-extended/cronie/cronie/crond.init +++ b/meta/recipes-extended/cronie/cronie/crond.init @@ -23,10 +23,6 @@ CONFIG=/etc/sysconfig/crond case "$1" in start) - if [ $UID -ne 0 ] ; then - echo "User has insufficient privilege." - exit 1 - fi echo -n "Starting crond: " start-stop-daemon --start --quiet --exec $CROND -- $CRONDARGS RETVAL=$? @@ -37,10 +33,6 @@ case "$1" in fi ;; stop) - if [ $UID -ne 0 ] ; then - echo "User has insufficient privilege." - exit 1 - fi echo -n "Stopping crond: " start-stop-daemon --stop --quiet --pidfile /var/run/crond.pid RETVAL=$? From 9ee975be7bc886361727dc3cd5a1ccca4c9efb02 Mon Sep 17 00:00:00 2001 From: Tom Zanussi Date: Thu, 17 Oct 2013 23:45:37 -0500 Subject: [PATCH 405/658] wic: Check for the existence/correctness of build artifacts If a user uses the -e option and specifies a machine that hasn't been built or uses the wrong .wks script for the build artifacts pointed to by the current machine, we should point that out for obvious cases. (From OE-Core master rev: a5b9ccadc0603c70c65f74fa386995c585a951db) (From OE-Core rev: 54e0b423852580c62b43c5ead00f431b971bea1a) Signed-off-by: Tom Zanussi Signed-off-by: Richard Purdie Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- scripts/wic | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/scripts/wic b/scripts/wic index a7221c36107..08473d3df4b 100755 --- a/scripts/wic +++ b/scripts/wic @@ -143,6 +143,26 @@ def wic_create_subcommand(args, usage_str): if not os.path.isdir(native_sysroot): print "--native-sysroot (-n) not found, exiting\n" sys.exit(1) + else: + not_found = not_found_dir = "" + if not os.path.isdir(rootfs_dir): + (not_found, not_found_dir) = ("rootfs-dir", rootfs_dir) + elif not os.path.isdir(hdddir) and not os.path.isdir(staging_data_dir): + (not_found, not_found_dir) = ("bootimg-dir", bootimg_dir) + elif not os.path.isdir(kernel_dir): + (not_found, not_found_dir) = ("kernel-dir", kernel_dir) + elif not os.path.isdir(native_sysroot): + (not_found, not_found_dir) = ("native-sysroot", native_sysroot) + if not_found: + if not not_found_dir: + not_found_dir = "Completely missing artifact - wrong image (.wks) used?" + print "Build artifacts not found, exiting." + print " (Please check that the build artifacts for the machine" + print " selected in local.conf actually exist and that they" + print " are the correct artifacts for the image (.wks file)).\n" + print "The artifact that couldn't be found was %s:\n %s" % \ + (not_found, not_found_dir) + sys.exit(1) wic_create(args, wks_file, rootfs_dir, bootimg_dir, kernel_dir, native_sysroot, hdddir, staging_data_dir, scripts_path, From 10cdde99a8ad97d483e39f182b9582d70edadc77 Mon Sep 17 00:00:00 2001 From: Tom Zanussi Date: Thu, 17 Oct 2013 23:45:38 -0500 Subject: [PATCH 406/658] wic: Initialize return values in find_artifacts() If one of these isn't found, it won't be initialized and will throw an UnboundLocalError. (From OE-Core master rev: ce6c3ec0e5f4822e85b8f957e9e31fa9de438c55) (From OE-Core rev: 9bf229c7b66bda4fb52f53d6f7f6b86f10dc8681) Signed-off-by: Tom Zanussi Signed-off-by: Richard Purdie Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- scripts/lib/image/engine.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/scripts/lib/image/engine.py b/scripts/lib/image/engine.py index be29222df12..b3a9c7486ec 100644 --- a/scripts/lib/image/engine.py +++ b/scripts/lib/image/engine.py @@ -82,6 +82,8 @@ def find_artifacts(image_name): print "Couldn't get '%s' output, exiting." % bitbake_env_cmd sys.exit(1) + rootfs_dir = kernel_dir = hdddir = staging_data_dir = native_sysroot = "" + for line in bitbake_env_lines.split('\n'): if (get_line_val(line, "IMAGE_ROOTFS")): rootfs_dir = get_line_val(line, "IMAGE_ROOTFS") From 9e27361d815faf1a9e95d72997dfadd7d63f6c03 Mon Sep 17 00:00:00 2001 From: Tom Zanussi Date: Wed, 16 Oct 2013 15:25:41 -0500 Subject: [PATCH 407/658] wic: add pseudo to the populate-extfs step Without this, files in the generated filesystem pick up the wrong ownership. (From OE-Core master rev: 24a6b1324965080fef6c363edcb37768090eebea) (From OE-Core rev: ecdc5422bd3e3efbf46c3d12d0a95d9f736a6d27) Signed-off-by: Tom Zanussi Signed-off-by: Richard Purdie Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- scripts/lib/mic/kickstart/custom_commands/partition.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/scripts/lib/mic/kickstart/custom_commands/partition.py b/scripts/lib/mic/kickstart/custom_commands/partition.py index 302cace2346..0eb06713563 100644 --- a/scripts/lib/mic/kickstart/custom_commands/partition.py +++ b/scripts/lib/mic/kickstart/custom_commands/partition.py @@ -216,7 +216,14 @@ def prepare_rootfs_ext(self, cr_workdir, oe_builddir, rootfs_dir, """ Prepare content for an ext2/3/4 rootfs partition. """ - populate_script = "%s/usr/bin/populate-extfs.sh" % native_sysroot + populate_script = "export PSEUDO_PREFIX=%s/usr;" % native_sysroot + populate_script += "export PSEUDO_LOCALSTATEDIR=%s/../pseudo;" % rootfs_dir + populate_script += "export PSEUDO_PASSWD=%s;" % rootfs_dir + populate_script += "export PSEUDO_NOSYMLINKEXP=1;" + populate_script += "export PSEUDO_DISABLED=0;" + populate_script += "%s/usr/bin/pseudo %s/usr/bin/populate-extfs.sh" % \ + (native_sysroot, native_sysroot) + image_extra_space = 10240 image_rootfs = rootfs_dir From 3bcd49dddfe7526ec7cea5c0f2912365dec897f7 Mon Sep 17 00:00:00 2001 From: Tom Zanussi Date: Tue, 22 Oct 2013 09:23:56 -0500 Subject: [PATCH 408/658] wic: Remove dependency on rt_util module rt_util contains bootstrap_mic(), which imports rpm and other things we don't need because we don't do bootstrap i.e. runtime (set in wic.conf) is always set to 'native', which means use what's on the local host. bootstrap mode is for downloading and installing rpms that wic needs, which we may want to implement later; for now, we just want to use what's local. (From OE-Core master rev: 3103f0cb908eced7b751128c2bba898d12017c80) (From OE-Core rev: f338d696b7f865bdb10020f806c69c78e8ed6625) Signed-off-by: Tom Zanussi Signed-off-by: Richard Purdie Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- scripts/lib/mic/creator.py | 2 +- scripts/lib/mic/plugins/imager/direct_plugin.py | 2 +- scripts/lib/mic/plugins/imager/fs_plugin.py | 2 +- scripts/lib/mic/plugins/imager/livecd_plugin.py | 2 +- scripts/lib/mic/plugins/imager/liveusb_plugin.py | 2 +- scripts/lib/mic/plugins/imager/loop_plugin.py | 2 +- scripts/lib/mic/plugins/imager/raw_plugin.py | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/scripts/lib/mic/creator.py b/scripts/lib/mic/creator.py index f3d0de19fcf..b36bbf064ae 100644 --- a/scripts/lib/mic/creator.py +++ b/scripts/lib/mic/creator.py @@ -18,7 +18,7 @@ import os, sys, re from optparse import SUPPRESS_HELP -from mic import msger, rt_util +from mic import msger from mic.utils import cmdln, errors, rpmmisc from mic.conf import configmgr from mic.plugin import pluginmgr diff --git a/scripts/lib/mic/plugins/imager/direct_plugin.py b/scripts/lib/mic/plugins/imager/direct_plugin.py index 53381e5e011..e015256fa1b 100644 --- a/scripts/lib/mic/plugins/imager/direct_plugin.py +++ b/scripts/lib/mic/plugins/imager/direct_plugin.py @@ -30,7 +30,7 @@ import re import tempfile -from mic import chroot, msger, rt_util +from mic import chroot, msger from mic.utils import misc, fs_related, errors, runner, cmdln from mic.conf import configmgr from mic.plugin import pluginmgr diff --git a/scripts/lib/mic/plugins/imager/fs_plugin.py b/scripts/lib/mic/plugins/imager/fs_plugin.py index 8e758db544c..6bcaf007290 100644 --- a/scripts/lib/mic/plugins/imager/fs_plugin.py +++ b/scripts/lib/mic/plugins/imager/fs_plugin.py @@ -18,7 +18,7 @@ import os import sys -from mic import chroot, msger, rt_util +from mic import chroot, msger from mic.utils import cmdln, misc, errors, fs_related from mic.imager import fs from mic.conf import configmgr diff --git a/scripts/lib/mic/plugins/imager/livecd_plugin.py b/scripts/lib/mic/plugins/imager/livecd_plugin.py index d24ef592648..82cb1af7dca 100644 --- a/scripts/lib/mic/plugins/imager/livecd_plugin.py +++ b/scripts/lib/mic/plugins/imager/livecd_plugin.py @@ -19,7 +19,7 @@ import shutil import tempfile -from mic import chroot, msger, rt_util +from mic import chroot, msger from mic.utils import misc, fs_related, errors from mic.conf import configmgr import mic.imager.livecd as livecd diff --git a/scripts/lib/mic/plugins/imager/liveusb_plugin.py b/scripts/lib/mic/plugins/imager/liveusb_plugin.py index 7aa8927df95..3d53c84410c 100644 --- a/scripts/lib/mic/plugins/imager/liveusb_plugin.py +++ b/scripts/lib/mic/plugins/imager/liveusb_plugin.py @@ -19,7 +19,7 @@ import shutil import tempfile -from mic import chroot, msger, rt_util +from mic import chroot, msger from mic.utils import misc, fs_related, errors from mic.utils.partitionedfs import PartitionedMount from mic.conf import configmgr diff --git a/scripts/lib/mic/plugins/imager/loop_plugin.py b/scripts/lib/mic/plugins/imager/loop_plugin.py index 8f4b030f6b8..2a05b3c238b 100644 --- a/scripts/lib/mic/plugins/imager/loop_plugin.py +++ b/scripts/lib/mic/plugins/imager/loop_plugin.py @@ -19,7 +19,7 @@ import shutil import tempfile -from mic import chroot, msger, rt_util +from mic import chroot, msger from mic.utils import misc, fs_related, errors, cmdln from mic.conf import configmgr from mic.plugin import pluginmgr diff --git a/scripts/lib/mic/plugins/imager/raw_plugin.py b/scripts/lib/mic/plugins/imager/raw_plugin.py index 1b9631dfa2b..f9625b87e84 100644 --- a/scripts/lib/mic/plugins/imager/raw_plugin.py +++ b/scripts/lib/mic/plugins/imager/raw_plugin.py @@ -20,7 +20,7 @@ import re import tempfile -from mic import chroot, msger, rt_util +from mic import chroot, msger from mic.utils import misc, fs_related, errors, runner, cmdln from mic.conf import configmgr from mic.plugin import pluginmgr From 7a5e6c4ec93793f0a16cc0bb0c8aa40283448b7d Mon Sep 17 00:00:00 2001 From: Tom Zanussi Date: Tue, 22 Oct 2013 09:23:57 -0500 Subject: [PATCH 409/658] wic: eliminate module checks We're removing all external dependencies including rpm and urlgrabber, so we don't need this check. (From OE-Core master rev: 429c0d72b9b8bfed34832e283be92996e074b9ac) (From OE-Core rev: 898285fbe172e0e77f0986be8f5187f86bfca95b) Signed-off-by: Tom Zanussi Signed-off-by: Richard Purdie Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- scripts/wic | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/scripts/wic b/scripts/wic index 08473d3df4b..b6fd16c5df7 100755 --- a/scripts/wic +++ b/scripts/wic @@ -38,16 +38,6 @@ import optparse import logging # External modules -try: - import rpm - import urlgrabber -except ImportError: - print("ERROR: failed to import necessary modules.") - print("Please ensure the following modules are installed:") - print("\trpm"); - print("\turlgrabber"); - sys.exit(1) - scripts_path = os.path.abspath(os.path.dirname(os.path.abspath(sys.argv[0]))) lib_path = scripts_path + '/lib' sys.path = sys.path + [lib_path] From ff4aaa8508cf51279ddd70866a7daa84be7f86e0 Mon Sep 17 00:00:00 2001 From: Tom Zanussi Date: Tue, 22 Oct 2013 09:23:58 -0500 Subject: [PATCH 410/658] wic: Remove dependency on rpmmisc rpmmisc imports rpm and contains misc rpm utilities related to packaging and determining arches based on the packaging. We should never run across this in the initial version of wic, so remove the dependency. (From OE-Core master rev: 2d59b6eeb418cf23eef3e32b43354b4ab16a40b9) (From OE-Core rev: b16a9de9f5eb2d252ee263a4b2c66c74ff4ff78f) Signed-off-by: Tom Zanussi Signed-off-by: Richard Purdie Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- scripts/lib/mic/creator.py | 2 +- scripts/lib/mic/imager/livecd.py | 2 +- scripts/lib/mic/utils/misc.py | 1 - 3 files changed, 2 insertions(+), 3 deletions(-) diff --git a/scripts/lib/mic/creator.py b/scripts/lib/mic/creator.py index b36bbf064ae..267928f877b 100644 --- a/scripts/lib/mic/creator.py +++ b/scripts/lib/mic/creator.py @@ -19,7 +19,7 @@ from optparse import SUPPRESS_HELP from mic import msger -from mic.utils import cmdln, errors, rpmmisc +from mic.utils import cmdln, errors from mic.conf import configmgr from mic.plugin import pluginmgr diff --git a/scripts/lib/mic/imager/livecd.py b/scripts/lib/mic/imager/livecd.py index a992ee07062..07115526bd8 100644 --- a/scripts/lib/mic/imager/livecd.py +++ b/scripts/lib/mic/imager/livecd.py @@ -20,7 +20,7 @@ import shutil from mic import kickstart, msger -from mic.utils import fs_related, rpmmisc, runner, misc +from mic.utils import fs_related, runner, misc from mic.utils.errors import CreatorError from mic.imager.loop import LoopImageCreator diff --git a/scripts/lib/mic/utils/misc.py b/scripts/lib/mic/utils/misc.py index 67ddef2e44d..2c4a3ac3077 100644 --- a/scripts/lib/mic/utils/misc.py +++ b/scripts/lib/mic/utils/misc.py @@ -45,7 +45,6 @@ from mic.utils.grabber import myurlgrab from mic.utils.proxy import get_proxy_for from mic.utils import runner -from mic.utils import rpmmisc RPM_RE = re.compile("(.*)\.(.*) (.*)-(.*)") From d3f1ed6967fae167aa85b073c47c71536d1f7071 Mon Sep 17 00:00:00 2001 From: Tom Zanussi Date: Tue, 22 Oct 2013 09:23:59 -0500 Subject: [PATCH 411/658] wic: Remove dependency on myurlgrab module mylrlgrab is in grabber, which imports rpm. For current functionality, we don't need to grab urls or import rpm, so remove the dependency. (From OE-Core master rev: 429ecc2afa499df35a1ae9da6f92b88c6f2d8d11) (From OE-Core rev: 1ef27c9dfa28f65458750c0afb2e136c4b79b226) Signed-off-by: Tom Zanussi Signed-off-by: Richard Purdie Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- scripts/lib/mic/utils/misc.py | 1 - 1 file changed, 1 deletion(-) diff --git a/scripts/lib/mic/utils/misc.py b/scripts/lib/mic/utils/misc.py index 2c4a3ac3077..95241d7f151 100644 --- a/scripts/lib/mic/utils/misc.py +++ b/scripts/lib/mic/utils/misc.py @@ -42,7 +42,6 @@ from mic import msger from mic.utils.errors import CreatorError, SquashfsError from mic.utils.fs_related import find_binary_path, makedirs -from mic.utils.grabber import myurlgrab from mic.utils.proxy import get_proxy_for from mic.utils import runner From 8d158a7ecff00f8292c02e5fd12aea2d02420f4e Mon Sep 17 00:00:00 2001 From: Tom Zanussi Date: Tue, 22 Oct 2013 09:24:00 -0500 Subject: [PATCH 412/658] wic: remove rpm warning code from BackendPlugin We don't currently use rpm functionality, so we don't need to silence rpm warnings. (From OE-Core master rev: dd3cc03d4fa3347f8ef2db23d8ff98bdbdb73baa) (From OE-Core rev: 8827b46d8cb4d6918451bd1c3c278465d8796e4b) Signed-off-by: Tom Zanussi Signed-off-by: Richard Purdie Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- scripts/lib/mic/pluginbase.py | 5 ----- 1 file changed, 5 deletions(-) diff --git a/scripts/lib/mic/pluginbase.py b/scripts/lib/mic/pluginbase.py index 6ac195b42d1..2f9d7209e98 100644 --- a/scripts/lib/mic/pluginbase.py +++ b/scripts/lib/mic/pluginbase.py @@ -83,11 +83,6 @@ def do_chroot(self): class BackendPlugin(_Plugin): mic_plugin_type="backend" - # suppress the verbose rpm warnings - if msger.get_loglevel() != 'debug': - import rpm - rpm.setVerbosity(rpm.RPMLOG_ERR) - def addRepository(self): pass From 72db8ccf907c0d58707c9babdf008c3a61532a36 Mon Sep 17 00:00:00 2001 From: Tom Zanussi Date: Tue, 22 Oct 2013 09:24:01 -0500 Subject: [PATCH 413/658] wic: Remove rpm and grabber dependencies from BaseImageCreator BaseImageCreator is a base class for DirectImageCreator and others, and imports rpm and grabber (which imports rpm). The various plugins e.g. DirectPlugin import the creators and therefore these dependencies, which manifest at run-time as e.g.: Warning: Failed to load plugin imager/direct_plugin: No module named rpm (From OE-Core master rev: a1e24c4a5f5771b7ad35e53ce96c6d82212e4d7e) (From OE-Core rev: f5587ec7e7f925b321b9bfe6923be0879dadb2aa) Signed-off-by: Tom Zanussi Signed-off-by: Richard Purdie Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- scripts/lib/mic/imager/baseimager.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/scripts/lib/mic/imager/baseimager.py b/scripts/lib/mic/imager/baseimager.py index 4d6be29a0e5..b7212493b43 100644 --- a/scripts/lib/mic/imager/baseimager.py +++ b/scripts/lib/mic/imager/baseimager.py @@ -26,12 +26,10 @@ import tarfile import glob -import rpm - from mic import kickstart from mic import msger from mic.utils.errors import CreatorError, Abort -from mic.utils import misc, grabber, runner, fs_related as fs +from mic.utils import misc, runner, fs_related as fs class BaseImageCreator(object): """Installs a system to a chroot directory. From 45bdd32eebcc31432c29576357e95f787f873815 Mon Sep 17 00:00:00 2001 From: Tom Zanussi Date: Tue, 22 Oct 2013 09:24:02 -0500 Subject: [PATCH 414/658] wic: Remove rpmmisc call from livecd We don't currently use LiveCDImageCreator, but it makes calls when initialized via the plugin interface to rpmmisc module functions, which we don't want the dependency on. To make it (and LiveUSBImageCreator) happy, we give it the dummy "i386" value for now. (From OE-Core master rev: e10ae516cfc10900ed12e84c743e3a7127372135) (From OE-Core rev: a3cc57cf3116c997ec11dd3cbfa3b0d615e5dabc) Signed-off-by: Tom Zanussi Signed-off-by: Richard Purdie Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- scripts/lib/mic/imager/livecd.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/lib/mic/imager/livecd.py b/scripts/lib/mic/imager/livecd.py index 07115526bd8..e36f4a76c61 100644 --- a/scripts/lib/mic/imager/livecd.py +++ b/scripts/lib/mic/imager/livecd.py @@ -741,7 +741,7 @@ def _configure_bootloader(self, isodir): self._configure_syslinux_bootloader(isodir) self._configure_efi_bootloader(isodir) -arch = rpmmisc.getBaseArch() +arch = "i386" if arch in ("i386", "x86_64"): LiveCDImageCreator = x86LiveImageCreator elif arch.startswith("arm"): From b76809412577a847a5646a5d48d6b5ba51c70fc4 Mon Sep 17 00:00:00 2001 From: Tom Zanussi Date: Tue, 22 Oct 2013 09:24:03 -0500 Subject: [PATCH 415/658] wic: Remove binary dependencies Current functionality doesn't make use of kpartx, mount, or unmount, and we use native mkswap, so remove the binary checks for those. (From OE-Core master rev: 76293d2d6bbdeacd7b34f39f26fb97c3d7f9496f) (From OE-Core rev: 0ed290b81e1c3b781170033f50db01ddfff14784) Signed-off-by: Tom Zanussi Signed-off-by: Richard Purdie Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- scripts/lib/mic/utils/partitionedfs.py | 4 ---- 1 file changed, 4 deletions(-) diff --git a/scripts/lib/mic/utils/partitionedfs.py b/scripts/lib/mic/utils/partitionedfs.py index 59263ba1a58..6607466a83a 100644 --- a/scripts/lib/mic/utils/partitionedfs.py +++ b/scripts/lib/mic/utils/partitionedfs.py @@ -45,11 +45,7 @@ def __init__(self, mountdir, skipformat = False): self.mountOrder = [] self.unmountOrder = [] self.parted = find_binary_path("parted") - self.kpartx = find_binary_path("kpartx") - self.mkswap = find_binary_path("mkswap") self.btrfscmd=None - self.mountcmd = find_binary_path("mount") - self.umountcmd = find_binary_path("umount") self.skipformat = skipformat self.snapshot_created = self.skipformat # Size of a sector used in calculations From f29fde153b36ad8ec3f7e8b1ef86008dcbecb9f8 Mon Sep 17 00:00:00 2001 From: Tom Zanussi Date: Tue, 22 Oct 2013 09:24:04 -0500 Subject: [PATCH 416/658] wic: Make find_binary_path() more user-friendly find_binary_path() is useful, but if the binary isn't found, it prints a stacktrace and a less-than-useful message. Users complain when they get stacktraces for things they can act on, so remove the stacktrace and tell the user what the problem is. (From OE-Core master rev: 0d9eef0eaa267500e8eedab8b72ddf24eb0516db) (From OE-Core rev: 8a17195c9be38815e9ae431bcb18f66a4ad2cdcb) Signed-off-by: Tom Zanussi Signed-off-by: Richard Purdie Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- scripts/lib/mic/utils/fs_related.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/scripts/lib/mic/utils/fs_related.py b/scripts/lib/mic/utils/fs_related.py index 61617353eba..dd420e88dc1 100644 --- a/scripts/lib/mic/utils/fs_related.py +++ b/scripts/lib/mic/utils/fs_related.py @@ -57,7 +57,10 @@ def find_binary_path(binary): bin_path = "%s/%s" % (path, binary) if os.path.exists(bin_path): return bin_path - raise CreatorError("Command '%s' is not available." % binary) + + print "External command '%s' not found, exiting." % binary + print " (Please install '%s' on your host system)" % binary + sys.exit(1) def makedirs(dirname): """A version of os.makedirs() that doesn't throw an From 34739daf7cedabfcaa6691c9309d571a17a7466f Mon Sep 17 00:00:00 2001 From: Tom Zanussi Date: Tue, 22 Oct 2013 09:24:05 -0500 Subject: [PATCH 417/658] wic: Update and generalize pseudo setup for rootfs generation Remove unnecessary pseudo exports i.e. PSEUDO_DISABLED and move the setup to the top-level prepare_rootfs(). (From OE-Core master rev: 4bf11cd7d7301da664c098c8a0ae9c0294a6f423) (From OE-Core rev: 8d661f578276c70e1671edfc810aa4dad97de970) Signed-off-by: Tom Zanussi Signed-off-by: Richard Purdie Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- .../kickstart/custom_commands/partition.py | 28 ++++++++++--------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/scripts/lib/mic/kickstart/custom_commands/partition.py b/scripts/lib/mic/kickstart/custom_commands/partition.py index 0eb06713563..4b11195160a 100644 --- a/scripts/lib/mic/kickstart/custom_commands/partition.py +++ b/scripts/lib/mic/kickstart/custom_commands/partition.py @@ -204,25 +204,27 @@ def prepare_rootfs(self, cr_workdir, oe_builddir, rootfs_dir, Currently handles ext2/3/4 and btrfs. """ + pseudo = "export PSEUDO_PREFIX=%s/usr;" % native_sysroot + pseudo += "export PSEUDO_LOCALSTATEDIR=%s/../pseudo;" % rootfs_dir + pseudo += "export PSEUDO_PASSWD=%s;" % rootfs_dir + pseudo += "export PSEUDO_NOSYMLINKEXP=1;" + pseudo += "%s/usr/bin/pseudo " % native_sysroot + if self.fstype.startswith("ext"): return self.prepare_rootfs_ext(cr_workdir, oe_builddir, - rootfs_dir, native_sysroot) + rootfs_dir, native_sysroot, + pseudo) elif self.fstype.startswith("btrfs"): return self.prepare_rootfs_btrfs(cr_workdir, oe_builddir, - rootfs_dir, native_sysroot) + rootfs_dir, native_sysroot, + pseudo) def prepare_rootfs_ext(self, cr_workdir, oe_builddir, rootfs_dir, - native_sysroot): + native_sysroot, pseudo): """ Prepare content for an ext2/3/4 rootfs partition. """ - populate_script = "export PSEUDO_PREFIX=%s/usr;" % native_sysroot - populate_script += "export PSEUDO_LOCALSTATEDIR=%s/../pseudo;" % rootfs_dir - populate_script += "export PSEUDO_PASSWD=%s;" % rootfs_dir - populate_script += "export PSEUDO_NOSYMLINKEXP=1;" - populate_script += "export PSEUDO_DISABLED=0;" - populate_script += "%s/usr/bin/pseudo %s/usr/bin/populate-extfs.sh" % \ - (native_sysroot, native_sysroot) + populate_script = "%s/usr/bin/populate-extfs.sh" % native_sysroot image_extra_space = 10240 @@ -245,7 +247,7 @@ def prepare_rootfs_ext(self, cr_workdir, oe_builddir, rootfs_dir, rc, out = exec_native_cmd(mkfs_cmd, native_sysroot) populate_cmd = populate_script + " " + image_rootfs + " " + rootfs - rc, out = exec_native_cmd(populate_cmd, native_sysroot) + rc, out = exec_native_cmd(pseudo + populate_cmd, native_sysroot) # get the rootfs size in the right units for kickstart (Mb) du_cmd = "du -Lbms %s" % rootfs @@ -258,7 +260,7 @@ def prepare_rootfs_ext(self, cr_workdir, oe_builddir, rootfs_dir, return 0 def prepare_rootfs_btrfs(self, cr_workdir, oe_builddir, rootfs_dir, - native_sysroot): + native_sysroot, pseudo): """ Prepare content for a btrfs rootfs partition. @@ -281,7 +283,7 @@ def prepare_rootfs_btrfs(self, cr_workdir, oe_builddir, rootfs_dir, mkfs_cmd = "mkfs.%s -b %d -r %s %s" % \ (self.fstype, rootfs_size * 1024, image_rootfs, rootfs) - rc, out = exec_native_cmd(mkfs_cmd, native_sysroot) + rc, out = exec_native_cmd(pseudo + mkfs_cmd, native_sysroot) # get the rootfs size in the right units for kickstart (Mb) du_cmd = "du -Lbms %s" % rootfs From 265b3423b1c2052cf98b0fa9d85a74fe1a29ca4b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C3=ABl=20Burtin?= Date: Tue, 22 Oct 2013 11:45:17 +0200 Subject: [PATCH 418/658] initramfs-framework: fix test that filter backup module files MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Test that filter backup module files (files starting with ~) was accidentally reversed in e6039e6e3b98d6ab91252a5012d76279b1fac6e8, this patch restore initial behavior. (From OE-Core master rev: b2eb846ee12989add7a7ca8bbf45f293a3a7e56d) (From OE-Core rev: 00ff958fec53e55cc475c1b31fb9813d97872ceb) Signed-off-by: Michaël Burtin Signed-off-by: Richard Purdie Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- meta/recipes-core/initrdscripts/initramfs-framework/init | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/recipes-core/initrdscripts/initramfs-framework/init b/meta/recipes-core/initrdscripts/initramfs-framework/init index 20774aa5e9b..95fa9fb1a03 100755 --- a/meta/recipes-core/initrdscripts/initramfs-framework/init +++ b/meta/recipes-core/initrdscripts/initramfs-framework/init @@ -103,7 +103,7 @@ mkdir $ROOTFS_DIR # Load and run modules for m in $MODULES_DIR/*; do # Skip backup files - if [ "`echo $m | sed -e 's/\~$//'`" = "$m" ]; then + if [ "`echo $m | sed -e 's/\~$//'`" != "$m" ]; then continue fi From c2be5243704d2d733deb45eea1b8c678d124f957 Mon Sep 17 00:00:00 2001 From: Jackie Huang Date: Tue, 22 Oct 2013 14:04:05 +0800 Subject: [PATCH 419/658] midori: exclude from self-hosted for mips64 midori depends on webkit-gtk which could not build for mips64. [YOCTO #5141] (From OE-Core master rev: abadeb934d4f41288c4fde6a4e5df2b124326326) (From OE-Core rev: 672cd50a39a697b53c337a79c34fab05b48e0920) Signed-off-by: Jackie Huang Signed-off-by: Richard Purdie Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- meta/recipes-core/packagegroups/packagegroup-self-hosted.bb | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/meta/recipes-core/packagegroups/packagegroup-self-hosted.bb b/meta/recipes-core/packagegroups/packagegroup-self-hosted.bb index 61c99bc40e9..108e67890ac 100644 --- a/meta/recipes-core/packagegroups/packagegroup-self-hosted.bb +++ b/meta/recipes-core/packagegroups/packagegroup-self-hosted.bb @@ -26,6 +26,10 @@ RDEPENDS_packagegroup-self-hosted = "\ packagegroup-self-hosted-host-tools \ " +# midori depends on webkit-gtk which could not build for mips64 +MIDORI = "midori" +MIDORI_mips64 = "" + RDEPENDS_packagegroup-self-hosted-host-tools = "\ connman \ connman-plugin-ethernet \ @@ -45,7 +49,7 @@ RDEPENDS_packagegroup-self-hosted-host-tools = "\ mc-helpers-perl \ mc-helpers-python \ leafpad \ - midori \ + ${MIDORI} \ pcmanfm \ parted \ pseudo \ From 263b6aa58e92ba84b67a2d226450bce82e212200 Mon Sep 17 00:00:00 2001 From: Christopher Larson Date: Wed, 23 Oct 2013 13:47:27 -0700 Subject: [PATCH 420/658] base.bbclass: fix nondeterministic PACKAGECONFIG processing order The PACKAGECONFIG flags were iterated over using dict.items(), but this returns the items in an undefined order. As this order determines the EXTRA_OECONF append order, we can get EXTRA_OECONF which are functionally equivalent, but whose contents differ, resulting in not using shared state archives we should be using. (From OE-Core master rev: 843a5dd8f8f0461e286d9fdb3ba55205b4275f88) (From OE-Core rev: 73f77c195e1af3df594eecce2cab47ee963d5c2e) Signed-off-by: Christopher Larson Signed-off-by: Richard Purdie Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- meta/classes/base.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/classes/base.bbclass b/meta/classes/base.bbclass index dfa580c5833..93bc700a500 100644 --- a/meta/classes/base.bbclass +++ b/meta/classes/base.bbclass @@ -433,7 +433,7 @@ python () { extradeps = [] extrardeps = [] extraconf = [] - for flag, flagval in pkgconfigflags.items(): + for flag, flagval in sorted(pkgconfigflags.items()): if flag == "defaultval": continue items = flagval.split(",") From 34f6dcf06cc58bc6a9044e8c5fa94dc2f02e5032 Mon Sep 17 00:00:00 2001 From: Ross Burton Date: Wed, 16 Oct 2013 14:07:59 +0100 Subject: [PATCH 421/658] packagegroup-base: if zeroconf DISTRO_FEATURE enabled, add libnss-mdns mDNS name resolution is a key part of mDNS, so if the DISTRO_FEATURE is enabled then install libnss-mdns. (From OE-Core master rev: ef2ee68778be8e5336cd33ab6551bce1d56047b6) (From OE-Core rev: fb72bebc999aef7bb006a7ba273eaa96376a4016) Signed-off-by: Ross Burton Signed-off-by: Saul Wold Signed-off-by: Richard Purdie Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- meta/recipes-core/packagegroups/packagegroup-base.bb | 1 + 1 file changed, 1 insertion(+) diff --git a/meta/recipes-core/packagegroups/packagegroup-base.bb b/meta/recipes-core/packagegroups/packagegroup-base.bb index 1c0c7571c20..eee8bd9794f 100644 --- a/meta/recipes-core/packagegroups/packagegroup-base.bb +++ b/meta/recipes-core/packagegroups/packagegroup-base.bb @@ -353,6 +353,7 @@ RRECOMMENDS_packagegroup-base-nfs = "\ SUMMARY_packagegroup-base-zeroconf = "Zeroconf support" RDEPENDS_packagegroup-base-zeroconf = "\ + libnss-mdns \ avahi-daemon" SUMMARY_packagegroup-base-ipv6 = "IPv6 support" From fc9f1c8168118010602f4e43ad954173e95cf63c Mon Sep 17 00:00:00 2001 From: Chen Qi Date: Mon, 21 Oct 2013 10:42:29 +0800 Subject: [PATCH 422/658] runqemu-extract-sdk: add --numeric-owner option to tar command If the same username exists on both target and the build host, but the uids differ, and we start target via NFS, then the uid for the user will be incorrect on target. For example, if postfix's uid on host is 119 and on target is 1024, then if we start target via NFS, the uid for postfix will be 119. The root cause is that when we use runqemu-extract-sdk to generate the NFS rootfs for later use, the tar command will respect the username instead of uid. So if PSEUDO_PASSWD environment is not set correctly, the host /etc/passwd will be used, resulting in wrong uids. The situation for gid is completely analogous to that of uid. It's almost impossible for the runqemu-extract-sdk to guess the correct location of the needed password file merely based on the target tarball name. This patch solves this problem by adding the '--numeric-owner' option to the tar command so that the uid/gid will be used when extracting the tarball using runqemu-extract-sdk. In this situation, we'll always get the correct uid/gid after extracting the tarball. [YOCTO #5364] (From OE-Core master rev: acce6ff1a77cfd29e3868faa89b120becb58bbbf) (From OE-Core rev: c2baac739a521d1edd408a24f6b1fece8f755218) Signed-off-by: Chen Qi Signed-off-by: Saul Wold Signed-off-by: Richard Purdie Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- scripts/runqemu-extract-sdk | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/scripts/runqemu-extract-sdk b/scripts/runqemu-extract-sdk index 509af662162..4ce906aef01 100755 --- a/scripts/runqemu-extract-sdk +++ b/scripts/runqemu-extract-sdk @@ -54,13 +54,13 @@ fi TAR_OPTS="" if [[ "$ROOTFS_TARBALL" =~ tar\.bz2$ ]]; then - TAR_OPTS="-xjf" + TAR_OPTS="--numeric-owner -xjf" fi if [[ "$ROOTFS_TARBALL" =~ tar\.gz$ ]]; then - TAR_OPTS="-xzf" + TAR_OPTS="--numeric-owner -xzf" fi if [[ "$ROOTFS_TARBALL" =~ \.tar$ ]]; then - TAR_OPTS="-xf" + TAR_OPTS="--numeric-owner -xf" fi if [ -z "$TAR_OPTS" ]; then echo "Error: Unable to determine sdk tarball format" From 76e0ce8229492c730b7d0af14c73f40c21c21ae1 Mon Sep 17 00:00:00 2001 From: Konrad Scherer Date: Thu, 17 Oct 2013 10:17:20 -0400 Subject: [PATCH 423/658] relocate_sdk.py: Allow script to work with Python 2.4 and 3. Python 2.4 does not support the 'b' string literal or the keyword 'as' in exception handling. Python 3 does not accept the old method of exception handling and defaults to unicode. The b() function converts strings to bytes on Python 3 and using sys.exc_info() avoids the exception handling syntax. (From OE-Core master rev: 1e2ec5f576f167673d7980737826987fefdc74a9) (From OE-Core rev: 343127f2f81be337596d3eacbbc92278e82ce574) Signed-off-by: Konrad Scherer Signed-off-by: Saul Wold Signed-off-by: Richard Purdie Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- scripts/relocate_sdk.py | 42 ++++++++++++++++++++++++----------------- 1 file changed, 25 insertions(+), 17 deletions(-) diff --git a/scripts/relocate_sdk.py b/scripts/relocate_sdk.py index fe6e4e0320d..05d9fd65ed3 100755 --- a/scripts/relocate_sdk.py +++ b/scripts/relocate_sdk.py @@ -31,7 +31,14 @@ import re import errno -old_prefix = re.compile(b"##DEFAULT_INSTALL_DIR##") +if sys.version < '3': + def b(x): + return x +else: + def b(x): + return x.encode(sys.getfilesystemencoding()) + +old_prefix = re.compile(b("##DEFAULT_INSTALL_DIR##")) def get_arch(): f.seek(0) @@ -92,15 +99,15 @@ def change_interpreter(elf_file_name): # External SDKs with mixed pre-compiled binaries should not get # relocated so look for some variant of /lib fname = f.read(11) - if fname.startswith(b"/lib/") or fname.startswith(b"/lib64/") or \ - fname.startswith(b"/lib32/") or fname.startswith(b"/usr/lib32/") or \ - fname.startswith(b"/usr/lib32/") or fname.startswith(b"/usr/lib64/"): + if fname.startswith(b("/lib/")) or fname.startswith(b("/lib64/")) or \ + fname.startswith(b("/lib32/")) or fname.startswith(b("/usr/lib32/")) or \ + fname.startswith(b("/usr/lib32/")) or fname.startswith(b("/usr/lib64/")): break if (len(new_dl_path) >= p_filesz): print("ERROR: could not relocate %s, interp size = %i and %i is needed." \ % (elf_file_name, p_memsz, len(new_dl_path) + 1)) break - dl_path = new_dl_path + b"\0" * (p_filesz - len(new_dl_path)) + dl_path = new_dl_path + b("\0") * (p_filesz - len(new_dl_path)) f.seek(p_offset) f.write(dl_path) break @@ -132,40 +139,40 @@ def change_dl_sysdirs(): sh_name, sh_type, sh_flags, sh_addr, sh_offset, sh_size, sh_link,\ sh_info, sh_addralign, sh_entsize = struct.unpack(sh_fmt, sh_hdr) - name = sh_strtab[sh_name:sh_strtab.find(b"\0", sh_name)] + name = sh_strtab[sh_name:sh_strtab.find(b("\0"), sh_name)] """ look only into SHT_PROGBITS sections """ if sh_type == 1: f.seek(sh_offset) """ default library paths cannot be changed on the fly because """ """ the string lengths have to be changed too. """ - if name == b".sysdirs": + if name == b(".sysdirs"): sysdirs = f.read(sh_size) sysdirs_off = sh_offset sysdirs_sect_size = sh_size - elif name == b".sysdirslen": + elif name == b(".sysdirslen"): sysdirslen = f.read(sh_size) sysdirslen_off = sh_offset - elif name == b".ldsocache": + elif name == b(".ldsocache"): ldsocache_path = f.read(sh_size) new_ldsocache_path = old_prefix.sub(new_prefix, ldsocache_path) # pad with zeros - new_ldsocache_path += b"\0" * (sh_size - len(new_ldsocache_path)) + new_ldsocache_path += b("\0") * (sh_size - len(new_ldsocache_path)) # write it back f.seek(sh_offset) f.write(new_ldsocache_path) if sysdirs != "" and sysdirslen != "": - paths = sysdirs.split(b"\0") - sysdirs = b"" - sysdirslen = b"" + paths = sysdirs.split(b("\0")) + sysdirs = b("") + sysdirslen = b("") for path in paths: """ exit the loop when we encounter first empty string """ - if path == b"": + if path == b(""): break new_path = old_prefix.sub(new_prefix, path) - sysdirs += new_path + b"\0" + sysdirs += new_path + b("\0") if arch == 32: sysdirslen += struct.pack(" Date: Sat, 26 Oct 2013 03:53:16 -0400 Subject: [PATCH 424/658] perf: flag __SANE_USERSPACE_TYPES__ to include int-ll64.h for mips64 As the same reason to powerpc64, mips64 also need the flag. (From OE-Core master rev: d6f3cb0d71c3b6739365f085b6d5a5e20f329fa5) (From OE-Core rev: 9c4b604ea0d81bc1de224b35ae160f87be6bcf7b) Signed-off-by: Wenzong Fan Signed-off-by: Richard Purdie Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- meta/recipes-kernel/perf/perf.bb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/meta/recipes-kernel/perf/perf.bb b/meta/recipes-kernel/perf/perf.bb index d27e535605d..903ffa6eaff 100644 --- a/meta/recipes-kernel/perf/perf.bb +++ b/meta/recipes-kernel/perf/perf.bb @@ -92,8 +92,9 @@ EXTRA_OEMAKE += "\ # PPC64 uses long long for u64 in the kernel, but powerpc's asm/types.h # prevents 64-bit userland from seeing this definition, instead defaulting # to u64 == long in userspace. Define __SANE_USERSPACE_TYPES__ to get -# int-ll64.h included. +# int-ll64.h included. And MIPS64 has the same issue. EXTRA_OEMAKE_append_powerpc64 = ' CFLAGS=-D__SANE_USERSPACE_TYPES__' +EXTRA_OEMAKE_append_mips64 = ' CFLAGS=-D__SANE_USERSPACE_TYPES__' PARALLEL_MAKE = "" From a1927d6c458485ad4f2b4e5dea17d4985a46b3c9 Mon Sep 17 00:00:00 2001 From: Qiang Chen Date: Tue, 22 Oct 2013 11:03:59 +0800 Subject: [PATCH 425/658] nfs-utils: Stop rpc.statd correctly An incorrect process name in the nfsserver initscript prevented rpc.statd from being shut down. root@qemux86-64:~# /etc/init.d/nfsserver start creating NFS state directory: done starting 8 nfsd kernel threads: done starting mountd: done starting statd: done root@qemux86-64:~# ps | grep rpc.statd 650 root 10532 S /usr/sbin/rpc.statd 654 root 4720 S grep rpc.statd root@qemux86-64:~# /etc/init.d/nfsserver stop stopping statd: done stopping mountd: done stopping nfsd: done root@qemux86-64:~# ps | grep rpc.statd 650 root 10532 S /usr/sbin/rpc.statd 662 root 4720 S grep rpc.statd As this daemon drops a pid file,simply use that instead. Also add some initialization checks so the daemons are not left partially started in the absence of kernel nfsd support. (From OE-Core master rev: 37e70a28e9cfc773bd70f09d7129295ce891ae18) (From OE-Core rev: 5f22bad97a3bacb87cefb54ffd785d359c58aec0) Signed-off-by: Andy Ross Signed-off-by: Qiang Chen Signed-off-by: Richard Purdie Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- .../nfs-utils/nfs-utils/nfsserver | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/meta/recipes-connectivity/nfs-utils/nfs-utils/nfsserver b/meta/recipes-connectivity/nfs-utils/nfs-utils/nfsserver index 1ac6fec0238..8ee8d0bb500 100644 --- a/meta/recipes-connectivity/nfs-utils/nfs-utils/nfsserver +++ b/meta/recipes-connectivity/nfs-utils/nfs-utils/nfsserver @@ -25,6 +25,7 @@ test -r /etc/default/nfsd && . /etc/default/nfsd test -x "$NFS_MOUNTD" || NFS_MOUNTD=/usr/sbin/rpc.mountd test -x "$NFS_NFSD" || NFS_NFSD=/usr/sbin/rpc.nfsd test -x "$NFS_STATD" || NFS_STATD=/usr/sbin/rpc.statd +test -z "$STATD_PID" && STATD_PID=/var/run/rpc.statd.pid # # The user mode program must also exist (it just starts the kernel # threads using the kernel module code). @@ -77,6 +78,17 @@ stop_mountd(){ # #nfsd start_nfsd(){ + modprobe -q nfsd + grep -q nfsd /proc/filesystems || { + echo NFS daemon support not enabled in kernel + exit 1 + } + grep -q nfsd /proc/mounts || mount -t nfsd nfsd /proc/fs/nfsd + grep -q nfsd /proc/mounts || { + echo nfsd filesystem could not be mounted at /proc/fs/nfsd + exit 1 + } + echo -n "starting $1 nfsd kernel threads: " start-stop-daemon --start --exec "$NFS_NFSD" -- "$@" echo done @@ -115,14 +127,12 @@ stop_nfsd(){ #statd start_statd(){ echo -n "starting statd: " - start-stop-daemon --start --exec "$NFS_STATD" + start-stop-daemon --start --exec "$NFS_STATD" --pidfile "$STATD_PID" echo done } stop_statd(){ - # WARNING: this kills any process with the executable - # name 'statd'. echo -n 'stopping statd: ' - start-stop-daemon --stop --quiet --signal 1 --name statd + start-stop-daemon --stop --quiet --signal 1 --pidfile "$STATD_PID" echo done } #---------------------------------------------------------------------- From 470f00562429b18b345f0560a5176c0f873f8e0e Mon Sep 17 00:00:00 2001 From: Qiang Chen Date: Fri, 25 Oct 2013 14:49:11 +0800 Subject: [PATCH 426/658] nfs-utils: nfsserver restart should kill and recreate nfsd kernel threads nfsserver restart without killing kernel threads worked when portmap was the rpc publishing process and portmap was restarted. When rpcbind replaces portmap, nfsserver restart in this way does not work after an rpcbind restart. Steps to reproduce: 1). Make ext3 filesystem image on local host. cd /root dd if=/dev/zero of=test bs=1024K count=50 mkfs.ext3 -F test 2). runqemu qemux86-64 mkdir /mnt/wrtest mount -t ext3 -o loop test /mnt/wrtest echo "/mnt/wrtest *(sync,rw,no_subtree_check,no_root_squash)" > /etc/exports /etc/init.d/rpcbind restart /etc/init.d/nfsserver restart showmount -e localhost mkdir wrtest mount -t nfs localhost:/mnt/wrtest wrtest mount: mounting localhost:/mnt/wrtest on wrtest failed: Connection refused Modifying the nfsserver script to kill and restart kernel threads on restart makes the problem go away and is consistent with current RHEL/SUSE and Ubuntu/Debian mechanisms of handling the nfs server. (From OE-Core master rev: 1a96b8d7dfc490fc61bbd470a8b09065750cd563) (From OE-Core rev: d1b5e944656807c9db9cbe5d08d7b4bd8daeb826) Signed-off-by: Rich Dubielzig Signed-off-by: Qiang Chen Signed-off-by: Richard Purdie Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- .../nfs-utils/nfs-utils/nfsserver | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/meta/recipes-connectivity/nfs-utils/nfs-utils/nfsserver b/meta/recipes-connectivity/nfs-utils/nfs-utils/nfsserver index 8ee8d0bb500..d7cf6e0048c 100644 --- a/meta/recipes-connectivity/nfs-utils/nfs-utils/nfsserver +++ b/meta/recipes-connectivity/nfs-utils/nfs-utils/nfsserver @@ -161,14 +161,9 @@ status) [ $RETVAL -eq 0 ] && exit $rval exit $RETVAL;; reload) test -r /etc/exports && exportfs -r;; -restart)exportfs -ua - stop_mountd - stop_statd - # restart does not restart the kernel threads, - # only the user mode processes - start_mountd - start_statd - test -r /etc/exports && exportfs -a;; +restart) + $0 stop + $0 start;; *) echo "Usage: $0 {start|stop|status|reload|restart}" exit 1;; esac From 8e556d30ae28349f9a8d6a53506f53b08894a739 Mon Sep 17 00:00:00 2001 From: Konrad Scherer Date: Thu, 24 Oct 2013 11:17:00 -0400 Subject: [PATCH 427/658] cracklib: cracklib-native should not depend on zlib (From OE-Core master rev: 89d7d46947d9bb8c7bf568c65e52d5bbe159027f) (From OE-Core rev: 7c6504c6c059ba6b37f88143801ac8137267cf83) Signed-off-by: Konrad Scherer Signed-off-by: Richard Purdie Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- meta/recipes-extended/cracklib/cracklib_2.9.0.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/recipes-extended/cracklib/cracklib_2.9.0.bb b/meta/recipes-extended/cracklib/cracklib_2.9.0.bb index 34c2ff1c4c2..bbf88bba185 100644 --- a/meta/recipes-extended/cracklib/cracklib_2.9.0.bb +++ b/meta/recipes-extended/cracklib/cracklib_2.9.0.bb @@ -5,7 +5,7 @@ LICENSE = "LGPLv2.1+" LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=e3eda01d9815f8d24aae2dbd89b68b06" DEPENDS = "cracklib-native zlib" -DEPENDS_class-native = "zlib" +DEPENDS_class-native = "zlib-native" EXTRA_OECONF = "--without-python --libdir=${base_libdir}" From e92c43001024b6207e1fd897caab9aa2fce517f9 Mon Sep 17 00:00:00 2001 From: Laurentiu Palcu Date: Mon, 28 Oct 2013 22:46:20 +0200 Subject: [PATCH 428/658] nativesdk-qt4-tools: create qt.conf file When installing the SDK to another location than the default one, qmake will look for libraries, headers, etc. in the default location. That's because the paths are hard-coded in the binary itself. Luckily, QT allows to override this using a qt.conf file installed in the same directory with the application executable. However, we already have a patch that allows for the installation of qt.conf in another place and read the location from QT_CONF_PATH environment variable. Hence, install qt.conf in ${sysconfdir}. This will allow other apps, that use QLibraryInfo class, to find it. [YOCTO #5339] (From OE-Core master rev: 23f88695683a8e428375a8ccb6be935347a8768c) (From OE-Core rev: 0e71811a1c3285a71cbca682cb62c1563d3e74ee) Signed-off-by: Laurentiu Palcu Signed-off-by: Richard Purdie Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- meta/recipes-qt/qt4/nativesdk-qt4-tools.inc | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/meta/recipes-qt/qt4/nativesdk-qt4-tools.inc b/meta/recipes-qt/qt4/nativesdk-qt4-tools.inc index a9ec61e08fd..2c806e0043a 100644 --- a/meta/recipes-qt/qt4/nativesdk-qt4-tools.inc +++ b/meta/recipes-qt/qt4/nativesdk-qt4-tools.inc @@ -118,4 +118,10 @@ do_install() { for i in moc uic uic3 rcc lrelease lupdate qdbuscpp2xml qdbusxml2cpp; do \ ln -s ${i}4 ${i}; \ done) + + install -d ${D}${sysconfdir} + cat >${D}${sysconfdir}/qt.conf < Date: Mon, 28 Oct 2013 22:46:21 +0200 Subject: [PATCH 429/658] meta-toolchain-qt: put QT_CONF_PATH in environment script This will allow apps using QLibraryInfo class to find qt.conf. [YOCTO #5339] (From OE-Core master rev: fffa4c37c49b169f663d28612b9251819cef9577) (From OE-Core rev: 8dc1d62c5dc161ba606cebe27f6fe900699646f7) Signed-off-by: Laurentiu Palcu Signed-off-by: Richard Purdie Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- meta/recipes-qt/meta/meta-toolchain-qt.inc | 1 + 1 file changed, 1 insertion(+) diff --git a/meta/recipes-qt/meta/meta-toolchain-qt.inc b/meta/recipes-qt/meta/meta-toolchain-qt.inc index 14591a839b8..c9bdeae9ac3 100644 --- a/meta/recipes-qt/meta/meta-toolchain-qt.inc +++ b/meta/recipes-qt/meta/meta-toolchain-qt.inc @@ -24,6 +24,7 @@ toolchain_create_sdk_env_script_append() { echo 'export OE_QMAKE_QDBUSXML2CPP=${QT_TOOLS_PREFIX}/qdbusxml2cpp4' >> $script echo 'export OE_QMAKE_QT_CONFIG=${SDKTARGETSYSROOT}/${datadir}/${QT_DIR_NAME}/mkspecs/qconfig.pri' >> $script echo 'export QMAKESPEC=${SDKTARGETSYSROOT}/${datadir}/${QT_DIR_NAME}/mkspecs/linux-g++' >> $script + echo 'export QT_CONF_PATH=${SDKPATHNATIVE}/${sysconfdir}/qt.conf' >> $script # make a symbolic link to mkspecs for compatibility with Nokia's SDK # and QTCreator From 44c3b68d5e4b3a50325bfab512767a03b7193667 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Mon, 28 Oct 2013 20:40:47 -0700 Subject: [PATCH 430/658] pulseaudio: Fix build break on armeb There is no need for += when using append hence removed and added a leading space appropriately (From OE-Core master rev: fb9cde0fc1a54b073edf5979f4cb7dc297b790fd) (From OE-Core rev: 586db07af01da9d7772b7088a20886b506e09422) Signed-off-by: Khem Raj Signed-off-by: Richard Purdie Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- meta/recipes-multimedia/pulseaudio/pulseaudio.inc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/meta/recipes-multimedia/pulseaudio/pulseaudio.inc b/meta/recipes-multimedia/pulseaudio/pulseaudio.inc index 4c10aa9782a..bb13f4b52ee 100644 --- a/meta/recipes-multimedia/pulseaudio/pulseaudio.inc +++ b/meta/recipes-multimedia/pulseaudio/pulseaudio.inc @@ -43,7 +43,8 @@ PACKAGECONFIG[x11] = "--enable-x11,--disable-x11,virtual/libx11 libxtst libice l PACKAGECONFIG[avahi] = "--enable-avahi,--disable-avahi,avahi" PACKAGECONFIG[jack] = "--enable-jack,--disable-jack,jack" -EXTRA_OECONF_append_arm += "${@bb.utils.contains("TUNE_FEATURES", "neon", "", "--enable-neon-opt=no", d)}" +EXTRA_OECONF_append_arm = "${@bb.utils.contains("TUNE_FEATURES", "neon", "", " --enable-neon-opt=no", d)}" +EXTRA_OECONF_append_armeb = "${@bb.utils.contains("TUNE_FEATURES", "neon", "", " --enable-neon-opt=no", d)}" export TARGET_PFPU = "${TARGET_FPU}" From 17ce8318432d92df3dc44a832770019fd478c865 Mon Sep 17 00:00:00 2001 From: Roy Li Date: Tue, 29 Oct 2013 12:54:03 +0800 Subject: [PATCH 431/658] pseudo: fix library path in FILES_${PN} libpseudo.so is always installed into ${prefix}/lib/, not ${libdir}, so fix these paths; and skip libdir WARN_QA checking to ignore the warning in 64bit and multilib enabled system (From OE-Core master rev: 47c7850c025994685aa1811057f4f9a5f0f2a3ae) (From OE-Core rev: 1929d4ef17652a3eb825942041908d679773244f) Signed-off-by: Roy Li Signed-off-by: Richard Purdie Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- meta/recipes-devtools/pseudo/pseudo.inc | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/meta/recipes-devtools/pseudo/pseudo.inc b/meta/recipes-devtools/pseudo/pseudo.inc index 0471cd6f211..9411c578193 100644 --- a/meta/recipes-devtools/pseudo/pseudo.inc +++ b/meta/recipes-devtools/pseudo/pseudo.inc @@ -13,8 +13,11 @@ SRC_URI_append_class-nativesdk = " file://symver.patch" SRC_URI_append_class-native = " file://symver.patch" -FILES_${PN} = "${libdir}/pseudo/lib*/libpseudo.so ${bindir}/* ${localstatedir}/pseudo ${prefix}/var/pseudo" -FILES_${PN}-dbg += "${libdir}/pseudo/lib*/.debug" +FILES_${PN} = "${prefix}/lib/pseudo/lib*/libpseudo.so ${bindir}/* ${localstatedir}/pseudo ${prefix}/var/pseudo" +FILES_${PN}-dbg += "${prefix}/lib/pseudo/lib*/.debug" +INSANE_SKIP_${PN} += "libdir" +INSANE_SKIP_${PN}-dbg += "libdir" + PROVIDES += "virtual/fakeroot" MAKEOPTS = "" From 431c80b6d0c325bc57714586bc3b775de8e734cc Mon Sep 17 00:00:00 2001 From: Andreas Oberritter Date: Thu, 17 Oct 2013 13:31:27 +0200 Subject: [PATCH 432/658] cogl-1.0: depend on virtual/mesa - Wayland support depends on wayland-egl, which is provided by mesa. (From OE-Core master rev: a1a379b3c9728a06b086b4c1f06f663f54d7d37d) (From OE-Core rev: 8c75d888a5e4cf7fc2c92df730d80224f5ffa99a) Signed-off-by: Andreas Oberritter Signed-off-by: Saul Wold Signed-off-by: Richard Purdie Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- meta/recipes-graphics/cogl/cogl-1.0.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/recipes-graphics/cogl/cogl-1.0.inc b/meta/recipes-graphics/cogl/cogl-1.0.inc index 59ff66e1fae..0c4e86da33a 100644 --- a/meta/recipes-graphics/cogl/cogl-1.0.inc +++ b/meta/recipes-graphics/cogl/cogl-1.0.inc @@ -21,7 +21,7 @@ EDEPENDS_GLES2 = "virtual/libgles2" EDEPENDS_KMS = "libdrm virtual/egl" EDEPENDS_EGL = "virtual/egl" EDEPENDS_X11 = "virtual/libx11 libxcomposite libxfixes libxi libxrandr" -EDEPENDS_WAYLAND = "wayland" +EDEPENDS_WAYLAND = "virtual/mesa wayland" # Extra RDEPENDS for PACKAGECONFIG # This has to be explictly listed, because cogl dlopens the backends From 309ef190da8e47c6b42a8ee9c17aae9620af3663 Mon Sep 17 00:00:00 2001 From: Hongxu Jia Date: Mon, 21 Oct 2013 19:37:22 +0800 Subject: [PATCH 433/658] debugedit: fix segment fault while file's bss offset have a large number While ELF_C_RDWR_MMAP was used, elf_begin invoked mmap() to map file into memory. While the file's bss Offset has a large number, elf_update caculated file size by __elf64_updatenull_wrlock and the size was enlarged. In this situation, elf_update invoked ftruncate to enlarge the file, and memory size (elf->maximum_size) also was incorrectly updated. There was segment fault in elf_end which invoked munmap with the length is the enlarged file size, not the mmap's length. Before the above operations, invoke elf_begin/elf_update/elf_end with ELF_C_RDWR and ELF_F_LAYOUT set to enlarge the above file, it could make sure the file is safe for the following elf operations. [YOCTO #5356] https://bugzilla.redhat.com/show_bug.cgi?id=1019707 https://bugzilla.redhat.com/show_bug.cgi?id=1020842 (From OE-Core master rev: 35c8b1ac7c3b1e4209b1e30d1dbd1a457286b97b) (From OE-Core rev: a82322a982dc97ebc95f3fc45f9ad98bed947ad9) Signed-off-by: Hongxu Jia Signed-off-by: Saul Wold Signed-off-by: Richard Purdie Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- ...edit-valid-file-to-fix-segment-fault.patch | 67 +++++++++++++++++++ meta/recipes-devtools/rpm/rpm_5.4.9.bb | 1 + 2 files changed, 68 insertions(+) create mode 100644 meta/recipes-devtools/rpm/rpm/debugedit-valid-file-to-fix-segment-fault.patch diff --git a/meta/recipes-devtools/rpm/rpm/debugedit-valid-file-to-fix-segment-fault.patch b/meta/recipes-devtools/rpm/rpm/debugedit-valid-file-to-fix-segment-fault.patch new file mode 100644 index 00000000000..2696cd3168d --- /dev/null +++ b/meta/recipes-devtools/rpm/rpm/debugedit-valid-file-to-fix-segment-fault.patch @@ -0,0 +1,67 @@ +debugedit: fix segment fault while file's bss offset have a large number + +While ELF_C_RDWR_MMAP was used, elf_begin invoked mmap() to map file +into memory. While the file's bss Offset has a large number, elf_update +caculated file size by __elf64_updatenull_wrlock and the size was +enlarged. + +In this situation, elf_update invoked ftruncate to enlarge the file, +and memory size (elf->maximum_size) also was incorrectly updated. +There was segment fault in elf_end which invoked munmap with the +length is the enlarged file size, not the mmap's length. + +Before the above operations, invoke elf_begin/elf_update/elf_end +with ELF_C_RDWR and ELF_F_LAYOUT set to enlarge the above file, it +could make sure the file is safe for the following elf operations. + +Upstream-Status: Pending +Signed-off-by: Hongxu Jia +--- + tools/debugedit.c | 25 +++++++++++++++++++++++++ + 1 file changed, 25 insertions(+) + +diff --git a/tools/debugedit.c b/tools/debugedit.c +--- a/tools/debugedit.c ++++ b/tools/debugedit.c +@@ -1512,6 +1512,28 @@ handle_build_id (DSO *dso, Elf_Data *build_id, + } + } + ++/* It avoided the segment fault while file's bss offset have a large number. ++ See https://bugzilla.redhat.com/show_bug.cgi?id=1019707 ++ https://bugzilla.redhat.com/show_bug.cgi?id=1020842 for detail. */ ++void valid_file(int fd) ++{ ++ Elf *elf = elf_begin (fd, ELF_C_RDWR, NULL); ++ if (elf == NULL) ++ { ++ error (1, 0, "elf_begin: %s", elf_errmsg (-1)); ++ return; ++ } ++ ++ elf_flagelf (elf, ELF_C_SET, ELF_F_LAYOUT); ++ ++ if (elf_update (elf, ELF_C_WRITE) < 0) ++ error (1, 0, "elf_update: %s", elf_errmsg (-1)); ++ ++ elf_end (elf); ++ ++ return; ++} ++ + int + main (int argc, char *argv[]) + { +@@ -1608,6 +1630,9 @@ main (int argc, char *argv[]) + exit (1); + } + ++ /* Make sure the file is valid. */ ++ valid_file(fd); ++ + dso = fdopen_dso (fd, file); + if (dso == NULL) + exit (1); +-- +1.8.1.2 + diff --git a/meta/recipes-devtools/rpm/rpm_5.4.9.bb b/meta/recipes-devtools/rpm/rpm_5.4.9.bb index 3c7e03b48a6..c2f22799e94 100644 --- a/meta/recipes-devtools/rpm/rpm_5.4.9.bb +++ b/meta/recipes-devtools/rpm/rpm_5.4.9.bb @@ -86,6 +86,7 @@ SRC_URI = "http://www.rpm5.org/files/rpm/rpm-5.4/rpm-5.4.9-0.20120508.src.rpm;ex file://rpm-platform2.patch \ file://rpm-remove-sykcparse-decl.patch \ file://debugedit-segv.patch \ + file://debugedit-valid-file-to-fix-segment-fault.patch \ file://rpm-platform-file-fix.patch \ file://rpm-lsb-compatibility.patch \ " From a975c8205c6c10ef154e66f52c4494280709506a Mon Sep 17 00:00:00 2001 From: Konrad Scherer Date: Mon, 21 Oct 2013 16:13:11 -0400 Subject: [PATCH 434/658] pigz: Add pigz to buildtools tarball When using the tar executable in the buildtools, tar will execute gzip. If this happens before zlib-native is built, then the gzip on the host will be used and can fail if the libz in the buildtools is not compatible. Adding pigz to the build tools avoids this host contamination. (From OE-Core master rev: af6424e8c2bf3a938fddabc669c0956d68964ed0) (From OE-Core rev: dd9945dd510d6e7764721bec5573591a0ad69ba4) Signed-off-by: Konrad Scherer Signed-off-by: Saul Wold Signed-off-by: Richard Purdie Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- meta/recipes-core/meta/buildtools-tarball.bb | 1 + meta/recipes-extended/pigz/pigz_2.3.bb | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/meta/recipes-core/meta/buildtools-tarball.bb b/meta/recipes-core/meta/buildtools-tarball.bb index 54fba11f8d8..9dabbd0b4db 100644 --- a/meta/recipes-core/meta/buildtools-tarball.bb +++ b/meta/recipes-core/meta/buildtools-tarball.bb @@ -39,6 +39,7 @@ TOOLCHAIN_HOST_TASK ?= "\ nativesdk-chrpath \ nativesdk-tar \ nativesdk-git \ + nativesdk-pigz \ nativesdk-make \ " diff --git a/meta/recipes-extended/pigz/pigz_2.3.bb b/meta/recipes-extended/pigz/pigz_2.3.bb index 724d00bcf7f..bf8dd9533f0 100644 --- a/meta/recipes-extended/pigz/pigz_2.3.bb +++ b/meta/recipes-extended/pigz/pigz_2.3.bb @@ -6,5 +6,5 @@ SRC_URI[sha256sum] = "74bbd5962f9420549fc987ddd1ccda692ec2b29d2d612fbbe26edf3fa3 NATIVE_PACKAGE_PATH_SUFFIX = "/${PN}" -BBCLASSEXTEND = "native" +BBCLASSEXTEND = "native nativesdk" From 7d675f1967d76904124fbe46a2b7636c300ec73e Mon Sep 17 00:00:00 2001 From: Tom Zanussi Date: Wed, 23 Oct 2013 22:49:01 -0500 Subject: [PATCH 435/658] wic: Remove selinux_check() This seems to be an obsolete check - we don't have any problems with image creation under selinux, so remove it. (From OE-Core master rev: 12e81eceab9e0a483765566ad3791b14718195b5) (From OE-Core rev: 28830d3988047023d3b47bcaf320f5efa4428da6) Signed-off-by: Tom Zanussi Signed-off-by: Saul Wold Signed-off-by: Richard Purdie Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- scripts/lib/mic/conf.py | 4 ---- 1 file changed, 4 deletions(-) diff --git a/scripts/lib/mic/conf.py b/scripts/lib/mic/conf.py index 58fad51f893..b850d805206 100644 --- a/scripts/lib/mic/conf.py +++ b/scripts/lib/mic/conf.py @@ -186,10 +186,6 @@ def _parse_kickstart(self, ksconf=None): self.create['name_prefix'], self.create['name_suffix']) - # check selinux, it will block arm and btrfs image creation - misc.selinux_check(self.create['arch'], - [p.fstype for p in ks.handler.partition.partitions]) - def set_runtime(self, runtime): if runtime not in ("bootstrap", "native"): msger.error("Invalid runtime mode: %s" % runtime) From 2421773925812efb0f80f89aac3acdecda1f1c3b Mon Sep 17 00:00:00 2001 From: Jonathan Liu Date: Thu, 24 Oct 2013 21:39:52 +1100 Subject: [PATCH 436/658] qt4: add upstream QTBUG-34218/QTBUG-34234 misaligned selection patch (From OE-Core master rev: 3af8f2e0697a9523d3b505ba4c48eca35f6de3a9) (From OE-Core rev: 438032411ea5d71a33b7b030752193867a90b9f7) Signed-off-by: Jonathan Liu Signed-off-by: Saul Wold Signed-off-by: Richard Purdie Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- meta/recipes-qt/qt4/qt4-4.8.5.inc | 1 + ...election-region-with-text-when-cente.patch | 75 +++++++++++++++++++ 2 files changed, 76 insertions(+) create mode 100644 meta/recipes-qt/qt4/qt4-4.8.5/0025-Fix-misaligned-selection-region-with-text-when-cente.patch diff --git a/meta/recipes-qt/qt4/qt4-4.8.5.inc b/meta/recipes-qt/qt4/qt4-4.8.5.inc index 99359927cbc..dcbf26ff12d 100644 --- a/meta/recipes-qt/qt4/qt4-4.8.5.inc +++ b/meta/recipes-qt/qt4/qt4-4.8.5.inc @@ -24,6 +24,7 @@ SRC_URI = "http://download.qt-project.org/official_releases/qt/4.8/${PV}/qt-ever file://0022-Fix-drawing-of-0-width-polylines-from-outside-the-de.patch \ file://0023-QHttpMultiPart-fix-data-corruption-in-readData-metho.patch \ file://0024-Ensure-lastPixel.y-is-also-initalized-to-1-when-nece.patch \ + file://0025-Fix-misaligned-selection-region-with-text-when-cente.patch \ file://0027-tools.pro-disable-qmeegographicssystemhelper.patch \ file://g++.conf \ file://linux.conf \ diff --git a/meta/recipes-qt/qt4/qt4-4.8.5/0025-Fix-misaligned-selection-region-with-text-when-cente.patch b/meta/recipes-qt/qt4/qt4-4.8.5/0025-Fix-misaligned-selection-region-with-text-when-cente.patch new file mode 100644 index 00000000000..964bcf8efbd --- /dev/null +++ b/meta/recipes-qt/qt4/qt4-4.8.5/0025-Fix-misaligned-selection-region-with-text-when-cente.patch @@ -0,0 +1,75 @@ +From c368cbad3a505d44894ff150dc25c74d0174ca15 Mon Sep 17 00:00:00 2001 +From: Jonathan Liu +Date: Wed, 23 Oct 2013 00:28:17 +1100 +Subject: [PATCH] Fix misaligned selection region with text when centered + +If the text is centered, the x/y position in the selection QRectF may +be a multiple of 0.5 which is rounded up. This rounding causes +misalignment of the selection region with the text. + +The alignment is fixed by using qFloor on the x and y components. + +Upstream-Status: Accepted [https://codereview.qt-project.org/#change,68935] +Signed-off-by: Jonathan Liu + +Task-number: QTBUG-34218 +Task-number: QTBUG-34234 +Change-Id: I4f2fadeb38602f62a93773c6e5faecf03b28069f +Reviewed-by: Gunnar Sletta +(cherry picked from qtbase/5d8a882c11201a29475c5ea71cfb76c9de6573f5) +--- + src/gui/text/qtextlayout.cpp | 19 ++++++++++++++----- + 1 file changed, 14 insertions(+), 5 deletions(-) + +diff --git a/src/gui/text/qtextlayout.cpp b/src/gui/text/qtextlayout.cpp +index 3d340cb..8d652ea 100644 +--- a/src/gui/text/qtextlayout.cpp ++++ b/src/gui/text/qtextlayout.cpp +@@ -44,6 +44,7 @@ + + #include + #include ++#include + #include + #include + #include +@@ -979,15 +980,23 @@ static void addSelectedRegionsToPath(QTextEngine *eng, int lineNumber, const QPo + continue; + } + +- if (lastSelectionWidth > 0) +- region->addRect(boundingRect & QRectF(lastSelectionX.toReal(), selectionY, lastSelectionWidth.toReal(), lineHeight)); ++ if (lastSelectionWidth > 0) { ++ QRectF rect = boundingRect & QRectF(lastSelectionX.toReal(), selectionY, lastSelectionWidth.toReal(), lineHeight); ++ rect.moveLeft(qFloor(rect.left())); ++ rect.moveTop(qFloor(rect.top())); ++ region->addRect(rect); ++ } + + lastSelectionX = selectionX; + lastSelectionWidth = selectionWidth; + } + } +- if (lastSelectionWidth > 0) +- region->addRect(boundingRect & QRectF(lastSelectionX.toReal(), selectionY, lastSelectionWidth.toReal(), lineHeight)); ++ if (lastSelectionWidth > 0) { ++ QRectF rect = boundingRect & QRectF(lastSelectionX.toReal(), selectionY, lastSelectionWidth.toReal(), lineHeight); ++ rect.moveLeft(qFloor(rect.left())); ++ rect.moveTop(qFloor(rect.top())); ++ region->addRect(rect); ++ } + } + + static inline QRectF clipIfValid(const QRectF &rect, const QRectF &clip) +@@ -2081,7 +2090,7 @@ static void setPenAndDrawBackground(QPainter *p, const QPen &defaultPen, const Q + + QBrush bg = chf.background(); + if (bg.style() != Qt::NoBrush && !chf.property(SuppressBackground).toBool()) +- p->fillRect(r, bg); ++ p->fillRect(QRectF(qFloor(r.x()), qFloor(r.y()), r.width(), r.height()), bg); + if (c.style() != Qt::NoBrush) { + p->setPen(QPen(c, 0)); + } +-- +1.8.4 + From 348944397cd3b97b79de1bcd6823301a6fb416f0 Mon Sep 17 00:00:00 2001 From: Konrad Scherer Date: Wed, 23 Oct 2013 14:33:18 -0400 Subject: [PATCH 437/658] pixbufcache.bbclass: gdk-pixbuf-query-loaders depends on libz ldd sysroots/x86_64-linux/usr/bin/gdk-pixbuf-query-loaders.real libz.so.1 => /sysroots/x86_64-linux/usr/bin/../../usr/lib/libz.so.1 (0x00007fab55393000) If zlib-native has not been unpacked, host libz is used which can fail. (From OE-Core master rev: 8422c759ae674856aaaee176eab5a395a620443c) (From OE-Core rev: b9ae15b45768d25c44a9484b4a156a15da548bd9) Signed-off-by: Konrad Scherer Signed-off-by: Saul Wold Signed-off-by: Richard Purdie Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- meta/classes/pixbufcache.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/classes/pixbufcache.bbclass b/meta/classes/pixbufcache.bbclass index d46a8ba206b..0fe5163912a 100644 --- a/meta/classes/pixbufcache.bbclass +++ b/meta/classes/pixbufcache.bbclass @@ -65,5 +65,5 @@ pixbufcache_sstate_postinst() { # Packages that use this class should extend this variable with their runtime # dependencies. PIXBUFCACHE_SYSROOT_DEPS = "" -PIXBUFCACHE_SYSROOT_DEPS_class-native = "${@['gdk-pixbuf-native:do_populate_sysroot_setscene', '']['${BPN}' == 'gdk-pixbuf']} glib-2.0-native:do_populate_sysroot_setscene libffi-native:do_populate_sysroot_setscene libpng-native:do_populate_sysroot_setscene" +PIXBUFCACHE_SYSROOT_DEPS_class-native = "${@['gdk-pixbuf-native:do_populate_sysroot_setscene', '']['${BPN}' == 'gdk-pixbuf']} glib-2.0-native:do_populate_sysroot_setscene libffi-native:do_populate_sysroot_setscene libpng-native:do_populate_sysroot_setscene zlib-native:do_populate_sysroot_setscene" do_populate_sysroot_setscene[depends] += "${PIXBUFCACHE_SYSROOT_DEPS}" From a30af0dc1f658bff3c5da0d1e7b754397fd80ef7 Mon Sep 17 00:00:00 2001 From: Roy Li Date: Wed, 23 Oct 2013 17:05:41 +0800 Subject: [PATCH 438/658] libcap: fix CAP_LAST_CAP (From OE-Core master rev: 9032c10cc882a96acdfd0739f090d121ab625a18) (From OE-Core rev: c191cb79019482a5c6a404e02184bae40ff9f84a) Signed-off-by: Roy Li Signed-off-by: Saul Wold Signed-off-by: Richard Purdie Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- meta/recipes-support/libcap/libcap.inc | 3 +- .../libcap/libcap/fix-CAP_LAST_CAP.patch | 39 +++++++++++++++++++ 2 files changed, 41 insertions(+), 1 deletion(-) create mode 100644 meta/recipes-support/libcap/libcap/fix-CAP_LAST_CAP.patch diff --git a/meta/recipes-support/libcap/libcap.inc b/meta/recipes-support/libcap/libcap.inc index 772057f5107..1b11b85554b 100644 --- a/meta/recipes-support/libcap/libcap.inc +++ b/meta/recipes-support/libcap/libcap.inc @@ -10,7 +10,8 @@ DEPENDS += "${@base_contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}" # attr and pam are disabled by EXTRA_OEMAKE_class-native DEPENDS_class-native = "perl-native-runtime" -SRC_URI = "${DEBIAN_MIRROR}/main/libc/libcap2/${BPN}2_${PV}.orig.tar.gz" +SRC_URI = "${DEBIAN_MIRROR}/main/libc/libcap2/${BPN}2_${PV}.orig.tar.gz \ + file://fix-CAP_LAST_CAP.patch" PR = "r1" diff --git a/meta/recipes-support/libcap/libcap/fix-CAP_LAST_CAP.patch b/meta/recipes-support/libcap/libcap/fix-CAP_LAST_CAP.patch new file mode 100644 index 00000000000..a5571883d3b --- /dev/null +++ b/meta/recipes-support/libcap/libcap/fix-CAP_LAST_CAP.patch @@ -0,0 +1,39 @@ +fix CAP_LAST_CAP + +Upstream-Status: pending + +Two new capability CAP_BLOCK_SUSPEND and CAP_WAKE_ALARM have been added into +kernel, but libcap did not update them. +Once libcap uses its capability.h (the default value of KERNEL_HEADERS), and +application always use capability.h from kernel, that will make cap_get_flag +return wrong value. + +Signed-off-by: Roy Li +--- + libcap/include/linux/capability.h | 10 +++++++++- + 1 file changed, 9 insertions(+), 1 deletion(-) + +diff --git a/libcap/include/linux/capability.h b/libcap/include/linux/capability.h +index 4924f2a..57026be 100644 +--- a/libcap/include/linux/capability.h ++++ b/libcap/include/linux/capability.h +@@ -360,7 +360,15 @@ struct cpu_vfs_cap_data { + CAP_SYS_ADMIN is not acceptable anymore. */ + #define CAP_SYSLOG 34 + +-#define CAP_LAST_CAP CAP_SYSLOG ++/* Allow triggering something that will wake the system */ ++ ++#define CAP_WAKE_ALARM 35 ++ ++/* Allow preventing system suspends */ ++ ++#define CAP_BLOCK_SUSPEND 36 ++ ++#define CAP_LAST_CAP CAP_BLOCK_SUSPEND + + #define cap_valid(x) ((x) >= 0 && (x) <= CAP_LAST_CAP) + +-- +1.7.10.4 + From dc769690ecb894ec1f95d694812f0fd7d87420c4 Mon Sep 17 00:00:00 2001 From: Lu Chong Date: Tue, 22 Oct 2013 17:40:22 +0800 Subject: [PATCH 439/658] dbus: no messages of status command print /etc/init.d/dbus-1 use "set -e" to let the script exit when any command failes. This will cause "/etc/init.d/dbus-1 status" command can't display messages when dbus is stopped. (From OE-Core master rev: 9844b5e2a544b2c2f76aac497c3a2cdfcc46577c) (From OE-Core rev: 486d5d7e891df3fb2ce8d975d13625b11334814b) Signed-off-by: Lu Chong Signed-off-by: Saul Wold Signed-off-by: Richard Purdie Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- meta/recipes-core/dbus/dbus-1.6.10/dbus-1.init | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/recipes-core/dbus/dbus-1.6.10/dbus-1.init b/meta/recipes-core/dbus/dbus-1.6.10/dbus-1.init index 04025e65f89..42c86297c3d 100644 --- a/meta/recipes-core/dbus/dbus-1.6.10/dbus-1.init +++ b/meta/recipes-core/dbus/dbus-1.6.10/dbus-1.init @@ -14,7 +14,7 @@ # Debian init.d script for D-BUS # Copyright © 2003 Colin Walters -set -e +# set -e # Source function library. . /etc/init.d/functions From 85bacab3a41cec937603a3ef2e880b17ce601a0c Mon Sep 17 00:00:00 2001 From: Qiang Chen Date: Mon, 28 Oct 2013 13:15:54 +0800 Subject: [PATCH 440/658] openssl: create package for openssl configuration file * Add the openssl-conf package to the list of packages to be created. This package contains the openssl.cnf file which is used by both the openssl executable in the openssl package and the libcrypto library. * This is to avoid messages like: WARNING: can't open config file: /usr/lib/ssl/openssl.cnf * When running "openssl req" to request and generate a certificate the command will fail without the openssl.cnf file being installed on the target system. * Made this package an RRECOMMENDS for libcrypto since: * libcrypto is a RDEPENDS for the openssl package * Users can specify a configuration file at another location so it is not stricly required and many commands will work without it (with warnings) (From OE-Core master rev: 5c3ec044838e23539f9fe4cc74da4db2e5b59166) (From OE-Core rev: bf6ef555caf92b2a013f15d258bf40997247a150) Signed-off-by: Chase Maupin Signed-off-by: Qiang Chen Signed-off-by: Saul Wold Signed-off-by: Richard Purdie Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- meta/recipes-connectivity/openssl/openssl.inc | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/meta/recipes-connectivity/openssl/openssl.inc b/meta/recipes-connectivity/openssl/openssl.inc index 78ff7ae2f10..f4b786a1796 100644 --- a/meta/recipes-connectivity/openssl/openssl.inc +++ b/meta/recipes-connectivity/openssl/openssl.inc @@ -33,13 +33,21 @@ export AS = "${CC} -c" inherit pkgconfig siteinfo multilib_header -PACKAGES =+ "libcrypto libssl ${PN}-misc" +PACKAGES =+ "libcrypto libssl ${PN}-misc openssl-conf" FILES_libcrypto = "${base_libdir}/libcrypto${SOLIBS}" FILES_libssl = "${libdir}/libssl.so.*" FILES_${PN} =+ " ${libdir}/ssl/*" -FILES_${PN}-misc = "${libdir}/ssl/misc ${libdir}/ssl/openssl.cnf" +FILES_${PN}-misc = "${libdir}/ssl/misc" FILES_${PN}-dev += "${base_libdir}/libcrypto${SOLIBSDEV}" +# Add the openssl.cnf file to the openssl-conf package. Make the libcrypto +# package RRECOMMENDS on this package. This will enable the configuration +# file to be installed for both the base openssl package and the libcrypto +# package since the base openssl package depends on the libcrypto package. +FILES_openssl-conf = "${libdir}/ssl/openssl.cnf" +CONFFILES_openssl-conf = "${libdir}/ssl/openssl.cnf" +RRECOMMENDS_libcrypto += "openssl-conf" + do_configure_prepend_darwin () { sed -i -e '/version-script=openssl\.ld/d' Configure } From f8496bd09ebcafc8e52a789596cc6f5802012886 Mon Sep 17 00:00:00 2001 From: Gary Thomas Date: Wed, 30 Oct 2013 10:09:25 -0600 Subject: [PATCH 441/658] core-image-basic.bb: Allow user extensions Allow the user to provide additional packages to this image. This lets core-image-basic behave like all other core-image* recipes (which do support CORE_IMAGE_EXTRA_INSTALL), as well as match the documentation which suggests this as the mode to extend any core-image* image. v2 - drop redundant setting of CORE_IMAGE_EXTRA_INSTALL (From OE-Core master rev: 5faabf398819d40b55c46bc83ae03942d115024b) (From OE-Core rev: cdda59d2850b163ced4dfc847c4e114f8592ae52) Signed-off-by: Gary Thomas Signed-off-by: Richard Purdie Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- meta/recipes-extended/images/core-image-basic.bb | 1 + 1 file changed, 1 insertion(+) diff --git a/meta/recipes-extended/images/core-image-basic.bb b/meta/recipes-extended/images/core-image-basic.bb index 091f57db744..d599e720f11 100644 --- a/meta/recipes-extended/images/core-image-basic.bb +++ b/meta/recipes-extended/images/core-image-basic.bb @@ -6,6 +6,7 @@ IMAGE_FEATURES += "splash ssh-server-openssh" IMAGE_INSTALL = "\ packagegroup-core-boot \ packagegroup-core-basic \ + ${CORE_IMAGE_EXTRA_INSTALL} \ " inherit core-image From 9f52614bd699ae6d51c6460f604b84dd16c77567 Mon Sep 17 00:00:00 2001 From: Paul Eggleton Date: Wed, 30 Oct 2013 15:41:43 +0000 Subject: [PATCH 442/658] classes/ptest: fix quoting BitBake currently allows using the same quotes outside and inside the value, but it isn't really right, looks odd and might stop working in future. (From OE-Core master rev: 0af9cf31851896276a219170001047406f45de50) (From OE-Core rev: 4051c98ebfe79614d1284b38442d5a3290bb4ad1) Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- meta/classes/ptest.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/classes/ptest.bbclass b/meta/classes/ptest.bbclass index d67b4e659fc..7cc8d26d8c2 100644 --- a/meta/classes/ptest.bbclass +++ b/meta/classes/ptest.bbclass @@ -10,7 +10,7 @@ PTEST_PATH ?= "${libdir}/${PN}/ptest" FILES_${PN}-ptest = "${PTEST_PATH}" SECTION_${PN}-ptest = "devel" ALLOW_EMPTY_${PN}-ptest = "1" -PTEST_ENABLED = "${@base_contains("DISTRO_FEATURES", "ptest", "1", "0", d)}" +PTEST_ENABLED = "${@base_contains('DISTRO_FEATURES', 'ptest', '1', '0', d)}" RDEPENDS_${PN}-ptest_virtclass-native = "" RDEPENDS_${PN}-ptest_virtclass-nativesdk = "" From 52bc1c3dd72916dccf82c7ff1eb8fda9d2d12fc3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Wed, 16 Oct 2013 13:27:55 +0200 Subject: [PATCH 443/658] systemd-compat-units: run-postinsts fix script link MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit in commit fe039170236080291c0220476a5809774f82ee5c Author: Muhammad Shakeel Date: Wed Oct 2 10:55:32 2013 +0000 systemd-compat-units: Use correct run-postinsts script link OE-Core commit 75a14923da1ba91eddde47f0907345c19c82d6f0 has moved run-postinsts script execution from S98 to S99 in rcS.d. run-postinsts.service should check for this script and run it on first boot rather than S98run-postinsts, which is for opkg/dpkg. the link was corrected but the mentioned commit is not available. Instead of reverting, we use the same variable as opkg for init script ordering and drop a note in case somebody wants to change default. (From OE-Core master rev: 7aabc9408fb382f0ae39f9932b6d9ac391528b76) (From OE-Core rev: 91a51e10392c0f802d6c329ad2b11ae82c55f171) Signed-off-by: Andreas Müller Signed-off-by: Saul Wold Signed-off-by: Richard Purdie Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- meta/recipes-core/systemd/systemd-compat-units.bb | 8 +++++++- .../systemd/systemd-compat-units/run-postinsts.service | 4 ++-- meta/recipes-devtools/opkg/opkg.inc | 2 ++ 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/meta/recipes-core/systemd/systemd-compat-units.bb b/meta/recipes-core/systemd/systemd-compat-units.bb index c47c14bf957..6eb5ffd985f 100644 --- a/meta/recipes-core/systemd/systemd-compat-units.bb +++ b/meta/recipes-core/systemd/systemd-compat-units.bb @@ -14,6 +14,8 @@ SRC_URI = "file://*.service" do_install() { install -d ${D}${systemd_unitdir}/system/basic.target.wants install -d ${D}${systemd_unitdir}/system/sysinit.target.wants/ + sed -i -e 's,@POSTINSTALL_INITPOSITION@,${POSTINSTALL_INITPOSITION},g' \ + ${WORKDIR}/run-postinsts.service install -m 0644 ${WORKDIR}/run-postinsts.service ${D}${systemd_unitdir}/system ln -sf ../run-postinsts.service ${D}${systemd_unitdir}/system/basic.target.wants/ ln -sf ../run-postinsts.service ${D}${systemd_unitdir}/system/sysinit.target.wants/ @@ -53,4 +55,8 @@ pkg_postinst_${PN} () { FILES_${PN} = "${systemd_unitdir}/system ${bindir}" RDPEPENDS_${PN} = "systemd" - +# Define a variable to allow distros to run configure earlier. +# (for example, to enable loading of ethernet kernel modules before networking starts) +# note: modifying name or default value for POSTINSTALL_INITPOSITION requires +# changes in opkg.inc +POSTINSTALL_INITPOSITION ?= "98" diff --git a/meta/recipes-core/systemd/systemd-compat-units/run-postinsts.service b/meta/recipes-core/systemd/systemd-compat-units/run-postinsts.service index 4ebc2344cfe..35cf3d32de8 100644 --- a/meta/recipes-core/systemd/systemd-compat-units/run-postinsts.service +++ b/meta/recipes-core/systemd/systemd-compat-units/run-postinsts.service @@ -1,12 +1,12 @@ [Unit] Description=Run pending postinsts DefaultDependencies=no -ConditionPathExists=|/etc/rcS.d/S99run-postinsts +ConditionPathExists=|/etc/rcS.d/S@POSTINSTALL_INITPOSITION@run-postinsts After=systemd-remount-fs.service systemd-tmpfiles-setup.service tmp.mount Before=sysinit.target [Service] -ExecStart=/etc/rcS.d/S99run-postinsts +ExecStart=/etc/rcS.d/S@POSTINSTALL_INITPOSITION@run-postinsts RemainAfterExit=No Type=oneshot StandardOutput=syslog diff --git a/meta/recipes-devtools/opkg/opkg.inc b/meta/recipes-devtools/opkg/opkg.inc index 3d568867d4b..78724f359bd 100644 --- a/meta/recipes-devtools/opkg/opkg.inc +++ b/meta/recipes-devtools/opkg/opkg.inc @@ -104,4 +104,6 @@ BBCLASSEXTEND = "native nativesdk" # Define a variable to allow distros to run configure earlier. # (for example, to enable loading of ethernet kernel modules before networking starts) +# note: modifying name or default value for POSTINSTALL_INITPOSITION requires +# changes in systemd-compat-units.bb POSTINSTALL_INITPOSITION ?= "98" From 11d9127ac57514394f8297f9fdfc7b31e163fcb8 Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Thu, 17 Oct 2013 12:22:35 +0100 Subject: [PATCH 444/658] cross-canadian: Handle powerpc linux verses linux-gnuspe PowerPC toolchains can use the OS "linux" or "linux-gnuspe". This patch links them together so the one cross-canadian toolchain can support both. GCC_FOR_TARGET is set for the GCC recipe as otherwise configure can pick up an incorrect value. [YOCTO #5354] (From OE-Core master rev: a1d6331238982b0c5d39b0a18794f6654b00d46a) (From OE-Core rev: b114b045687776ebc5c805e1f19758e7e37eebf2) Signed-off-by: Richard Purdie Signed-off-by: Saul Wold Signed-off-by: Richard Purdie Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- meta/classes/cross-canadian.bbclass | 31 +++++++++++++++++++ .../binutils/binutils-cross-canadian.inc | 2 ++ .../gcc/gcc-cross-canadian.inc | 5 ++- .../gdb/gdb-cross-canadian.inc | 1 + 4 files changed, 38 insertions(+), 1 deletion(-) diff --git a/meta/classes/cross-canadian.bbclass b/meta/classes/cross-canadian.bbclass index 7181c60d5fc..c9742128e57 100644 --- a/meta/classes/cross-canadian.bbclass +++ b/meta/classes/cross-canadian.bbclass @@ -15,12 +15,30 @@ STAGING_BINDIR_TOOLCHAIN = "${STAGING_DIR_NATIVE}${bindir_native}/${SDK_ARCH}${S # Update BASE_PACKAGE_ARCH and PACKAGE_ARCHS # PACKAGE_ARCH = "${SDK_ARCH}-${SDKPKGSUFFIX}" +CANADIANEXTRAOS = "" python () { archs = d.getVar('PACKAGE_ARCHS', True).split() sdkarchs = [] for arch in archs: sdkarchs.append(arch + '-${SDKPKGSUFFIX}') d.setVar('PACKAGE_ARCHS', " ".join(sdkarchs)) + + # PowerPC can build "linux" and "linux-gnuspe" + tarch = d.getVar("TARGET_ARCH", True) + if tarch == "powerpc": + tos = d.getVar("TARGET_OS", True) + if (tos != "linux" and tos != "linux-gnuspe"): + bb.fatal("Building cross-candian powerpc for an unknown TARGET_SYS (%s), please update cross-canadian.bbclass" % d.getVar("TARGET_SYS", True)) + # Have to expand DEPENDS before we change the extensions + d.setVar("DEPENDS", d.getVar("DEPENDS", True)) + d.setVar("STAGING_BINDIR_TOOLCHAIN", d.getVar("STAGING_BINDIR_TOOLCHAIN", True)) + for prefix in ["AR", "AS", "DLLTOOL", "CC", "CXX", "GCC", "LD", "LIPO", "NM", "OBJDUMP", "RANLIB", "STRIP", "WINDRES"]: + n = prefix + "_FOR_TARGET" + d.setVar(n, d.getVar(n, True)) + + d.setVar("LIBCEXTENSION", "") + d.setVar("ABIEXTENSION", "") + d.setVar("CANADIANEXTRAOS", "linux-gnuspe") } MULTIMACH_TARGET_SYS = "${PACKAGE_ARCH}${HOST_VENDOR}-${HOST_OS}" @@ -100,3 +118,16 @@ TARGET_ARCH[vardepsexclude] = "TUNE_ARCH" # points to the wrong place so force it SHLIBSDIRS = "${PKGDATA_DIR}/nativesdk-shlibs" SHLIBSWORKDIR = "${PKGDATA_DIR}/nativesdk-shlibs" + +cross_canadian_bindirlinks () { + for i in ${CANADIANEXTRAOS} + do + d=${D}${bindir}/../${TARGET_ARCH}${TARGET_VENDOR}-$i + install -d $d + for j in `ls ${D}${bindir}` + do + p=${TARGET_ARCH}${TARGET_VENDOR}-$i-`echo $j | sed -e s,${TARGET_PREFIX},,` + ln -s ../${TARGET_SYS}/$j $d/$p + done + done +} diff --git a/meta/recipes-devtools/binutils/binutils-cross-canadian.inc b/meta/recipes-devtools/binutils/binutils-cross-canadian.inc index 2da90176613..81349c083ce 100644 --- a/meta/recipes-devtools/binutils/binutils-cross-canadian.inc +++ b/meta/recipes-devtools/binutils/binutils-cross-canadian.inc @@ -22,6 +22,8 @@ do_install () { rm -f ${D}${libdir}/libiberty* rm -f ${D}${libdir}/libopcodes* rm -f ${D}${includedir}/*.h + + cross_canadian_bindirlinks } BBCLASSEXTEND = "" diff --git a/meta/recipes-devtools/gcc/gcc-cross-canadian.inc b/meta/recipes-devtools/gcc/gcc-cross-canadian.inc index 64bb6ba7229..900f1e594fd 100644 --- a/meta/recipes-devtools/gcc/gcc-cross-canadian.inc +++ b/meta/recipes-devtools/gcc/gcc-cross-canadian.inc @@ -29,6 +29,7 @@ export AS_FOR_TARGET = "${TARGET_PREFIX}as" export DLLTOOL_FOR_TARGET = "${TARGET_PREFIX}dlltool" export CC_FOR_TARGET = "${TARGET_PREFIX}gcc" export CXX_FOR_TARGET = "${TARGET_PREFIX}g++" +export GCC_FOR_TARGET = "${TARGET_PREFIX}gcc" export LD_FOR_TARGET = "${TARGET_PREFIX}ld" export LIPO_FOR_TARGET = "${TARGET_PREFIX}lipo" export NM_FOR_TARGET = "${TARGET_PREFIX}nm" @@ -69,7 +70,7 @@ EXCLUDE_FROM_SHLIBS = "1" PACKAGES = "${PN} ${PN}-doc" FILES_${PN} = "\ - ${bindir}/* \ + ${exec_prefix}/bin/* \ ${libexecdir}/gcc/${TARGET_SYS}/${BINV}/* \ ${gcclibdir}/${TARGET_SYS}/${BINV}/*.o \ ${gcclibdir}/${TARGET_SYS}/${BINV}/specs \ @@ -137,6 +138,8 @@ do_install () { done chown -R root:root ${D} + + cross_canadian_bindirlinks } ELFUTILS = "nativesdk-elfutils" diff --git a/meta/recipes-devtools/gdb/gdb-cross-canadian.inc b/meta/recipes-devtools/gdb/gdb-cross-canadian.inc index 3cb347b4c5a..653f52baaf0 100644 --- a/meta/recipes-devtools/gdb/gdb-cross-canadian.inc +++ b/meta/recipes-devtools/gdb/gdb-cross-canadian.inc @@ -31,5 +31,6 @@ EOF # right bits installed by binutils. do_install_append() { rm -rf ${D}${exec_prefix}/lib + cross_canadian_bindirlinks } From 9134463e4d823284bf4abf8cc68b06175f216fe5 Mon Sep 17 00:00:00 2001 From: Joe Slater Date: Tue, 29 Oct 2013 10:17:04 -0700 Subject: [PATCH 445/658] vala.bbclass: add dependency on vala This class points the inheritor, if it is a target, to directories in the target sysroot, so we want to be sure the .vapi files are there. (From OE-Core master rev: 2da8bbd47686f54efeec521d521f176f6aeb8d39) (From OE-Core rev: e68307c3fb0a02efe5e0789a58686f343c842707) Signed-off-by: Joe Slater Signed-off-by: Saul Wold Signed-off-by: Richard Purdie Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- meta/classes/vala.bbclass | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/meta/classes/vala.bbclass b/meta/classes/vala.bbclass index c7db08ceebd..0b7803b251d 100644 --- a/meta/classes/vala.bbclass +++ b/meta/classes/vala.bbclass @@ -1,9 +1,12 @@ # Vala has problems with multiple concurrent invocations PARALLEL_MAKE = "" -# Vala needs vala-native -DEPENDS += "vala-native" -DEPENDS_virtclass-native += "vala-native" +# Everyone needs vala-native and targets need vala, too, +# because that is where target builds look for .vapi files. +# +VALADEPENDS = "" +VALADEPENDS_class-target = "vala" +DEPENDS_append = " vala-native ${VALADEPENDS}" # Our patched version of Vala looks in STAGING_DATADIR for .vapi files export STAGING_DATADIR From 9be52e5f42094da9fb820a7aef871d5f7ef9e077 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=B8ren=20Holm?= Date: Tue, 29 Oct 2013 00:16:49 +0100 Subject: [PATCH 446/658] e2fsprogs: Escape filenames in populate-extfs.sh Without this patch filenames containing spaces do not get into the final ext2/3/4 filsystem. [YOCTO #5401] (From OE-Core master rev: 1350b461ed0c9d4afa1ab909a5b1ff60fb160c97) (From OE-Core rev: 62d01b10508f86ca825ebc24773dfa2b485b4292) Signed-off-by: Saul Wold Signed-off-by: Richard Purdie Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- .../e2fsprogs-1.42.8/populate-extfs.sh | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/meta/recipes-devtools/e2fsprogs/e2fsprogs-1.42.8/populate-extfs.sh b/meta/recipes-devtools/e2fsprogs/e2fsprogs-1.42.8/populate-extfs.sh index 9eff0308202..7de720b115a 100644 --- a/meta/recipes-devtools/e2fsprogs/e2fsprogs-1.42.8/populate-extfs.sh +++ b/meta/recipes-devtools/e2fsprogs/e2fsprogs-1.42.8/populate-extfs.sh @@ -35,7 +35,7 @@ DEBUGFS="debugfs" fi # Only stat once since stat is a time consuming command - STAT=$(stat -c "TYPE=\"%F\";DEVNO=\"0x%t 0x%T\";MODE=\"%f\";U=\"%u\";G=\"%g\"" $FILE) + STAT=$(stat -c "TYPE=\"%F\";DEVNO=\"0x%t 0x%T\";MODE=\"%f\";U=\"%u\";G=\"%g\"" "$FILE") eval $STAT case $TYPE in @@ -43,20 +43,20 @@ DEBUGFS="debugfs" echo "mkdir $TGT" ;; "regular file" | "regular empty file") - echo "write $FILE $TGT" + echo "write \"$FILE\" \"$TGT\"" ;; "symbolic link") - LINK_TGT=$(readlink $FILE) - echo "symlink $TGT $LINK_TGT" + LINK_TGT=$(readlink "$FILE") + echo "symlink \"$TGT\" \"$LINK_TGT\"" ;; "block special file") - echo "mknod $TGT b $DEVNO" + echo "mknod \"$TGT\" b $DEVNO" ;; "character special file") - echo "mknod $TGT c $DEVNO" + echo "mknod \"$TGT\" c $DEVNO" ;; "fifo") - echo "mknod $TGT p" + echo "mknod \"$TGT\" p" ;; *) echo "Unknown/unhandled file type '$TYPE' file: $FILE" 1>&2 @@ -64,11 +64,11 @@ DEBUGFS="debugfs" esac # Set the file mode - echo "sif $TGT mode 0x$MODE" + echo "sif \"$TGT\" mode 0x$MODE" # Set uid and gid - echo "sif $TGT uid $U" - echo "sif $TGT gid $G" + echo "sif \"$TGT\" uid $U" + echo "sif \"$TGT\" gid $G" done # Handle the hard links. From 664eb433d91185091e0f2101f49f6a8d772311a0 Mon Sep 17 00:00:00 2001 From: Seth Bollinger Date: Sat, 26 Oct 2013 09:23:24 -0500 Subject: [PATCH 447/658] ncurses-terminfo: Remove bashism from basic terminfo installation The vtX terminfo files aren't being copied on systems where bash isn't the default shell (debian, etc.). I removed the bash specific syntax so the files are properly copied on these systems. (From OE-Core master rev: edd7d53c6149b27d5636a458db91650c8c400612) (From OE-Core rev: ccb25cd9df9ed4b84b74170336cfde5c1dc3d013) Signed-off-by: Seth Bollinger Signed-off-by: Saul Wold Signed-off-by: Richard Purdie Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- meta/recipes-core/ncurses/ncurses.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/recipes-core/ncurses/ncurses.inc b/meta/recipes-core/ncurses/ncurses.inc index 671daf89ec9..01cdf132dac 100644 --- a/meta/recipes-core/ncurses/ncurses.inc +++ b/meta/recipes-core/ncurses/ncurses.inc @@ -174,7 +174,7 @@ shell_do_install() { # include some basic terminfo files # stolen ;) from gentoo and modified a bit - for x in ansi console dumb linux rxvt screen sun vt{52,100,102,200,220} xterm-color xterm-xfree86 xterm-256color + for x in ansi console dumb linux rxvt screen sun vt52 vt100 vt102 vt200 vt220 xterm-color xterm-xfree86 xterm-256color do local termfile="$(find "${D}${datadir}/terminfo/" -name "${x}" 2>/dev/null)" local basedir="$(basename $(dirname "${termfile}"))" From 2e127d4775f55de34b19782be25c7ff933822263 Mon Sep 17 00:00:00 2001 From: Jason Wessel Date: Tue, 29 Oct 2013 22:04:32 -0500 Subject: [PATCH 448/658] syslinux.bbclass: Fix default serial port string The default value of SYSLINUX_SERIAL_TTY is not correct. It should be console=ttyS0,115200 else the boot string generated in the syslinux menus for the serial choice is not correct. The kernel boot parameters will get set to: /vmlinuz initrd=/initrd LABEL=boot root=/dev/ram0 ttyS0,115200 Note that the above is missing the "console=" The default value will now work the same as the value found in grub-efi.bbclass. (From OE-Core master rev: fbc864241933c6f40814f47e7a85dd71ce255393) (From OE-Core rev: 042e0f59d058c5caad4a3b8e8f08ec724d5c837b) Signed-off-by: Jason Wessel Signed-off-by: Saul Wold Signed-off-by: Richard Purdie Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- meta/classes/syslinux.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/classes/syslinux.bbclass b/meta/classes/syslinux.bbclass index 944bd92da25..2a5b7660bc7 100644 --- a/meta/classes/syslinux.bbclass +++ b/meta/classes/syslinux.bbclass @@ -27,7 +27,7 @@ SYSLINUXDIR = "/" # a console=...some_tty... SYSLINUX_DEFAULT_CONSOLE ?= "" SYSLINUX_SERIAL ?= "0 115200" -SYSLINUX_SERIAL_TTY ?= "ttyS0,115200" +SYSLINUX_SERIAL_TTY ?= "console=ttyS0,115200" ISO_BOOTIMG = "isolinux/isolinux.bin" ISO_BOOTCAT = "isolinux/boot.cat" MKISOFS_OPTIONS = "-no-emul-boot -boot-load-size 4 -boot-info-table" From d19f1a030e5e6dbc8b105a8525bef6d4611f5772 Mon Sep 17 00:00:00 2001 From: Joao Henrique Ferreira de Freitas Date: Wed, 30 Oct 2013 08:37:42 -0200 Subject: [PATCH 449/658] grub-efi.bbclass: Fixes GRUB_IMAGE when using boot-directdisk class When boot-directdisk class is used and EFI boot is set the grub-efi-${TRANSLATED_TARGET_ARCH}-native need to be dependent. Allowing GRUB_IMAGE to be created and bootia32.efi got from the image directory. (From OE-Core master rev: b9778975db410b8cd01ef6854c7cd3ea22a0b5b7) (From OE-Core rev: b14ba80d22f4892a4d9269dbf982b2f88109da98) Signed-off-by: Joao Henrique Ferreira de Freitas Signed-off-by: Saul Wold Signed-off-by: Richard Purdie Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- meta/classes/grub-efi.bbclass | 1 + 1 file changed, 1 insertion(+) diff --git a/meta/classes/grub-efi.bbclass b/meta/classes/grub-efi.bbclass index 96fb98b043e..3765bfd8a2f 100644 --- a/meta/classes/grub-efi.bbclass +++ b/meta/classes/grub-efi.bbclass @@ -16,6 +16,7 @@ # ${GRUB_TIMEOUT} - timeout before executing the deault label (optional) do_bootimg[depends] += "grub-efi-${TRANSLATED_TARGET_ARCH}-native:do_deploy" +do_bootdirectdisk[depends] += "grub-efi-${TRANSLATED_TARGET_ARCH}-native:do_deploy" GRUB_SERIAL ?= "console=ttyS0,115200" GRUBCFG = "${S}/grub.cfg" From 8b4c1515f12e95b84a7ca8a87b40537a76c19a9c Mon Sep 17 00:00:00 2001 From: Jason Wessel Date: Wed, 30 Oct 2013 12:35:17 -0500 Subject: [PATCH 450/658] grub-efi.bbclass: Fix startup.nsh to work on more EFI revs Some revs of the EFI firmware + shell do not automatically setup the path in a such a way as to execute a binary without an absolute reference like "FS0:\EFI\BOOT\bootx64.efi". All the versions that I have tested work properly by simply calling the binary which is in the EFI\BOOT directory by name like "bootx64.efi". The error you see on the console looks like the following: startup.nsh> EFI\BOOT\bootx64.efi 'EFI\BOOT\bootx64.efi' is not recognized as an internal or external command, operable program, or batch file Shell> This patch simply drops the EFI\BOOT for greater compatibility. (From OE-Core master rev: 754b52ea7a3cdf8e7e939a314525d16c4dfb52cb) (From OE-Core rev: a65db42d4b0c6636ee6538a28930e4d19e170d18) Signed-off-by: Jason Wessel Signed-off-by: Saul Wold Signed-off-by: Richard Purdie Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- meta/classes/grub-efi.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/classes/grub-efi.bbclass b/meta/classes/grub-efi.bbclass index 3765bfd8a2f..2f00901d049 100644 --- a/meta/classes/grub-efi.bbclass +++ b/meta/classes/grub-efi.bbclass @@ -49,7 +49,7 @@ grubefi_iso_populate() { mkdir -p ${EFIIMGDIR}/${EFIDIR} cp $iso_dir/${EFIDIR}/* ${EFIIMGDIR}${EFIDIR} cp $iso_dir/vmlinuz ${EFIIMGDIR} - echo "EFI\\BOOT\\${GRUB_IMAGE}" > ${EFIIMGDIR}/startup.nsh + echo "${GRUB_IMAGE}" > ${EFIIMGDIR}/startup.nsh if [ -f "$iso_dir/initrd" ] ; then cp $iso_dir/initrd ${EFIIMGDIR} fi From f46e8aa9f9ce8758bd23f743f355addb9baa6548 Mon Sep 17 00:00:00 2001 From: Lu Chong Date: Sat, 2 Nov 2013 16:30:28 +0800 Subject: [PATCH 451/658] ppp: Add two structures in if_pppol2tp.h Some further structure definitions are needed in include/linux/if_pppol2tp.h for IPv6 support, else we would get the error as below: In file included from plugin.c:53:0: bitbake_build/tmp/sysroots/intel-x86-64/usr/include/linux/if_pppox.h:84:26: error: field 'pppol2tp' has incomplete type struct pppol2tpin6_addr pppol2tp; ^ bitbake_build/tmp/sysroots/intel-x86-64/usr/include/linux/if_pppox.h:99:28: error: field 'pppol2tp' has incomplete type struct pppol2tpv3in6_addr pppol2tp; ^ make[2]: *** [plugin.o] Error 1 (From OE-Core master rev: 73d08c4bf12e2cc4f291cb018d00b26a5a573be4) (From OE-Core rev: 398bae0d288f488020108c7d95bd376249e6ecbf) Signed-off-by: Lu Chong Signed-off-by: Saul Wold Signed-off-by: Richard Purdie Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- ...-Add-two-structures-in-if_pppol2tp.h.patch | 60 +++++++++++++++++++ meta/recipes-connectivity/ppp/ppp_2.4.5.bb | 4 +- 2 files changed, 63 insertions(+), 1 deletion(-) create mode 100644 meta/recipes-connectivity/ppp/ppp-2.4.5/0001-ppp-Add-two-structures-in-if_pppol2tp.h.patch diff --git a/meta/recipes-connectivity/ppp/ppp-2.4.5/0001-ppp-Add-two-structures-in-if_pppol2tp.h.patch b/meta/recipes-connectivity/ppp/ppp-2.4.5/0001-ppp-Add-two-structures-in-if_pppol2tp.h.patch new file mode 100644 index 00000000000..33b200a3bd6 --- /dev/null +++ b/meta/recipes-connectivity/ppp/ppp-2.4.5/0001-ppp-Add-two-structures-in-if_pppol2tp.h.patch @@ -0,0 +1,60 @@ +From 17ffc69db08c809c069e73aa2f2ed2ce02df5fa8 Mon Sep 17 00:00:00 2001 +From: Lu Chong +Date: Sat, 2 Nov 2013 14:34:24 +0800 +Subject: [PATCH] ppp: Add two structures in if_pppol2tp.h + +Some further structure definitions are needed in include/linux/if_pppol2tp.h for IPv6 support. + +Upstream-Status: Pending + +Signed-off-by: Lu Chong +--- + include/linux/if_pppol2tp.h | 25 +++++++++++++++++++++++++ + 1 file changed, 25 insertions(+) + +diff --git a/include/linux/if_pppol2tp.h b/include/linux/if_pppol2tp.h +index 7ee86b2..9d626d1 100644 +--- a/include/linux/if_pppol2tp.h ++++ b/include/linux/if_pppol2tp.h +@@ -32,6 +32,20 @@ struct pppol2tp_addr { + __u16 d_tunnel, d_session; /* For sending outgoing packets */ + }; + ++/* Structure used to connect() the socket to a particular tunnel UDP ++ * socket over IPv6. ++ */ ++struct pppol2tpin6_addr { ++ __kernel_pid_t pid; /* pid that owns the fd. ++ * 0 => current */ ++ int fd; /* FD of UDP socket to use */ ++ ++ __u16 s_tunnel, s_session; /* For matching incoming packets */ ++ __u16 d_tunnel, d_session; /* For sending outgoing packets */ ++ ++ struct sockaddr_in6 addr; /* IP address and port to send to */ ++}; ++ + /* The L2TPv3 protocol changes tunnel and session ids from 16 to 32 + * bits. So we need a different sockaddr structure. + */ +@@ -46,6 +60,17 @@ struct pppol2tpv3_addr { + __u32 d_tunnel, d_session; /* For sending outgoing packets */ + }; + ++struct pppol2tpv3in6_addr { ++ __kernel_pid_t pid; /* pid that owns the fd. ++ * 0 => current */ ++ int fd; /* FD of UDP or IP socket to use */ ++ ++ __u32 s_tunnel, s_session; /* For matching incoming packets */ ++ __u32 d_tunnel, d_session; /* For sending outgoing packets */ ++ ++ struct sockaddr_in6 addr; /* IP address and port to send to */ ++}; ++ + /* Socket options: + * DEBUG - bitmask of debug message categories + * SENDSEQ - 0 => don't send packets with sequence numbers +-- +1.7.9.5 + diff --git a/meta/recipes-connectivity/ppp/ppp_2.4.5.bb b/meta/recipes-connectivity/ppp/ppp_2.4.5.bb index 39354efb178..dc8c9c110f9 100644 --- a/meta/recipes-connectivity/ppp/ppp_2.4.5.bb +++ b/meta/recipes-connectivity/ppp/ppp_2.4.5.bb @@ -29,7 +29,9 @@ SRC_URI = "http://ppp.samba.org/ftp/ppp/ppp-${PV}.tar.gz \ file://copts.patch \ file://pap \ file://ppp_on_boot \ - file://provider " + file://provider \ + file://0001-ppp-Add-two-structures-in-if_pppol2tp.h.patch \ +" SRC_URI[md5sum] = "4621bc56167b6953ec4071043fe0ec57" SRC_URI[sha256sum] = "43317afec9299f9920b96f840414c977f0385410202d48e56d2fdb8230003505" From 28cd3e8fb5b2ff2659e5279723b1564cd10f9c71 Mon Sep 17 00:00:00 2001 From: Paul Eggleton Date: Tue, 5 Nov 2013 10:15:19 +0000 Subject: [PATCH 452/658] zisofs-tools-native: add missing DEPENDS on zlib-native zisofs-tools links against zlib. Fixes [YOCTO #5420]. (From OE-Core master rev: 6058a34f4f0d907a3a065a0323ca085df690bd9b) (From OE-Core rev: 5d9861dc320ac66b56ac70463fd646e0fe4a1baf) Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- meta/recipes-devtools/zisofs-tools/zisofs-tools-native_1.0.8.bb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta/recipes-devtools/zisofs-tools/zisofs-tools-native_1.0.8.bb b/meta/recipes-devtools/zisofs-tools/zisofs-tools-native_1.0.8.bb index 1501307cdb2..02accf655ba 100644 --- a/meta/recipes-devtools/zisofs-tools/zisofs-tools-native_1.0.8.bb +++ b/meta/recipes-devtools/zisofs-tools/zisofs-tools-native_1.0.8.bb @@ -7,6 +7,8 @@ SECTION = "console/utils" LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" +DEPENDS = "zlib-native" + SRC_URI = "http://pkgs.fedoraproject.org/repo/pkgs/zisofs-tools/zisofs-tools-${PV}.tar.bz2/2d0ed8c9a1f60b45f949b136f9be1f6c/zisofs-tools-${PV}.tar.bz2" SRC_URI[md5sum] = "2d0ed8c9a1f60b45f949b136f9be1f6c" From bd80aac5255fa91d2429c3ba9d4d27180493c8e0 Mon Sep 17 00:00:00 2001 From: Saul Wold Date: Mon, 4 Nov 2013 14:07:40 -0800 Subject: [PATCH 453/658] mdadm: Disable the RUN_DIR check This check was looking for /run/mdadm on the host system, this check is optional so disable it. [YOCTO #5447] (From OE-Core master rev: d62882794890eeee8e8d5c9ba4837ec77a58d787) (From OE-Core rev: 6c212e229ba1be0c536e7c36ebe2a3e8b2ef84b4) Signed-off-by: Saul Wold Signed-off-by: Richard Purdie Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- meta/recipes-extended/mdadm/mdadm_3.2.6.bb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta/recipes-extended/mdadm/mdadm_3.2.6.bb b/meta/recipes-extended/mdadm/mdadm_3.2.6.bb index 7b6a6c7fe70..50f39dbc0d8 100644 --- a/meta/recipes-extended/mdadm/mdadm_3.2.6.bb +++ b/meta/recipes-extended/mdadm/mdadm_3.2.6.bb @@ -26,6 +26,8 @@ do_configure_prepend () { sed -i -e '/.*ansidecl.h.*/d' ${S}/sha1.h } +EXTRA_OEMAKE = "CHECK_RUN_DIR=0" + do_compile() { oe_runmake } From 5d6fdbde7b7f962911245acf45d249f728956fda Mon Sep 17 00:00:00 2001 From: Chen Qi Date: Wed, 6 Nov 2013 10:50:43 +0800 Subject: [PATCH 454/658] extrausers.bbclass: avoid infinite loop Avoid infinite loop if the last record in EXTRA_USRES_PARAMS doesn't end with a semicolon. It's possible the the users will write configurations like below. INHERIT += "extrausers" EXTRA_USERS_PARAMS = "useradd tester; useradd developer" In such situation, the do_rootfs task will enter an infinite loop. An infinite loop is never acceptable. This patch fixes the above problem. (From OE-Core master rev: bf4fb345a9db306fa4c7211b7e6795334a649dd5) (From OE-Core rev: 05f9c15abb0705cd9f8aa28bfb3016485730b643) Signed-off-by: Chen Qi Signed-off-by: Richard Purdie Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- meta/classes/extrausers.bbclass | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/meta/classes/extrausers.bbclass b/meta/classes/extrausers.bbclass index 8670a2a85aa..faf57b108e5 100644 --- a/meta/classes/extrausers.bbclass +++ b/meta/classes/extrausers.bbclass @@ -54,6 +54,10 @@ set_user_group () { bbfatal "Invalid command in EXTRA_USERS_PARAMS: $cmd" ;; esac + # Avoid infinite loop if the last parameter doesn't end with ';' + if [ "$setting" = "$remaining" ]; then + break + fi # iterate to the next setting setting=`echo $remaining | cut -d ';' -f1` remaining=`echo $remaining | cut -d ';' -f2-` From 7a0761caa2b36885262a4da36b60a72aa58bf124 Mon Sep 17 00:00:00 2001 From: Jonathan Liu Date: Mon, 4 Nov 2013 17:31:15 +1100 Subject: [PATCH 455/658] eglibc_2.18.bb: accept make versions 4.0 and greater [YOCTO #5391] (From OE-Core master rev: 1969ff9081d06109b7e8e7f9331f31fcb611c393) (From OE-Core rev: bdc49826edf05233c6d506de404861a661043b1b) Signed-off-by: Jonathan Liu Signed-off-by: Saul Wold Signed-off-by: Richard Purdie Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- .../eglibc/eglibc-2.18/make-4.patch | 31 +++++++++++++++++++ meta/recipes-core/eglibc/eglibc_2.18.bb | 1 + 2 files changed, 32 insertions(+) create mode 100644 meta/recipes-core/eglibc/eglibc-2.18/make-4.patch diff --git a/meta/recipes-core/eglibc/eglibc-2.18/make-4.patch b/meta/recipes-core/eglibc/eglibc-2.18/make-4.patch new file mode 100644 index 00000000000..ec105b4ae2f --- /dev/null +++ b/meta/recipes-core/eglibc/eglibc-2.18/make-4.patch @@ -0,0 +1,31 @@ +Accept make versions 4.0 and greater + +Backport of glibc 28d708c44bc47b56f6551ff285f78edcf61c208a. + +Upstream-Status: Backport +Signed-off-by: Jonathan Liu + +diff -Nur libc.orig/configure libc/configure +--- libc.orig/configure 2013-08-21 02:23:48.000000000 +1000 ++++ libc/configure 2013-11-04 17:04:17.778333748 +1100 +@@ -4772,7 +4772,7 @@ + ac_prog_version=`$MAKE --version 2>&1 | sed -n 's/^.*GNU Make[^0-9]*\([0-9][0-9.]*\).*$/\1/p'` + case $ac_prog_version in + '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;; +- 3.79* | 3.[89]*) ++ 3.79* | 3.[89]* | [4-9].* | [1-9][0-9]*) + ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;; + *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;; + +diff -Nur libc.orig/configure.in libc/configure.in +--- libc.orig/configure.in 2013-08-21 02:23:48.000000000 +1000 ++++ libc/configure.in 2013-11-04 16:54:17.955014870 +1100 +@@ -989,7 +989,7 @@ + critic_missing="$critic_missing gcc") + AC_CHECK_PROG_VER(MAKE, gnumake gmake make, --version, + [GNU Make[^0-9]*\([0-9][0-9.]*\)], +- [3.79* | 3.[89]*], critic_missing="$critic_missing make") ++ [3.79* | 3.[89]* | [4-9].* | [1-9][0-9]*], critic_missing="$critic_missing make") + + AC_CHECK_PROG_VER(MSGFMT, gnumsgfmt gmsgfmt msgfmt, --version, + [GNU gettext.* \([0-9]*\.[0-9.]*\)], diff --git a/meta/recipes-core/eglibc/eglibc_2.18.bb b/meta/recipes-core/eglibc/eglibc_2.18.bb index 710b498a4d0..15e5eed3ff9 100644 --- a/meta/recipes-core/eglibc/eglibc_2.18.bb +++ b/meta/recipes-core/eglibc/eglibc_2.18.bb @@ -27,6 +27,7 @@ SRC_URI = "http://downloads.yoctoproject.org/releases/eglibc/eglibc-${PV}-svnr23 file://0001-eglibc-run-libm-err-tab.pl-with-specific-dirs-in-S.patch \ file://fix-tibetian-locales.patch \ file://0001-ARM-Pass-dl_hwcap-to-IFUNC-resolver.patch \ + file://make-4.patch \ " SRC_URI[md5sum] = "b395b021422a027d89884992e91734fc" SRC_URI[sha256sum] = "15f564b45dc5dd65faf0875579e3447961ae61e876933384ae05d19328539ad4" From 252ab00746745f2e8066828c7adb28803a8e7303 Mon Sep 17 00:00:00 2001 From: Jonathan Liu Date: Mon, 4 Nov 2013 17:31:39 +1100 Subject: [PATCH 456/658] eglibc_2.17.bb: accept make versions 4.0 and greater (From OE-Core master rev: a678243d6e4add90c1e9459da42de34d3724db5d) (From OE-Core rev: 9d59ceab6e58b422caf8ad7a306ed546316d8c3a) Signed-off-by: Jonathan Liu Signed-off-by: Saul Wold Signed-off-by: Richard Purdie Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- .../eglibc/eglibc-2.17/make-4.patch | 31 +++++++++++++++++++ meta/recipes-core/eglibc/eglibc_2.17.bb | 1 + 2 files changed, 32 insertions(+) create mode 100644 meta/recipes-core/eglibc/eglibc-2.17/make-4.patch diff --git a/meta/recipes-core/eglibc/eglibc-2.17/make-4.patch b/meta/recipes-core/eglibc/eglibc-2.17/make-4.patch new file mode 100644 index 00000000000..8349c18dc2c --- /dev/null +++ b/meta/recipes-core/eglibc/eglibc-2.17/make-4.patch @@ -0,0 +1,31 @@ +Accept make versions 4.0 and greater + +Backport of glibc 28d708c44bc47b56f6551ff285f78edcf61c208a. + +Upstream-Status: Backport +Signed-off-by: Jonathan Liu + +diff -Nur libc.orig/configure libc/configure +--- libc.orig/configure 2012-12-03 08:11:45.000000000 +1100 ++++ libc/configure 2013-11-04 17:15:31.344984184 +1100 +@@ -4995,7 +4995,7 @@ + ac_prog_version=`$MAKE --version 2>&1 | sed -n 's/^.*GNU Make[^0-9]*\([0-9][0-9.]*\).*$/\1/p'` + case $ac_prog_version in + '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;; +- 3.79* | 3.[89]*) ++ 3.79* | 3.[89]* | [4-9].* | [1-9][0-9]*) + ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;; + *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;; + +diff -Nur libc.orig/configure.in libc/configure.in +--- libc.orig/configure.in 2012-12-03 08:11:45.000000000 +1100 ++++ libc/configure.in 2013-11-04 17:15:31.351650849 +1100 +@@ -958,7 +958,7 @@ + critic_missing="$critic_missing gcc") + AC_CHECK_PROG_VER(MAKE, gnumake gmake make, --version, + [GNU Make[^0-9]*\([0-9][0-9.]*\)], +- [3.79* | 3.[89]*], critic_missing="$critic_missing make") ++ [3.79* | 3.[89]* | [4-9].* | [1-9][0-9]*], critic_missing="$critic_missing make") + + AC_CHECK_PROG_VER(MSGFMT, gnumsgfmt gmsgfmt msgfmt, --version, + [GNU gettext.* \([0-9]*\.[0-9.]*\)], diff --git a/meta/recipes-core/eglibc/eglibc_2.17.bb b/meta/recipes-core/eglibc/eglibc_2.17.bb index 22129e6bc3d..c62ff36ee86 100644 --- a/meta/recipes-core/eglibc/eglibc_2.17.bb +++ b/meta/recipes-core/eglibc/eglibc_2.17.bb @@ -28,6 +28,7 @@ SRC_URI = "http://downloads.yoctoproject.org/releases/eglibc/eglibc-${PV}-svnr22 file://tzselect-awk.patch \ file://0001-eglibc-run-libm-err-tab.pl-with-specific-dirs-in-S.patch \ file://fix-tibetian-locales.patch \ + file://make-4.patch \ ${BACKPORTS} \ " BACKPORTS = "\ From e078fa2537cc8df74c4824882ce0d9283d58bcb2 Mon Sep 17 00:00:00 2001 From: Lu Chong Date: Tue, 5 Nov 2013 18:39:26 +0800 Subject: [PATCH 457/658] ppp: Fix compilation errors in Makefile This patch fixes below issues: 1. Make can't exit while compilation error occurs in subdir for plugins building. 2. If build ppp with newer kernel (3.10.10), it will pick 'if_pppox.h' from sysroot-dir and 'if_pppol2tp.h' from its own source dir, this cause below build errors: bitbake_build/tmp/sysroots/intel-x86-64/usr/include/linux/if_pppox.h:84:26: error: field 'pppol2tp' has incomplete type struct pppol2tpin6_addr pppol2tp; ^ bitbake_build/tmp/sysroots/intel-x86-64/usr/include/linux/if_pppox.h:99:28: error: field 'pppol2tp' has incomplete type struct pppol2tpv3in6_addr pppol2tp; ^ The 'sysroot-dir/if_pppox.h' enabled ipv6 support but the 'source-dir/if_pppol2tp.h' lost related structure definitions, we should use both header files from sysroots to fix this build failure. (From OE-Core master rev: b536824ea64b8d6729b830738bce637fc815e832) (From OE-Core rev: 16968759d39534fb9a703903c6de65535d57777b) Signed-off-by: Lu Chong Signed-off-by: Saul Wold Signed-off-by: Richard Purdie Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- ...p-Fix-compilation-errors-in-Makefile.patch | 75 +++++++++++++++++++ meta/recipes-connectivity/ppp/ppp_2.4.5.bb | 1 + 2 files changed, 76 insertions(+) create mode 100644 meta/recipes-connectivity/ppp/ppp-2.4.5/0001-ppp-Fix-compilation-errors-in-Makefile.patch diff --git a/meta/recipes-connectivity/ppp/ppp-2.4.5/0001-ppp-Fix-compilation-errors-in-Makefile.patch b/meta/recipes-connectivity/ppp/ppp-2.4.5/0001-ppp-Fix-compilation-errors-in-Makefile.patch new file mode 100644 index 00000000000..8aa2d2e678a --- /dev/null +++ b/meta/recipes-connectivity/ppp/ppp-2.4.5/0001-ppp-Fix-compilation-errors-in-Makefile.patch @@ -0,0 +1,75 @@ +From ba0f6058d1f25b2b60fc31ab2656bf12a71ffdab Mon Sep 17 00:00:00 2001 +From: Lu Chong +Date: Tue, 5 Nov 2013 17:32:56 +0800 +Subject: [PATCH] ppp: Fix compilation errors in Makefile + +This patch fixes below issues: + +1. Make can't exit while compilation error occurs in subdir for plugins building. + +2. If build ppp with newer kernel (3.10.10), it will pick 'if_pppox.h' from sysroot-dir and + 'if_pppol2tp.h' from its own source dir, this cause below build errors: + + bitbake_build/tmp/sysroots/intel-x86-64/usr/include/linux/if_pppox.h:84:26: + error: field 'pppol2tp' has incomplete type + struct pppol2tpin6_addr pppol2tp; + ^ + bitbake_build/tmp/sysroots/intel-x86-64/usr/include/linux/if_pppox.h:99:28: + error: field 'pppol2tp' has incomplete type + struct pppol2tpv3in6_addr pppol2tp; + ^ + +The 'sysroot-dir/if_pppox.h' enabled ipv6 support but the 'source-dir/if_pppol2tp.h' lost +related structure definitions, we should use both header files from sysroots to fix this +build failure. + +Upstream-Status: Pending + +Signed-off-by: Lu Chong +--- + pppd/plugins/Makefile.linux | 2 +- + pppd/plugins/pppol2tp/Makefile.linux | 2 +- + pppd/plugins/rp-pppoe/Makefile.linux | 2 +- + 3 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/pppd/plugins/Makefile.linux b/pppd/plugins/Makefile.linux +index 0a7ec7b..2a2c15a 100644 +--- a/pppd/plugins/Makefile.linux ++++ b/pppd/plugins/Makefile.linux +@@ -20,7 +20,7 @@ include .depend + endif + + all: $(PLUGINS) +- for d in $(SUBDIRS); do $(MAKE) $(MFLAGS) -C $$d all; done ++ for d in $(SUBDIRS); do $(MAKE) $(MFLAGS) -C $$d all || exit 1; done + + %.so: %.c + $(CC) -o $@ $(LDFLAGS) $(CFLAGS) $^ +diff --git a/pppd/plugins/pppol2tp/Makefile.linux b/pppd/plugins/pppol2tp/Makefile.linux +index 19eff67..feb2f52 100644 +--- a/pppd/plugins/pppol2tp/Makefile.linux ++++ b/pppd/plugins/pppol2tp/Makefile.linux +@@ -1,6 +1,6 @@ + #CC = gcc + COPTS = -O2 -g +-CFLAGS = $(COPTS) -I. -I../.. -I../../../include -fPIC ++CFLAGS = $(COPTS) -I. -I../.. -fPIC + LDFLAGS = -shared + INSTALL = install + +diff --git a/pppd/plugins/rp-pppoe/Makefile.linux b/pppd/plugins/rp-pppoe/Makefile.linux +index f078991..15b9118 100644 +--- a/pppd/plugins/rp-pppoe/Makefile.linux ++++ b/pppd/plugins/rp-pppoe/Makefile.linux +@@ -26,7 +26,7 @@ INSTALL = install + RP_VERSION=3.8p + + COPTS=-O2 -g +-CFLAGS=$(COPTS) -I../../../include '-DRP_VERSION="$(RP_VERSION)"' ++CFLAGS=$(COPTS) '-DRP_VERSION="$(RP_VERSION)"' + all: rp-pppoe.so pppoe-discovery + + pppoe-discovery: pppoe-discovery.o debug.o +-- +1.7.9.5 + diff --git a/meta/recipes-connectivity/ppp/ppp_2.4.5.bb b/meta/recipes-connectivity/ppp/ppp_2.4.5.bb index dc8c9c110f9..e951068181c 100644 --- a/meta/recipes-connectivity/ppp/ppp_2.4.5.bb +++ b/meta/recipes-connectivity/ppp/ppp_2.4.5.bb @@ -31,6 +31,7 @@ SRC_URI = "http://ppp.samba.org/ftp/ppp/ppp-${PV}.tar.gz \ file://ppp_on_boot \ file://provider \ file://0001-ppp-Add-two-structures-in-if_pppol2tp.h.patch \ + file://0001-ppp-Fix-compilation-errors-in-Makefile.patch \ " SRC_URI[md5sum] = "4621bc56167b6953ec4071043fe0ec57" From 6894ee1baf0faa496147d4e3d7cd929782699d54 Mon Sep 17 00:00:00 2001 From: Chen Qi Date: Sat, 2 Nov 2013 13:21:59 +0800 Subject: [PATCH 458/658] bootlogd: create log file if not present Previously, our system had no boot log even if the bootlogd daemon was started correctly. The root cause is that the log file doesn't exist when starting the bootlogd. Add '-c' option to bootlogd so that it will create the boot log if it doesn't exist. [YOCTO #5273] (From OE-Core master rev: 6059be3ab60b8ab463d438c47bb17553d184a790) (From OE-Core rev: f676a69dee845cfd6de7a0cc8bd0bb813a8dffc0) Signed-off-by: Chen Qi Signed-off-by: Saul Wold Signed-off-by: Richard Purdie Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- meta/recipes-core/sysvinit/sysvinit/bootlogd.init | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta/recipes-core/sysvinit/sysvinit/bootlogd.init b/meta/recipes-core/sysvinit/sysvinit/bootlogd.init index 7b87827fdf7..b1813572ca0 100755 --- a/meta/recipes-core/sysvinit/sysvinit/bootlogd.init +++ b/meta/recipes-core/sysvinit/sysvinit/bootlogd.init @@ -47,9 +47,9 @@ case "$ACTION" in then umask 027 start-stop-daemon --start --quiet \ - --exec $DAEMON -- -r + --exec $DAEMON -- -r -c else - $DAEMON -r + $DAEMON -r -c fi echo "$NAME." ;; From b4d22bb10fe2a67d042d1039cf3c7b637a90c293 Mon Sep 17 00:00:00 2001 From: Ross Burton Date: Thu, 7 Nov 2013 11:55:35 +0000 Subject: [PATCH 459/658] weston-init: start weston on a new VT Weston 1.3 needs to run on a VT, which is typically handled by weston-launch. Currently weston-init doesn't use weston-launch as that depends on the (non-default) pam DISTRO_FEATURE, so depend on kbd and use openvt directly. This also fixes problems caused by the init script blocking until Weston exits, which meant that later init scripts were not actually running. (From OE-Core master rev: 3726eb29cfa79a4a1fbdbcaa96f770063c482858) (From OE-Core rev: d79f7846f5d538f6f835f52686fd2c749cb1b70f) Signed-off-by: Ross Burton Signed-off-by: Saul Wold Signed-off-by: Richard Purdie Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- meta/recipes-graphics/wayland/weston-init.bb | 2 ++ meta/recipes-graphics/wayland/weston-init/init | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/meta/recipes-graphics/wayland/weston-init.bb b/meta/recipes-graphics/wayland/weston-init.bb index a3fe811f4d3..4ebda8b2977 100644 --- a/meta/recipes-graphics/wayland/weston-init.bb +++ b/meta/recipes-graphics/wayland/weston-init.bb @@ -13,5 +13,7 @@ do_install() { inherit allarch update-rc.d +RDEPENDS_${PN} = "weston kbd" + INITSCRIPT_NAME = "weston" INITSCRIPT_PARAMS = "start 9 5 2 . stop 20 0 1 6 ." diff --git a/meta/recipes-graphics/wayland/weston-init/init b/meta/recipes-graphics/wayland/weston-init/init index daa7f2300f0..284fd0ac3ce 100644 --- a/meta/recipes-graphics/wayland/weston-init/init +++ b/meta/recipes-graphics/wayland/weston-init/init @@ -34,7 +34,7 @@ case "$1" in chmod 0700 $XDG_RUNTIME_DIR fi - weston + openvt -s weston ;; stop) From 728ecd93c5c66cca6f44e9fc7a27af870990c317 Mon Sep 17 00:00:00 2001 From: Lei Liu Date: Mon, 11 Nov 2013 17:27:42 +0800 Subject: [PATCH 460/658] image-mklibs: Fix grep pattern when mklibs collects executables in rootfs File command in some version could print extra space between "LSB" and "executable" - it causes mklibs can't find any executables using grep "LSB executable". Fix the grep pattern to catch multiple spaces. (From OE-Core master rev: a52ef8c5dcd71f39bb48c71fb868cc0db662560e) (From OE-Core rev: 78c22d9087b3058dd947f21bd24fa621aba7dd6d) Signed-off-by: Lei Liu Signed-off-by: Richard Purdie Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- meta/classes/image-mklibs.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/classes/image-mklibs.bbclass b/meta/classes/image-mklibs.bbclass index 66b0f5251e2..e975f5d7057 100644 --- a/meta/classes/image-mklibs.bbclass +++ b/meta/classes/image-mklibs.bbclass @@ -9,7 +9,7 @@ mklibs_optimize_image_doit() { du -bs > ${WORKDIR}/mklibs/du.before.mklibs.txt for i in `find .`; do file $i; done \ | grep ELF \ - | grep "LSB executable" \ + | grep "LSB *executable" \ | grep "dynamically linked" \ | sed "s/:.*//" \ | sed "s+^\./++" \ From 3e8bacfcb3b4766bcc0a0e899c01eb89192aecce Mon Sep 17 00:00:00 2001 From: Lei Liu Date: Mon, 11 Nov 2013 17:27:41 +0800 Subject: [PATCH 461/658] mklibs: add dependency on dpkg-native mklibs requires the "dpkg-architecture" utility to work. Add dependency on dpkg-native. (From OE-Core master rev: 9811641e95dd7e1514eb41900e033a0548bd13d8) (From OE-Core rev: f4a5005518e2384b22593063010a3fa1179f5861) Signed-off-by: Lei Liu Signed-off-by: Richard Purdie Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- meta/recipes-devtools/mklibs/mklibs-native_0.1.38.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/recipes-devtools/mklibs/mklibs-native_0.1.38.bb b/meta/recipes-devtools/mklibs/mklibs-native_0.1.38.bb index e4240521c92..6367e8f3bb3 100644 --- a/meta/recipes-devtools/mklibs/mklibs-native_0.1.38.bb +++ b/meta/recipes-devtools/mklibs/mklibs-native_0.1.38.bb @@ -3,7 +3,7 @@ HOMEPAGE = "https://code.launchpad.net/mklibs" SECTION = "devel" LICENSE = "GPLv2+" LIC_FILES_CHKSUM = "file://debian/copyright;md5=98d31037b13d896e33890738ef01af64" -DEPENDS = "python-native" +DEPENDS = "python-native dpkg-native" SRC_URI = "http://ftp.de.debian.org/debian/pool/main/m/mklibs/${BPN}_${PV}.tar.gz \ file://ac_init_fix.patch\ From c34300c72ee541b868802cd7d4b75705e66c3838 Mon Sep 17 00:00:00 2001 From: Qiang Chen Date: Fri, 18 Oct 2013 16:50:20 +0800 Subject: [PATCH 462/658] openssh: fix sshd status command error prompt sshd status command results in error prompt: root@qemu0:~# /etc/init.d/sshd status /usr/sbin/sshd (pid 1199) is running... /etc/init.d/sshd: line 100: return: can only `return' from a function or sourced script "service --status-all" command also display wrong status for sshd. This commit fix this error prompt and make service command display right status for sshd. (From OE-Core master rev: e7cf83ec3f39a7c41e38c6030b0d903fa7d37b2a) (From OE-Core rev: 1b5409b5b060459f15c32c89b1983122b2126f84) Signed-off-by: Qiang Chen Signed-off-by: Richard Purdie Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- meta/recipes-connectivity/openssh/openssh-6.2p2/init | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/recipes-connectivity/openssh/openssh-6.2p2/init b/meta/recipes-connectivity/openssh/openssh-6.2p2/init index 266689c2cf3..e7f39713244 100644 --- a/meta/recipes-connectivity/openssh/openssh-6.2p2/init +++ b/meta/recipes-connectivity/openssh/openssh-6.2p2/init @@ -97,7 +97,7 @@ case "$1" in status) status /usr/sbin/sshd - return $? + exit $? ;; *) From 01411d9cf0379b24f468bf2fdce228ea913e283c Mon Sep 17 00:00:00 2001 From: Qiang Chen Date: Tue, 22 Oct 2013 13:14:21 +0800 Subject: [PATCH 463/658] nfs-utils: modify nfsserver init script indent Using sysvinit testing service status, nfsserver status allways display as [?] unknown. This is because sysvinit package check whether service's init script supporting status function or not by: grep -qs "\Wstatus)" "$SERVICE" So, this commit modified the indent for status etc, as most service's init script does. (From OE-Core master rev: a6b02fe439fa13c8482383fba2bfdcb0e9742141) (From OE-Core rev: f9be1ec26cf1f313d7c22e26475296b0362c25ea) Signed-off-by: Qiang Chen Signed-off-by: Saul Wold Signed-off-by: Richard Purdie Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- .../nfs-utils/nfs-utils/nfsserver | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/meta/recipes-connectivity/nfs-utils/nfs-utils/nfsserver b/meta/recipes-connectivity/nfs-utils/nfs-utils/nfsserver index d7cf6e0048c..c263f14f32c 100644 --- a/meta/recipes-connectivity/nfs-utils/nfs-utils/nfsserver +++ b/meta/recipes-connectivity/nfs-utils/nfs-utils/nfsserver @@ -144,26 +144,26 @@ stop_statd(){ # restart: stops and starts mountd #FIXME: need to create the /var/lib/nfs/... directories case "$1" in -start) create_directories + start) create_directories start_nfsd "$NFS_SERVERS" start_mountd start_statd test -r /etc/exports && exportfs -a;; -stop) exportfs -ua + stop) exportfs -ua stop_statd stop_mountd stop_nfsd;; -status) + status) status /usr/sbin/rpc.mountd RETVAL=$? status nfsd rval=$? [ $RETVAL -eq 0 ] && exit $rval exit $RETVAL;; -reload) test -r /etc/exports && exportfs -r;; -restart) + reload) test -r /etc/exports && exportfs -r;; + restart) $0 stop $0 start;; -*) echo "Usage: $0 {start|stop|status|reload|restart}" + *) echo "Usage: $0 {start|stop|status|reload|restart}" exit 1;; esac From f8643d57ef0ec41804409de00ef6a847c0a3cd7a Mon Sep 17 00:00:00 2001 From: Qiang Chen Date: Wed, 30 Oct 2013 17:12:29 +0800 Subject: [PATCH 464/658] irda-utils: restart irda daemon correctly irattach init script restart faulty logic prevents irda daemon from restart correctly. root@qemu0:~# /etc/init.d/irattach restart Restarting IrDA: Terminated root@qemu0:~# ps aux | grep irattach root 541 0.0 0.2 2400 612 ttyS0 S+ 09:05 0:00 grep irattach As above shows, irattach not started after executing restart command. This commit changed the restart command logic: firstly stop, then start. Prompt telling user irattach start successfully or failure also added. (From OE-Core master rev: 39f266138b972b550979909b235a5779828d7d89) (From OE-Core rev: 37ceb9ad0c45aca458e2ff4770b8a0535286a78e) Signed-off-by: Qiang Chen Signed-off-by: Saul Wold Signed-off-by: Richard Purdie Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- .../irda-utils/irda-utils-0.9.18/init | 38 +++++++++---------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/meta/recipes-connectivity/irda-utils/irda-utils-0.9.18/init b/meta/recipes-connectivity/irda-utils/irda-utils-0.9.18/init index b8038e08a30..6f29e9c6ed4 100755 --- a/meta/recipes-connectivity/irda-utils/irda-utils-0.9.18/init +++ b/meta/recipes-connectivity/irda-utils/irda-utils-0.9.18/init @@ -8,6 +8,10 @@ # Short-Description: Infrared port support ### END INIT INFO +NAME="irattach" +test -x "$IRDA_DAEMON" || IRDA_DAEMON=/usr/sbin/irattach +test -z "$IRATTACH_PID" && IRATTACH_PID=/var/run/irattach.pid + # Source function library. . /etc/init.d/functions @@ -49,30 +53,26 @@ fi case "$1" in start) - echo -n "Starting IrDA: " - irattach ${DEVICE} ${ARGS} > /dev/null 2>&1 & - echo "$NAME." - ;; + echo -n "Starting IrDA: $NAME" + start-stop-daemon --start --quiet --exec "$IRDA_DAEMON" ${DEVICE} ${ARGS} --pidfile "$IRATTACH_PID" + sleep 1 + [ -f /var/run/irattach.pid ] && echo " done" || echo " fail" + ;; stop) - echo -n "Stopping IrDA: " - killall irattach > /dev/null 2>&1 - echo "$NAME." - ;; + echo "Stopping IrDA: $NAME" + start-stop-daemon --stop --quiet --exec "$IRDA_DAEMON" --pidfile "$IRATTACH_PID" + ;; restart|force-reload) - echo -n "Restarting IrDA: " - irattach ${DEVICE} ${ARGS} > /dev/null 2>&1 & - sleep 1 - killall irattach > /dev/null 2>&1 - echo "$NAME." - ;; + $0 stop + $0 start + ;; status) status irattach exit $? ;; *) - N=/etc/init.d/$NAME - echo "Usage: $N {start|stop|restart|force-reload|status}" >&2 - exit 1 - ;; + N=/etc/init.d/$NAME + echo "Usage: $N {start|stop|restart|force-reload|status}" >&2 + exit 1 + ;; esac - From 94025c05b5d1c01d4c4e5b9509340a513220b15b Mon Sep 17 00:00:00 2001 From: Jackie Huang Date: Thu, 31 Oct 2013 16:16:28 +0800 Subject: [PATCH 465/658] busybox: fix sed auto insert newline testcase backport the patch from busybox upstream to fix the auto insert newline issue. busybox defect: https://bugs.busybox.net/show_bug.cgi?id=6584 (From OE-Core master rev: db00fa405c025c61844df2e9589fe635fc5df0e2) (From OE-Core rev: 9266343cc00fefd3e7f33fa2e6b0da88b6abf622) Signed-off-by: Jackie Huang Signed-off-by: Saul Wold Signed-off-by: Richard Purdie Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- ...-sed-fix-sed-clusternewline-testcase.patch | 262 ++++++++++++++++++ meta/recipes-core/busybox/busybox_1.21.1.bb | 4 +- 2 files changed, 265 insertions(+), 1 deletion(-) create mode 100644 meta/recipes-core/busybox/busybox-1.21.1/busybox-sed-fix-sed-clusternewline-testcase.patch diff --git a/meta/recipes-core/busybox/busybox-1.21.1/busybox-sed-fix-sed-clusternewline-testcase.patch b/meta/recipes-core/busybox/busybox-1.21.1/busybox-sed-fix-sed-clusternewline-testcase.patch new file mode 100644 index 00000000000..1894037422d --- /dev/null +++ b/meta/recipes-core/busybox/busybox-1.21.1/busybox-sed-fix-sed-clusternewline-testcase.patch @@ -0,0 +1,262 @@ +From 6394bcf17925715db042cfb24f5886b1bed1dfc9 Mon Sep 17 00:00:00 2001 +From: Jackie Huang +Date: Thu, 31 Oct 2013 14:36:31 +0800 +Subject: [PATCH] sed: fix "sed clusternewline" and "autoinsert newline" testcase + +Upstream-Status: Backport [busybox.net] + +Signed-off-by: Jackie Huang +--- + editors/sed.c | 135 ++++++++++++++++++++++++++-------------------------- + testsuite/sed.tests | 4 -- + 2 files changed, 68 insertions(+), 71 deletions(-) + +diff --git a/editors/sed.c b/editors/sed.c +index f8ca5d3..98478b4 100644 +--- a/editors/sed.c ++++ b/editors/sed.c +@@ -845,37 +845,79 @@ static void append(char *s) + llist_add_to_end(&G.append_head, xstrdup(s)); + } + +-static void flush_append(void) ++/* Output line of text. */ ++/* Note: ++ * The tricks with NO_EOL_CHAR and last_puts_char are there to emulate gnu sed. ++ * Without them, we had this: ++ * echo -n thingy >z1 ++ * echo -n again >z2 ++ * >znull ++ * sed "s/i/z/" z1 z2 znull | hexdump -vC ++ * output: ++ * gnu sed 4.1.5: ++ * 00000000 74 68 7a 6e 67 79 0a 61 67 61 7a 6e |thzngy.agazn| ++ * bbox: ++ * 00000000 74 68 7a 6e 67 79 61 67 61 7a 6e |thzngyagazn| ++ */ ++enum { ++ NO_EOL_CHAR = 1, ++ LAST_IS_NUL = 2, ++}; ++static void puts_maybe_newline(char *s, FILE *file, char *last_puts_char, char last_gets_char) ++{ ++ char lpc = *last_puts_char; ++ ++ /* Need to insert a '\n' between two files because first file's ++ * last line wasn't terminated? */ ++ if (lpc != '\n' && lpc != '\0') { ++ fputc('\n', file); ++ lpc = '\n'; ++ } ++ fputs(s, file); ++ ++ /* 'x' - just something which is not '\n', '\0' or NO_EOL_CHAR */ ++ if (s[0]) ++ lpc = 'x'; ++ ++ /* had trailing '\0' and it was last char of file? */ ++ if (last_gets_char == LAST_IS_NUL) { ++ fputc('\0', file); ++ lpc = 'x'; /* */ ++ } else ++ /* had trailing '\n' or '\0'? */ ++ if (last_gets_char != NO_EOL_CHAR) { ++ fputc(last_gets_char, file); ++ lpc = last_gets_char; ++ } ++ ++ if (ferror(file)) { ++ xfunc_error_retval = 4; /* It's what gnu sed exits with... */ ++ bb_error_msg_and_die(bb_msg_write_error); ++ } ++ *last_puts_char = lpc; ++} ++ ++static void flush_append(char *last_puts_char, char last_gets_char) + { + char *data; + + /* Output appended lines. */ + while ((data = (char *)llist_pop(&G.append_head))) { +- fprintf(G.nonstdout, "%s\n", data); ++ puts_maybe_newline(data, G.nonstdout, last_puts_char, last_gets_char); + free(data); + } + } + +-static void add_input_file(FILE *file) +-{ +- G.input_file_list = xrealloc_vector(G.input_file_list, 2, G.input_file_count); +- G.input_file_list[G.input_file_count++] = file; +-} +- + /* Get next line of input from G.input_file_list, flushing append buffer and + * noting if we ran out of files without a newline on the last line we read. + */ +-enum { +- NO_EOL_CHAR = 1, +- LAST_IS_NUL = 2, +-}; +-static char *get_next_line(char *gets_char) ++static char *get_next_line(char *gets_char, char *last_puts_char, char last_gets_char) + { + char *temp = NULL; + int len; + char gc; + +- flush_append(); ++ flush_append(last_puts_char, last_gets_char); + + /* will be returned if last line in the file + * doesn't end with either '\n' or '\0' */ +@@ -919,54 +961,6 @@ static char *get_next_line(char *gets_char) + return temp; + } + +-/* Output line of text. */ +-/* Note: +- * The tricks with NO_EOL_CHAR and last_puts_char are there to emulate gnu sed. +- * Without them, we had this: +- * echo -n thingy >z1 +- * echo -n again >z2 +- * >znull +- * sed "s/i/z/" z1 z2 znull | hexdump -vC +- * output: +- * gnu sed 4.1.5: +- * 00000000 74 68 7a 6e 67 79 0a 61 67 61 7a 6e |thzngy.agazn| +- * bbox: +- * 00000000 74 68 7a 6e 67 79 61 67 61 7a 6e |thzngyagazn| +- */ +-static void puts_maybe_newline(char *s, FILE *file, char *last_puts_char, char last_gets_char) +-{ +- char lpc = *last_puts_char; +- +- /* Need to insert a '\n' between two files because first file's +- * last line wasn't terminated? */ +- if (lpc != '\n' && lpc != '\0') { +- fputc('\n', file); +- lpc = '\n'; +- } +- fputs(s, file); +- +- /* 'x' - just something which is not '\n', '\0' or NO_EOL_CHAR */ +- if (s[0]) +- lpc = 'x'; +- +- /* had trailing '\0' and it was last char of file? */ +- if (last_gets_char == LAST_IS_NUL) { +- fputc('\0', file); +- lpc = 'x'; /* */ +- } else +- /* had trailing '\n' or '\0'? */ +- if (last_gets_char != NO_EOL_CHAR) { +- fputc(last_gets_char, file); +- lpc = last_gets_char; +- } +- +- if (ferror(file)) { +- xfunc_error_retval = 4; /* It's what gnu sed exits with... */ +- bb_error_msg_and_die(bb_msg_write_error); +- } +- *last_puts_char = lpc; +-} +- + #define sed_puts(s, n) (puts_maybe_newline(s, G.nonstdout, &last_puts_char, n)) + + static int beg_match(sed_cmd_t *sed_cmd, const char *pattern_space) +@@ -989,7 +983,7 @@ static void process_files(void) + int substituted; + + /* Prime the pump */ +- next_line = get_next_line(&next_gets_char); ++ next_line = get_next_line(&next_gets_char, &last_puts_char, '\n' /*last_gets_char*/); + + /* Go through every line in each file */ + again: +@@ -1003,7 +997,7 @@ static void process_files(void) + + /* Read one line in advance so we can act on the last line, + * the '$' address */ +- next_line = get_next_line(&next_gets_char); ++ next_line = get_next_line(&next_gets_char, &last_puts_char, last_gets_char); + linenum++; + + /* For every line, go through all the commands */ +@@ -1176,6 +1170,7 @@ static void process_files(void) + /* Append line to linked list to be printed later */ + case 'a': + append(sed_cmd->string); ++ last_gets_char = '\n'; + break; + + /* Insert text before this line */ +@@ -1222,7 +1217,7 @@ static void process_files(void) + free(pattern_space); + pattern_space = next_line; + last_gets_char = next_gets_char; +- next_line = get_next_line(&next_gets_char); ++ next_line = get_next_line(&next_gets_char, &last_puts_char, last_gets_char); + substituted = 0; + linenum++; + break; +@@ -1258,7 +1253,7 @@ static void process_files(void) + pattern_space[len] = '\n'; + strcpy(pattern_space + len+1, next_line); + last_gets_char = next_gets_char; +- next_line = get_next_line(&next_gets_char); ++ next_line = get_next_line(&next_gets_char, &last_puts_char, last_gets_char); + linenum++; + break; + } +@@ -1362,7 +1357,7 @@ static void process_files(void) + + /* Delete and such jump here. */ + discard_line: +- flush_append(); ++ flush_append(&last_puts_char, last_gets_char); + free(pattern_space); + + goto again; +@@ -1403,6 +1398,12 @@ static void add_cmd_block(char *cmdstr) + free(sv); + } + ++static void add_input_file(FILE *file) ++{ ++ G.input_file_list = xrealloc_vector(G.input_file_list, 2, G.input_file_count); ++ G.input_file_list[G.input_file_count++] = file; ++} ++ + int sed_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; + int sed_main(int argc UNUSED_PARAM, char **argv) + { +diff --git a/testsuite/sed.tests b/testsuite/sed.tests +index 468565f..e26483c 100755 +--- a/testsuite/sed.tests ++++ b/testsuite/sed.tests +@@ -135,10 +135,8 @@ testing "sed empty file plus cat" "sed -e 's/nohit//' input -" "one\ntwo" \ + "" "one\ntwo" + testing "sed cat plus empty file" "sed -e 's/nohit//' input -" "one\ntwo" \ + "one\ntwo" "" +-test x"$SKIP_KNOWN_BUGS" = x"" && { + testing "sed append autoinserts newline" "sed -e '/woot/a woo' -" \ + "woot\nwoo\n" "" "woot" +-} + testing "sed insert doesn't autoinsert newline" "sed -e '/woot/i woo' -" \ + "woo\nwoot" "" "woot" + testing "sed print autoinsert newlines" "sed -e 'p' -" "one\none" "" "one" +@@ -154,11 +152,9 @@ testing "sed selective matches insert newline" \ + testing "sed selective matches noinsert newline" \ + "sed -ne 's/woo/bang/p' input -" "a bang\nb bang" "a woo\nb woo" \ + "c no\nd no" +-test x"$SKIP_KNOWN_BUGS" = x"" && { + testing "sed clusternewline" \ + "sed -e '/one/a 111' -e '/two/i 222' -e p input -" \ + "one\none\n111\n222\ntwo\ntwo" "one" "two" +-} + testing "sed subst+write" \ + "sed -e 's/i/z/' -e 'woutputw' input -; $ECHO -n X; cat outputw" \ + "thzngy\nagaznXthzngy\nagazn" "thingy" "again" +-- +1.8.3 + diff --git a/meta/recipes-core/busybox/busybox_1.21.1.bb b/meta/recipes-core/busybox/busybox_1.21.1.bb index 5c0527397e2..a36cd00a3b7 100644 --- a/meta/recipes-core/busybox/busybox_1.21.1.bb +++ b/meta/recipes-core/busybox/busybox_1.21.1.bb @@ -33,7 +33,9 @@ SRC_URI = "http://www.busybox.net/downloads/busybox-${PV}.tar.bz2;name=tarball \ file://inetd.conf \ file://inetd \ file://login-utilities.cfg \ - file://busybox-list-suid-and-non-suid-app-configs.patch" + file://busybox-list-suid-and-non-suid-app-configs.patch \ + file://busybox-sed-fix-sed-clusternewline-testcase.patch \ +" SRC_URI[tarball.md5sum] = "795394f83903b5eec6567d51eebb417e" SRC_URI[tarball.sha256sum] = "cd5be0912ec856110ae12c76c3ec9cd5cba1df45b5a9da2b095b8284d1481303" From 5411bbcdb5f8be99bab979acbdead88275827dbb Mon Sep 17 00:00:00 2001 From: Xufeng Zhang Date: Fri, 1 Nov 2013 12:25:17 +0800 Subject: [PATCH 466/658] kernel.bbclass: Delay rm_work to run after do_bundle_initramfs Since kernel will build twice when we are trying to bundle kernel and initramfs together after commit 609d5a9ab("kernel.bbclass, image.bbclass: Implement kernel INITRAMFS dependency and bundling"), thus, the second building for kernel would fail if rm_work is done previously. To fix this problem, we need to make do_bundle_initramfs task run before do_rm_work task. [YOCTO #5416] (From OE-Core master rev: 8308e22a44a2dea7d1bbfb429b9df9c63714a649) (From OE-Core rev: fef443f1c40a3847cac08f4885d046acf6ede023) Signed-off-by: Martin Jansa Signed-off-by: Xufeng Zhang Signed-off-by: Saul Wold Signed-off-by: Richard Purdie Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- meta/classes/kernel.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass index f40ea8985d6..1374e68d1aa 100644 --- a/meta/classes/kernel.bbclass +++ b/meta/classes/kernel.bbclass @@ -152,7 +152,7 @@ python do_devshell_prepend () { os.environ["LDFLAGS"] = '' } -addtask bundle_initramfs after do_compile +addtask bundle_initramfs after do_compile before do_build kernel_do_compile() { unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS MACHINE From ff80e69648d062a3ad2935536cb6683243f8a6c2 Mon Sep 17 00:00:00 2001 From: Phil Blundell Date: Tue, 12 Nov 2013 13:43:21 +0000 Subject: [PATCH 467/658] binutils: Add gnu-config-native to DEPENDS do_configure() in binutils.inc includes an explicit call to gnu-configize so we need to make sure that gnu-config-native is present. Previously this was being dragged in with the rest of the autotools stuff, but commit 54a3e2ee37003fc56af0339f857b0b6442790c26 disabled that for binutils-cross on the grounds that "we don't autoreconf" the toolchain components. Fix this by adding gnu-config-native itself explicitly to DEPENDS. (From OE-Core master rev: 616354f13732d13c17434d5b60b166f691c25761) (From OE-Core rev: c7b50b95ab27d3ea3b37e3ee16050af962746f5c) Signed-off-by: Phil Blundell Signed-off-by: Richard Purdie Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- meta/recipes-devtools/binutils/binutils.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/recipes-devtools/binutils/binutils.inc b/meta/recipes-devtools/binutils/binutils.inc index 5e78dc03df8..b8463ab1cc8 100644 --- a/meta/recipes-devtools/binutils/binutils.inc +++ b/meta/recipes-devtools/binutils/binutils.inc @@ -11,7 +11,7 @@ BUGTRACKER = "http://sourceware.org/bugzilla/" SECTION = "devel" LICENSE = "GPLv3" -DEPENDS = "flex-native bison-native zlib-native" +DEPENDS = "flex-native bison-native zlib-native gnu-config-native" inherit autotools gettext multilib_header From 75cf26a02f72357533c42ceddbb24daa1d45185f Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Mon, 11 Nov 2013 20:15:53 -0800 Subject: [PATCH 468/658] libnl: Fix random segfaults due to memory corruption This is a backport from upstream fixes a severe problem w.r.t memory management, where it would result in random segfaults in applications depending on libnl (From OE-Core rev: c3fb18aac0de49dc3113296699d95be298d98140) Signed-off-by: Khem Raj Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- ...caused-by-freeing-link-af_data-in-rt.patch | 41 +++++++++++++++++++ meta/recipes-support/libnl/libnl_3.2.22.bb | 4 +- 2 files changed, 44 insertions(+), 1 deletion(-) create mode 100644 meta/recipes-support/libnl/libnl/0001-fix-double-free-caused-by-freeing-link-af_data-in-rt.patch diff --git a/meta/recipes-support/libnl/libnl/0001-fix-double-free-caused-by-freeing-link-af_data-in-rt.patch b/meta/recipes-support/libnl/libnl/0001-fix-double-free-caused-by-freeing-link-af_data-in-rt.patch new file mode 100644 index 00000000000..6d2c8ff72d0 --- /dev/null +++ b/meta/recipes-support/libnl/libnl/0001-fix-double-free-caused-by-freeing-link-af_data-in-rt.patch @@ -0,0 +1,41 @@ +From 6f37b439af7e96104aadd8ec3ae8d3882df8d102 Mon Sep 17 00:00:00 2001 +From: Jiri Pirko +Date: Wed, 21 Aug 2013 14:40:34 +0200 +Subject: [PATCH] fix double free caused by freeing link af_data in + rtnl_link_set_family() + +Introduced by commit 8026fe2e3a9089eff3f5a06ee6e3cc78d96334ed ("link: +Free and realloc af specific data upon rtnl_link_set_family()") + +link->l_af_data[link->l_af_ops->ao_family] is freed here but not set to +zero. That leads to double free made by link_free_data->do_foreach_af. + +Fix this by setting link->l_af_data[link->l_af_ops->ao_family] to zero +rigth after free. + +Signed-off-by: Jiri Pirko +Signed-off-by: Thomas Graf +--- + lib/route/link.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/lib/route/link.c b/lib/route/link.c +index a73e1db..0bb90a0 100644 +--- a/lib/route/link.c ++++ b/lib/route/link.c +@@ -1762,9 +1762,11 @@ void rtnl_link_set_family(struct rtnl_link *link, int family) + link->l_family = family; + link->ce_mask |= LINK_ATTR_FAMILY; + +- if (link->l_af_ops) ++ if (link->l_af_ops) { + af_free(link, link->l_af_ops, + link->l_af_data[link->l_af_ops->ao_family], NULL); ++ link->l_af_data[link->l_af_ops->ao_family] = NULL; ++ } + + link->l_af_ops = af_lookup_and_alloc(link, family); + } +-- +1.8.4 + diff --git a/meta/recipes-support/libnl/libnl_3.2.22.bb b/meta/recipes-support/libnl/libnl_3.2.22.bb index 30f85b29954..3c31b1ac866 100644 --- a/meta/recipes-support/libnl/libnl_3.2.22.bb +++ b/meta/recipes-support/libnl/libnl_3.2.22.bb @@ -12,7 +12,9 @@ DEPENDS = "flex-native bison-native" SRC_URI = "http://www.infradead.org/~tgr/${BPN}/files/${BP}.tar.gz \ file://fix-pktloc_syntax_h-race.patch \ file://fix-pc-file.patch \ - file://fix-lib-cache_mngr.c-two-parentheses-bugs.patch" + file://fix-lib-cache_mngr.c-two-parentheses-bugs.patch \ + file://0001-fix-double-free-caused-by-freeing-link-af_data-in-rt.patch \ + " SRC_URI[md5sum] = "2e1c889494d274aca24ce5f6a748e66e" SRC_URI[sha256sum] = "c7c5f267dfeae0c1a530bf96b71fb7c8dbbb07d54beef49b6712d8d6166f629b" From fbf836f259f6c2e52c350c64a410cb318b715615 Mon Sep 17 00:00:00 2001 From: Bruce Ashfield Date: Thu, 17 Oct 2013 00:23:29 -0400 Subject: [PATCH 469/658] linux-yocto/3.10: MinnowBoard support Updating the 3.10 SRCREVs to update minnowboard support via the following changes: 3F6C824 pch_gbe: Add MinnowBoard support 9f52743 pch_gbe: Use PCH_GBE_PHY_REGS_LEN instead of 32 ec7b5e6 pch_gbe: use managed functions pcim_* and devm_* fd8bf50 pch_gbe: convert pr_* to netdev_* 9b278e9 serial: pch_uart: fix compilation warning 8982d79 serial: pch_uart: Fix signed-ness and casting of uartclk related fields cdbf456 serial: pch_uart: Remove __initdata annotation from dmi_table 9e7c25e pch_uart: Use DMI interface for board detection (From OE-Core master rev: 6c7115a56c3d0bf3d6d0275bd2d49d8cfef5c028) (From OE-Core rev: 436b39e4d9484dc74f88d635af97eee3d6d1704b) Signed-off-by: Darren Hart Signed-off-by: Bruce Ashfield Signed-off-by: Richard Purdie Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- meta/recipes-kernel/linux/linux-yocto-rt_3.10.bb | 4 ++-- meta/recipes-kernel/linux/linux-yocto-tiny_3.10.bb | 2 +- meta/recipes-kernel/linux/linux-yocto_3.10.bb | 14 +++++++------- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/meta/recipes-kernel/linux/linux-yocto-rt_3.10.bb b/meta/recipes-kernel/linux/linux-yocto-rt_3.10.bb index 1a8599544dc..603edde338f 100644 --- a/meta/recipes-kernel/linux/linux-yocto-rt_3.10.bb +++ b/meta/recipes-kernel/linux/linux-yocto-rt_3.10.bb @@ -3,8 +3,8 @@ require recipes-kernel/linux/linux-yocto.inc KBRANCH = "standard/preempt-rt/base" KBRANCH_qemuppc = "standard/preempt-rt/qemuppc" -SRCREV_machine ?= "f1e003e9441f0366d7b9a2209ef3108438745ea3" -SRCREV_machine_qemuppc ?= "12be459359d5b20dbf856aa3649304c6f618d420" +SRCREV_machine ?= "cea2d99f298cd3e356f273631a647c93a178881f" +SRCREV_machine_qemuppc ?= "a93e52c77f25a018be54c82e3ccfa0a50555117b" SRCREV_meta ?= "452f0679ea93a6cb4433bebd7177629228a5cf68" SRC_URI = "git://git.yoctoproject.org/linux-yocto-3.10.git;bareclone=1;branch=${KBRANCH},meta;name=machine,meta" diff --git a/meta/recipes-kernel/linux/linux-yocto-tiny_3.10.bb b/meta/recipes-kernel/linux/linux-yocto-tiny_3.10.bb index 1405e4115f8..e0b17dc3713 100644 --- a/meta/recipes-kernel/linux/linux-yocto-tiny_3.10.bb +++ b/meta/recipes-kernel/linux/linux-yocto-tiny_3.10.bb @@ -9,7 +9,7 @@ LINUX_VERSION ?= "3.10.11" KMETA = "meta" -SRCREV_machine ?= "e1aa804148370cda6f85640281af156ffa007d52" +SRCREV_machine ?= "3f6c8243ed67011f70b27952d42657cf3a2c3115" SRCREV_meta ?= "452f0679ea93a6cb4433bebd7177629228a5cf68" diff --git a/meta/recipes-kernel/linux/linux-yocto_3.10.bb b/meta/recipes-kernel/linux/linux-yocto_3.10.bb index fa37e8a054b..9b280cbecad 100644 --- a/meta/recipes-kernel/linux/linux-yocto_3.10.bb +++ b/meta/recipes-kernel/linux/linux-yocto_3.10.bb @@ -3,13 +3,13 @@ require recipes-kernel/linux/linux-yocto.inc KBRANCH_DEFAULT = "standard/base" KBRANCH = "${KBRANCH_DEFAULT}" -SRCREV_machine_qemuarm ?= "aa1fa3cec7bd6e47f29acc5b5fbffddc16569883" -SRCREV_machine_qemumips ?= "5b908fd12f60de1e51e932c5df477a49b0ab2b40" -SRCREV_machine_qemuppc ?= "e80029ac30022c554e916ed438435ecc03cc2cea" -SRCREV_machine_qemux86 ?= "e1aa804148370cda6f85640281af156ffa007d52" -SRCREV_machine_qemux86-64 ?= "e1aa804148370cda6f85640281af156ffa007d52" -SRCREV_machine_qemumips64 ?= "6973844d304411893420a7e57545edc4dc854bd7" -SRCREV_machine ?= "e1aa804148370cda6f85640281af156ffa007d52" +SRCREV_machine_qemuarm ?= "07224529d7ceb1e16eb815b8dd4c03ad9d58653d" +SRCREV_machine_qemumips ?= "7747c5a158a99b8a668fd526f1f7f1f7f7e03d3e" +SRCREV_machine_qemuppc ?= "d63375e4b0a2de3ba110b83f78d6be6e01ec5c9e" +SRCREV_machine_qemux86 ?= "3f6c8243ed67011f70b27952d42657cf3a2c3115" +SRCREV_machine_qemux86-64 ?= "3f6c8243ed67011f70b27952d42657cf3a2c3115" +SRCREV_machine_qemumips64 ?= "9a4f9f4d44fdcd25fe365216b366bc346efb23d0" +SRCREV_machine ?= "3f6c8243ed67011f70b27952d42657cf3a2c3115" SRCREV_meta ?= "452f0679ea93a6cb4433bebd7177629228a5cf68" SRC_URI = "git://git.yoctoproject.org/linux-yocto-3.10.git;bareclone=1;branch=${KBRANCH},${KMETA};name=machine,meta" From 844cf62b435d4652b58bf56cde79f5be63ba8f5c Mon Sep 17 00:00:00 2001 From: Bruce Ashfield Date: Mon, 4 Nov 2013 00:56:23 -0500 Subject: [PATCH 470/658] linux-yocto-3.10: bump to 3.10.17 and -rt11 Updating the SRCREVs to reflect the integration of the .17 -stable release and the preempt-rt up date to -rt11. (From OE-Core master rev: cefa022b814b8b4f9afacecf3bb035d211a0f3bf) (From OE-Core rev: 65491b70eeebcc579c8d9933be165fcd860bf2c7) Signed-off-by: Bruce Ashfield Signed-off-by: Richard Purdie Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- .../linux/linux-yocto-rt_3.10.bb | 8 ++++---- .../linux/linux-yocto-tiny_3.10.bb | 6 +++--- meta/recipes-kernel/linux/linux-yocto_3.10.bb | 18 +++++++++--------- 3 files changed, 16 insertions(+), 16 deletions(-) diff --git a/meta/recipes-kernel/linux/linux-yocto-rt_3.10.bb b/meta/recipes-kernel/linux/linux-yocto-rt_3.10.bb index 603edde338f..848b04adf9f 100644 --- a/meta/recipes-kernel/linux/linux-yocto-rt_3.10.bb +++ b/meta/recipes-kernel/linux/linux-yocto-rt_3.10.bb @@ -3,13 +3,13 @@ require recipes-kernel/linux/linux-yocto.inc KBRANCH = "standard/preempt-rt/base" KBRANCH_qemuppc = "standard/preempt-rt/qemuppc" -SRCREV_machine ?= "cea2d99f298cd3e356f273631a647c93a178881f" -SRCREV_machine_qemuppc ?= "a93e52c77f25a018be54c82e3ccfa0a50555117b" -SRCREV_meta ?= "452f0679ea93a6cb4433bebd7177629228a5cf68" +SRCREV_machine ?= "57bf925362d72bbcd800e0d7d7606387bff1db12" +SRCREV_machine_qemuppc ?= "60d63f2aece6d7ddb1ef50168fe2bc0586dbdbf9" +SRCREV_meta ?= "43dd30e1955545a264fda63b4f66bb8f5cd875f9" SRC_URI = "git://git.yoctoproject.org/linux-yocto-3.10.git;bareclone=1;branch=${KBRANCH},meta;name=machine,meta" -LINUX_VERSION ?= "3.10.11" +LINUX_VERSION ?= "3.10.17" PV = "${LINUX_VERSION}+git${SRCPV}" diff --git a/meta/recipes-kernel/linux/linux-yocto-tiny_3.10.bb b/meta/recipes-kernel/linux/linux-yocto-tiny_3.10.bb index e0b17dc3713..8fce274f4f2 100644 --- a/meta/recipes-kernel/linux/linux-yocto-tiny_3.10.bb +++ b/meta/recipes-kernel/linux/linux-yocto-tiny_3.10.bb @@ -5,12 +5,12 @@ KBRANCH = "${KBRANCH_DEFAULT}" LINUX_KERNEL_TYPE = "tiny" KCONFIG_MODE = "--allnoconfig" -LINUX_VERSION ?= "3.10.11" +LINUX_VERSION ?= "3.10.17" KMETA = "meta" -SRCREV_machine ?= "3f6c8243ed67011f70b27952d42657cf3a2c3115" -SRCREV_meta ?= "452f0679ea93a6cb4433bebd7177629228a5cf68" +SRCREV_machine ?= "05de57c692983035c9ec2cdf53234f73d2b15f23" +SRCREV_meta ?= "43dd30e1955545a264fda63b4f66bb8f5cd875f9" PV = "${LINUX_VERSION}+git${SRCPV}" diff --git a/meta/recipes-kernel/linux/linux-yocto_3.10.bb b/meta/recipes-kernel/linux/linux-yocto_3.10.bb index 9b280cbecad..cc0953193ad 100644 --- a/meta/recipes-kernel/linux/linux-yocto_3.10.bb +++ b/meta/recipes-kernel/linux/linux-yocto_3.10.bb @@ -3,18 +3,18 @@ require recipes-kernel/linux/linux-yocto.inc KBRANCH_DEFAULT = "standard/base" KBRANCH = "${KBRANCH_DEFAULT}" -SRCREV_machine_qemuarm ?= "07224529d7ceb1e16eb815b8dd4c03ad9d58653d" -SRCREV_machine_qemumips ?= "7747c5a158a99b8a668fd526f1f7f1f7f7e03d3e" -SRCREV_machine_qemuppc ?= "d63375e4b0a2de3ba110b83f78d6be6e01ec5c9e" -SRCREV_machine_qemux86 ?= "3f6c8243ed67011f70b27952d42657cf3a2c3115" -SRCREV_machine_qemux86-64 ?= "3f6c8243ed67011f70b27952d42657cf3a2c3115" -SRCREV_machine_qemumips64 ?= "9a4f9f4d44fdcd25fe365216b366bc346efb23d0" -SRCREV_machine ?= "3f6c8243ed67011f70b27952d42657cf3a2c3115" -SRCREV_meta ?= "452f0679ea93a6cb4433bebd7177629228a5cf68" +SRCREV_machine_qemuarm ?= "f1714b2190a2a66caa9b775c7c9e80e731620b7d" +SRCREV_machine_qemumips ?= "0ff63d9064c97748eb99ecfe83eaca2288431502" +SRCREV_machine_qemuppc ?= "fe8f8e061e437fd12187e002123b019eb4876405" +SRCREV_machine_qemux86 ?= "05de57c692983035c9ec2cdf53234f73d2b15f23" +SRCREV_machine_qemux86-64 ?= "05de57c692983035c9ec2cdf53234f73d2b15f23" +SRCREV_machine_qemumips64 ?= "e4fb43c587b9ee44b1032d234594646124e29cb2" +SRCREV_machine ?= "05de57c692983035c9ec2cdf53234f73d2b15f23" +SRCREV_meta ?= "43dd30e1955545a264fda63b4f66bb8f5cd875f9" SRC_URI = "git://git.yoctoproject.org/linux-yocto-3.10.git;bareclone=1;branch=${KBRANCH},${KMETA};name=machine,meta" -LINUX_VERSION ?= "3.10.11" +LINUX_VERSION ?= "3.10.17" PV = "${LINUX_VERSION}+git${SRCPV}" From 2b62f03f708c8a0e6548546b64e78026210b1d3f Mon Sep 17 00:00:00 2001 From: Bruce Ashfield Date: Mon, 4 Nov 2013 00:56:24 -0500 Subject: [PATCH 471/658] linux-yocto/3.10: haswell-wc and crystalforest support Updating the 3.10 SRCREVs to add support for the haswell-sc and crystalforest boards. (From OE-Core master rev: 47ebe8677ac0dc4f8799d0af75f5b7bc611fd882) (From OE-Core rev: 06bef5014bac6e0d935453330dfec05153d71ad0) Signed-off-by: Bruce Ashfield Signed-off-by: Richard Purdie Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- meta/recipes-kernel/linux/linux-yocto-rt_3.10.bb | 6 +++--- .../linux/linux-yocto-tiny_3.10.bb | 4 ++-- meta/recipes-kernel/linux/linux-yocto_3.10.bb | 16 ++++++++-------- 3 files changed, 13 insertions(+), 13 deletions(-) diff --git a/meta/recipes-kernel/linux/linux-yocto-rt_3.10.bb b/meta/recipes-kernel/linux/linux-yocto-rt_3.10.bb index 848b04adf9f..ce7c78905d1 100644 --- a/meta/recipes-kernel/linux/linux-yocto-rt_3.10.bb +++ b/meta/recipes-kernel/linux/linux-yocto-rt_3.10.bb @@ -3,9 +3,9 @@ require recipes-kernel/linux/linux-yocto.inc KBRANCH = "standard/preempt-rt/base" KBRANCH_qemuppc = "standard/preempt-rt/qemuppc" -SRCREV_machine ?= "57bf925362d72bbcd800e0d7d7606387bff1db12" -SRCREV_machine_qemuppc ?= "60d63f2aece6d7ddb1ef50168fe2bc0586dbdbf9" -SRCREV_meta ?= "43dd30e1955545a264fda63b4f66bb8f5cd875f9" +SRCREV_machine ?= "919b378578a8f931ee87092f1ce2608a6c2815db" +SRCREV_machine_qemuppc ?= "be60fd54789f04941b51665970ef121089f9b93e" +SRCREV_meta ?= "aa4a6574195b220cacd9c1e8dcbba7b0b1085eb6" SRC_URI = "git://git.yoctoproject.org/linux-yocto-3.10.git;bareclone=1;branch=${KBRANCH},meta;name=machine,meta" diff --git a/meta/recipes-kernel/linux/linux-yocto-tiny_3.10.bb b/meta/recipes-kernel/linux/linux-yocto-tiny_3.10.bb index 8fce274f4f2..f0c781fc9c5 100644 --- a/meta/recipes-kernel/linux/linux-yocto-tiny_3.10.bb +++ b/meta/recipes-kernel/linux/linux-yocto-tiny_3.10.bb @@ -9,8 +9,8 @@ LINUX_VERSION ?= "3.10.17" KMETA = "meta" -SRCREV_machine ?= "05de57c692983035c9ec2cdf53234f73d2b15f23" -SRCREV_meta ?= "43dd30e1955545a264fda63b4f66bb8f5cd875f9" +SRCREV_machine ?= "375aee37c2508899b6a8c0bdff7d4d67cb75fb36" +SRCREV_meta ?= "aa4a6574195b220cacd9c1e8dcbba7b0b1085eb6" PV = "${LINUX_VERSION}+git${SRCPV}" diff --git a/meta/recipes-kernel/linux/linux-yocto_3.10.bb b/meta/recipes-kernel/linux/linux-yocto_3.10.bb index cc0953193ad..2c2b74b7b4f 100644 --- a/meta/recipes-kernel/linux/linux-yocto_3.10.bb +++ b/meta/recipes-kernel/linux/linux-yocto_3.10.bb @@ -3,14 +3,14 @@ require recipes-kernel/linux/linux-yocto.inc KBRANCH_DEFAULT = "standard/base" KBRANCH = "${KBRANCH_DEFAULT}" -SRCREV_machine_qemuarm ?= "f1714b2190a2a66caa9b775c7c9e80e731620b7d" -SRCREV_machine_qemumips ?= "0ff63d9064c97748eb99ecfe83eaca2288431502" -SRCREV_machine_qemuppc ?= "fe8f8e061e437fd12187e002123b019eb4876405" -SRCREV_machine_qemux86 ?= "05de57c692983035c9ec2cdf53234f73d2b15f23" -SRCREV_machine_qemux86-64 ?= "05de57c692983035c9ec2cdf53234f73d2b15f23" -SRCREV_machine_qemumips64 ?= "e4fb43c587b9ee44b1032d234594646124e29cb2" -SRCREV_machine ?= "05de57c692983035c9ec2cdf53234f73d2b15f23" -SRCREV_meta ?= "43dd30e1955545a264fda63b4f66bb8f5cd875f9" +SRCREV_machine_qemuarm ?= "47ba9c54bfa38b70e2c7500a7e30a738c667cb95" +SRCREV_machine_qemumips ?= "b9d36bdb86b595d9823392402b31bdb76439054c" +SRCREV_machine_qemuppc ?= "e13586324a05aba0f0cf2523ad9eecda2edd3b94" +SRCREV_machine_qemux86 ?= "375aee37c2508899b6a8c0bdff7d4d67cb75fb36" +SRCREV_machine_qemux86-64 ?= "375aee37c2508899b6a8c0bdff7d4d67cb75fb36" +SRCREV_machine_qemumips64 ?= "44eaa7b02aa1e4b8e539c2227702f74f9fcbcfea" +SRCREV_machine ?= "375aee37c2508899b6a8c0bdff7d4d67cb75fb36" +SRCREV_meta ?= "aa4a6574195b220cacd9c1e8dcbba7b0b1085eb6" SRC_URI = "git://git.yoctoproject.org/linux-yocto-3.10.git;bareclone=1;branch=${KBRANCH},${KMETA};name=machine,meta" From f28814e64915d552e6ac8c7c5910c7e008fcfa28 Mon Sep 17 00:00:00 2001 From: Bruce Ashfield Date: Mon, 4 Nov 2013 00:56:25 -0500 Subject: [PATCH 472/658] linux-yocto/3.8: add crystalforest bsp legacy block drivers configurations Updating the meta SRCREV to include the latest crystalforest configuration updates. (From OE-Core master rev: 9480e5b7231a2923b5ebff9623827c5d90334df3) (From OE-Core rev: a7b2d0550157413834c9c5a3022745b25ad97fef) Signed-off-by: Bruce Ashfield Signed-off-by: Richard Purdie Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- meta/recipes-kernel/linux/linux-yocto-rt_3.8.bb | 2 +- meta/recipes-kernel/linux/linux-yocto-tiny_3.8.bb | 2 +- meta/recipes-kernel/linux/linux-yocto_3.8.bb | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/meta/recipes-kernel/linux/linux-yocto-rt_3.8.bb b/meta/recipes-kernel/linux/linux-yocto-rt_3.8.bb index 97069486ea4..4d59b1611e9 100644 --- a/meta/recipes-kernel/linux/linux-yocto-rt_3.8.bb +++ b/meta/recipes-kernel/linux/linux-yocto-rt_3.8.bb @@ -10,7 +10,7 @@ KMETA = "meta" SRCREV_machine ?= "4fb187301ca153d496b2a96293dffde34d3b1a56" SRCREV_machine_qemuppc ?= "547c4ea570933ab7ece9f10d2c46875b460cd337" -SRCREV_meta ?= "cb96851e7e559f9247d616d08406db6135c357cb" +SRCREV_meta ?= "19e686b473ebf018c56c9eb839f5fbd88ecd9a5a" PR = "${INC_PR}.1" PV = "${LINUX_VERSION}+git${SRCPV}" diff --git a/meta/recipes-kernel/linux/linux-yocto-tiny_3.8.bb b/meta/recipes-kernel/linux/linux-yocto-tiny_3.8.bb index 41b9f9fdea4..4f346912a4b 100644 --- a/meta/recipes-kernel/linux/linux-yocto-tiny_3.8.bb +++ b/meta/recipes-kernel/linux/linux-yocto-tiny_3.8.bb @@ -13,7 +13,7 @@ LINUX_VERSION ?= "3.8.13" KMETA = "meta" SRCREV_machine ?= "f20047520a57322f05d95a18a5fbd082fb15cb87" -SRCREV_meta ?= "cb96851e7e559f9247d616d08406db6135c357cb" +SRCREV_meta ?= "19e686b473ebf018c56c9eb839f5fbd88ecd9a5a" PR = "${INC_PR}.1" PV = "${LINUX_VERSION}+git${SRCPV}" diff --git a/meta/recipes-kernel/linux/linux-yocto_3.8.bb b/meta/recipes-kernel/linux/linux-yocto_3.8.bb index 6f344801058..20fce1b9815 100644 --- a/meta/recipes-kernel/linux/linux-yocto_3.8.bb +++ b/meta/recipes-kernel/linux/linux-yocto_3.8.bb @@ -10,7 +10,7 @@ SRCREV_machine_qemuppc ?= "698eada61d9385b42dd117858b943655b565084b" SRCREV_machine_qemux86 ?= "f20047520a57322f05d95a18a5fbd082fb15cb87" SRCREV_machine_qemux86-64 ?= "f20047520a57322f05d95a18a5fbd082fb15cb87" SRCREV_machine ?= "f20047520a57322f05d95a18a5fbd082fb15cb87" -SRCREV_meta ?= "cb96851e7e559f9247d616d08406db6135c357cb" +SRCREV_meta ?= "19e686b473ebf018c56c9eb839f5fbd88ecd9a5a" SRC_URI = "git://git.yoctoproject.org/linux-yocto-3.8.git;bareclone=1;branch=${KBRANCH},${KMETA};name=machine,meta" From 64e1d78fbe7429c57c7465bb3ba8d3e6f39f4ae5 Mon Sep 17 00:00:00 2001 From: Bruce Ashfield Date: Mon, 4 Nov 2013 00:56:26 -0500 Subject: [PATCH 473/658] linux-yocto/3.10: common-pc: add missing dependencies for BRCMSMAC Updating the meta branch SRCREV to import some configuration updates for the common-pc-wifi feature: CONFIG_WEXT_CORE=y CONFIG_WEXT_PROC=y CONFIG_CFG80211_WEXT=y CONFIG_BCMA=m CONFIG_BCMA_HOST_PCI_POSSIBLE=y CONFIG_BCMA_HOST_PCI=y CONFIG_BCMA_DRIVER_GMAC_CMN=y CONFIG_CRC8=m CONFIG_CORDIC=m (From OE-Core master rev: cdd8145a7f4abc75c4089a30206c277db2712649) (From OE-Core rev: 3d3c7f004fd8c262f1b4e15e2552a5630f387457) Signed-off-by: Bruce Ashfield Signed-off-by: Richard Purdie Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- meta/recipes-kernel/linux/linux-yocto-rt_3.10.bb | 2 +- meta/recipes-kernel/linux/linux-yocto-tiny_3.10.bb | 2 +- meta/recipes-kernel/linux/linux-yocto_3.10.bb | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/meta/recipes-kernel/linux/linux-yocto-rt_3.10.bb b/meta/recipes-kernel/linux/linux-yocto-rt_3.10.bb index ce7c78905d1..53d546c6f58 100644 --- a/meta/recipes-kernel/linux/linux-yocto-rt_3.10.bb +++ b/meta/recipes-kernel/linux/linux-yocto-rt_3.10.bb @@ -5,7 +5,7 @@ KBRANCH_qemuppc = "standard/preempt-rt/qemuppc" SRCREV_machine ?= "919b378578a8f931ee87092f1ce2608a6c2815db" SRCREV_machine_qemuppc ?= "be60fd54789f04941b51665970ef121089f9b93e" -SRCREV_meta ?= "aa4a6574195b220cacd9c1e8dcbba7b0b1085eb6" +SRCREV_meta ?= "f1c9080cd27f99700fa59b5375d1ddd0afe625ad" SRC_URI = "git://git.yoctoproject.org/linux-yocto-3.10.git;bareclone=1;branch=${KBRANCH},meta;name=machine,meta" diff --git a/meta/recipes-kernel/linux/linux-yocto-tiny_3.10.bb b/meta/recipes-kernel/linux/linux-yocto-tiny_3.10.bb index f0c781fc9c5..c76951759c1 100644 --- a/meta/recipes-kernel/linux/linux-yocto-tiny_3.10.bb +++ b/meta/recipes-kernel/linux/linux-yocto-tiny_3.10.bb @@ -10,7 +10,7 @@ LINUX_VERSION ?= "3.10.17" KMETA = "meta" SRCREV_machine ?= "375aee37c2508899b6a8c0bdff7d4d67cb75fb36" -SRCREV_meta ?= "aa4a6574195b220cacd9c1e8dcbba7b0b1085eb6" +SRCREV_meta ?= "f1c9080cd27f99700fa59b5375d1ddd0afe625ad" PV = "${LINUX_VERSION}+git${SRCPV}" diff --git a/meta/recipes-kernel/linux/linux-yocto_3.10.bb b/meta/recipes-kernel/linux/linux-yocto_3.10.bb index 2c2b74b7b4f..af50b5c68df 100644 --- a/meta/recipes-kernel/linux/linux-yocto_3.10.bb +++ b/meta/recipes-kernel/linux/linux-yocto_3.10.bb @@ -10,7 +10,7 @@ SRCREV_machine_qemux86 ?= "375aee37c2508899b6a8c0bdff7d4d67cb75fb36" SRCREV_machine_qemux86-64 ?= "375aee37c2508899b6a8c0bdff7d4d67cb75fb36" SRCREV_machine_qemumips64 ?= "44eaa7b02aa1e4b8e539c2227702f74f9fcbcfea" SRCREV_machine ?= "375aee37c2508899b6a8c0bdff7d4d67cb75fb36" -SRCREV_meta ?= "aa4a6574195b220cacd9c1e8dcbba7b0b1085eb6" +SRCREV_meta ?= "f1c9080cd27f99700fa59b5375d1ddd0afe625ad" SRC_URI = "git://git.yoctoproject.org/linux-yocto-3.10.git;bareclone=1;branch=${KBRANCH},${KMETA};name=machine,meta" From e546f178177743f2d4407eb96ecae4cc9ca07589 Mon Sep 17 00:00:00 2001 From: Bruce Ashfield Date: Tue, 5 Nov 2013 13:47:50 -0500 Subject: [PATCH 474/658] linux-yocto/3.10: fix qemuarm boot and spurious mips build warning This update fixes two issues: a) qemuarm boot failure v3.10.13 picked up a patch for arm versatile interrupt mappings that fixes the emulator boot out of the box. But it interacts badly with our previous fix for the issue. Reverting the existing patch and going with the mainline solution fixes the boot. b) qemumips build warning and failure Depending on the build host and compiler, the build of menuconfig throws an potentially uninitialized variable warning. That warning causes an error on archs with -Werror. We can do a trivial change to avoid the warning all together (initilize it to null), and keep everyone happy. [YOCTO #5460] (From OE-Core master rev: 8d1a041891c87d0c2003c80f84b0501bdc9403a1) (From OE-Core rev: 3928340ea03dc04cda9eb2eea021837421adf737) Signed-off-by: Bruce Ashfield Signed-off-by: Richard Purdie Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- meta/recipes-kernel/linux/linux-yocto-rt_3.10.bb | 4 ++-- meta/recipes-kernel/linux/linux-yocto-tiny_3.10.bb | 2 +- meta/recipes-kernel/linux/linux-yocto_3.10.bb | 14 +++++++------- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/meta/recipes-kernel/linux/linux-yocto-rt_3.10.bb b/meta/recipes-kernel/linux/linux-yocto-rt_3.10.bb index 53d546c6f58..ab95ad13bfa 100644 --- a/meta/recipes-kernel/linux/linux-yocto-rt_3.10.bb +++ b/meta/recipes-kernel/linux/linux-yocto-rt_3.10.bb @@ -3,8 +3,8 @@ require recipes-kernel/linux/linux-yocto.inc KBRANCH = "standard/preempt-rt/base" KBRANCH_qemuppc = "standard/preempt-rt/qemuppc" -SRCREV_machine ?= "919b378578a8f931ee87092f1ce2608a6c2815db" -SRCREV_machine_qemuppc ?= "be60fd54789f04941b51665970ef121089f9b93e" +SRCREV_machine ?= "97499dfaea61934719b91f1347f468c6f0125b2c" +SRCREV_machine_qemuppc ?= "54cb4efa033af86301934d58d890a5324cc95a75" SRCREV_meta ?= "f1c9080cd27f99700fa59b5375d1ddd0afe625ad" SRC_URI = "git://git.yoctoproject.org/linux-yocto-3.10.git;bareclone=1;branch=${KBRANCH},meta;name=machine,meta" diff --git a/meta/recipes-kernel/linux/linux-yocto-tiny_3.10.bb b/meta/recipes-kernel/linux/linux-yocto-tiny_3.10.bb index c76951759c1..c15c3116478 100644 --- a/meta/recipes-kernel/linux/linux-yocto-tiny_3.10.bb +++ b/meta/recipes-kernel/linux/linux-yocto-tiny_3.10.bb @@ -9,7 +9,7 @@ LINUX_VERSION ?= "3.10.17" KMETA = "meta" -SRCREV_machine ?= "375aee37c2508899b6a8c0bdff7d4d67cb75fb36" +SRCREV_machine ?= "c03195ed6e3066494e3fb4be69154a57066e845b" SRCREV_meta ?= "f1c9080cd27f99700fa59b5375d1ddd0afe625ad" diff --git a/meta/recipes-kernel/linux/linux-yocto_3.10.bb b/meta/recipes-kernel/linux/linux-yocto_3.10.bb index af50b5c68df..eff245da819 100644 --- a/meta/recipes-kernel/linux/linux-yocto_3.10.bb +++ b/meta/recipes-kernel/linux/linux-yocto_3.10.bb @@ -3,13 +3,13 @@ require recipes-kernel/linux/linux-yocto.inc KBRANCH_DEFAULT = "standard/base" KBRANCH = "${KBRANCH_DEFAULT}" -SRCREV_machine_qemuarm ?= "47ba9c54bfa38b70e2c7500a7e30a738c667cb95" -SRCREV_machine_qemumips ?= "b9d36bdb86b595d9823392402b31bdb76439054c" -SRCREV_machine_qemuppc ?= "e13586324a05aba0f0cf2523ad9eecda2edd3b94" -SRCREV_machine_qemux86 ?= "375aee37c2508899b6a8c0bdff7d4d67cb75fb36" -SRCREV_machine_qemux86-64 ?= "375aee37c2508899b6a8c0bdff7d4d67cb75fb36" -SRCREV_machine_qemumips64 ?= "44eaa7b02aa1e4b8e539c2227702f74f9fcbcfea" -SRCREV_machine ?= "375aee37c2508899b6a8c0bdff7d4d67cb75fb36" +SRCREV_machine_qemuarm ?= "5714b747cf0087bb964cbb962db8d3d2041f3177" +SRCREV_machine_qemumips ?= "e87d2cb44bc5d10f3619871541849064bf0d79b1" +SRCREV_machine_qemuppc ?= "3e99f981fea427696f63af7fd8e99bf05039efee" +SRCREV_machine_qemux86 ?= "c03195ed6e3066494e3fb4be69154a57066e845b" +SRCREV_machine_qemux86-64 ?= "c03195ed6e3066494e3fb4be69154a57066e845b" +SRCREV_machine_qemumips64 ?= "8d21f71847640fc052bda1bf1f3792634cae5bb1" +SRCREV_machine ?= "c03195ed6e3066494e3fb4be69154a57066e845b" SRCREV_meta ?= "f1c9080cd27f99700fa59b5375d1ddd0afe625ad" SRC_URI = "git://git.yoctoproject.org/linux-yocto-3.10.git;bareclone=1;branch=${KBRANCH},${KMETA};name=machine,meta" From 0ebd48b90e188dbc6f2d401e5856f30cbe78e5af Mon Sep 17 00:00:00 2001 From: Bruce Ashfield Date: Thu, 14 Nov 2013 11:55:24 -0500 Subject: [PATCH 475/658] linux-yocto/3.10: meta: ARM: OMAP3: Add USB PHY driver for Beagleboard Updating the meta branch SRCREV to update the USB configuration: The Beagleboard needs the USB PHY drivers in the kernel in order to enable USB and Ethernet functionality. This fix ensures that they are built in by tweaking the kernel config. Tested on Beagleboard xM Rev. C2. (From OE-Core master rev: 2a9944514362445ee891f6e77c4ae62950e247b3) (From OE-Core rev: 670cd17b4ef4012a29eb4dee3c9899ccd5f967e6) Signed-off-by: Bruce Ashfield Signed-off-by: Richard Purdie Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- meta/recipes-kernel/linux/linux-yocto-rt_3.10.bb | 2 +- meta/recipes-kernel/linux/linux-yocto-tiny_3.10.bb | 3 +-- meta/recipes-kernel/linux/linux-yocto_3.10.bb | 2 +- 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/meta/recipes-kernel/linux/linux-yocto-rt_3.10.bb b/meta/recipes-kernel/linux/linux-yocto-rt_3.10.bb index ab95ad13bfa..ab36e6ad02e 100644 --- a/meta/recipes-kernel/linux/linux-yocto-rt_3.10.bb +++ b/meta/recipes-kernel/linux/linux-yocto-rt_3.10.bb @@ -5,7 +5,7 @@ KBRANCH_qemuppc = "standard/preempt-rt/qemuppc" SRCREV_machine ?= "97499dfaea61934719b91f1347f468c6f0125b2c" SRCREV_machine_qemuppc ?= "54cb4efa033af86301934d58d890a5324cc95a75" -SRCREV_meta ?= "f1c9080cd27f99700fa59b5375d1ddd0afe625ad" +SRCREV_meta ?= "c16a2cf7b06c92a0217d61569bd0293233fe6ba7" SRC_URI = "git://git.yoctoproject.org/linux-yocto-3.10.git;bareclone=1;branch=${KBRANCH},meta;name=machine,meta" diff --git a/meta/recipes-kernel/linux/linux-yocto-tiny_3.10.bb b/meta/recipes-kernel/linux/linux-yocto-tiny_3.10.bb index c15c3116478..d503d4416e8 100644 --- a/meta/recipes-kernel/linux/linux-yocto-tiny_3.10.bb +++ b/meta/recipes-kernel/linux/linux-yocto-tiny_3.10.bb @@ -10,8 +10,7 @@ LINUX_VERSION ?= "3.10.17" KMETA = "meta" SRCREV_machine ?= "c03195ed6e3066494e3fb4be69154a57066e845b" -SRCREV_meta ?= "f1c9080cd27f99700fa59b5375d1ddd0afe625ad" - +SRCREV_meta ?= "c16a2cf7b06c92a0217d61569bd0293233fe6ba7" PV = "${LINUX_VERSION}+git${SRCPV}" diff --git a/meta/recipes-kernel/linux/linux-yocto_3.10.bb b/meta/recipes-kernel/linux/linux-yocto_3.10.bb index eff245da819..383e645158b 100644 --- a/meta/recipes-kernel/linux/linux-yocto_3.10.bb +++ b/meta/recipes-kernel/linux/linux-yocto_3.10.bb @@ -10,7 +10,7 @@ SRCREV_machine_qemux86 ?= "c03195ed6e3066494e3fb4be69154a57066e845b" SRCREV_machine_qemux86-64 ?= "c03195ed6e3066494e3fb4be69154a57066e845b" SRCREV_machine_qemumips64 ?= "8d21f71847640fc052bda1bf1f3792634cae5bb1" SRCREV_machine ?= "c03195ed6e3066494e3fb4be69154a57066e845b" -SRCREV_meta ?= "f1c9080cd27f99700fa59b5375d1ddd0afe625ad" +SRCREV_meta ?= "c16a2cf7b06c92a0217d61569bd0293233fe6ba7" SRC_URI = "git://git.yoctoproject.org/linux-yocto-3.10.git;bareclone=1;branch=${KBRANCH},${KMETA};name=machine,meta" From 58b59bd9273a22e8da85d285b0547f0b8926c891 Mon Sep 17 00:00:00 2001 From: Bruce Ashfield Date: Thu, 14 Nov 2013 11:55:25 -0500 Subject: [PATCH 476/658] linux-yocto-rt/3.10: fix ntp merge issue Updating the -rt SRCREVs to pick up the following fix: ntp: fix ntp_notify_cmos_timer merge issue PREEMPT_RT_FULL has a stubbed ntp_notify_cmos_timer due to a bad merge. Renaming and restoring the full -rt functionality to this routine. (From OE-Core master rev: 41d4f0feca69bf1b41f16f5f7d21bf7540e6c47a) (From OE-Core rev: 0336b83df666617d61e8cd39c2d2a7f9c745064c) Signed-off-by: Bruce Ashfield Signed-off-by: Richard Purdie Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- meta/recipes-kernel/linux/linux-yocto-rt_3.10.bb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/meta/recipes-kernel/linux/linux-yocto-rt_3.10.bb b/meta/recipes-kernel/linux/linux-yocto-rt_3.10.bb index ab36e6ad02e..c8b9888f487 100644 --- a/meta/recipes-kernel/linux/linux-yocto-rt_3.10.bb +++ b/meta/recipes-kernel/linux/linux-yocto-rt_3.10.bb @@ -3,9 +3,9 @@ require recipes-kernel/linux/linux-yocto.inc KBRANCH = "standard/preempt-rt/base" KBRANCH_qemuppc = "standard/preempt-rt/qemuppc" -SRCREV_machine ?= "97499dfaea61934719b91f1347f468c6f0125b2c" -SRCREV_machine_qemuppc ?= "54cb4efa033af86301934d58d890a5324cc95a75" -SRCREV_meta ?= "c16a2cf7b06c92a0217d61569bd0293233fe6ba7" +SRCREV_machine ?= "baed5453f830d06075a4480ec0ded8ff785828bc" +SRCREV_machine_qemuppc ?= "26a465af89793c7dc5a81661449c5a9f0ad06dee" +SRCREV_meta ?= "6ad20f049abd52b515a8e0a4664861cfd331f684" SRC_URI = "git://git.yoctoproject.org/linux-yocto-3.10.git;bareclone=1;branch=${KBRANCH},meta;name=machine,meta" From 4ab99bedf2f147cb5caf02756515a403ae9a9be5 Mon Sep 17 00:00:00 2001 From: Bruce Ashfield Date: Wed, 13 Nov 2013 16:40:10 +0000 Subject: [PATCH 477/658] linux-yocto/3.10: meta: ARM: OMAP3: Add USB PHY driver for Beagleboard Updating the meta branch SRCREV to update the USB configuration: The Beagleboard needs the USB PHY drivers in the kernel in order to enable USB and Ethernet functionality. This fix ensures that they are built in by tweaking the kernel config. Tested on Beagleboard xM Rev. C2. (From OE-Core master rev: 89a372840a957e540bed954e629aa68335b3dfe0) (From OE-Core rev: ee9dd4a40916668927b0c4b4dfaa4f80c671c9b2) Signed-off-by: Bruce Ashfield Signed-off-by: Saul Wold Signed-off-by: Richard Purdie Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- meta/recipes-kernel/linux/linux-yocto-tiny_3.10.bb | 2 +- meta/recipes-kernel/linux/linux-yocto_3.10.bb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/meta/recipes-kernel/linux/linux-yocto-tiny_3.10.bb b/meta/recipes-kernel/linux/linux-yocto-tiny_3.10.bb index d503d4416e8..6bd8ae68e22 100644 --- a/meta/recipes-kernel/linux/linux-yocto-tiny_3.10.bb +++ b/meta/recipes-kernel/linux/linux-yocto-tiny_3.10.bb @@ -10,7 +10,7 @@ LINUX_VERSION ?= "3.10.17" KMETA = "meta" SRCREV_machine ?= "c03195ed6e3066494e3fb4be69154a57066e845b" -SRCREV_meta ?= "c16a2cf7b06c92a0217d61569bd0293233fe6ba7" +SRCREV_meta ?= "6ad20f049abd52b515a8e0a4664861cfd331f684" PV = "${LINUX_VERSION}+git${SRCPV}" diff --git a/meta/recipes-kernel/linux/linux-yocto_3.10.bb b/meta/recipes-kernel/linux/linux-yocto_3.10.bb index 383e645158b..1f1a9dc99ee 100644 --- a/meta/recipes-kernel/linux/linux-yocto_3.10.bb +++ b/meta/recipes-kernel/linux/linux-yocto_3.10.bb @@ -10,7 +10,7 @@ SRCREV_machine_qemux86 ?= "c03195ed6e3066494e3fb4be69154a57066e845b" SRCREV_machine_qemux86-64 ?= "c03195ed6e3066494e3fb4be69154a57066e845b" SRCREV_machine_qemumips64 ?= "8d21f71847640fc052bda1bf1f3792634cae5bb1" SRCREV_machine ?= "c03195ed6e3066494e3fb4be69154a57066e845b" -SRCREV_meta ?= "c16a2cf7b06c92a0217d61569bd0293233fe6ba7" +SRCREV_meta ?= "6ad20f049abd52b515a8e0a4664861cfd331f684" SRC_URI = "git://git.yoctoproject.org/linux-yocto-3.10.git;bareclone=1;branch=${KBRANCH},${KMETA};name=machine,meta" From 50574e41b882c3f2633f69486593eaea54d8e554 Mon Sep 17 00:00:00 2001 From: Otavio Salvador Date: Thu, 14 Nov 2013 15:43:49 -0200 Subject: [PATCH 478/658] lttng-modules: Update to 2.3.3 version This updates lttng-modules for 2.3.3 and it also fixes the build with 3.12 Linux kernel. While on that, we also renamed the recipe file to follow the other lttng recipes which use the version number on it. (From OE-Core master rev: 2d01bd48e689656bbe6189243d077f822092a14a) (From OE-Core rev: 213ba50b8a747e1489f03872339e3931a99963a4) Signed-off-by: Otavio Salvador Signed-off-by: Saul Wold Signed-off-by: Richard Purdie Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- .../lttng/{lttng-modules_git.bb => lttng-modules_2.3.3.bb} | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) rename meta/recipes-kernel/lttng/{lttng-modules_git.bb => lttng-modules_2.3.3.bb} (93%) diff --git a/meta/recipes-kernel/lttng/lttng-modules_git.bb b/meta/recipes-kernel/lttng/lttng-modules_2.3.3.bb similarity index 93% rename from meta/recipes-kernel/lttng/lttng-modules_git.bb rename to meta/recipes-kernel/lttng/lttng-modules_2.3.3.bb index 789b5ec94f0..f293376e1ee 100644 --- a/meta/recipes-kernel/lttng/lttng-modules_git.bb +++ b/meta/recipes-kernel/lttng/lttng-modules_2.3.3.bb @@ -10,8 +10,8 @@ DEPENDS = "virtual/kernel" inherit module -SRCREV = "78c8710bb8e6b7f6301d95afec0305f40fa063ad" -PV = "2.3.0+git${SRCPV}" +SRCREV = "eef112db0e63feff6cbf0a98cda9af607cefb377" +PV = "2.3.3" SRC_URI = "git://git.lttng.org/lttng-modules.git \ file://lttng-modules-replace-KERNELDIR-with-KERNEL_SRC.patch" From fbe8b3ce1f8ce174708f5a8c329c3fd85acac885 Mon Sep 17 00:00:00 2001 From: Saul Wold Date: Thu, 14 Nov 2013 17:52:13 -0800 Subject: [PATCH 479/658] sysvinit: unmount the psplash lazyily There is an race condition where psplash is not quite exited before the unmount occurs causing a umount: /mnt/.psplash: target is busy message to appear, it's ok to lazyily unmount and not get this message [YOCTO #5244] (From OE-Core master rev: 9ded366084f22f48ef72aa22acf6a38982d16d97) (From OE-Core rev: 8c3e3c90daee1639ac8b2633d8f1e500697d9c52) Signed-off-by: Saul Wold Signed-off-by: Richard Purdie Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- meta/recipes-core/sysvinit/sysvinit/rc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/recipes-core/sysvinit/sysvinit/rc b/meta/recipes-core/sysvinit/sysvinit/rc index 655a0b067cb..1f400d9e556 100755 --- a/meta/recipes-core/sysvinit/sysvinit/rc +++ b/meta/recipes-core/sysvinit/sysvinit/rc @@ -174,6 +174,6 @@ startup() { if [ "x$runlevel" != "xS" ] && [ ! -x /etc/rc${runlevel}.d/S??xserver-nodm ]; then if type psplash-write >/dev/null 2>&1; then TMPDIR=/mnt/.psplash psplash-write "QUIT" || true - umount /mnt/.psplash + umount -l /mnt/.psplash fi fi From a8008ea07b8d852a3b67fd2a4059669b56cb8e2a Mon Sep 17 00:00:00 2001 From: Phil Blundell Date: Thu, 14 Nov 2013 14:41:21 +0000 Subject: [PATCH 480/658] boost: Add patch to avoid undefined references to boost::atomic::lockpool::get_lock_for() Boost::thread uses functions from boost::atomic but doesn't actually link with libboost_atomic. This works fine on platforms where BOOST_ATOMIC_FLAG_LOCK_FREE is true but will lead to undefined symbol references otherwise. Fix this by applying a patch from the upstream bug tracker to add the missing library linkage. (From OE-Core master rev: 1ffc27173576589191b037d111ecb59d94631de0) (From OE-Core rev: 306fd06c7687340a0d4eb90e9aba9dc8669db07c) Signed-off-by: Phil Blundell Signed-off-by: Saul Wold Signed-off-by: Richard Purdie Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- meta/recipes-support/boost/boost_1.54.0.bb | 1 + .../boost-1.54.0-thread-link_atomic.patch | 59 +++++++++++++++++++ 2 files changed, 60 insertions(+) create mode 100644 meta/recipes-support/boost/files/boost-1.54.0-thread-link_atomic.patch diff --git a/meta/recipes-support/boost/boost_1.54.0.bb b/meta/recipes-support/boost/boost_1.54.0.bb index 3cf88fa3c11..9e7a60a805d 100644 --- a/meta/recipes-support/boost/boost_1.54.0.bb +++ b/meta/recipes-support/boost/boost_1.54.0.bb @@ -3,4 +3,5 @@ include boost.inc SRC_URI += "file://arm-intrinsics.patch \ file://glibc.patch \ + file://boost-1.54.0-thread-link_atomic.patch \ " diff --git a/meta/recipes-support/boost/files/boost-1.54.0-thread-link_atomic.patch b/meta/recipes-support/boost/files/boost-1.54.0-thread-link_atomic.patch new file mode 100644 index 00000000000..62af3d1aa3c --- /dev/null +++ b/meta/recipes-support/boost/files/boost-1.54.0-thread-link_atomic.patch @@ -0,0 +1,59 @@ +Link boost_thread with boost_atomic to avoid undefined references to +boost::atomic::detail::lock_pool::get_lock_for(). + +From https://svn.boost.org/trac/boost/ticket/9041 + +Phil Blundell +Upstream-Status: Backport + +diff -Nurp boost_1_54_0/libs/thread/build/has_atomic_flag_lockfree_test.cpp boost_1_54_0.pm/libs/thread/build/has_atomic_flag_lockfree_test.cpp +--- boost_1_54_0/libs/thread/build/has_atomic_flag_lockfree_test.cpp 1970-01-01 01:00:00.000000000 +0100 ++++ boost_1_54_0.pm/libs/thread/build/has_atomic_flag_lockfree_test.cpp 2013-08-23 19:51:52.706329968 +0200 +@@ -0,0 +1,14 @@ ++// Copyright (c) 2013, Petr Machata, Red Hat Inc. ++// ++// Use modification and distribution are subject to the boost Software ++// License, Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt). ++ ++#include "../../../boost/atomic.hpp" ++#include "../../../boost/static_assert.hpp" ++ ++int ++main(int argc, char *argv[]) ++{ ++ BOOST_STATIC_ASSERT(BOOST_ATOMIC_FLAG_LOCK_FREE); ++ return 0; ++} +diff -Nurp boost_1_54_0/libs/thread/build/Jamfile.v2 boost_1_54_0.pm/libs/thread/build/Jamfile.v2 +--- boost_1_54_0/libs/thread/build/Jamfile.v2 2013-06-15 12:35:45.000000000 +0200 ++++ boost_1_54_0.pm/libs/thread/build/Jamfile.v2 2013-08-23 19:52:30.018613408 +0200 +@@ -36,6 +36,7 @@ import os ; + import feature ; + import indirect ; + import path ; ++import configure ; + + project boost/thread + : source-location ../src +@@ -140,6 +141,8 @@ local rule default_threadapi ( ) + feature.feature threadapi : pthread win32 : propagated ; + feature.set-default threadapi : [ default_threadapi ] ; + ++exe has_atomic_flag_lockfree : ../build/has_atomic_flag_lockfree_test.cpp ; ++ + rule tag ( name : type ? : property-set ) + { + local result = $(name) ; +@@ -248,6 +251,12 @@ rule requirements ( properties * ) + { + local result ; + ++ if ! [ configure.builds has_atomic_flag_lockfree ++ : $(properties) : "lockfree boost::atomic_flag" ] ++ { ++ result += /boost/atomic//boost_atomic ; ++ } ++ + if pthread in $(properties) + { + result += BOOST_THREAD_POSIX ; From 8072e0726c134411c2c556770bfbea6f398a9922 Mon Sep 17 00:00:00 2001 From: Jeffrey C Honig Date: Wed, 13 Nov 2013 11:37:41 -0500 Subject: [PATCH 481/658] perl: perl-ptest.inc polutes package dependencies when ptest not enabled When ptest is not enabled, the populate_packages_prepend function runs wheter ptest is enabled or not. This causes ptest packages to get in the dependencies list when ptest is not enabled. (From OE-Core master rev: 826f4e4057a221127ac4c1d0658d975032fc7d90) (From OE-Core rev: e739a64143901fa6f6f54e70445d19e9ce13dcf1) Signed-off-by: Jeffrey C Honig Signed-off-by: Richard Purdie Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- meta/recipes-devtools/perl/perl-ptest.inc | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/meta/recipes-devtools/perl/perl-ptest.inc b/meta/recipes-devtools/perl/perl-ptest.inc index 15afe2dab48..6999e6be37d 100644 --- a/meta/recipes-devtools/perl/perl-ptest.inc +++ b/meta/recipes-devtools/perl/perl-ptest.inc @@ -42,8 +42,9 @@ python populate_packages_prepend() { # Put all *.t files from the lib dir in the ptest package # do_split_packages requires a pair of () in the regex, but we have nothing # to match, so use an empty pair. - do_split_packages(d, d.expand('${libdir}/perl/${PV}'), '.*\.t()', - '${PN}-ptest%s', '%s', recursive=True, match_path=True) + if "ptest" in d.getVar("DISTRO_FEATURES", True).split(): + do_split_packages(d, d.expand('${libdir}/perl/${PV}'), '.*\.t()', + '${PN}-ptest%s', '%s', recursive=True, match_path=True) } RDEPENDS_${PN}-ptest += "${PN}-modules ${PN}-doc ${PN}-misc" From 5b616aa7b618f6ed221d6fa9738220a2c2349f7d Mon Sep 17 00:00:00 2001 From: Paul Eggleton Date: Sun, 17 Nov 2013 12:28:19 +0000 Subject: [PATCH 482/658] buildhistory_analysis: fix error when comparing image contents OE-Core commit b7de1eaac9eed559b2d68058f5de67de74a6cb58 added an extra argument to the compare_dict_blobs() function but missed adding the argument to one call to compare two versions of the image-info.txt file. (From OE-Core master rev: 24a45d752c3e3d0d8b59c040355e4fe7de22b041) (From OE-Core rev: a51d96c44e6feac8322284c54bfc01ef598f8821) Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- meta/lib/oe/buildhistory_analysis.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/lib/oe/buildhistory_analysis.py b/meta/lib/oe/buildhistory_analysis.py index 86b5a123472..ffe12d0023b 100644 --- a/meta/lib/oe/buildhistory_analysis.py +++ b/meta/lib/oe/buildhistory_analysis.py @@ -400,7 +400,7 @@ def process_changes(repopath, revision1, revision2 = 'HEAD', report_all = False) chg = ChangeRecord(path, filename, d.a_blob.data_stream.read(), d.b_blob.data_stream.read(), True) changes.append(chg) elif filename == 'image-info.txt': - changes.extend(compare_dict_blobs(path, d.a_blob, d.b_blob, report_all)) + changes.extend(compare_dict_blobs(path, d.a_blob, d.b_blob, report_all, report_ver)) elif '/image-files/' in path: chg = ChangeRecord(path, filename, d.a_blob.data_stream.read(), d.b_blob.data_stream.read(), True) changes.append(chg) From e5d7ea2baba26181ccfd72556ed4d9ffdb63c937 Mon Sep 17 00:00:00 2001 From: Chunrong Guo Date: Tue, 12 Nov 2013 11:40:49 +0800 Subject: [PATCH 483/658] mdadm: flag __SANE_USERSPACE_TYPES__ to include int-ll64.h for powerpc64 *PPC64 uses long long for u64 in the kernel, but powerpc's asm/types.h prevents 64-bit userland from seeing this definition, instead defaulting to u64 == long in userspace. *fix the below error |super-ddf.c:4542:5: error: format '%llu' expects argument of type 'long long unsigned int', |but argument 5 has type '__u64' [-Werror=format=] |dprintf("BVD %u has %08x at %llu\n", 0, (From OE-Core master rev: d3caab6eb03264b4f4d744f914598022299011ba) (From OE-Core rev: c5e59e68efcf2a3f902dbfd827da57ed3e8ad4ce) Signed-off-by: Chunrong Guo Signed-off-by: Saul Wold Signed-off-by: Richard Purdie Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- meta/recipes-extended/mdadm/mdadm_3.2.6.bb | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/meta/recipes-extended/mdadm/mdadm_3.2.6.bb b/meta/recipes-extended/mdadm/mdadm_3.2.6.bb index 50f39dbc0d8..382c0c128a7 100644 --- a/meta/recipes-extended/mdadm/mdadm_3.2.6.bb +++ b/meta/recipes-extended/mdadm/mdadm_3.2.6.bb @@ -27,6 +27,11 @@ do_configure_prepend () { } EXTRA_OEMAKE = "CHECK_RUN_DIR=0" +# PPC64 uses long long for u64 in the kernel, but powerpc's asm/types.h +# prevents 64-bit userland from seeing this definition, instead defaulting +# to u64 == long in userspace. Define __SANE_USERSPACE_TYPES__ to get +# int-ll64.h included +EXTRA_OEMAKE_append_powerpc64 = ' CFLAGS=-D__SANE_USERSPACE_TYPES__' do_compile() { oe_runmake From e830ecd6863fc031dd0f927af1e96274b7f600b1 Mon Sep 17 00:00:00 2001 From: Laurentiu Palcu Date: Wed, 6 Nov 2013 15:07:58 +0200 Subject: [PATCH 484/658] flex: fix m4 issue on target Flex needs m4 to run (see below) and, since the create_wrapper introduces a bash dependency on target, give the path to m4 binary in the configure command line. Snippet from the flex documentation: "The macro processor m4 must be installed wherever flex is installed. <...> m4 is only required at the time you run flex." [YOCTO #5329] (From OE-Core master rev: 64030f37b34f75144f53eef42d5822ede79e08bd) (From OE-Core rev: d039150eae579af1bd85000982ef38a6b09bb90d) Signed-off-by: Laurentiu Palcu Signed-off-by: Saul Wold Signed-off-by: Richard Purdie Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- meta/recipes-devtools/flex/flex.inc | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/meta/recipes-devtools/flex/flex.inc b/meta/recipes-devtools/flex/flex.inc index 43f1dda01c6..96d5de5f74c 100644 --- a/meta/recipes-devtools/flex/flex.inc +++ b/meta/recipes-devtools/flex/flex.inc @@ -13,6 +13,9 @@ inherit autotools gettext M4 = "${bindir}/m4" M4_class-native = "${STAGING_BINDIR_NATIVE}/m4" +EXTRA_OECONF += "ac_cv_path_M4=${M4}" +EXTRA_OEMAKE += "m4=${STAGING_BINDIR_NATIVE}/m4" + do_install_append_class-native() { create_wrapper ${D}/${bindir}/flex M4=${M4} } @@ -20,3 +23,5 @@ do_install_append_class-native() { do_install_append_class-nativesdk() { create_wrapper ${D}/${bindir}/flex M4=${M4} } + +RDEPENDS_${PN} += "m4" From baa8ca33158d10375ebf0417233da61db718015a Mon Sep 17 00:00:00 2001 From: Ming Liu Date: Wed, 13 Nov 2013 16:19:21 +0800 Subject: [PATCH 485/658] grub: add xz RDEPENDS grub_2.0.0 requires xz to run or an error may occur. (From OE-Core master rev: ffa2877c06c587d4ea56c55bfd0f67a88e42a772) (From OE-Core rev: d3e1dde9ae75faa1015b80da74604c5ae360c3a6) Signed-off-by: Ming Liu Signed-off-by: Saul Wold Signed-off-by: Richard Purdie Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- meta/recipes-bsp/grub/grub_2.00.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/recipes-bsp/grub/grub_2.00.bb b/meta/recipes-bsp/grub/grub_2.00.bb index e82996d466e..f8b68e4a17f 100644 --- a/meta/recipes-bsp/grub/grub_2.00.bb +++ b/meta/recipes-bsp/grub/grub_2.00.bb @@ -12,7 +12,7 @@ LICENSE = "GPLv3" LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" DEPENDS = "autogen-native flex-native" -RDEPENDS_${PN} = "diffutils freetype" +RDEPENDS_${PN} = "diffutils freetype xz" PR = "r1" SRC_URI = "ftp://ftp.gnu.org/gnu/grub/grub-${PV}.tar.gz \ From f7d46fe7f3670d1723b8617b404e85e6fbecc935 Mon Sep 17 00:00:00 2001 From: Wenzong Fan Date: Wed, 13 Nov 2013 21:45:48 -0500 Subject: [PATCH 486/658] udev: remove extra -dev/-dbg packages We don't support multiple -dbg/-dev packages, the package can generate them but the system does not correctly handle them. Just move all devel stuffs into 'udev-dev' and all debug stuffs into 'udev-dbg'. (From OE-Core master rev: 014f7a33f399192268f28acac835551413c4768d) (From OE-Core rev: a700493063efdc3f60fb77e9a4a15d9c89ee79c6) Signed-off-by: Wenzong Fan Signed-off-by: Saul Wold Signed-off-by: Richard Purdie Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- meta/recipes-core/udev/udev.inc | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/meta/recipes-core/udev/udev.inc b/meta/recipes-core/udev/udev.inc index 2ff8f006da9..29162c7f2ca 100644 --- a/meta/recipes-core/udev/udev.inc +++ b/meta/recipes-core/udev/udev.inc @@ -45,8 +45,8 @@ EXTRA_OECONF = "--disable-introspection \ " PACKAGES =+ "udev-utils udev-cache" -PACKAGES =+ "libudev libudev-dev libudev-dbg" -PACKAGES =+ "libgudev libgudev-dev libgudev-dbg" +PACKAGES =+ "libudev" +PACKAGES =+ "libgudev" INITSCRIPT_PACKAGES = "udev udev-cache" INITSCRIPT_NAME_udev = "udev" @@ -61,15 +61,13 @@ FILES_${PN}-dbg += "${libexecdir}/.debug" FILES_${PN}-dbg += "${base_libdir}/udev/.debug/" FILES_${PN}-dbg += "${base_libdir}/udev/.debug/*" FILES_${PN}-dbg += "${nonarch_base_libdir}/udev/.debug/*" -FILES_${PN}-dev = "${datadir}/pkgconfig/udev.pc" +FILES_${PN}-dev = "${datadir}/pkgconfig/udev.pc \ + ${includedir}/libudev.h ${libdir}/libudev.so ${libdir}/libudev.la \ + ${libdir}/libudev.a ${libdir}/pkgconfig/libudev.pc \ + ${includedir}/gudev* ${libdir}/libgudev*.so ${libdir}/libgudev*.la \ + ${libdir}/libgudev*.a ${libdir}/pkgconfig/gudev*.pc" FILES_libudev = "${base_libdir}/libudev.so.*" -FILES_libudev-dbg = "${base_libdir}/.debug/libudev.so.*" -FILES_libudev-dev = "${includedir}/libudev.h ${libdir}/libudev.so ${libdir}/libudev.la \ - ${libdir}/libudev.a ${libdir}/pkgconfig/libudev.pc" FILES_libgudev = "${base_libdir}/libgudev*.so.* ${libdir}/libgudev*.so.*" -FILES_libgudev-dbg = "${base_libdir}/.debug/libgudev*.so.* ${libdir}/.debug/libgudev*.so.*" -FILES_libgudev-dev = "${includedir}/gudev* ${libdir}/libgudev*.so ${libdir}/libgudev*.la \ - ${libdir}/libgudev*.a ${libdir}/pkgconfig/gudev*.pc" FILES_udev-cache = "${sysconfdir}/init.d/udev-cache ${sysconfdir}/default/udev-cache" FILES_udev-utils = "${bindir}/udevadm" From b4481bb9621c9b176079fb5b987daa9a99a7a1e9 Mon Sep 17 00:00:00 2001 From: Hans Beckerus Date: Fri, 15 Nov 2013 15:25:33 +0100 Subject: [PATCH 487/658] initscripts: add missing dmesg.sh to run-level S In commit faa8cc6c2a582a32c695f3f2b0d45b6892c769fd dmesg.sh was added to the set of init.d scripts. But the script was never put in any run-level. This patch will add dmesg.sh to run-level S. (From OE-Core master rev: 7d2767d4e27c6d0eaa56f3e126df56e65a5364c9) (From OE-Core rev: fb7a6e0e3c5790415d56d14ec1a5eda5f9e6d039) Signed-off-by: Hans Beckerus Signed-off-by: Saul Wold Signed-off-by: Richard Purdie Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- meta/recipes-core/initscripts/initscripts_1.0.bb | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/meta/recipes-core/initscripts/initscripts_1.0.bb b/meta/recipes-core/initscripts/initscripts_1.0.bb index c2998c3a025..50ebb1cf97b 100644 --- a/meta/recipes-core/initscripts/initscripts_1.0.bb +++ b/meta/recipes-core/initscripts/initscripts_1.0.bb @@ -126,5 +126,7 @@ do_install () { if [ "${TARGET_ARCH}" = "arm" ]; then update-rc.d -r ${D} alignment.sh start 06 S . fi - + # We wish to have /var/log ready at this stage so execute this after + # populate-volatile.sh + update-rc.d -r ${D} dmesg.sh start 38 S . } From b416808c6e5975f6395fa0cc0eaca776205a0ef4 Mon Sep 17 00:00:00 2001 From: Ming Liu Date: Wed, 13 Nov 2013 13:40:59 +0800 Subject: [PATCH 488/658] kernel.bbclass: move bundle_initramfs after kernel_link_vmlinux ${KERNEL_OUTPUT} is being renamed/restored in bundle_initramfs task, so we must ensure bundle_initramfs run after kernel_link_vmlinux where the link of vmlinux is created as the bootable image. (From OE-Core master rev: 3baa63b4d588c3262254528b406ede265dd117bf) (From OE-Core rev: 4acf2eaea963d9b5e3cf547db092f95d192cf2ab) Signed-off-by: Ming Liu Signed-off-by: Saul Wold Signed-off-by: Richard Purdie Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- meta/classes/kernel.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass index 1374e68d1aa..61a6d102d7a 100644 --- a/meta/classes/kernel.bbclass +++ b/meta/classes/kernel.bbclass @@ -152,7 +152,7 @@ python do_devshell_prepend () { os.environ["LDFLAGS"] = '' } -addtask bundle_initramfs after do_compile before do_build +addtask bundle_initramfs after do_kernel_link_vmlinux before do_build kernel_do_compile() { unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS MACHINE From 139920d199842014b1c89708c7bdd81117bed83e Mon Sep 17 00:00:00 2001 From: Saul Wold Date: Fri, 15 Nov 2013 13:37:27 -0800 Subject: [PATCH 489/658] image_types: newer btrfs.mkfs needs an empty file to build the disk in (From OE-Core master rev: 836396a3450e7bf151956e87bd92f70c5050c995) (From OE-Core rev: 1db74ff0544633c35fe0fdccf17a76ef833be0df) Signed-off-by: Saul Wold Signed-off-by: Richard Purdie Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- meta/classes/image_types.bbclass | 1 + 1 file changed, 1 insertion(+) diff --git a/meta/classes/image_types.bbclass b/meta/classes/image_types.bbclass index 8c491695337..f4938d14bde 100644 --- a/meta/classes/image_types.bbclass +++ b/meta/classes/image_types.bbclass @@ -161,6 +161,7 @@ IMAGE_CMD_ext3 = "oe_mkext234fs ext3 ${EXTRA_IMAGECMD}" IMAGE_CMD_ext4 = "oe_mkext234fs ext4 ${EXTRA_IMAGECMD}" IMAGE_CMD_btrfs () { + touch ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.btrfs mkfs.btrfs -b `expr ${ROOTFS_SIZE} \* 1024` ${EXTRA_IMAGECMD} -r ${IMAGE_ROOTFS} ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.btrfs } From 3656f81f3d46690ff365e228c247a803a9340860 Mon Sep 17 00:00:00 2001 From: Chen Qi Date: Mon, 18 Nov 2013 15:20:44 +0800 Subject: [PATCH 490/658] license.bbclass: fix missing of license files on ubuntu build host The license_create_manifest function contains bashism, this will lead to unexpected results on ubuntu build host, as sh is linked to dash on ubuntu. Even if COPY_LIC_MANIFEST and COPY_LIC_DIRS are enabled, the license files will still be missing on target. This patch fixes the above problem. [YOCTO #5549] (From OE-Core master rev: 4df9daee5c732c0a20dabe8515577238a1508512) (From OE-Core rev: 159e53f9402f1d1ceed8c6511c5874e199dea6e1) Signed-off-by: Chen Qi Signed-off-by: Saul Wold Signed-off-by: Richard Purdie Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- meta/classes/license.bbclass | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta/classes/license.bbclass b/meta/classes/license.bbclass index 6abdae4e84d..b00ebb12e2c 100644 --- a/meta/classes/license.bbclass +++ b/meta/classes/license.bbclass @@ -72,9 +72,9 @@ license_create_manifest() { # Really don't need to copy the generics as they're # represented in the manifest and in the actual pkg licenses # Doing so would make your image quite a bit larger - if [[ "${lic}" != "generic_"* ]]; then + if [ "${lic#generic_}" = "${lic}" ]; then cp ${LICENSE_DIRECTORY}/${pkg}/${lic} ${IMAGE_ROOTFS}/usr/share/common-licenses/${pkg}/${lic} - elif [[ "${lic}" == "generic_"* ]]; then + else if [ ! -f ${IMAGE_ROOTFS}/usr/share/common-licenses/${lic} ]; then cp ${LICENSE_DIRECTORY}/${pkg}/${lic} ${IMAGE_ROOTFS}/usr/share/common-licenses/ fi From 0ed76a495f5d55d1ff9b92082082b0ab47a8eba0 Mon Sep 17 00:00:00 2001 From: Chen Qi Date: Fri, 15 Nov 2013 18:45:43 +0800 Subject: [PATCH 491/658] sysvinit: use ALTERNATIVE to manage sulogin Busybox also provides sulogin command, so we need to use the ALTERNATIVE mechanism to manage it. (From OE-Core master rev: 8b3a799a87d18b1d113d59b3e7a681db5683e5f8) (From OE-Core rev: 33d7487a92905824ab46f74d7185f84662ddb922) Signed-off-by: Chen Qi Signed-off-by: Saul Wold Signed-off-by: Richard Purdie Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- meta/recipes-core/sysvinit/sysvinit_2.88dsf.bb | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/meta/recipes-core/sysvinit/sysvinit_2.88dsf.bb b/meta/recipes-core/sysvinit/sysvinit_2.88dsf.bb index 50842e2fb6d..f2d5659e659 100644 --- a/meta/recipes-core/sysvinit/sysvinit_2.88dsf.bb +++ b/meta/recipes-core/sysvinit/sysvinit_2.88dsf.bb @@ -44,6 +44,9 @@ ALTERNATIVE_LINK_NAME[poweroff] = "${base_sbindir}/poweroff" ALTERNATIVE_${PN}-pidof = "pidof" ALTERNATIVE_LINK_NAME[pidof] = "${base_bindir}/pidof" +ALTERNATIVE_${PN}-sulogin = "sulogin" +ALTERNATIVE_LINK_NAME[sulogin] = "${base_sbindir}/sulogin" + ALTERNATIVE_${PN}-doc = "mountpoint.1 last.1 mesg.1 wall.1 sulogin.8 utmpdump.1" ALTERNATIVE_LINK_NAME[last.1] = "${mandir}/man1/last.1" @@ -56,7 +59,7 @@ ALTERNATIVE_LINK_NAME[wall.1] = "${mandir}/man1/wall.1" PACKAGES =+ "sysvinit-pidof sysvinit-sulogin" FILES_${PN} += "${base_sbindir}/* ${base_bindir}/*" FILES_sysvinit-pidof = "${base_bindir}/pidof.sysvinit ${base_sbindir}/killall5" -FILES_sysvinit-sulogin = "${base_sbindir}/sulogin" +FILES_sysvinit-sulogin = "${base_sbindir}/sulogin.sysvinit" RDEPENDS_${PN} += "sysvinit-pidof" From 6fe4b4dc95a8a3f5d84d94dd68aee5161df9fc14 Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Fri, 22 Nov 2013 09:24:04 +0000 Subject: [PATCH 492/658] ethtool: Fix ptest compile buildtest-TESTS is a phony target and does nothing which results in a do_install error since the tests aren't built. Since there isn't a suitable make target but the number of tests are small, hardcode the two to build to unbreak the build when ptest is enabled. (From OE-Core master rev: 5dd8653fdcda5e0e8b4f3c37a46f357bc97ec66c) (From OE-Core rev: b9b213b43c5ff6aa7c04733ce035fc9832065328) Signed-off-by: Richard Purdie Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- meta/recipes-extended/ethtool/ethtool_3.10.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/recipes-extended/ethtool/ethtool_3.10.bb b/meta/recipes-extended/ethtool/ethtool_3.10.bb index 83587d90be3..d23c285cffe 100644 --- a/meta/recipes-extended/ethtool/ethtool_3.10.bb +++ b/meta/recipes-extended/ethtool/ethtool_3.10.bb @@ -16,7 +16,7 @@ inherit autotools ptest RDEPENDS_${PN}-ptest += "make" do_compile_ptest() { - oe_runmake buildtest-TESTS + oe_runmake test-cmdline test-features } do_install_ptest () { From 532660dcfe8d7f90f5a431ed65832e29a7c29f0e Mon Sep 17 00:00:00 2001 From: Lei Liu Date: Thu, 21 Nov 2013 00:54:00 -0600 Subject: [PATCH 493/658] base.bbclass: Fix incorrect setting of multilib PREFERRED_PROVIDER_virtual_pkg PREFERRED_PROVIDER_virtual_pkg has been incorrectly set with more than one multilib prefixes. For example, if we have two alternative multilibs lib64 and lib32, PREFERRED_PROVIDER_virtual_pkg will be set to lib32-lib64-pkg or lib64-lib32-pkg, depending on which multilib shows up first in the list. (From OE-Core master rev: 17a432dc059e24ba10d4baec988828c0025a5e46) (From OE-Core rev: e5d8411869a2a018d0c8ab9d0e888027ac4208d5) Signed-off-by: Lei Liu Signed-off-by: Richard Purdie Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- meta/classes/base.bbclass | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/meta/classes/base.bbclass b/meta/classes/base.bbclass index 93bc700a500..d0793b671e5 100644 --- a/meta/classes/base.bbclass +++ b/meta/classes/base.bbclass @@ -210,7 +210,7 @@ def preferred_ml_updates(d): virt = "virtual/" for p in prefixes: if pkg != "kernel": - val = p + "-" + val + newval = p + "-" + val # implement variable keys localdata = bb.data.createCopy(d) @@ -219,12 +219,12 @@ def preferred_ml_updates(d): bb.data.update_data(localdata) newname = localdata.expand(prov) if newname != prov and not d.getVar(newname, False): - d.setVar(newname, localdata.expand(val)) + d.setVar(newname, localdata.expand(newval)) # implement alternative multilib name newname = localdata.expand("PREFERRED_PROVIDER_" + virt + p + "-" + pkg) if not d.getVar(newname, False): - d.setVar(newname, val) + d.setVar(newname, newval) # Avoid future variable key expansion provexp = d.expand(prov) if prov != provexp and d.getVar(prov, False): From d42a2c38138442a8177d69c9c8c0ed0e780b2e65 Mon Sep 17 00:00:00 2001 From: Ming Liu Date: Thu, 21 Nov 2013 01:05:05 -0600 Subject: [PATCH 494/658] gst-ffmpeg: fix CVE-2013-3674 The cdg_decode_frame function in cdgraphics.c in libavcodec in FFmpeg before 1.2.1 does not validate the presence of non-header data in a buffer, which allows remote attackers to cause a denial of service (out-of-bounds array access and application crash) via crafted CD Graphics Video data. http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2013-3674 (From OE-Core master rev: f1721553a873b242bc26ad3e4d618aea39dfd507) (From OE-Core rev: d4d908afca1c6ce64f05fabdadfcf86ab990dd0f) Signed-off-by: Ming Liu Signed-off-by: Jeff Polk Signed-off-by: Richard Purdie Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- .../gst-ffmpeg-CVE-2013-3674.patch | 26 +++++++++++++++++++ .../gstreamer/gst-ffmpeg_0.10.13.bb | 3 ++- 2 files changed, 28 insertions(+), 1 deletion(-) create mode 100644 meta/recipes-multimedia/gstreamer/gst-ffmpeg-0.10.13/gst-ffmpeg-CVE-2013-3674.patch diff --git a/meta/recipes-multimedia/gstreamer/gst-ffmpeg-0.10.13/gst-ffmpeg-CVE-2013-3674.patch b/meta/recipes-multimedia/gstreamer/gst-ffmpeg-0.10.13/gst-ffmpeg-CVE-2013-3674.patch new file mode 100644 index 00000000000..a28404b072e --- /dev/null +++ b/meta/recipes-multimedia/gstreamer/gst-ffmpeg-0.10.13/gst-ffmpeg-CVE-2013-3674.patch @@ -0,0 +1,26 @@ +avcodec/cdgraphics: check buffer size before use + +Fixes out of array accesses + +Backported from:http://git.videolan.org/?p=ffmpeg.git;a=commit;h=ad002e1a13a8df934bd6cb2c84175a4780ab8942 + +Upstream-status: Backport + +Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind +Signed-off-by: Michael Niedermayer +Signed-off-by: Ming Liu + +diff -urpN a/gst-libs/ext/libav/libavcodec/cdgraphics.c b/gst-libs/ext/libav/libavcodec/cdgraphics.c +--- a/gst-libs/ext/libav/libavcodec/cdgraphics.c 2013-07-18 13:17:08.399876575 +0800 ++++ b/gst-libs/ext/libav/libavcodec/cdgraphics.c 2013-07-18 13:18:05.880502267 +0800 +@@ -291,7 +291,9 @@ static int cdg_decode_frame(AVCodecConte + inst = bytestream_get_byte(&buf); + inst &= CDG_MASK; + buf += 2; /// skipping 2 unneeded bytes +- bytestream_get_buffer(&buf, cdg_data, buf_size - CDG_HEADER_SIZE); ++ ++ if (buf_size > CDG_HEADER_SIZE) ++ bytestream_get_buffer(&buf, cdg_data, buf_size - CDG_HEADER_SIZE); + + if ((command & CDG_MASK) == CDG_COMMAND) { + switch (inst) { diff --git a/meta/recipes-multimedia/gstreamer/gst-ffmpeg_0.10.13.bb b/meta/recipes-multimedia/gstreamer/gst-ffmpeg_0.10.13.bb index 88731050491..e1257a2697e 100644 --- a/meta/recipes-multimedia/gstreamer/gst-ffmpeg_0.10.13.bb +++ b/meta/recipes-multimedia/gstreamer/gst-ffmpeg_0.10.13.bb @@ -22,12 +22,13 @@ SRC_URI = "http://gstreamer.freedesktop.org/src/${BPN}/${BPN}-${PV}.tar.bz2 \ file://h264_qpel_mmx.patch \ file://libav_e500mc.patch \ file://libav_e5500.patch \ + file://gst-ffmpeg-CVE-2013-3674.patch \ " SRC_URI[md5sum] = "7f5beacaf1312db2db30a026b36888c4" SRC_URI[sha256sum] = "76fca05b08e00134e3cb92fa347507f42cbd48ddb08ed3343a912def187fbb62" -PR = "r7" +PR = "r8" GSTREAMER_DEBUG ?= "--disable-debug" From 25e21e3dca7ada4e092b187acdd13f27bdecd051 Mon Sep 17 00:00:00 2001 From: Lei Liu Date: Thu, 21 Nov 2013 01:30:58 -0600 Subject: [PATCH 495/658] package_rpm.bbclass: Replace -linux-gnun32 with -linux.* in RPM platform file On a multilib system when one of the multibs has a different OS then other multilibs a failure can occur during the install process because RPM assumes all systems have the same OS. When an n32 platform is selected as an alternative multilib, it shows up as mips64_n32-.*-linux-gnun32 in /etc/rpm/platform. This causes problems when the smart tool tries to add a channel for the multilib. RPM archScore call always returns zero for arch "mips64_n32" - after appending default vendor and os, it finds "mips64_n32-wrs-linux" doesn't match any predefined platforms. Fix this by removing the restriction of -gnun32 suffix in platform file. (From OE-Core master rev: d9489c44ee4f195ae1b09f340b9545cddba58145) (From OE-Core rev: f0118b605b3727b5ca5d560094bb4dd2ff29c310) Signed-off-by: Lei Liu Signed-off-by: Jeff Polk Signed-off-by: Richard Purdie Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- meta/classes/package_rpm.bbclass | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/meta/classes/package_rpm.bbclass b/meta/classes/package_rpm.bbclass index 36bad09ea1d..4f4bda32a40 100644 --- a/meta/classes/package_rpm.bbclass +++ b/meta/classes/package_rpm.bbclass @@ -296,11 +296,7 @@ package_install_internal_rpm () { if [ ! -z "$INSTALL_PLATFORM_EXTRA_RPM" ]; then for pt in $INSTALL_PLATFORM_EXTRA_RPM ; do channel_priority=$(expr $channel_priority + 5) - case $pt in - noarch-* | any-* | all-*) - pt=$(echo $pt | sed "s,-linux.*$,-linux\.*,") - ;; - esac + pt=$(echo $pt | sed "s,-linux.*$,-linux\.*,") echo "$pt" >> ${target_rootfs}/etc/rpm/platform done fi From f0323bb8ce192a4e6ae5f465df026e913de2171f Mon Sep 17 00:00:00 2001 From: Jeffrey C Honig Date: Thu, 21 Nov 2013 01:34:41 -0600 Subject: [PATCH 496/658] rootfs_*.bbclass: List which post-install scripts can not be run When preping a read-only rootfs and finding some post-install scripts that can not be run, list the names of said scripts to avoid having to look around the rootfs to find a list. (From OE-Core master rev: 0188120691f433fdccf71b92618115195278c0af) (From OE-Core rev: 2820f7fa411e5ca1cd7df765896b43716418340a) Signed-off-by: Jeffrey C Honig Signed-off-by: Jeff Polk Signed-off-by: Richard Purdie Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- meta/classes/rootfs_deb.bbclass | 5 +++-- meta/classes/rootfs_ipk.bbclass | 5 +++-- meta/classes/rootfs_rpm.bbclass | 5 +++-- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/meta/classes/rootfs_deb.bbclass b/meta/classes/rootfs_deb.bbclass index b1c52f9dd69..8613032f2aa 100644 --- a/meta/classes/rootfs_deb.bbclass +++ b/meta/classes/rootfs_deb.bbclass @@ -91,8 +91,9 @@ fakeroot rootfs_deb_do_rootfs () { ${ROOTFS_POSTPROCESS_COMMAND} if ${@base_contains("IMAGE_FEATURES", "read-only-rootfs", "true", "false" ,d)}; then - if [ -n "$(delayed_postinsts)" ]; then - bberror "Some packages could not be configured offline and rootfs is read-only." + delayed_postinsts="$(delayed_postinsts)" + if [ -n "$delayed_postinsts" ]; then + bberror "The following packages could not be configured offline and rootfs is read-only: $delayed_postinsts" exit 1 fi fi diff --git a/meta/classes/rootfs_ipk.bbclass b/meta/classes/rootfs_ipk.bbclass index b0805dc3297..6ce3e5d908a 100644 --- a/meta/classes/rootfs_ipk.bbclass +++ b/meta/classes/rootfs_ipk.bbclass @@ -89,8 +89,9 @@ fakeroot rootfs_ipk_do_rootfs () { ${ROOTFS_POSTPROCESS_COMMAND} if ${@base_contains("IMAGE_FEATURES", "read-only-rootfs", "true", "false" ,d)}; then - if [ -n "$(delayed_postinsts)" ]; then - bberror "Some packages could not be configured offline and rootfs is read-only." + delayed_postinsts="$(delayed_postinsts)" + if [ -n "$delayed_postinsts" ]; then + bberror "The following packages could not be configured offline and rootfs is read-only: $delayed_postinsts" exit 1 fi fi diff --git a/meta/classes/rootfs_rpm.bbclass b/meta/classes/rootfs_rpm.bbclass index 6c68ac89fb4..1a0c2255a9f 100644 --- a/meta/classes/rootfs_rpm.bbclass +++ b/meta/classes/rootfs_rpm.bbclass @@ -115,8 +115,9 @@ fakeroot rootfs_rpm_do_rootfs () { if ${@base_contains("IMAGE_FEATURES", "read-only-rootfs", "true", "false" ,d)}; then if [ -d ${IMAGE_ROOTFS}${sysconfdir}/rpm-postinsts ] ; then - if [ "`ls -A ${IMAGE_ROOTFS}${sysconfdir}/rpm-postinsts`" != "" ] ; then - bberror "Some packages could not be configured offline and rootfs is read-only." + failed_pkgs=$(ls -A ${IMAGE_ROOTFS}${sysconfdir}/rpm-postinsts) + if [ -n "$failed_pkgs" ] ; then + bberror "The following post-install scripts could not be run offline and rootfs is read-only: $failed_pkgs" exit 1 fi fi From e8dbbef1d08c2041f5b6158bdf9339bfa6a7304a Mon Sep 17 00:00:00 2001 From: Mark Hatle Date: Thu, 21 Nov 2013 11:47:43 -0600 Subject: [PATCH 497/658] util-linux: Package readprofile into it's own package readprofile was missing from the alternative configuration, which was causing readprofile to be packaged into the base util-linux. (From OE-Core master rev: cac08f23aaed87148d1825cca3c7586ab891ef04) (From OE-Core rev: a6fc9e62e848634e715b23f147c88a8710415845) Signed-off-by: Mark Hatle Signed-off-by: Richard Purdie Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- meta/recipes-core/util-linux/util-linux.inc | 3 +++ 1 file changed, 3 insertions(+) diff --git a/meta/recipes-core/util-linux/util-linux.inc b/meta/recipes-core/util-linux/util-linux.inc index 15b677015f1..565dda37127 100644 --- a/meta/recipes-core/util-linux/util-linux.inc +++ b/meta/recipes-core/util-linux/util-linux.inc @@ -201,6 +201,9 @@ ALTERNATIVE_LINK_NAME[mount] = "${base_bindir}/mount" ALTERNATIVE_util-linux-umount = "umount" ALTERNATIVE_LINK_NAME[umount] = "${base_bindir}/umount" +ALTERNATIVE_util-linux-readprofile = "readprofile" +ALTERNATIVE_LINK_NAME[readprofile] = "${base_sbindir}/readprofile" + ALTERNATIVE_util-linux-losetup = "losetup" ALTERNATIVE_LINK_NAME[losetup] = "${base_sbindir}/losetup" From d8c8742e45a1a3985c082a8c6574169840222f5a Mon Sep 17 00:00:00 2001 From: Lei Liu Date: Thu, 21 Nov 2013 13:30:48 -0600 Subject: [PATCH 498/658] syslinux: use cross toolchain to compile syslinux is compling something with host gcc at do_install stage, which leads to some unexpected errors with old gcc on host. Using our cross toolchain instead. (From OE-Core master rev: b0da7ccde5380726acfccf1a96cdf5560edf9159) (From OE-Core rev: 17f851f5c8e2a90f558396654b62a8f0f88f137f) Signed-off-by: Lei Liu Signed-off-by: Randy MacLeod Signed-off-by: Richard Purdie Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- meta/recipes-devtools/syslinux/syslinux_6.01.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/recipes-devtools/syslinux/syslinux_6.01.bb b/meta/recipes-devtools/syslinux/syslinux_6.01.bb index 4438ea83306..538be56b939 100644 --- a/meta/recipes-devtools/syslinux/syslinux_6.01.bb +++ b/meta/recipes-devtools/syslinux/syslinux_6.01.bb @@ -44,7 +44,7 @@ do_compile() { } do_install() { - oe_runmake install INSTALLROOT="${D}" firmware="bios" + oe_runmake CC="${CC} ${CFLAGS}" install INSTALLROOT="${D}" firmware="bios" install -d ${D}${datadir}/syslinux/ install -m 644 ${S}/bios/core/ldlinux.sys ${D}${datadir}/syslinux/ From e8aa4b57842d7e9a22d372fa0e295a895ae5428d Mon Sep 17 00:00:00 2001 From: Nicolas Dechesne Date: Fri, 22 Nov 2013 22:39:43 +0000 Subject: [PATCH 499/658] image-mklibs: ensure sysroot is correctly set when calling gcc [YOCTO #2519] When getting gcc from sstate, it is possible to get a gcc with a bogus sysroot configuration, as discussed in [1] or in [YOCTO #2519]. mklibs script will eventually call gcc, so we need to make sure that it provides gcc with the right sysroot location. [1] http://lists.openembedded.org/pipermail/openembedded-core/2013-September/084159.html (From OE-Core master rev: 3a66dd762e493ad2cda57110be67c3b06628050a) (From OE-Core rev: 7275425524b8bb3d16d5c0c0a62aee5b08359ffd) Signed-off-by: Nicolas Dechesne Signed-off-by: Saul Wold Signed-off-by: Richard Purdie Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- meta/classes/image-mklibs.bbclass | 1 + 1 file changed, 1 insertion(+) diff --git a/meta/classes/image-mklibs.bbclass b/meta/classes/image-mklibs.bbclass index e975f5d7057..23456ccd96f 100644 --- a/meta/classes/image-mklibs.bbclass +++ b/meta/classes/image-mklibs.bbclass @@ -40,6 +40,7 @@ mklibs_optimize_image_doit() { --ldlib ${dynamic_loader} \ --libdir ${baselib} \ --sysroot ${PKG_CONFIG_SYSROOT_DIR} \ + --gcc-options "--sysroot=${PKG_CONFIG_SYSROOT_DIR}" \ --root ${IMAGE_ROOTFS} \ --target `echo ${TARGET_PREFIX} | sed 's/-$//' ` \ -d ${WORKDIR}/mklibs/dest \ From 84087e94cbb982b7dfd0d68bc74fff1534188558 Mon Sep 17 00:00:00 2001 From: Ross Burton Date: Fri, 29 Nov 2013 13:51:05 +0000 Subject: [PATCH 500/658] qt4-x11-free: depend on ICU ICU presence is auto-detected at configure time and until recently (e68850 and d61230) was pulled into most builds through harfbuzz and beecrypt. Now it's floating and this leads to build failures. As in all likelihood the majority of people were building this with ICU enabled, add an explicit dependency. (From OE-Core master rev: 46dcec6fd455584d9b5d0d7ff1e5b36fbe5a2d62) (From OE-Core rev: 034d3e35cce9ee63f6139d19be9b3edec4f97a64) Signed-off-by: Ross Burton Signed-off-by: Richard Purdie Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- meta/recipes-qt/qt4/qt4-x11-free.inc | 2 +- meta/recipes-qt/qt4/qt4.inc | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/meta/recipes-qt/qt4/qt4-x11-free.inc b/meta/recipes-qt/qt4/qt4-x11-free.inc index 369b3d5ae0d..46869aa09fb 100644 --- a/meta/recipes-qt/qt4/qt4-x11-free.inc +++ b/meta/recipes-qt/qt4/qt4-x11-free.inc @@ -3,7 +3,7 @@ require qt4.inc DESCRIPTION = "Qt is a versatile cross-platform application framework -- this is the X11 version." HOMEPAGE = "http://qt-project.org/" SECTION = "x11/libs" -DEPENDS += "virtual/libgl virtual/libx11 fontconfig libxft libxext libxrender libxrandr libxcursor" +DEPENDS += "virtual/libgl virtual/libx11 fontconfig libxft libxext libxrender libxrandr libxcursor icu" PROVIDES += "qt4-x11" QT4DEPENDS = "" diff --git a/meta/recipes-qt/qt4/qt4.inc b/meta/recipes-qt/qt4/qt4.inc index 6adc4042c8f..2944acf89fb 100644 --- a/meta/recipes-qt/qt4/qt4.inc +++ b/meta/recipes-qt/qt4/qt4.inc @@ -23,7 +23,7 @@ QT_MULTIMEDIA ?= "${@base_contains('DISTRO_FEATURES', 'pulseaudio', '-pulseaudio QT_CONFIG_FLAGS += "-release -no-cups -reduce-relocations \ -shared -no-nas-sound -no-nis \ -system-libjpeg -system-libpng -system-libtiff -system-zlib \ - -no-pch -stl -glib \ + -no-pch -stl -glib -icu \ -no-rpath -silent \ ${QT_DBUS} \ ${QT_QT3SUPPORT} \ From 8cccf5fc9f42e4e495a94c2e52a12aa7282d7341 Mon Sep 17 00:00:00 2001 From: Ming Liu Date: Thu, 21 Nov 2013 01:05:04 -0600 Subject: [PATCH 501/658] libtiff: fix CVE-2013-1960 Heap-based buffer overflow in the tp_process_jpeg_strip function in tiff2pdf in libtiff 4.0.3 and earlier allows remote attackers to cause a denial of service (crash) and possibly execute arbitrary code via a crafted TIFF image file. http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2013-1960 (From OE-Core rev: 66387677cbd85ba4a76a254942377621acd68249) Signed-off-by: Ming Liu Signed-off-by: Jeff Polk Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- .../libtiff/files/libtiff-CVE-2013-1960.patch | 151 ++++++++++++++++++ meta/recipes-multimedia/libtiff/tiff_4.0.3.bb | 3 +- 2 files changed, 153 insertions(+), 1 deletion(-) create mode 100644 meta/recipes-multimedia/libtiff/files/libtiff-CVE-2013-1960.patch diff --git a/meta/recipes-multimedia/libtiff/files/libtiff-CVE-2013-1960.patch b/meta/recipes-multimedia/libtiff/files/libtiff-CVE-2013-1960.patch new file mode 100644 index 00000000000..e4348f1d2cf --- /dev/null +++ b/meta/recipes-multimedia/libtiff/files/libtiff-CVE-2013-1960.patch @@ -0,0 +1,151 @@ +This patch comes from: http://pkgs.fedoraproject.org/cgit/libtiff.git/plain/libtiff-CVE-2013-1960.patch + +Upstream-Status: Pending + +Signed-off-by: Ming Liu + +diff -Naur a/tools/tiff2pdf.c b/tools/tiff2pdf.c +--- a/tools/tiff2pdf.c 2012-07-25 22:56:43.000000000 -0400 ++++ b/tools/tiff2pdf.c 2013-05-02 12:04:49.057090227 -0400 +@@ -3341,33 +3341,56 @@ + uint32 height){ + + tsize_t i=0; +- uint16 ri =0; +- uint16 v_samp=1; +- uint16 h_samp=1; +- int j=0; +- +- i++; +- +- while(i<(*striplength)){ ++ ++ while (i < *striplength) { ++ tsize_t datalen; ++ uint16 ri; ++ uint16 v_samp; ++ uint16 h_samp; ++ int j; ++ int ncomp; ++ ++ /* marker header: one or more FFs */ ++ if (strip[i] != 0xff) ++ return(0); ++ i++; ++ while (i < *striplength && strip[i] == 0xff) ++ i++; ++ if (i >= *striplength) ++ return(0); ++ /* SOI is the only pre-SOS marker without a length word */ ++ if (strip[i] == 0xd8) ++ datalen = 0; ++ else { ++ if ((*striplength - i) <= 2) ++ return(0); ++ datalen = (strip[i+1] << 8) | strip[i+2]; ++ if (datalen < 2 || datalen >= (*striplength - i)) ++ return(0); ++ } + switch( strip[i] ){ +- case 0xd8: +- /* SOI - start of image */ ++ case 0xd8: /* SOI - start of image */ + _TIFFmemcpy(&(buffer[*bufferoffset]), &(strip[i-1]), 2); + *bufferoffset+=2; +- i+=2; + break; +- case 0xc0: +- case 0xc1: +- case 0xc3: +- case 0xc9: +- case 0xca: ++ case 0xc0: /* SOF0 */ ++ case 0xc1: /* SOF1 */ ++ case 0xc3: /* SOF3 */ ++ case 0xc9: /* SOF9 */ ++ case 0xca: /* SOF10 */ + if(no==0){ +- _TIFFmemcpy(&(buffer[*bufferoffset]), &(strip[i-1]), strip[i+2]+2); +- for(j=0;j>4) > h_samp) +- h_samp = (buffer[*bufferoffset+11+(2*j)]>>4); +- if( (buffer[*bufferoffset+11+(2*j)] & 0x0f) > v_samp) +- v_samp = (buffer[*bufferoffset+11+(2*j)] & 0x0f); ++ _TIFFmemcpy(&(buffer[*bufferoffset]), &(strip[i-1]), datalen+2); ++ ncomp = buffer[*bufferoffset+9]; ++ if (ncomp < 1 || ncomp > 4) ++ return(0); ++ v_samp=1; ++ h_samp=1; ++ for(j=0;j>4) > h_samp) ++ h_samp = (samp>>4); ++ if( (samp & 0x0f) > v_samp) ++ v_samp = (samp & 0x0f); + } + v_samp*=8; + h_samp*=8; +@@ -3381,45 +3404,43 @@ + (unsigned char) ((height>>8) & 0xff); + buffer[*bufferoffset+6]= + (unsigned char) (height & 0xff); +- *bufferoffset+=strip[i+2]+2; +- i+=strip[i+2]+2; +- ++ *bufferoffset+=datalen+2; ++ /* insert a DRI marker */ + buffer[(*bufferoffset)++]=0xff; + buffer[(*bufferoffset)++]=0xdd; + buffer[(*bufferoffset)++]=0x00; + buffer[(*bufferoffset)++]=0x04; + buffer[(*bufferoffset)++]=(ri >> 8) & 0xff; + buffer[(*bufferoffset)++]= ri & 0xff; +- } else { +- i+=strip[i+2]+2; + } + break; +- case 0xc4: +- case 0xdb: +- _TIFFmemcpy(&(buffer[*bufferoffset]), &(strip[i-1]), strip[i+2]+2); +- *bufferoffset+=strip[i+2]+2; +- i+=strip[i+2]+2; ++ case 0xc4: /* DHT */ ++ case 0xdb: /* DQT */ ++ _TIFFmemcpy(&(buffer[*bufferoffset]), &(strip[i-1]), datalen+2); ++ *bufferoffset+=datalen+2; + break; +- case 0xda: ++ case 0xda: /* SOS */ + if(no==0){ +- _TIFFmemcpy(&(buffer[*bufferoffset]), &(strip[i-1]), strip[i+2]+2); +- *bufferoffset+=strip[i+2]+2; +- i+=strip[i+2]+2; ++ _TIFFmemcpy(&(buffer[*bufferoffset]), &(strip[i-1]), datalen+2); ++ *bufferoffset+=datalen+2; + } else { + buffer[(*bufferoffset)++]=0xff; + buffer[(*bufferoffset)++]= + (unsigned char)(0xd0 | ((no-1)%8)); +- i+=strip[i+2]+2; + } +- _TIFFmemcpy(&(buffer[*bufferoffset]), &(strip[i-1]), (*striplength)-i-1); +- *bufferoffset+=(*striplength)-i-1; ++ i += datalen + 1; ++ /* copy remainder of strip */ ++ _TIFFmemcpy(&(buffer[*bufferoffset]), &(strip[i]), *striplength - i); ++ *bufferoffset+= *striplength - i; + return(1); + default: +- i+=strip[i+2]+2; ++ /* ignore any other marker */ ++ break; + } ++ i += datalen + 1; + } +- + ++ /* failed to find SOS marker */ + return(0); + } + #endif diff --git a/meta/recipes-multimedia/libtiff/tiff_4.0.3.bb b/meta/recipes-multimedia/libtiff/tiff_4.0.3.bb index 256e75eca87..8e450df1a3e 100644 --- a/meta/recipes-multimedia/libtiff/tiff_4.0.3.bb +++ b/meta/recipes-multimedia/libtiff/tiff_4.0.3.bb @@ -6,7 +6,8 @@ DEPENDS = "zlib jpeg xz" PR = "r0" SRC_URI = "ftp://ftp.remotesensing.org/pub/libtiff/tiff-${PV}.tar.gz \ - file://libtool2.patch" + file://libtool2.patch \ + file://libtiff-CVE-2013-1960.patch" SRC_URI[md5sum] = "051c1068e6a0627f461948c365290410" SRC_URI[sha256sum] = "ea1aebe282319537fb2d4d7805f478dd4e0e05c33d0928baba76a7c963684872" From 0a2100873767dfd88d83235553fe5812bbe2eb94 Mon Sep 17 00:00:00 2001 From: Chen Qi Date: Thu, 21 Nov 2013 01:26:54 -0600 Subject: [PATCH 502/658] nfs-utils: explicitly rdepend on bash Scripts in nfs-utils need bash as their interpreter, so if nfs-utils doesn't explicitly rdepend on bash, we would experience build failures if we add nfs-utils to glibc-small images. Add bash to RDEPENDS to solve this problem. (From OE-Core rev: 06c566596a92a309ca228a209f14d03b69a611c9) Signed-off-by: Chen Qi Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- meta/recipes-connectivity/nfs-utils/nfs-utils_1.2.8.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/recipes-connectivity/nfs-utils/nfs-utils_1.2.8.bb b/meta/recipes-connectivity/nfs-utils/nfs-utils_1.2.8.bb index e3e8136c278..580755ce044 100644 --- a/meta/recipes-connectivity/nfs-utils/nfs-utils_1.2.8.bb +++ b/meta/recipes-connectivity/nfs-utils/nfs-utils_1.2.8.bb @@ -9,7 +9,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=95f3a93a5c3c7888de623b46ea085a84" # util-linux for libblkid DEPENDS = "libcap libnfsidmap libevent util-linux sqlite3" -RDEPENDS_${PN} = "rpcbind" +RDEPENDS_${PN} = "rpcbind bash" RRECOMMENDS_${PN} = "kernel-module-nfsd" SRC_URI = "${KERNELORG_MIRROR}/linux/utils/nfs-utils/${PV}/nfs-utils-${PV}.tar.bz2 \ From 393228723188fbd6ddc93c45b881410370e1306c Mon Sep 17 00:00:00 2001 From: Baogen Shang Date: Mon, 21 Oct 2013 11:00:05 +0800 Subject: [PATCH 503/658] libtiff: CVE-2013-4232 cve description: Use-after-free vulnerability in the t2p_readwrite_pdf_image function in tools/tiff2pdf.c in libtiff 4.0.3 allows remote attackers to cause a denial of service (crash) or possible execute arbitrary code via a crafted TIFF image. http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2013-4232 (From OE-Core rev: 60482e45677c467f55950ce0f825d6cb9c121c9c) Signed-off-by: Baogen Shang Signed-off-by: Mark Hatle Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- .../libtiff/files/libtiff-CVE-2013-4232.patch | 15 +++++++++++++++ meta/recipes-multimedia/libtiff/tiff_4.0.3.bb | 3 ++- 2 files changed, 17 insertions(+), 1 deletion(-) create mode 100644 meta/recipes-multimedia/libtiff/files/libtiff-CVE-2013-4232.patch diff --git a/meta/recipes-multimedia/libtiff/files/libtiff-CVE-2013-4232.patch b/meta/recipes-multimedia/libtiff/files/libtiff-CVE-2013-4232.patch new file mode 100644 index 00000000000..9ebf8f9a2de --- /dev/null +++ b/meta/recipes-multimedia/libtiff/files/libtiff-CVE-2013-4232.patch @@ -0,0 +1,15 @@ +This patch comes from: http://bugzilla.maptools.org/attachment.cgi?id=513&action=diff + +Upstream-Status: Pending + +Signed-off-by: Baogen shang +--- a/tools/tiff2pdf.c 2013-10-21 10:36:38.214170346 +0800 ++++ b/tools/tiff2pdf.c 2013-10-21 10:38:58.246170329 +0800 +@@ -2387,6 +2387,7 @@ + TIFFFileName(input)); + t2p->t2p_error = T2P_ERR_ERROR; + _TIFFfree(buffer); ++ return(0); + } else { + buffer=samplebuffer; + t2p->tiff_datasize *= t2p->tiff_samplesperpixel; diff --git a/meta/recipes-multimedia/libtiff/tiff_4.0.3.bb b/meta/recipes-multimedia/libtiff/tiff_4.0.3.bb index 8e450df1a3e..f05682ba9da 100644 --- a/meta/recipes-multimedia/libtiff/tiff_4.0.3.bb +++ b/meta/recipes-multimedia/libtiff/tiff_4.0.3.bb @@ -7,7 +7,8 @@ PR = "r0" SRC_URI = "ftp://ftp.remotesensing.org/pub/libtiff/tiff-${PV}.tar.gz \ file://libtool2.patch \ - file://libtiff-CVE-2013-1960.patch" + file://libtiff-CVE-2013-1960.patch \ + file://libtiff-CVE-2013-4232.patch" SRC_URI[md5sum] = "051c1068e6a0627f461948c365290410" SRC_URI[sha256sum] = "ea1aebe282319537fb2d4d7805f478dd4e0e05c33d0928baba76a7c963684872" From 5f0074f02299c153cef501bdf6fb77dfb6e17ee5 Mon Sep 17 00:00:00 2001 From: Baogen Shang Date: Mon, 21 Oct 2013 11:03:41 +0800 Subject: [PATCH 504/658] libtiff: CVE-2013-4243 cve description: Heap-based buffer overflow in the readgifimage function in the gif2tiff tool in libtiff 4.0.3 and earlier allows remote attackers to cause a denial of service (crash) and possibly execute arbitrary code via a crafted height and width values in a GIF image. http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2013-4243 (From OE-Core rev: a2a200a3951cecd7dd43dee360e0260051c97416) Signed-off-by: Baogen Shang Signed-off-by: Mark Hatle Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- .../libtiff/files/libtiff-CVE-2013-4243.patch | 40 +++++++++++++++++++ meta/recipes-multimedia/libtiff/tiff_4.0.3.bb | 3 +- 2 files changed, 42 insertions(+), 1 deletion(-) create mode 100644 meta/recipes-multimedia/libtiff/files/libtiff-CVE-2013-4243.patch diff --git a/meta/recipes-multimedia/libtiff/files/libtiff-CVE-2013-4243.patch b/meta/recipes-multimedia/libtiff/files/libtiff-CVE-2013-4243.patch new file mode 100644 index 00000000000..642a1179768 --- /dev/null +++ b/meta/recipes-multimedia/libtiff/files/libtiff-CVE-2013-4243.patch @@ -0,0 +1,40 @@ +This patch comes from: http://bugzilla.maptools.org/attachment.cgi?id=518&action=diff#tools/gif2tiff.c_sec2 + +Upstream-Status: Pending + +Signed-off-by: Baogen shang +--- a/tools/gif2tiff.c 2013-10-14 17:08:43.966239709 +0800 ++++ b/tools/gif2tiff.c 2013-10-14 17:18:22.994239638 +0800 +@@ -280,6 +280,10 @@ + fprintf(stderr, "no colormap present for image\n"); + return (0); + } ++ if (width == 0 || height == 0) { ++ fprintf(stderr, "Invalid value of width or height\n"); ++ return(0); ++ } + if ((raster = (unsigned char*) _TIFFmalloc(width*height+EXTRAFUDGE)) == NULL) { + fprintf(stderr, "not enough memory for image\n"); + return (0); +@@ -397,6 +401,10 @@ + return 1; + } + ++ if (*fill >= raster + width*height) { ++ fprintf(stderr, "raster full before eoi code\n"); ++ return 0; ++ } + if (oldcode == -1) { + *(*fill)++ = suffix[code]; + firstchar = oldcode = code; +@@ -428,6 +436,10 @@ + } + oldcode = incode; + do { ++ if (*fill >= raster + width*height) { ++ fprintf(stderr, "raster full before eoi code\n"); ++ return 0; ++ } + *(*fill)++ = *--stackp; + } while (stackp > stack); + return 1; diff --git a/meta/recipes-multimedia/libtiff/tiff_4.0.3.bb b/meta/recipes-multimedia/libtiff/tiff_4.0.3.bb index f05682ba9da..4a639205ec8 100644 --- a/meta/recipes-multimedia/libtiff/tiff_4.0.3.bb +++ b/meta/recipes-multimedia/libtiff/tiff_4.0.3.bb @@ -8,7 +8,8 @@ PR = "r0" SRC_URI = "ftp://ftp.remotesensing.org/pub/libtiff/tiff-${PV}.tar.gz \ file://libtool2.patch \ file://libtiff-CVE-2013-1960.patch \ - file://libtiff-CVE-2013-4232.patch" + file://libtiff-CVE-2013-4232.patch \ + file://libtiff-CVE-2013-4243.patch" SRC_URI[md5sum] = "051c1068e6a0627f461948c365290410" SRC_URI[sha256sum] = "ea1aebe282319537fb2d4d7805f478dd4e0e05c33d0928baba76a7c963684872" From a9b6e16daa4f11645f60cb7adaa93eb88437b8cb Mon Sep 17 00:00:00 2001 From: Enrico Scholz Date: Wed, 4 Dec 2013 12:18:13 +0100 Subject: [PATCH 505/658] qt4: fixed dependency on icu Commit 46dcec6fd455584d9b5d0d7ff1e5b36fbe5a2d62 added 'icu' to DEPENDS in qt4-x11 only, but enabled icu globally in qt4.inc. This breaks build of qt4-embedded because this recipe does not have such a DEPENDS but uses qt4.inc: | icu.cpp:42:28: fatal error: unicode/utypes.h: No such file or directory | #include | ^ | compilation terminated. | make: *** [icu.o] Error 1 Patch moves the 'icu' dependency into qt4.inc. (From OE-Core rev: adb6e64d69fc947f2c8fa708dcbe854fd2b574f8) (From OE-Core rev: ec35d5b4b3d2eed7a141f2fd41d5ed7215e66dbf) Signed-off-by: Enrico Scholz Cc: Ross Burton Signed-off-by: Richard Purdie --- meta/recipes-qt/qt4/qt4-x11-free.inc | 2 +- meta/recipes-qt/qt4/qt4.inc | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/meta/recipes-qt/qt4/qt4-x11-free.inc b/meta/recipes-qt/qt4/qt4-x11-free.inc index 46869aa09fb..369b3d5ae0d 100644 --- a/meta/recipes-qt/qt4/qt4-x11-free.inc +++ b/meta/recipes-qt/qt4/qt4-x11-free.inc @@ -3,7 +3,7 @@ require qt4.inc DESCRIPTION = "Qt is a versatile cross-platform application framework -- this is the X11 version." HOMEPAGE = "http://qt-project.org/" SECTION = "x11/libs" -DEPENDS += "virtual/libgl virtual/libx11 fontconfig libxft libxext libxrender libxrandr libxcursor icu" +DEPENDS += "virtual/libgl virtual/libx11 fontconfig libxft libxext libxrender libxrandr libxcursor" PROVIDES += "qt4-x11" QT4DEPENDS = "" diff --git a/meta/recipes-qt/qt4/qt4.inc b/meta/recipes-qt/qt4/qt4.inc index 2944acf89fb..3e2958efbe7 100644 --- a/meta/recipes-qt/qt4/qt4.inc +++ b/meta/recipes-qt/qt4/qt4.inc @@ -1,6 +1,6 @@ inherit qmake_base -DEPENDS += "qt4-tools-native freetype jpeg libpng zlib dbus openssl glib-2.0 gstreamer gst-plugins-base sqlite3 tiff" +DEPENDS += "qt4-tools-native freetype jpeg libpng zlib dbus openssl glib-2.0 gstreamer gst-plugins-base sqlite3 tiff icu" DEPENDS += "${@base_contains('DISTRO_FEATURES', 'pulseaudio', 'pulseaudio', '', d)}" require qt4_arch.inc From a49258a85babeaf16184c2ea5bd359d8068878bc Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Thu, 12 Dec 2013 17:05:57 +0000 Subject: [PATCH 506/658] build-appliance-image: Update to dora head revision (From OE-Core rev: e638af73a01496e246f1a55d27364861a1f0b0d0) Signed-off-by: Richard Purdie --- meta/recipes-core/images/build-appliance-image_8.0.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/recipes-core/images/build-appliance-image_8.0.bb b/meta/recipes-core/images/build-appliance-image_8.0.bb index 94892f0d5bd..fad2ecc53d6 100644 --- a/meta/recipes-core/images/build-appliance-image_8.0.bb +++ b/meta/recipes-core/images/build-appliance-image_8.0.bb @@ -21,7 +21,7 @@ IMAGE_FSTYPES = "vmdk" inherit core-image -SRCREV ?= "ee9a3c191c64636971c94d8a9870c41d7bac02bf" +SRCREV ?= "a9b6e16daa4f11645f60cb7adaa93eb88437b8cb" SRC_URI = "git://git.yoctoproject.org/poky \ file://Yocto_Build_Appliance.vmx \ file://Yocto_Build_Appliance.vmxf \ From 944b153d31b142115d65d24c035d6a96238b3b9a Mon Sep 17 00:00:00 2001 From: Steffen Sledz Date: Thu, 28 Nov 2013 15:09:31 +0100 Subject: [PATCH 507/658] gdb-7.6: fix cygwin check in configure script This is a fix which avoids false positives if the search pattern "lose" is found in path descriptions in comments generated by the preprocessor we hit in our development environment. [gdb Bug #16152] -- https://sourceware.org/bugzilla/show_bug.cgi?id=16152 Upstream-Status: Accepted (From OE-Core rev: 7e2dbda690b480ab05d14353cb038749ce23d58c) Signed-off-by: Steffen Sledz Signed-off-by: Richard Purdie --- meta/recipes-devtools/gdb/gdb-7.6.inc | 2 + ...fix-cygwin-check-in-configure-script.patch | 38 +++++++++++++++++++ 2 files changed, 40 insertions(+) create mode 100644 meta/recipes-devtools/gdb/gdb/gdb-fix-cygwin-check-in-configure-script.patch diff --git a/meta/recipes-devtools/gdb/gdb-7.6.inc b/meta/recipes-devtools/gdb/gdb-7.6.inc index 00cb6eea48b..9be94b8b288 100644 --- a/meta/recipes-devtools/gdb/gdb-7.6.inc +++ b/meta/recipes-devtools/gdb/gdb-7.6.inc @@ -4,6 +4,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \ file://COPYING3.LIB;md5=6a6a8e020838b23406c81b19c1d46df6 \ file://COPYING.LIB;md5=9f604d8a4f8e74f4f5140845a21b6674" +SRC_URI += " file://gdb-fix-cygwin-check-in-configure-script.patch " + S = "${WORKDIR}/${BPN}-${PV}" SRC_URI[md5sum] = "a9836707337e5f7bf76a009a8904f470" diff --git a/meta/recipes-devtools/gdb/gdb/gdb-fix-cygwin-check-in-configure-script.patch b/meta/recipes-devtools/gdb/gdb/gdb-fix-cygwin-check-in-configure-script.patch new file mode 100644 index 00000000000..4e4647b0d92 --- /dev/null +++ b/meta/recipes-devtools/gdb/gdb/gdb-fix-cygwin-check-in-configure-script.patch @@ -0,0 +1,38 @@ +Avoid false positives if the search pattern "lose" is found in path +descriptions in comments generated by the preprocessor. + +See . +--- + gdb/configure | 2 +- + gdb/configure.ac | 2 +- + 3 files changed, 7 insertions(+), 2 deletions(-) + +diff --git a/gdb/configure b/gdb/configure +index 5514b2f..b38e183 100755 +--- a/gdb/configure ++++ b/gdb/configure +@@ -12446,7 +12446,7 @@ lose + #endif + _ACEOF + if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | +- $EGREP "lose" >/dev/null 2>&1; then : ++ $EGREP "^lose$" >/dev/null 2>&1; then : + gdb_cv_os_cygwin=yes + else + gdb_cv_os_cygwin=no +diff --git a/gdb/configure.ac b/gdb/configure.ac +index 9b73887..2947293 100644 +--- a/gdb/configure.ac ++++ b/gdb/configure.ac +@@ -1877,7 +1877,7 @@ AC_SUBST(WERROR_CFLAGS) + + # In the Cygwin environment, we need some additional flags. + AC_CACHE_CHECK([for cygwin], gdb_cv_os_cygwin, +-[AC_EGREP_CPP(lose, [ ++[AC_EGREP_CPP(^lose$, [ + #if defined (__CYGWIN__) || defined (__CYGWIN32__) + lose + #endif],[gdb_cv_os_cygwin=yes],[gdb_cv_os_cygwin=no])]) +-- +1.8.4 + From 849d440670cf6ea5e3679d299dc552526b940e21 Mon Sep 17 00:00:00 2001 From: Saul Wold Date: Wed, 16 Oct 2013 16:33:06 +0000 Subject: [PATCH 508/658] package-regex: Tweak python-docutils so it works correctly (From meta-yocto master rev: 8bd33820b4d1944a9f7730f8e2676d0d45e1cd0b) (From meta-yocto rev: 3b2b8cce34043766e31ba501052f8d1668f4a2b3) Signed-off-by: Saul Wold Signed-off-by: Richard Purdie Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- meta-yocto/conf/distro/include/package_regex.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-yocto/conf/distro/include/package_regex.inc b/meta-yocto/conf/distro/include/package_regex.inc index 89cd366dffa..da6e738c27c 100644 --- a/meta-yocto/conf/distro/include/package_regex.inc +++ b/meta-yocto/conf/distro/include/package_regex.inc @@ -216,7 +216,7 @@ REGEX_URI_pn-psmisc = "http://sourceforge.net/projects/psmisc/files/psmisc/" REGEX_pn-psmisc = "[hH][rR][eE][fF]=\"http://sourceforge.net/projects/psmisc/files/psmisc/psmisc\-(?P((\d+[\.\-_]*)+))\.tar\.gz/download\"" REGEX_URI_pn-python-argparse = "https://code.google.com/p/argparse/downloads/list" REGEX_URI_pn-python-docutils = "http://sourceforge.net/projects/docutils/files/docutils/" -REGEX_pn-python-docutils = "[hH][rR][eE][fF]=\"/projects/docutils/files/docutils/docutils\-(?P((\d+[\.\-_]*)+)).*/\"" +REGEX_pn-python-docutils = "[hH][rR][eE][fF]=\"/projects/docutils/files/docutils/(?P((\d+[\.\-_]*)+)).*/\"" REGEX_URI_pn-python-pycurl = "http://pycurl.sourceforge.net/download/" REGEX_pn-python-pycurl = "[hH][rR][eE][fF]=\"pycurl-(?P((\d+[\.\-_]*)+)).tar.gz\"" REGEX_URI_pn-python-scons = "http://sourceforge.net/projects/scons/files/scons/" From a410a0a6d744ea814370fd014f25984f42f16cc4 Mon Sep 17 00:00:00 2001 From: Bruce Ashfield Date: Thu, 14 Nov 2013 16:58:36 +0000 Subject: [PATCH 509/658] meta-yocto-bsp: update SRCREVs for 3.10.17 and beagleboard fixes Updating the BSP SRCREVs to pull in the 3.10.17 core update and fix USB powerup issues on the beagleboard. (From meta-yocto master rev: d82870a9561662919a737dd126a8d26e2b78144a) (From meta-yocto rev: 17403f07a5ec54f867515dc8cb8bd65fd232c6f5) Signed-off-by: Bruce Ashfield Signed-off-by: Richard Purdie Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- .../recipes-kernel/linux/linux-yocto_3.10.bbappend | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_3.10.bbappend b/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_3.10.bbappend index aa43b15bb05..2f529c0fb23 100644 --- a/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_3.10.bbappend +++ b/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_3.10.bbappend @@ -7,11 +7,11 @@ KBRANCH_beagleboard = "standard/beagleboard" KMACHINE_genericx86 ?= "common-pc" KMACHINE_genericx86-64 ?= "common-pc-64" -SRCREV_machine_genericx86 ?= "702040ac7c7ec66a29b4d147665ccdd0ff015577" -SRCREV_machine_genericx86-64 ?= "702040ac7c7ec66a29b4d147665ccdd0ff015577" -SRCREV_machine_routerstationpro ?= "d4e6adefaf92a1e7b6539d371ba49b78bd194a84" -SRCREV_machine_mpc8315e-rdb ?= "12dc46ba4efb80e135fec4dce913eeb87ee671b3" -SRCREV_machine_beagleboard ?= "702040ac7c7ec66a29b4d147665ccdd0ff015577" +SRCREV_machine_genericx86 ?= "c03195ed6e3066494e3fb4be69154a57066e845b" +SRCREV_machine_genericx86-64 ?= "c03195ed6e3066494e3fb4be69154a57066e845b" +SRCREV_machine_routerstationpro ?= "2d91e201018c15e24fb83336dcb4029b8569eb9d" +SRCREV_machine_mpc8315e-rdb ?= "ac071526ffac37c907532933b628e4f64070f155" +SRCREV_machine_beagleboard ?= "3d9b0d130a00dd32e6061ac708eaaaed69e35c3d" COMPATIBLE_MACHINE_genericx86 = "genericx86" COMPATIBLE_MACHINE_genericx86-64 = "genericx86-64" From 37e9b199a666cffe42ae4382ccb397ddad797b4d Mon Sep 17 00:00:00 2001 From: Bastien JAUNY Date: Wed, 13 Nov 2013 19:21:14 +0000 Subject: [PATCH 510/658] yocto-bsp: Add missing format specifier in bblayers error message If the build environment is misconfigured (e.g. a bad path for a layer in bblayers.conf) the yocto-bsp script crashes with a standard python error, not very explicit. This fixes the problem. Signed-off-by: Bastien JAUNY (From meta-yocto master rev: 4a8e80b812eebdc1c9570b5d88aa0f3b34824b68) (From meta-yocto rev: 578e06f113d870ec6a4e201458488344ca941e3d) Signed-off-by: Richard Purdie Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- scripts/lib/bsp/kernel.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/lib/bsp/kernel.py b/scripts/lib/bsp/kernel.py index 5696ca77fb9..ba68b60fcb1 100644 --- a/scripts/lib/bsp/kernel.py +++ b/scripts/lib/bsp/kernel.py @@ -62,7 +62,7 @@ def find_bblayers(): break if not bblayers: - print "Couldn't find BBLAYERS in 'bitbake -e' output, exiting." % \ + print "Couldn't find BBLAYERS in %s output, exiting." % \ bitbake_env_cmd sys.exit(1) From f20ec6bd6ba834a80548b75c439e52fed1209648 Mon Sep 17 00:00:00 2001 From: Steve Sakoman Date: Fri, 8 Nov 2013 12:58:38 -0800 Subject: [PATCH 511/658] wpa-supplicant: enable CONFIG_CTRL_IFACE_DBUS_NEW Without this option wifi support in connman will fail: src/technology.c:technology_get() No matching drivers found for wifi (From OE-Core rev: 403e365e433c54633bcc843b32487a766282226e) (From OE-Core rev: 2e532f33c5e97751daa89c9f92c6de8513564be0) Signed-off-by: Steve Sakoman Signed-off-by: Richard Purdie --- .../wpa-supplicant/wpa-supplicant/defconfig-gnutls | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant/defconfig-gnutls b/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant/defconfig-gnutls index 8be41074cd8..92573e2f991 100644 --- a/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant/defconfig-gnutls +++ b/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant/defconfig-gnutls @@ -347,7 +347,7 @@ CONFIG_PEERKEY=y # Add support for new DBus control interface # (fi.w1.hostap.wpa_supplicant1) -#CONFIG_CTRL_IFACE_DBUS_NEW=y +CONFIG_CTRL_IFACE_DBUS_NEW=y # Add introspection support for new DBus control interface #CONFIG_CTRL_IFACE_DBUS_INTRO=y From 7a0033cc4e1f590c5a936671f351a1b251e16726 Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Fri, 13 Dec 2013 09:18:21 +0000 Subject: [PATCH 512/658] build-appliance-image: Update to dora head revision (From OE-Core rev: d68c267f3387d7fe221d3c5653a66db8b1f78fd8) Signed-off-by: Richard Purdie --- meta/recipes-core/images/build-appliance-image_8.0.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/recipes-core/images/build-appliance-image_8.0.bb b/meta/recipes-core/images/build-appliance-image_8.0.bb index fad2ecc53d6..fb8a9db0b5b 100644 --- a/meta/recipes-core/images/build-appliance-image_8.0.bb +++ b/meta/recipes-core/images/build-appliance-image_8.0.bb @@ -21,7 +21,7 @@ IMAGE_FSTYPES = "vmdk" inherit core-image -SRCREV ?= "a9b6e16daa4f11645f60cb7adaa93eb88437b8cb" +SRCREV ?= "f20ec6bd6ba834a80548b75c439e52fed1209648" SRC_URI = "git://git.yoctoproject.org/poky \ file://Yocto_Build_Appliance.vmx \ file://Yocto_Build_Appliance.vmxf \ From 6f654f107be9c4b6d09f1be7e04d28fe5ccb063e Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Wed, 11 Dec 2013 07:11:34 -0600 Subject: [PATCH 513/658] ref-manual: Edits to GTKIMMODULES_PACKAGES variable. Used a better word to describe the argument list. (From yocto-docs rev: 15f14a3a36d345c655e60bc7a4b7d19c02d26f2c) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-variables.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/ref-manual/ref-variables.xml b/documentation/ref-manual/ref-variables.xml index ebdc554219a..6eb4d8fe4cf 100644 --- a/documentation/ref-manual/ref-variables.xml +++ b/documentation/ref-manual/ref-variables.xml @@ -2295,7 +2295,7 @@ For recipes that inherit the gtk-immodules-cache - class, this variable includes the packages that contain the + class, this variable specifies the packages that contain the GTK+ input method modules being installed when the modules are in packages other than the main package. From 61282366a66e45f51a1e961f1cd03ac058369f66 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Wed, 11 Dec 2013 07:21:32 -0600 Subject: [PATCH 514/658] ref-manual: Minor edits to rootfs* class. Review comments from Paul. (From yocto-docs rev: effc8e811020e00bfd98d065e412db5fe3f78f04) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index ce76140eddd..c197967b641 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -1009,7 +1009,7 @@ The image class helps support creating images in different formats. First, the root filesystem is created from packages using - one of the rootfs_*.bbclass + one of the rootfs*.bbclass files (depending on the package format used) and then one or more image files are created. @@ -2439,8 +2439,8 @@ <filename>rootfs*.bbclass</filename> - The rootfs* classes add support for creating - the root filesystem and consist of the following classes: + The rootfs* classes support creating + the root filesystem for an image and consist of the following classes: The rootfs_deb class, which supports @@ -2459,7 +2459,7 @@ The root filesystem is created from packages using one of the - rootfs_*.bbclass files as determined by the + rootfs*.bbclass files as determined by the PACKAGE_CLASSES variable. From dd3ddc619cb85cbd0862f0bf99c395d4984a5bbb Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Wed, 11 Dec 2013 07:23:20 -0600 Subject: [PATCH 515/658] ref-manual: Edits to setuptools class. Review edits from Paul. (From yocto-docs rev: 8089f69979f872b1c756fb1e1703fa0ea6965426) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index c197967b641..7695a754299 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -2512,7 +2512,7 @@ The setuptools class supports Python extensions - that use setuptools-based build systems making use of Python. + that use setuptools-based build systems. If your recipe uses these build systems, the recipe needs to inherit the setuptools class. From e66cff17abab9f0aefaa2df1c10fafd9b409f4b3 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Wed, 11 Dec 2013 07:26:07 -0600 Subject: [PATCH 516/658] ref-manual: Edits to gnomebase class. Review comments from Ross. (From yocto-docs rev: 88ce4d4e88671a968d3fee84dd3b8e1b64e84282) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index 7695a754299..1dad2847626 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -794,9 +794,9 @@ class for recipes that build software from the GNOME stack. This class sets SRC_URI to - download the source from the GNOME mirrors as well as extends + download the source from the GNOME mirrors as well as extending FILES - with the typical GNOME installation path. + with the typical GNOME installation paths. From ce2dbff1025dce732dca38ba389023cc521140a4 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Wed, 11 Dec 2013 07:49:39 -0600 Subject: [PATCH 517/658] ref-manual: Edit to SDK_DEPLOY removing "temporary" from directory. (From yocto-docs rev: a88e4a770b1fe536285269055ba0655c702f0d70) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-variables.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/documentation/ref-manual/ref-variables.xml b/documentation/ref-manual/ref-variables.xml index 6eb4d8fe4cf..17be03deddd 100644 --- a/documentation/ref-manual/ref-variables.xml +++ b/documentation/ref-manual/ref-variables.xml @@ -5605,9 +5605,9 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3" SDK_DEPLOY - The temporary work directory set up and used by the + The work directory set up and used by the populate_sdk_base - in which the SDK is deployed. + to which the SDK is deployed. The populate_sdk_base class defines SDK_DEPLOY as follows: From 7cea11f64d819cc02965a8e13251911861b7da7f Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Wed, 11 Dec 2013 08:00:50 -0600 Subject: [PATCH 518/658] ref-manual: Removed "work" from the SDK_DEPLOY directory. The directory is not a temporary thing. (From yocto-docs rev: d40d17ed80ebdb738bca9c86cd1381cd1442e5b8) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-variables.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/ref-manual/ref-variables.xml b/documentation/ref-manual/ref-variables.xml index 17be03deddd..1f71e7eb394 100644 --- a/documentation/ref-manual/ref-variables.xml +++ b/documentation/ref-manual/ref-variables.xml @@ -5605,7 +5605,7 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3" SDK_DEPLOY - The work directory set up and used by the + The directory set up and used by the populate_sdk_base to which the SDK is deployed. The populate_sdk_base class defines From cf1a1b9a0848dde7f1816cb7bb8abb7a6292cc07 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Wed, 11 Dec 2013 12:26:41 -0600 Subject: [PATCH 519/658] ref-manual: Added module and module-base classes. (From yocto-docs rev: be1e564483299a018e28f1971dbe85f8485c9b83) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 38 +++++++++++++++++++++++- 1 file changed, 37 insertions(+), 1 deletion(-) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index 1dad2847626..aae306224f6 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -1546,7 +1546,6 @@ Various other classes are used by the kernel and module classes internally including the kernel-arch, - module_strip, module-base, and linux-kernel-base @@ -1698,6 +1697,43 @@ +
+ <filename>module.bbclass</filename> + + + The module class provides support for building + out-of-tree Linux kernel modules. + The class inherits the + module-base + and + kernel-module-split + classes, and implements do_compile and + do_install functions. + The class provides everything needed to build and package a kernel + module. + + + + For general information on out-of-tree Linux kernel modules, see the + "Incorporating Out-of-Tree Modules" + section in the Yocto Project Linux Kernel Development Manual. + +
+ +
+ <filename>module-base.bbclass</filename> + + + The module-base class provides the base + functionality for building Linux kernel modules. + Typically, a recipe that builds software that includes one or + more kernel modules and has its own means of building + the module inherits this class as opposed to inheriting the + module + class. + +
+
<filename>multilib*.bbclass</filename> From 9c371cf3f42fb274a275b9434b99ec26afc8e793 Mon Sep 17 00:00:00 2001 From: David Nystrom Date: Thu, 12 Dec 2013 08:08:57 -0600 Subject: [PATCH 520/658] ref-manual: Reverted a patch that had added sdk-pms Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-features.xml | 6 ------ 1 file changed, 6 deletions(-) diff --git a/documentation/ref-manual/ref-features.xml b/documentation/ref-manual/ref-features.xml index 551d3d4cb8d..843cf81d664 100644 --- a/documentation/ref-manual/ref-features.xml +++ b/documentation/ref-manual/ref-features.xml @@ -126,12 +126,6 @@ supports it. wifi: Include WiFi support (integrated only). - sdk-pms: Include Package - Management Tools in the - nativesdk toolchain tarball. - Including these tools allows for easy sandbox use when - creating the root filesystem while using the SDK tarball. -
From 8477e7723097633d70b070c0a8aed6e1cb94afa3 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 12 Dec 2013 13:04:38 -0600 Subject: [PATCH 521/658] ref-manual: Fixed the reference to the script for icecc class. (From yocto-docs rev: 51afdedc5c9bb6b689e7cf8771e0889d445f5326) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/ref-classes.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index aae306224f6..ca96b3b277c 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml @@ -969,11 +969,11 @@ If ICECC_ENV_EXEC is set in your local.conf file, the variable should - point to the icecc-create-env script provided by - the user. + point to the icecc-create-env script + provided by the user. If you do not point to a user-provided script, the build system uses the default script provided by the recipe - icecc-create-env.bb. + icecc-create-env-native.bb. This script is a modified version and not the one that comes with icecc. From 785b7e392922453698dd8b21cae5b229a9352031 Mon Sep 17 00:00:00 2001 From: Beth Flanagan Date: Fri, 13 Dec 2013 08:16:24 -0800 Subject: [PATCH 522/658] poky.conf: Flip distro to 1.5.1 DISTRO needs to be flipped for pending point release (From meta-yocto rev: efb1dd56721320f767eb3066567f8caeb32580a2) Signed-off-by: Beth Flanagan Signed-off-by: Richard Purdie --- meta-yocto/conf/distro/poky.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-yocto/conf/distro/poky.conf b/meta-yocto/conf/distro/poky.conf index 465dbb95ef8..53c38187fc6 100644 --- a/meta-yocto/conf/distro/poky.conf +++ b/meta-yocto/conf/distro/poky.conf @@ -1,6 +1,6 @@ DISTRO = "poky" DISTRO_NAME = "Poky (Yocto Project Reference Distro)" -DISTRO_VERSION = "1.5" +DISTRO_VERSION = "1.5.1" DISTRO_CODENAME = "next" SDK_VENDOR = "-pokysdk" SDK_VERSION := "${@'${DISTRO_VERSION}'.replace('snapshot-${DATE}','snapshot')}" From 8e410e9e46e3335458a7747cdd32e05f5c19ccbb Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Fri, 13 Dec 2013 16:34:11 +0000 Subject: [PATCH 523/658] build-appliance-image: Update to dora head revision (From OE-Core rev: 2e9df12e67b3e56ed3c056559aa8eced6444ec93) Signed-off-by: Richard Purdie --- meta/recipes-core/images/build-appliance-image_8.0.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/recipes-core/images/build-appliance-image_8.0.bb b/meta/recipes-core/images/build-appliance-image_8.0.bb index fb8a9db0b5b..1e039a8c1d7 100644 --- a/meta/recipes-core/images/build-appliance-image_8.0.bb +++ b/meta/recipes-core/images/build-appliance-image_8.0.bb @@ -21,7 +21,7 @@ IMAGE_FSTYPES = "vmdk" inherit core-image -SRCREV ?= "f20ec6bd6ba834a80548b75c439e52fed1209648" +SRCREV ?= "785b7e392922453698dd8b21cae5b229a9352031" SRC_URI = "git://git.yoctoproject.org/poky \ file://Yocto_Build_Appliance.vmx \ file://Yocto_Build_Appliance.vmxf \ From 43f768e2127d237f7aa1c927ac87ac8a12692688 Mon Sep 17 00:00:00 2001 From: EC TF Bind account Date: Wed, 19 Mar 2014 10:52:33 +0000 Subject: [PATCH 524/658] Initial empty repository From 9316c435a217395c4ac4a67763e348b62a7513ec Mon Sep 17 00:00:00 2001 From: Matt Fleming Date: Thu, 6 Mar 2014 11:04:34 +0000 Subject: [PATCH 525/658] kernel-yocto: Disable ANSI escape codes from git branch 'git branch' may use ANSI escape codes in its output (to provide colour) which doesn't play well with commands expecting pure plain text, e.g. fatal: '^[[31mmaster^[[m' is not a valid branch name. Use the --no-color option to ensure all branch names are plain text. Cc: Bruce Ashfield (From OE-Core rev: 87acfdb28380c26344a79a9dc0b4b403173bdc44) Signed-off-by: Matt Fleming Signed-off-by: Richard Purdie --- meta/classes/kernel-yocto.bbclass | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta/classes/kernel-yocto.bbclass b/meta/classes/kernel-yocto.bbclass index 8f799324384..c966cb8529f 100644 --- a/meta/classes/kernel-yocto.bbclass +++ b/meta/classes/kernel-yocto.bbclass @@ -196,7 +196,7 @@ do_kernel_checkout() { # If KMETA is defined, the branch must exist, but a machine branch # can be missing since it may be created later by the tools. if [ -n "${KMETA}" ]; then - git branch -a | grep -q ${KMETA} + git branch -a --no-color | grep -q ${KMETA} if [ $? -ne 0 ]; then echo "ERROR. The branch '${KMETA}' is required and was not" echo "found. Ensure that the SRC_URI points to a valid linux-yocto" @@ -214,7 +214,7 @@ do_kernel_checkout() { fi # convert any remote branches to local tracking ones - for i in `git branch -a | grep remotes | grep -v HEAD`; do + for i in `git branch -a --no-color | grep remotes | grep -v HEAD`; do b=`echo $i | cut -d' ' -f2 | sed 's%remotes/origin/%%'`; git show-ref --quiet --verify -- "refs/heads/$b" if [ $? -ne 0 ]; then From 925008b35682f5f4586b6e3ea0b61c6ed5711aad Mon Sep 17 00:00:00 2001 From: Matt Fleming Date: Tue, 14 Jan 2014 21:36:59 +0000 Subject: [PATCH 526/658] ovmf: Add a new ovmf recipe OVMF is required to build a UEFI-capable Qemu. Signed-off-by: Matt Fleming --- meta-luv/recipes-core/ovmf/ovmf_git.bb | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 meta-luv/recipes-core/ovmf/ovmf_git.bb diff --git a/meta-luv/recipes-core/ovmf/ovmf_git.bb b/meta-luv/recipes-core/ovmf/ovmf_git.bb new file mode 100644 index 00000000000..d9a52f919ad --- /dev/null +++ b/meta-luv/recipes-core/ovmf/ovmf_git.bb @@ -0,0 +1,24 @@ +DESCRIPTION = "OVMF - UEFI firmware for Qemu and KVM" +HOMEPAGE = "http://sourceforge.net/apps/mediawiki/tianocore/index.php?title=OVMF" +LICENSE = "BSD" +LIC_FILES_CHKSUM = "file://OvmfPkg/License.txt;md5=ffd52cf9a8e0e036b9a61a0de2dc87ed" + +#SRC_URI = "git://github.com/tianocore/edk2.git;protocol=efi;nocheckout=1" +SRC_URI = "git:///home/matt/src/3rd-party/efi/edk2.git;protocol=file" +SRCREV="${AUTOREV}" + +BBCLASSEXTEND = "native nativesdk" + +DEPENDS_class-native += "qemu-native" + +S = "${WORKDIR}/git" + +do_compile() { + ${S}/OvmfPkg/build.sh -a X64 -b RELEASE +} + +do_install() { + install -d ${D}${datadir}/ovmf + install -m 0755 ${S}/Build/OvmfX64/DEBUG_GCC47/FV/OVMF.fd \ + ${D}${datadir}/ovmf/bios.bin +} From 1add5ae5defb11bd4e04635a7e16aded910b1ea0 Mon Sep 17 00:00:00 2001 From: Matt Fleming Date: Tue, 14 Jan 2014 21:39:01 +0000 Subject: [PATCH 527/658] kexec: Add a new recipe for kexec New recipe for building kexec from upstrem because support for using kexec with UEFI hasn't made it into a release of kexec-tools yet. Signed-off-by: Matt Fleming --- .../kexec/kexec-tools/0001-build-fix.patch | 36 +++ .../0002-add-function-getbootparam.patch | 96 ++++++ .../kexec/kexec-tools/0003-add-efi-info.patch | 133 +++++++++ .../0004-passing-efi-related-data.patch | 279 ++++++++++++++++++ .../recipes-kernel/kexec/kexec-tools_git.bb | 32 ++ 5 files changed, 576 insertions(+) create mode 100644 meta-luv/recipes-kernel/kexec/kexec-tools/0001-build-fix.patch create mode 100644 meta-luv/recipes-kernel/kexec/kexec-tools/0002-add-function-getbootparam.patch create mode 100644 meta-luv/recipes-kernel/kexec/kexec-tools/0003-add-efi-info.patch create mode 100644 meta-luv/recipes-kernel/kexec/kexec-tools/0004-passing-efi-related-data.patch create mode 100644 meta-luv/recipes-kernel/kexec/kexec-tools_git.bb diff --git a/meta-luv/recipes-kernel/kexec/kexec-tools/0001-build-fix.patch b/meta-luv/recipes-kernel/kexec/kexec-tools/0001-build-fix.patch new file mode 100644 index 00000000000..f34bed2a33e --- /dev/null +++ b/meta-luv/recipes-kernel/kexec/kexec-tools/0001-build-fix.patch @@ -0,0 +1,36 @@ +From: Dave Young +To: kexec@lists.infradead.org +Cc: linux-efi@vger.kernel.org, x86@kernel.org, mjg59@srcf.ucam.org, + hpa@zytor.com, James.Bottomley@HansenPartnership.com, vgoyal@redhat.com, + ebiederm@xmission.com, horms@verge.net.au, bp@alien8.de, greg@kroah.com, + matt@console-pimps.org, toshi.kani@hp.com +Subject: [PATCH v4 1/4] build fix: include x86-linux.h in x86-linux-setup.h +Date: Fri, 20 Dec 2013 18:05:44 +0800 +MIME-Version: 1.0 +Content-Transfer-Encoding: 8bit +Content-Type: text/plain; charset=utf-8 + +There's build warnings about using struct x86_linux_param_header * +in x86-linux-setup.h, it is declared in x86-linux.h + +Fix it by include x86-linux.h in x86-linux-setup.h + +Signed-off-by: Dave Young +--- + kexec/arch/i386/x86-linux-setup.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/kexec/arch/i386/x86-linux-setup.h b/kexec/arch/i386/x86-linux-setup.h +index 09aed4d..2afe97c 100644 +--- a/kexec/arch/i386/x86-linux-setup.h ++++ b/kexec/arch/i386/x86-linux-setup.h +@@ -1,5 +1,6 @@ + #ifndef X86_LINUX_SETUP_H + #define X86_LINUX_SETUP_H ++#include + + void init_linux_parameters(struct x86_linux_param_header *real_mode); + void setup_linux_bootloader_parameters_high( +-- +1.8.3.1 + diff --git a/meta-luv/recipes-kernel/kexec/kexec-tools/0002-add-function-getbootparam.patch b/meta-luv/recipes-kernel/kexec/kexec-tools/0002-add-function-getbootparam.patch new file mode 100644 index 00000000000..65010e75cd3 --- /dev/null +++ b/meta-luv/recipes-kernel/kexec/kexec-tools/0002-add-function-getbootparam.patch @@ -0,0 +1,96 @@ +From: Dave Young +To: kexec@lists.infradead.org +Cc: linux-efi@vger.kernel.org, x86@kernel.org, mjg59@srcf.ucam.org, + hpa@zytor.com, James.Bottomley@HansenPartnership.com, vgoyal@redhat.com, + ebiederm@xmission.com, horms@verge.net.au, bp@alien8.de, greg@kroah.com, + matt@console-pimps.org, toshi.kani@hp.com +Subject: [PATCH v4 2/4] Add function get_bootparam +Date: Fri, 20 Dec 2013 18:05:45 +0800 +MIME-Version: 1.0 +Content-Transfer-Encoding: 8bit +Content-Type: text/plain; charset=utf-8 + +Not only setup_subarch will get data from debugfs file +boot_params/data, later code for adding efi_info will +also need do same thing. Thus add a common function here +for later use. + +v1->v2: make get_bootparam() static +v2->v3: return error code when get_bootparam fails because + later patch to collect efi runtime maps will not + necessary if get_bootparam fails. + switch to use /sys/kernel/boot_params if possible. + return error code for later use in setup_efi_info. + +Signed-off-by: Dave Young +--- + kexec/arch/i386/x86-linux-setup.c | 42 +++++++++++++++++++++++++++++---------- + 1 file changed, 31 insertions(+), 11 deletions(-) + +diff --git a/kexec/arch/i386/x86-linux-setup.c b/kexec/arch/i386/x86-linux-setup.c +index 454fad6..7b4c65d 100644 +--- a/kexec/arch/i386/x86-linux-setup.c ++++ b/kexec/arch/i386/x86-linux-setup.c +@@ -436,28 +436,48 @@ char *find_mnt_by_fsname(char *fsname) + return mntdir; + } + +-void setup_subarch(struct x86_linux_param_header *real_mode) ++static int get_bootparam(void *buf, off_t offset, size_t size) + { + int data_file; +- const off_t offset = offsetof(typeof(*real_mode), hardware_subarch); +- char *debugfs_mnt; ++ char *debugfs_mnt, *sysfs_mnt; + char filename[PATH_MAX]; ++ int err, has_sysfs_params = 0; ++ ++ sysfs_mnt = find_mnt_by_fsname("sysfs"); ++ if (sysfs_mnt) { ++ snprintf(filename, PATH_MAX, "%s/%s", sysfs_mnt, ++ "kernel/boot_params/data"); ++ free(sysfs_mnt); ++ err = access(filename, F_OK); ++ if (!err) ++ has_sysfs_params = 1; ++ } + +- debugfs_mnt = find_mnt_by_fsname("debugfs"); +- if (!debugfs_mnt) +- return; +- snprintf(filename, PATH_MAX, "%s/%s", debugfs_mnt, "boot_params/data"); +- filename[PATH_MAX-1] = 0; +- free(debugfs_mnt); ++ if (!has_sysfs_params) { ++ debugfs_mnt = find_mnt_by_fsname("debugfs"); ++ if (!debugfs_mnt) ++ return 1; ++ snprintf(filename, PATH_MAX, "%s/%s", debugfs_mnt, ++ "boot_params/data"); ++ free(debugfs_mnt); ++ } + + data_file = open(filename, O_RDONLY); + if (data_file < 0) +- return; ++ return 1; + if (lseek(data_file, offset, SEEK_SET) < 0) + goto close; +- read(data_file, &real_mode->hardware_subarch, sizeof(uint32_t)); ++ read(data_file, buf, size); + close: + close(data_file); ++ return 0; ++} ++ ++void setup_subarch(struct x86_linux_param_header *real_mode) ++{ ++ off_t offset = offsetof(typeof(*real_mode), hardware_subarch); ++ ++ get_bootparam(&real_mode->hardware_subarch, offset, sizeof(uint32_t)); + } + + void setup_linux_system_parameters(struct kexec_info *info, +-- +1.8.3.1 + diff --git a/meta-luv/recipes-kernel/kexec/kexec-tools/0003-add-efi-info.patch b/meta-luv/recipes-kernel/kexec/kexec-tools/0003-add-efi-info.patch new file mode 100644 index 00000000000..b2a339f7546 --- /dev/null +++ b/meta-luv/recipes-kernel/kexec/kexec-tools/0003-add-efi-info.patch @@ -0,0 +1,133 @@ +From: Dave Young +To: kexec@lists.infradead.org +Cc: linux-efi@vger.kernel.org, x86@kernel.org, mjg59@srcf.ucam.org, + hpa@zytor.com, James.Bottomley@HansenPartnership.com, vgoyal@redhat.com, + ebiederm@xmission.com, horms@verge.net.au, bp@alien8.de, greg@kroah.com, + matt@console-pimps.org, toshi.kani@hp.com +Subject: [PATCH v4 3/4] Add efi_info in x86 setup header +Date: Fri, 20 Dec 2013 18:05:46 +0800 +MIME-Version: 1.0 +Content-Transfer-Encoding: 8bit +Content-Type: text/plain; charset=utf-8 + +For supporting efi runtime on kexec kernel we need to +fill the efi_info struct in setup_header. I just get +the info in kernel exported boot_params data in debugfs. + +v1->v2: +update comment for offset of reserved4_1[] in x87_linux_param_header +Address comment from mjg59: do not break old kernel when use newer kexec-tools. + add checking for xloadflags bit 4 XLF_EFI_KEXEC. Only fill + efi_info and pass acpi_rsdp when the kexec kernel support efi boot. +coding style fix, change internal function to be static + +Signed-off-by: Dave Young +--- + include/x86/x86-linux.h | 3 ++- + kexec/arch/i386/crashdump-x86.c | 4 +++- + kexec/arch/i386/x86-linux-setup.c | 9 +++++++++ + kexec/arch/i386/x86-linux-setup.h | 1 + + kexec/arch/x86_64/kexec-bzImage64.c | 6 ++++++ + 5 files changed, 21 insertions(+), 2 deletions(-) + +diff --git a/include/x86/x86-linux.h b/include/x86/x86-linux.h +index c41e5f2..50c7324 100644 +--- a/include/x86/x86-linux.h ++++ b/include/x86/x86-linux.h +@@ -113,7 +113,8 @@ struct x86_linux_param_header { + uint32_t ext_ramdisk_image; /* 0xc0 */ + uint32_t ext_ramdisk_size; /* 0xc4 */ + uint32_t ext_cmd_line_ptr; /* 0xc8 */ +- uint8_t reserved4_1[0x1e0 - 0xcc]; /* 0xcc */ ++ uint8_t reserved4_1[0x1c0 - 0xcc]; /* 0xe4 */ ++ uint8_t efi_info[32]; /* 0x1c0 */ + uint32_t alt_mem_k; /* 0x1e0 */ + uint8_t reserved5[4]; /* 0x1e4 */ + uint8_t e820_map_nr; /* 0x1e8 */ +diff --git a/kexec/arch/i386/crashdump-x86.c b/kexec/arch/i386/crashdump-x86.c +index ca98165..53bd077 100644 +--- a/kexec/arch/i386/crashdump-x86.c ++++ b/kexec/arch/i386/crashdump-x86.c +@@ -41,6 +41,7 @@ + #include "../../crashdump.h" + #include "kexec-x86.h" + #include "crashdump-x86.h" ++#include "x86-linux-setup.h" + + #ifdef HAVE_LIBXENCTRL + #include +@@ -935,7 +936,8 @@ int load_crashdump_segments(struct kexec_info *info, char* mod_cmdline, + if (delete_memmap(memmap_p, elfcorehdr, memsz) < 0) + return -1; + cmdline_add_memmap(mod_cmdline, memmap_p); +- cmdline_add_efi(mod_cmdline); ++ if (!bzImage_support_efi_boot) ++ cmdline_add_efi(mod_cmdline); + cmdline_add_elfcorehdr(mod_cmdline, elfcorehdr); + + /* Inform second kernel about the presence of ACPI tables. */ +diff --git a/kexec/arch/i386/x86-linux-setup.c b/kexec/arch/i386/x86-linux-setup.c +index 7b4c65d..38bd9dd 100644 +--- a/kexec/arch/i386/x86-linux-setup.c ++++ b/kexec/arch/i386/x86-linux-setup.c +@@ -480,6 +480,13 @@ void setup_subarch(struct x86_linux_param_header *real_mode) + get_bootparam(&real_mode->hardware_subarch, offset, sizeof(uint32_t)); + } + ++static void setup_efi_info(struct x86_linux_param_header *real_mode) ++{ ++ off_t offset = offsetof(typeof(*real_mode), efi_info); ++ ++ get_bootparam(&real_mode->efi_info, offset, 32); ++} ++ + void setup_linux_system_parameters(struct kexec_info *info, + struct x86_linux_param_header *real_mode) + { +@@ -489,6 +496,8 @@ void setup_linux_system_parameters(struct kexec_info *info, + + /* get subarch from running kernel */ + setup_subarch(real_mode); ++ if (bzImage_support_efi_boot) ++ setup_efi_info(real_mode); + + /* Default screen size */ + real_mode->orig_x = 0; +diff --git a/kexec/arch/i386/x86-linux-setup.h b/kexec/arch/i386/x86-linux-setup.h +index 2afe97c..6fb84b4 100644 +--- a/kexec/arch/i386/x86-linux-setup.h ++++ b/kexec/arch/i386/x86-linux-setup.h +@@ -29,5 +29,6 @@ void setup_linux_system_parameters(struct kexec_info *info, + + /* command line parameter may be appended by purgatory */ + #define PURGATORY_CMDLINE_SIZE 64 ++extern int bzImage_support_efi_boot; + + #endif /* X86_LINUX_SETUP_H */ +diff --git a/kexec/arch/x86_64/kexec-bzImage64.c b/kexec/arch/x86_64/kexec-bzImage64.c +index a7b9f15..1983bcf 100644 +--- a/kexec/arch/x86_64/kexec-bzImage64.c ++++ b/kexec/arch/x86_64/kexec-bzImage64.c +@@ -42,6 +42,7 @@ + #include + + static const int probe_debug = 0; ++int bzImage_support_efi_boot; + + int bzImage64_probe(const char *buf, off_t len) + { +@@ -82,6 +83,11 @@ int bzImage64_probe(const char *buf, off_t len) + /* Must be KERNEL_64 and CAN_BE_LOADED_ABOVE_4G */ + return -1; + } ++ ++#define XLF_EFI_KEXEC (1 << 4) ++ if ((header->xloadflags & XLF_EFI_KEXEC) == XLF_EFI_KEXEC) ++ bzImage_support_efi_boot = 1; ++ + /* I've got a relocatable bzImage64 */ + if (probe_debug) + fprintf(stderr, "It's a relocatable bzImage64\n"); +-- +1.8.3.1 + diff --git a/meta-luv/recipes-kernel/kexec/kexec-tools/0004-passing-efi-related-data.patch b/meta-luv/recipes-kernel/kexec/kexec-tools/0004-passing-efi-related-data.patch new file mode 100644 index 00000000000..e264da9ef92 --- /dev/null +++ b/meta-luv/recipes-kernel/kexec/kexec-tools/0004-passing-efi-related-data.patch @@ -0,0 +1,279 @@ +From: Dave Young +To: kexec@lists.infradead.org +Cc: linux-efi@vger.kernel.org, x86@kernel.org, mjg59@srcf.ucam.org, + hpa@zytor.com, James.Bottomley@HansenPartnership.com, vgoyal@redhat.com, + ebiederm@xmission.com, horms@verge.net.au, bp@alien8.de, greg@kroah.com, + matt@console-pimps.org, toshi.kani@hp.com +Subject: [PATCH v4 4/4] Passing efi related data via setup_data +Date: Fri, 20 Dec 2013 18:05:47 +0800 +MIME-Version: 1.0 +Content-Transfer-Encoding: 8bit +Content-Type: text/plain; charset=utf-8 + +For supporting efi runtime, several efi physical addresses +fw_vendor, runtime, config tables, smbios and the whole runtime +mapping info need to be used in kexec kernel. Thus introduce +setup_data struct for passing these data. + +collect the varialbes from /sys/firmware/efi/systab and +/sys/firmware/efi/runtime-map + +Tested on qemu+ovmf, dell laptop, lenovo laptop and HP workstation. + +v1->v2: +HPA: use uint*_t instead of __uint*_t +Simon: indention fix; fix a memory leak +move offset change update to previous patch in setup header +only passing setup_data when the bzImage support efi boot +Vivek: export a value in bzImage probe so it can be used + to check if we should pass acpi_rsdp. +coding style + +v2->v3: +code cleanup +bail out if efi mm desc_version != 1 +bhe: define macro for SETUP_EFI + break loop if find matched string in systab. + +v3->v4: +patch04: + update memmap in efi_info to the saved runtime map + So kernel side can iterate them as normal boot. + +Signed-off-by: Dave Young +--- + kexec/arch/i386/x86-linux-setup.c | 201 +++++++++++++++++++++++++++++++++++++- + 1 file changed, 198 insertions(+), 3 deletions(-) + +diff --git a/kexec/arch/i386/x86-linux-setup.c b/kexec/arch/i386/x86-linux-setup.c +index 38bd9dd..b8000b2 100644 +--- a/kexec/arch/i386/x86-linux-setup.c ++++ b/kexec/arch/i386/x86-linux-setup.c +@@ -36,6 +36,8 @@ + #include "x86-linux-setup.h" + #include "../../kexec/kexec-syscall.h" + ++#define SETUP_EFI 4 ++ + void init_linux_parameters(struct x86_linux_param_header *real_mode) + { + /* Fill in the values that are usually provided by the kernel. */ +@@ -480,11 +482,204 @@ void setup_subarch(struct x86_linux_param_header *real_mode) + get_bootparam(&real_mode->hardware_subarch, offset, sizeof(uint32_t)); + } + +-static void setup_efi_info(struct x86_linux_param_header *real_mode) ++struct efi_mem_descriptor { ++ uint32_t type; ++ uint32_t pad; ++ uint64_t phys_addr; ++ uint64_t virt_addr; ++ uint64_t num_pages; ++ uint64_t attribute; ++}; ++ ++struct efi_setup_data { ++ uint64_t fw_vendor; ++ uint64_t runtime; ++ uint64_t tables; ++ uint64_t smbios; ++ uint64_t reserved[8]; ++ struct efi_mem_descriptor map[0]; ++}; ++ ++struct setup_data { ++ uint64_t next; ++ uint32_t type; ++ uint32_t len; ++ uint8_t data[0]; ++} __attribute__((packed)); ++ ++static int __get_efi_value(char *line, const char *pattern, uint64_t *val) ++{ ++ char *s, *end; ++ s = strstr(line, pattern); ++ if (s) ++ *val = strtoull(s + strlen(pattern), &end, 16); ++ ++ if (!s || *val == ULONG_MAX) ++ return 1; ++ return 0; ++} ++ ++static void _get_efi_value(const char *filename, ++ const char *pattern, uint64_t *val) + { ++ FILE *fp; ++ char line[1024]; ++ int ret; ++ ++ fp = fopen(filename, "r"); ++ if (!fp) ++ return; ++ ++ while (fgets(line, sizeof(line), fp) != 0) { ++ ret = __get_efi_value(line, pattern, val); ++ if (!ret) ++ break; ++ } ++ ++ fclose(fp); ++} ++ ++static void get_efi_values(struct efi_setup_data *esd) ++{ ++ _get_efi_value("/sys/firmware/efi/systab", "SMBIOS=0x", ++ &esd->smbios); ++ _get_efi_value("/sys/firmware/efi/fw_vendor", "0x", ++ &esd->fw_vendor); ++ _get_efi_value("/sys/firmware/efi/runtime", "0x", ++ &esd->runtime); ++ _get_efi_value("/sys/firmware/efi/config_table", "0x", ++ &esd->tables); ++} ++ ++static int get_efi_runtime_map(struct efi_setup_data **esd) ++{ ++ DIR *dirp; ++ struct dirent *entry; ++ char filename[1024]; ++ struct efi_mem_descriptor md; ++ int nr_maps = 0; ++ ++ dirp = opendir("/sys/firmware/efi/runtime-map"); ++ if (!dirp) ++ return 0; ++ while ((entry = readdir(dirp)) != NULL) { ++ sprintf(filename, ++ "/sys/firmware/efi/runtime-map/%s", ++ (char *)entry->d_name); ++ if (*entry->d_name == '.') ++ continue; ++ file_scanf(filename, "type", "0x%x", (unsigned int *)&md.type); ++ file_scanf(filename, "phys_addr", "0x%llx", ++ (unsigned long long *)&md.phys_addr); ++ file_scanf(filename, "virt_addr", "0x%llx", ++ (unsigned long long *)&md.virt_addr); ++ file_scanf(filename, "num_pages", "0x%llx", ++ (unsigned long long *)&md.num_pages); ++ file_scanf(filename, "attribute", "0x%llx", ++ (unsigned long long *)&md.attribute); ++ *esd = realloc(*esd, sizeof(struct efi_setup_data) + ++ (nr_maps + 1) * sizeof(struct efi_mem_descriptor)); ++ *((*esd)->map + nr_maps) = md; ++ nr_maps++; ++ } ++ ++ closedir(dirp); ++ return nr_maps; ++} ++ ++struct efi_info { ++ uint32_t efi_loader_signature; ++ uint32_t efi_systab; ++ uint32_t efi_memdesc_size; ++ uint32_t efi_memdesc_version; ++ uint32_t efi_memmap; ++ uint32_t efi_memmap_size; ++ uint32_t efi_systab_hi; ++ uint32_t efi_memmap_hi; ++}; ++ ++ ++static int setup_efi_setup_data(struct kexec_info *info, ++ struct x86_linux_param_header *real_mode) ++{ ++ int nr_maps; ++ int64_t setup_data_paddr; ++ struct setup_data *sd; ++ struct efi_setup_data *esd; ++ int size, sdsize; ++ int has_efi = 0; ++ struct efi_info *ei = (struct efi_info *)real_mode->efi_info; ++ ++ has_efi = access("/sys/firmware/efi/systab", F_OK); ++ if (has_efi < 0) ++ return 1; ++ ++ esd = malloc(sizeof(struct efi_setup_data)); ++ if (!esd) ++ return 1; ++ memset(esd, 0, sizeof(struct efi_setup_data)); ++ get_efi_values(esd); ++ nr_maps = get_efi_runtime_map(&esd); ++ if (!nr_maps) { ++ free(esd); ++ return 1; ++ } ++ size = nr_maps * sizeof(struct efi_mem_descriptor) + ++ sizeof(struct efi_setup_data); ++ sd = malloc(sizeof(struct setup_data) + size); ++ if (!sd) { ++ free(esd); ++ return 1; ++ } ++ ++ memset(sd, 0, sizeof(struct setup_data) + size); ++ sd->next = 0; ++ sd->type = SETUP_EFI; ++ sd->len = size; ++ memcpy(sd->data, esd, size); ++ free(esd); ++ sdsize = sd->len + sizeof(struct setup_data); ++ setup_data_paddr = add_buffer(info, sd, sdsize, sdsize, getpagesize(), ++ 0x100000, ULONG_MAX, INT_MAX); ++ ++ real_mode->setup_data = setup_data_paddr; ++ ++ ei->efi_memmap = real_mode->setup_data + sizeof(struct setup_data) + ++ sizeof(struct efi_setup_data); ++ ei->efi_memmap_size = nr_maps * sizeof(struct efi_mem_descriptor); ++ ei->efi_memdesc_size = sizeof(struct efi_mem_descriptor); ++ ++ return 0; ++} ++ ++static int ++get_efi_mem_desc_version(struct x86_linux_param_header *real_mode) ++{ ++ struct efi_info *ei = (struct efi_info *)real_mode->efi_info; ++ ++ return ei->efi_memdesc_version; ++} ++ ++static void setup_efi_info(struct kexec_info *info, ++ struct x86_linux_param_header *real_mode) ++{ ++ int ret, desc_version; + off_t offset = offsetof(typeof(*real_mode), efi_info); + +- get_bootparam(&real_mode->efi_info, offset, 32); ++ ret = get_bootparam(&real_mode->efi_info, offset, 32); ++ if (ret) ++ return; ++ desc_version = get_efi_mem_desc_version(real_mode); ++ if (desc_version != 1) { ++ fprintf(stderr, ++ "efi memory descriptor version %d is not supported!\n", ++ desc_version); ++ memset(&real_mode->efi_info, 0, 32); ++ return; ++ } ++ ret = setup_efi_setup_data(info, real_mode); ++ if (ret) ++ memset(&real_mode->efi_info, 0, 32); + } + + void setup_linux_system_parameters(struct kexec_info *info, +@@ -497,7 +692,7 @@ void setup_linux_system_parameters(struct kexec_info *info, + /* get subarch from running kernel */ + setup_subarch(real_mode); + if (bzImage_support_efi_boot) +- setup_efi_info(real_mode); ++ setup_efi_info(info, real_mode); + + /* Default screen size */ + real_mode->orig_x = 0; +-- +1.8.3.1 + diff --git a/meta-luv/recipes-kernel/kexec/kexec-tools_git.bb b/meta-luv/recipes-kernel/kexec/kexec-tools_git.bb new file mode 100644 index 00000000000..ffd2abd2291 --- /dev/null +++ b/meta-luv/recipes-kernel/kexec/kexec-tools_git.bb @@ -0,0 +1,32 @@ +# Should really try and find some way to share this. + +SUMMARY = "Kexec fast reboot tools" +DESCRIPTION = "Kexec is a fast reboot feature that lets you reboot to a new Linux kernel" +AUTHOR = "Eric Biederman" +HOMEPAGE = "http://kernel.org/pub/linux/utils/kernel/kexec/" +SECTION = "kernel/userland" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=ea5bed2f60d357618ca161ad539f7c0a \ + file://kexec/kexec.c;beginline=1;endline=20;md5=af10f6ae4a8715965e648aa687ad3e09" +DEPENDS = "zlib xz" + +SRC_URI = "git://git.kernel.org/pub/scm/utils/kernel/kexec/kexec-tools.git;protocol=git \ + file://0001-build-fix.patch \ + file://0002-add-function-getbootparam.patch \ + file://0003-add-efi-info.patch \ + file://0004-passing-efi-related-data.patch" + +SRCREV="${AUTOREV}" + +S = "${WORKDIR}/git" + +inherit autotools + +#COMPATIBLE_HOST = '(x86_64.*|i.86.*|arm.*|powerpc.*|mips.*)-(linux|freebsd.*)' + +PACKAGES += "kexec kdump" + +FILES_kexec = "${sbindir}/kexec" +FILES_kdump = "${sbindir}/kdump" + +INSANE_SKIP_${PN} = "arch" From b163a51afcab6b451b932b13aa3f9768cbfdab06 Mon Sep 17 00:00:00 2001 From: Matt Fleming Date: Tue, 14 Jan 2014 21:40:07 +0000 Subject: [PATCH 528/658] linux-yocto: Add a new EFI kernel This kernel is built from Matt Fleming's upstream EFI git repository and includes all of the latest development EFI work. Signed-off-by: Matt Fleming --- .../linux/linux-yocto-efi-test/efi.cfg | 3 + .../linux/linux-yocto-efi-test_3.13.bb | 77 +++++++++++++++++++ 2 files changed, 80 insertions(+) create mode 100644 meta-luv/recipes-kernel/linux/linux-yocto-efi-test/efi.cfg create mode 100644 meta-luv/recipes-kernel/linux/linux-yocto-efi-test_3.13.bb diff --git a/meta-luv/recipes-kernel/linux/linux-yocto-efi-test/efi.cfg b/meta-luv/recipes-kernel/linux/linux-yocto-efi-test/efi.cfg new file mode 100644 index 00000000000..c0a28d995fd --- /dev/null +++ b/meta-luv/recipes-kernel/linux/linux-yocto-efi-test/efi.cfg @@ -0,0 +1,3 @@ +++ .config 2013-04-19 11:55:51.013419546 +0200 +CONFIG_EFI_STUB=y +CONFIG_EXT3_FS=y diff --git a/meta-luv/recipes-kernel/linux/linux-yocto-efi-test_3.13.bb b/meta-luv/recipes-kernel/linux/linux-yocto-efi-test_3.13.bb new file mode 100644 index 00000000000..35ec39d6683 --- /dev/null +++ b/meta-luv/recipes-kernel/linux/linux-yocto-efi-test_3.13.bb @@ -0,0 +1,77 @@ +# linux-yocto-custom.bb: +# +# An example kernel recipe that uses the linux-yocto and oe-core +# kernel classes to apply a subset of yocto kernel management to git +# managed kernel repositories. +# +# To use linux-yocto-custom in your layer, create a +# linux-yocto-custom.bbappend file containing at least the following +# lines: +# +# FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" +# COMPATIBLE_MACHINE_yourmachine = "yourmachine" +# +# You must also provide a Linux kernel configuration. The most direct +# method is to copy your .config to files/defconfig in your layer, +# in the same directory as the bbappend and add file://defconfig to +# your SRC_URI. +# +# To use the yocto kernel tooling to generate a BSP configuration +# using modular configuration fragments, see the yocto-bsp and +# yocto-kernel tools documentation. +# +# Warning: +# +# Building this example without providing a defconfig or BSP +# configuration will result in build or boot errors. This is not a +# bug. +# +# +# Notes: +# +# patches: patches can be merged into to the source git tree itself, +# added via the SRC_URI, or controlled via a BSP +# configuration. +# +# example configuration addition: +# SRC_URI += "file://smp.cfg" +# example patch addition (for kernel v3.4 only): +# SRC_URI += "file://0001-linux-version-tweak.patch +# example feature addition (for kernel v3.4 only): +# SRC_URI += "file://feature.scc" +# + +FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" + +KBRANCH="master" +inherit kernel +require recipes-kernel/linux/linux-yocto.inc + +# Override SRC_URI in a bbappend file to point at a different source +# tree if you do not want to build from Linus' tree. +#SRC_URI = "git:///home/matt/src/kernels/efi;protocol=file;branch=${KBRANCH} file://efi.cfg" +SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/mfleming/efi.git;protocol=git;branch=${KBRANCH} file://efi.cfg" + +LINUX_VERSION ?= "3.13" +LINUX_VERSION_EXTENSION ?= "-efitest" + +# Override SRCREV to point to a different commit in a bbappend file to +# build a different release of the Linux kernel. +# tag: v3.4 76e10d158efb6d4516018846f60c2ab5501900bc +SRCREV="${AUTOREV}" + +PR = "r5" +PV = "${LINUX_VERSION}+git${SRCPV}" + +# Override COMPATIBLE_MACHINE to include your machine in a bbappend +# file. Leaving it empty here ensures an early explicit build failure. +COMPATIBLE_MACHINE = "qemux86|qemux86-64" + +# Enable some key features required to boot an EFI-enabled kernel with +# qemu. +kernel_do_configure() { + make defconfig + sed -i -e 's/# CONFIG_EFI_STUB.*/CONFIG_EFI_STUB=y/' ${B}/.config + sed -i -e 's/# CONFIG_EXT3_FS.*/CONFIG_EXT3_FS=y/' ${B}/.config + make olddefconfig +} From 71a2c8ed24aa593252d9a18cb9b95c9b7f3fadb0 Mon Sep 17 00:00:00 2001 From: Matt Fleming Date: Tue, 14 Jan 2014 21:35:56 +0000 Subject: [PATCH 529/658] A new distribution for testing UEFI platforms Put the core pieces in place for generating a file system image for use on UEFI platforms. Signed-off-by: Matt Fleming --- meta-luv/COPYING.MIT | 17 +++++ meta-luv/README | 64 +++++++++++++++++++ meta-luv/conf/distro/efitest.conf | 4 ++ meta-luv/conf/layer.conf | 10 +++ .../recipes-core/images/core-image-efi.bb | 7 ++ 5 files changed, 102 insertions(+) create mode 100644 meta-luv/COPYING.MIT create mode 100644 meta-luv/README create mode 100644 meta-luv/conf/distro/efitest.conf create mode 100644 meta-luv/conf/layer.conf create mode 100644 meta-luv/recipes-core/images/core-image-efi.bb diff --git a/meta-luv/COPYING.MIT b/meta-luv/COPYING.MIT new file mode 100644 index 00000000000..89de354795e --- /dev/null +++ b/meta-luv/COPYING.MIT @@ -0,0 +1,17 @@ +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/meta-luv/README b/meta-luv/README new file mode 100644 index 00000000000..5bc2209d3c1 --- /dev/null +++ b/meta-luv/README @@ -0,0 +1,64 @@ +This README file contains information on the contents of the +efi-test-distro layer. + +Please see the corresponding sections below for details. + + +Dependencies +============ + +This layer depends on: + + URI: git://git.openembedded.org/bitbake + branch: master + + URI: git://git.openembedded.org/openembedded-core + layers: meta + branch: master + + URI: git://git.yoctoproject.org/xxxx + layers: xxxx + branch: master + + +Patches +======= + +Please submit any patches against the efi-test-distro layer to the +xxxx mailing list (xxxx@zzzz.org) and cc: the maintainer: + +Maintainer: XXX YYYYYY + + +Table of Contents +================= + + I. Adding the efi-test-distro layer to your build + II. Misc + + +I. Adding the efi-test-distro layer to your build +================================================= + +--- replace with specific instructions for the efi-test-distro layer --- + +In order to use this layer, you need to make the build system aware of +it. + +Assuming the efi-test-distro layer exists at the top-level of your +yocto build tree, you can add it to the build system by adding the +location of the efi-test-distro layer to bblayers.conf, along with any +other layers needed. e.g.: + + BBLAYERS ?= " \ + /path/to/yocto/meta \ + /path/to/yocto/meta-yocto \ + /path/to/yocto/meta-yocto-bsp \ + /path/to/yocto/meta-efi-test-distro \ + " + + +II. Misc +======== + +--- replace with specific information about the efi-test-distro layer --- diff --git a/meta-luv/conf/distro/efitest.conf b/meta-luv/conf/distro/efitest.conf new file mode 100644 index 00000000000..df37caa9626 --- /dev/null +++ b/meta-luv/conf/distro/efitest.conf @@ -0,0 +1,4 @@ +DISTRO_NAME = "EFI Test Distribution" +DISTRO_VERSION = "1.0" + +PREFERRED_PROVIDER_virtual/kernel = "linux-yocto-efi-test" diff --git a/meta-luv/conf/layer.conf b/meta-luv/conf/layer.conf new file mode 100644 index 00000000000..67e537125dd --- /dev/null +++ b/meta-luv/conf/layer.conf @@ -0,0 +1,10 @@ +# We have a conf and classes directory, add to BBPATH +BBPATH .= ":${LAYERDIR}" + +# We have recipes-* directories, add to BBFILES +BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \ + ${LAYERDIR}/recipes-*/*/*.bbappend" + +BBFILE_COLLECTIONS += "efi-test-distro" +BBFILE_PATTERN_efi-test-distro = "^${LAYERDIR}/" +BBFILE_PRIORITY_efi-test-distro = "6" diff --git a/meta-luv/recipes-core/images/core-image-efi.bb b/meta-luv/recipes-core/images/core-image-efi.bb new file mode 100644 index 00000000000..3233628f74b --- /dev/null +++ b/meta-luv/recipes-core/images/core-image-efi.bb @@ -0,0 +1,7 @@ +DESCRIPTION = "A minimal image with essential EFI and kernel tools" + +IMAGE_INSTALL = "packagegroup-core-boot kexec-tools kernel-image" + +inherit core-image + +IMAGE_ROOTFS_SIZE = "8192" From b4973f81a9aa09821bda0457152461399358f16a Mon Sep 17 00:00:00 2001 From: Ricardo Neri Date: Tue, 4 Feb 2014 16:31:07 -0800 Subject: [PATCH 530/658] kexec: Add a new recipe for kexec This patch removes several patches from the recipe as all these patches are already merged into the kexec repository. Signed-off-by: Ricardo Neri Acked-by: Matt Fleming --- meta-luv/recipes-kernel/kexec/kexec-tools_git.bb | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/meta-luv/recipes-kernel/kexec/kexec-tools_git.bb b/meta-luv/recipes-kernel/kexec/kexec-tools_git.bb index ffd2abd2291..9bb51213846 100644 --- a/meta-luv/recipes-kernel/kexec/kexec-tools_git.bb +++ b/meta-luv/recipes-kernel/kexec/kexec-tools_git.bb @@ -10,11 +10,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=ea5bed2f60d357618ca161ad539f7c0a \ file://kexec/kexec.c;beginline=1;endline=20;md5=af10f6ae4a8715965e648aa687ad3e09" DEPENDS = "zlib xz" -SRC_URI = "git://git.kernel.org/pub/scm/utils/kernel/kexec/kexec-tools.git;protocol=git \ - file://0001-build-fix.patch \ - file://0002-add-function-getbootparam.patch \ - file://0003-add-efi-info.patch \ - file://0004-passing-efi-related-data.patch" +SRC_URI = "git://git.kernel.org/pub/scm/utils/kernel/kexec/kexec-tools.git;protocol=git" SRCREV="${AUTOREV}" From c2b96f2b66e47e0071c14a460254a483a8165d14 Mon Sep 17 00:00:00 2001 From: Matt Fleming Date: Thu, 20 Feb 2014 10:35:57 +0000 Subject: [PATCH 531/658] linux-yocto-efi-test: Switch to 'stable' branch Instead of using the 'master' branch of the upstream kernel EFI repository, use the 'stable' branch which is based on the latest kernel.org release plus any EFI patches that have been sent to Linus. Signed-off-by: Matt Fleming --- meta-luv/recipes-kernel/linux/linux-yocto-efi-test_3.13.bb | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/meta-luv/recipes-kernel/linux/linux-yocto-efi-test_3.13.bb b/meta-luv/recipes-kernel/linux/linux-yocto-efi-test_3.13.bb index 35ec39d6683..265d6bc2720 100644 --- a/meta-luv/recipes-kernel/linux/linux-yocto-efi-test_3.13.bb +++ b/meta-luv/recipes-kernel/linux/linux-yocto-efi-test_3.13.bb @@ -43,13 +43,12 @@ FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" -KBRANCH="master" +KBRANCH="stable" inherit kernel require recipes-kernel/linux/linux-yocto.inc # Override SRC_URI in a bbappend file to point at a different source # tree if you do not want to build from Linus' tree. -#SRC_URI = "git:///home/matt/src/kernels/efi;protocol=file;branch=${KBRANCH} file://efi.cfg" SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/mfleming/efi.git;protocol=git;branch=${KBRANCH} file://efi.cfg" LINUX_VERSION ?= "3.13" From 02e0a863d8329a32732ad0ce716ee6ab8dcf36b1 Mon Sep 17 00:00:00 2001 From: Matt Fleming Date: Thu, 20 Feb 2014 10:37:22 +0000 Subject: [PATCH 532/658] conf: Give our distro layer precedence The recipes in our layer should have precedence over everything else. Signed-off-by: Matt Fleming --- meta-luv/conf/layer.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-luv/conf/layer.conf b/meta-luv/conf/layer.conf index 67e537125dd..97d0d647e9c 100644 --- a/meta-luv/conf/layer.conf +++ b/meta-luv/conf/layer.conf @@ -1,5 +1,5 @@ # We have a conf and classes directory, add to BBPATH -BBPATH .= ":${LAYERDIR}" +BBPATH .= "${LAYERDIR}:" # We have recipes-* directories, add to BBFILES BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \ From adebd1de89dd48c7a1c933cbf11f4472db169a2b Mon Sep 17 00:00:00 2001 From: Matt Fleming Date: Thu, 20 Feb 2014 11:51:18 +0000 Subject: [PATCH 533/658] ovmf: Use the official upstream git repository Instead of the hardcoded path to my local copy. Signed-off-by: Matt Fleming --- meta-luv/recipes-core/ovmf/ovmf_git.bb | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/meta-luv/recipes-core/ovmf/ovmf_git.bb b/meta-luv/recipes-core/ovmf/ovmf_git.bb index d9a52f919ad..6d350d497ee 100644 --- a/meta-luv/recipes-core/ovmf/ovmf_git.bb +++ b/meta-luv/recipes-core/ovmf/ovmf_git.bb @@ -3,8 +3,7 @@ HOMEPAGE = "http://sourceforge.net/apps/mediawiki/tianocore/index.php?title=OVMF LICENSE = "BSD" LIC_FILES_CHKSUM = "file://OvmfPkg/License.txt;md5=ffd52cf9a8e0e036b9a61a0de2dc87ed" -#SRC_URI = "git://github.com/tianocore/edk2.git;protocol=efi;nocheckout=1" -SRC_URI = "git:///home/matt/src/3rd-party/efi/edk2.git;protocol=file" +SRC_URI = "git://github.com/tianocore/edk2.git;branch=master" SRCREV="${AUTOREV}" BBCLASSEXTEND = "native nativesdk" From 51d963b54a4cb5030ff6a605998c4d723da14f47 Mon Sep 17 00:00:00 2001 From: Matt Fleming Date: Thu, 20 Feb 2014 11:53:15 +0000 Subject: [PATCH 534/658] ovmf: Fix native metadata OVMF is run on the development host and so is "native". Signed-off-by: Matt Fleming --- meta-luv/recipes-core/ovmf/ovmf_git.bb | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/meta-luv/recipes-core/ovmf/ovmf_git.bb b/meta-luv/recipes-core/ovmf/ovmf_git.bb index 6d350d497ee..06c73caffa3 100644 --- a/meta-luv/recipes-core/ovmf/ovmf_git.bb +++ b/meta-luv/recipes-core/ovmf/ovmf_git.bb @@ -6,10 +6,9 @@ LIC_FILES_CHKSUM = "file://OvmfPkg/License.txt;md5=ffd52cf9a8e0e036b9a61a0de2dc8 SRC_URI = "git://github.com/tianocore/edk2.git;branch=master" SRCREV="${AUTOREV}" +inherit native BBCLASSEXTEND = "native nativesdk" -DEPENDS_class-native += "qemu-native" - S = "${WORKDIR}/git" do_compile() { From 4cee0cd24f6ee2df616bfc321ef9b8fa4b4fa03b Mon Sep 17 00:00:00 2001 From: Matt Fleming Date: Thu, 20 Feb 2014 12:29:59 +0000 Subject: [PATCH 535/658] qemu: Extend qemu dependencies with .bbappend We need to list ovmf-native as a dependency of qemu-native so that ovmf is built and installed automatically. Signed-off-by: Matt Fleming --- meta-luv/recipes-devtools/qemu/qemu_1.6.1.bbappend | 1 + 1 file changed, 1 insertion(+) create mode 100644 meta-luv/recipes-devtools/qemu/qemu_1.6.1.bbappend diff --git a/meta-luv/recipes-devtools/qemu/qemu_1.6.1.bbappend b/meta-luv/recipes-devtools/qemu/qemu_1.6.1.bbappend new file mode 100644 index 00000000000..e4eec8c00c9 --- /dev/null +++ b/meta-luv/recipes-devtools/qemu/qemu_1.6.1.bbappend @@ -0,0 +1 @@ +DEPENDS_append_class-native = " ovmf-native" From 24e0869feeca5f5a3ddb0eb9254a217fb9682dd9 Mon Sep 17 00:00:00 2001 From: Matt Fleming Date: Thu, 20 Feb 2014 12:43:27 +0000 Subject: [PATCH 536/658] ovmf: Reduce compiler optimization level The OVMF code fails to build with -O2. Signed-off-by: Matt Fleming --- meta-luv/recipes-core/ovmf/ovmf_git.bb | 3 +++ 1 file changed, 3 insertions(+) diff --git a/meta-luv/recipes-core/ovmf/ovmf_git.bb b/meta-luv/recipes-core/ovmf/ovmf_git.bb index 06c73caffa3..cd4bf4a0eb6 100644 --- a/meta-luv/recipes-core/ovmf/ovmf_git.bb +++ b/meta-luv/recipes-core/ovmf/ovmf_git.bb @@ -11,6 +11,9 @@ BBCLASSEXTEND = "native nativesdk" S = "${WORKDIR}/git" +# OVMF has trouble building with the default optimization of -O2. +BUILD_OPTIMIZATION="-pipe" + do_compile() { ${S}/OvmfPkg/build.sh -a X64 -b RELEASE } From 1801561613226af7b5f2dfdb91a52fbf2a8a1e44 Mon Sep 17 00:00:00 2001 From: Matt Fleming Date: Thu, 20 Feb 2014 13:05:24 +0000 Subject: [PATCH 537/658] ovmf: Build OVMF with native tools Instead of relying on the developent environment outside of poky, we should be using the libraries, headers, etc built with bitbake. OVMF doesn't lend itself particularly well to building with cross-toolchains of any kind so we need to carry two patches that allow us to override CFLAGS and LFLAGS until they get merged upstream. Signed-off-by: Matt Fleming --- ...0001-BaseTools-Don-t-override-CFLAGS.patch | 31 +++++++++++++++++++ ...0002-BaseTools-Don-t-override-LFLAGS.patch | 30 ++++++++++++++++++ meta-luv/recipes-core/ovmf/ovmf_git.bb | 6 +++- 3 files changed, 66 insertions(+), 1 deletion(-) create mode 100644 meta-luv/recipes-core/ovmf/ovmf/0001-BaseTools-Don-t-override-CFLAGS.patch create mode 100644 meta-luv/recipes-core/ovmf/ovmf/0002-BaseTools-Don-t-override-LFLAGS.patch diff --git a/meta-luv/recipes-core/ovmf/ovmf/0001-BaseTools-Don-t-override-CFLAGS.patch b/meta-luv/recipes-core/ovmf/ovmf/0001-BaseTools-Don-t-override-CFLAGS.patch new file mode 100644 index 00000000000..96c35188cb0 --- /dev/null +++ b/meta-luv/recipes-core/ovmf/ovmf/0001-BaseTools-Don-t-override-CFLAGS.patch @@ -0,0 +1,31 @@ +From 178e4cdbdab49fbf82bc59c6d99bf8a41f0f34ca Mon Sep 17 00:00:00 2001 +From: Matt Fleming +Date: Thu, 20 Feb 2014 12:51:05 +0000 +Subject: [PATCH] BaseTools: Don't override CFLAGS + +It's generally useful for $(CFLAGS) to be set on the command line or by other +Makefiles, and trashing the existing value is bad practice. + +Insted append necessary flags to $(CFLAGS). + +Signed-off-by: Matt Fleming +--- + BaseTools/Source/C/Makefiles/header.makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/BaseTools/Source/C/Makefiles/header.makefile b/BaseTools/Source/C/Makefiles/header.makefile +index 6895f98..df79d40 100644 +--- a/BaseTools/Source/C/Makefiles/header.makefile ++++ b/BaseTools/Source/C/Makefiles/header.makefile +@@ -41,7 +41,7 @@ endif + + INCLUDE = $(TOOL_INCLUDE) -I $(MAKEROOT) -I $(MAKEROOT)/Include/Common -I $(MAKEROOT)/Include/ -I $(MAKEROOT)/Include/IndustryStandard -I $(MAKEROOT)/Common/ -I .. -I . $(ARCH_INCLUDE) + CPPFLAGS = $(INCLUDE) +-CFLAGS = -MD -fshort-wchar -fno-strict-aliasing -fno-merge-constants -nostdlib -Wall -Werror -c -g ++CFLAGS += -MD -fshort-wchar -fno-strict-aliasing -fno-merge-constants -nostdlib -Wall -Werror -c -g + LFLAGS = + + ifeq ($(ARCH), IA32) +-- +1.8.3.2 + diff --git a/meta-luv/recipes-core/ovmf/ovmf/0002-BaseTools-Don-t-override-LFLAGS.patch b/meta-luv/recipes-core/ovmf/ovmf/0002-BaseTools-Don-t-override-LFLAGS.patch new file mode 100644 index 00000000000..b5549ab2efa --- /dev/null +++ b/meta-luv/recipes-core/ovmf/ovmf/0002-BaseTools-Don-t-override-LFLAGS.patch @@ -0,0 +1,30 @@ +From a4e8bcb3e4f01c41cc8257112e77b81615787b36 Mon Sep 17 00:00:00 2001 +From: Matt Fleming +Date: Thu, 20 Feb 2014 12:59:43 +0000 +Subject: [PATCH 2/2] BaseTools: Don't override LFLAGS + +The linker flags may need to be customized and the usual way to do this +is from the command line. Unfortunately, it's not possible currently +because the LFLAGS assignment in header.makefile trashes any inherited +value. + +Use a conditional assignment instead. + +Signed-off-by: Matt Fleming + +diff --git a/BaseTools/Source/C/Makefiles/header.makefile b/BaseTools/Source/C/Makefiles/header.makefile +index df79d40..4b13b43 100644 +--- a/BaseTools/Source/C/Makefiles/header.makefile ++++ b/BaseTools/Source/C/Makefiles/header.makefile +@@ -42,7 +42,7 @@ endif + INCLUDE = $(TOOL_INCLUDE) -I $(MAKEROOT) -I $(MAKEROOT)/Include/Common -I $(MAKEROOT)/Include/ -I $(MAKEROOT)/Include/IndustryStandard -I $(MAKEROOT)/Common/ -I .. -I . $(ARCH_INCLUDE) + CPPFLAGS = $(INCLUDE) + CFLAGS += -MD -fshort-wchar -fno-strict-aliasing -fno-merge-constants -nostdlib -Wall -Werror -c -g +-LFLAGS = ++LFLAGS ?= + + ifeq ($(ARCH), IA32) + # +-- +1.8.3.2 + diff --git a/meta-luv/recipes-core/ovmf/ovmf_git.bb b/meta-luv/recipes-core/ovmf/ovmf_git.bb index cd4bf4a0eb6..ee3f7931c5b 100644 --- a/meta-luv/recipes-core/ovmf/ovmf_git.bb +++ b/meta-luv/recipes-core/ovmf/ovmf_git.bb @@ -3,7 +3,10 @@ HOMEPAGE = "http://sourceforge.net/apps/mediawiki/tianocore/index.php?title=OVMF LICENSE = "BSD" LIC_FILES_CHKSUM = "file://OvmfPkg/License.txt;md5=ffd52cf9a8e0e036b9a61a0de2dc87ed" -SRC_URI = "git://github.com/tianocore/edk2.git;branch=master" +SRC_URI = "git://github.com/tianocore/edk2.git;branch=master \ + file://0001-BaseTools-Don-t-override-CFLAGS.patch \ + file://0002-BaseTools-Don-t-override-LFLAGS.patch" + SRCREV="${AUTOREV}" inherit native @@ -15,6 +18,7 @@ S = "${WORKDIR}/git" BUILD_OPTIMIZATION="-pipe" do_compile() { + export LFLAGS="${LDFLAGS}" ${S}/OvmfPkg/build.sh -a X64 -b RELEASE } From a6007920ad59d25405cdc22daf19fc485ffef7e4 Mon Sep 17 00:00:00 2001 From: Matt Fleming Date: Thu, 20 Feb 2014 13:09:54 +0000 Subject: [PATCH 538/658] ovmf: Avoid hardcoding the path to OVMF.fd The path depends on the toolchain and architecture we're building for, so use find(1) to locate OVMF.fd during do_install(). Signed-off-by: Matt Fleming --- meta-luv/recipes-core/ovmf/ovmf_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-luv/recipes-core/ovmf/ovmf_git.bb b/meta-luv/recipes-core/ovmf/ovmf_git.bb index ee3f7931c5b..996b52fd786 100644 --- a/meta-luv/recipes-core/ovmf/ovmf_git.bb +++ b/meta-luv/recipes-core/ovmf/ovmf_git.bb @@ -24,6 +24,6 @@ do_compile() { do_install() { install -d ${D}${datadir}/ovmf - install -m 0755 ${S}/Build/OvmfX64/DEBUG_GCC47/FV/OVMF.fd \ + install -m 0755 `find ${S}/Build -name OVMF.fd` \ ${D}${datadir}/ovmf/bios.bin } From 131d38a99b1e03d691ea3cf78c8ab8dbac0042ef Mon Sep 17 00:00:00 2001 From: Ricardo Neri Date: Tue, 25 Feb 2014 05:38:21 -0800 Subject: [PATCH 539/658] conf: Correct precedence to the uefi validation layer To correctly give precedence to our distrirbution layer, prepend our layer directory to BBPATH. Signed-off-by: Ricardo Neri --- meta-luv/conf/layer.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-luv/conf/layer.conf b/meta-luv/conf/layer.conf index 97d0d647e9c..996a7721571 100644 --- a/meta-luv/conf/layer.conf +++ b/meta-luv/conf/layer.conf @@ -1,5 +1,5 @@ # We have a conf and classes directory, add to BBPATH -BBPATH .= "${LAYERDIR}:" +BBPATH =. "${LAYERDIR}:" # We have recipes-* directories, add to BBFILES BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \ From eac6a985bb3ebd1a491da74e3e9308ca1abf9b1b Mon Sep 17 00:00:00 2001 From: Ricardo Neri Date: Tue, 25 Feb 2014 15:48:17 -0800 Subject: [PATCH 540/658] qemu: utilize qemu version 1.5.0 Utilize qemu version 1.5.0 as this is the version used in Yocto release 10.0.1 (dora). We can move to a more recent qemu in subsequent versions of Yocto. Signed-off-by: Ricardo Neri --- .../qemu/{qemu_1.6.1.bbappend => qemu_1.5.0.bbappend} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename meta-luv/recipes-devtools/qemu/{qemu_1.6.1.bbappend => qemu_1.5.0.bbappend} (100%) diff --git a/meta-luv/recipes-devtools/qemu/qemu_1.6.1.bbappend b/meta-luv/recipes-devtools/qemu/qemu_1.5.0.bbappend similarity index 100% rename from meta-luv/recipes-devtools/qemu/qemu_1.6.1.bbappend rename to meta-luv/recipes-devtools/qemu/qemu_1.5.0.bbappend From 61f86d147f5f31a165066ffd98eda395ae68e66e Mon Sep 17 00:00:00 2001 From: Ricardo Neri Date: Tue, 25 Feb 2014 15:51:19 -0800 Subject: [PATCH 541/658] conf: Define TCLIBCAPPEND We define this variable to have a cleaner build directory structure. Additionally, we can do this as we do not have a reason to stick to egclibc. Signed-off-by: Ricardo Neri --- meta-luv/conf/distro/efitest.conf | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta-luv/conf/distro/efitest.conf b/meta-luv/conf/distro/efitest.conf index df37caa9626..a62da5b8aa1 100644 --- a/meta-luv/conf/distro/efitest.conf +++ b/meta-luv/conf/distro/efitest.conf @@ -1,4 +1,6 @@ DISTRO_NAME = "EFI Test Distribution" DISTRO_VERSION = "1.0" +TCLIBCAPPEND = "" + PREFERRED_PROVIDER_virtual/kernel = "linux-yocto-efi-test" From 3c8e40e5a4e9825b705dbba141a065e0fc29b144 Mon Sep 17 00:00:00 2001 From: Ricardo Neri Date: Tue, 25 Feb 2014 15:55:09 -0800 Subject: [PATCH 542/658] conf: Set LAYER_CONF_VERSION Set LAYER_CONF_VERSION to the latest version. This is to be aligned with other meta layers as well as the expectation of bblayers.conf Signed-off-by: Ricardo Neri --- meta-luv/conf/distro/efitest.conf | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta-luv/conf/distro/efitest.conf b/meta-luv/conf/distro/efitest.conf index a62da5b8aa1..82cc4811d4b 100644 --- a/meta-luv/conf/distro/efitest.conf +++ b/meta-luv/conf/distro/efitest.conf @@ -4,3 +4,5 @@ DISTRO_VERSION = "1.0" TCLIBCAPPEND = "" PREFERRED_PROVIDER_virtual/kernel = "linux-yocto-efi-test" + +LAYER_CONF_VERSION ?= "6" From dea87953f144b348bce7c815524e59685db84f7c Mon Sep 17 00:00:00 2001 From: Saurabh Tangri Date: Fri, 14 Mar 2014 06:40:28 -0700 Subject: [PATCH 543/658] Add support for fwts for dora --- meta-luv/recipes-core/fwts/fwts/jsonc.patch | 58 ++ meta-luv/recipes-core/fwts/fwts/subdir.patch | 893 ++++++++++++++++++ meta-luv/recipes-core/fwts/fwts_git.bb | 20 + .../recipes-core/images/core-image-efi.bb | 2 +- 4 files changed, 972 insertions(+), 1 deletion(-) create mode 100644 meta-luv/recipes-core/fwts/fwts/jsonc.patch create mode 100644 meta-luv/recipes-core/fwts/fwts/subdir.patch create mode 100644 meta-luv/recipes-core/fwts/fwts_git.bb diff --git a/meta-luv/recipes-core/fwts/fwts/jsonc.patch b/meta-luv/recipes-core/fwts/fwts/jsonc.patch new file mode 100644 index 00000000000..4ea92537534 --- /dev/null +++ b/meta-luv/recipes-core/fwts/fwts/jsonc.patch @@ -0,0 +1,58 @@ +--- + configure.ac | 1 + + src/Makefile.am | 2 +- + src/lib/src/Makefile.am | 2 +- + src/utilities/Makefile.am | 2 +- + 4 files changed, 4 insertions(+), 3 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 5a31434..ec29f84 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -9,6 +9,7 @@ + AC_PROG_LIBTOOL + AC_C_INLINE + AM_PROG_CC_C_O ++ AC_SEARCH_LIBS([json_object_from_file], [json json-c], [], [ AC_MSG_ERROR([no available json library]) ]) + AC_CHECK_FUNCS([localtime_r]) + AC_CHECK_FUNCS([dup2]) + AC_CHECK_FUNCS([getcwd]) +diff --git a/src/Makefile.am b/src/Makefile.am +index 76841e0..bd6cf01 100644 +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -89,7 +89,7 @@ fwts_SOURCES = main.c \ + uefi/securebootcert/securebootcert.c \ + uefi/uefivarinfo/uefivarinfo.c + +-fwts_LDFLAGS = -ljson -lm ++fwts_LDFLAGS = -lm + + fwts_LDADD = \ + -Llib/src -lfwts \ +diff --git a/src/lib/src/Makefile.am b/src/lib/src/Makefile.am +index 7668b8c..377e8aa 100644 +--- a/src/lib/src/Makefile.am ++++ b/src/lib/src/Makefile.am +@@ -7,7 +7,7 @@ AM_CPPFLAGS = \ + pkglib_LTLIBRARIES = libfwts.la + + libfwts_la_LDFLAGS = \ +- -lm -lpcre -lpthread -ljson \ ++ -lm -lpcre -lpthread \ + -version-info 1:0:0 \ + -L$(top_srcdir)/src/acpica/source/compiler \ + -lfwtsiasl +diff --git a/src/utilities/Makefile.am b/src/utilities/Makefile.am +index 427c44f..4e2f37f 100644 +--- a/src/utilities/Makefile.am ++++ b/src/utilities/Makefile.am +@@ -2,5 +2,5 @@ AM_CPPFLAGS = -Wall -Werror -Wextra + + bin_PROGRAMS = kernelscan + kernelscan_SOURCES = kernelscan.c +-kernelscan_LDFLAGS = -ljson -lpcre ++kernelscan_LDFLAGS = -lpcre + +-- +1.8.3.2 diff --git a/meta-luv/recipes-core/fwts/fwts/subdir.patch b/meta-luv/recipes-core/fwts/fwts/subdir.patch new file mode 100644 index 00000000000..e7024d755d3 --- /dev/null +++ b/meta-luv/recipes-core/fwts/fwts/subdir.patch @@ -0,0 +1,893 @@ +From patchwork Mon Jan 13 18:37:47 2014 +Content-Type: text/plain; charset="utf-8" +MIME-Version: 1.0 +Content-Transfer-Encoding: 7bit +Subject: fwts: add subdir-objects as required now by automake 1.14 (LP: + #1268685) +From: Colin King +X-Patchwork-Id: 310322 +Message-Id: <1389638267-31474-1-git-send-email-colin.king@canonical.com> +To: fwts-devel@lists.ubuntu.com +Date: Mon, 13 Jan 2014 18:37:47 +0000 + +From: Colin Ian King + +automake now requires subdir-objects. To get fwts to build we now require +each object to have their lib name prefixed to stop per-object name clashes +since we build ACPICA twice in two different build configurations. + +I also used the opportunity to use the full path name of the C sources as +I was finding the substitutions a little annoying. Also tidied up the +formatting too. + +Signed-off-by: Colin Ian King +Acked-by: Alex Hung + +From http://patchwork.ozlabs.org/patch/310322/mbox/ +Upstream-Status: Submitted + +--- +configure.ac | 3 +- + src/Makefile.am | 4 +- + src/acpica/Makefile.am | 381 ++++++++++++++++----------------- + src/acpica/source/compiler/Makefile.am | 347 +++++++++++++++--------------- + src/lib/src/Makefile.am | 2 + + 5 files changed, 365 insertions(+), 372 deletions(-) + +diff --git a/configure.ac b/configure.ac +index c0411c1..5a31434 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -1,5 +1,5 @@ + AC_INIT([fwts],[0.1],[colin.king@canonical.com]) +- AM_INIT_AUTOMAKE([-Wall -Werror foreign]) ++ AM_INIT_AUTOMAKE([-Wall -Werror foreign subdir-objects]) + m4_ifdef([AM_PROG_AR], [AM_PROG_AR]) + AC_CANONICAL_HOST + AC_CONFIG_MACRO_DIR([m4]) +@@ -8,6 +8,7 @@ + AC_PROG_YACC + AC_PROG_LIBTOOL + AC_C_INLINE ++ AM_PROG_CC_C_O + AC_CHECK_FUNCS([localtime_r]) + AC_CHECK_FUNCS([dup2]) + AC_CHECK_FUNCS([getcwd]) +diff --git a/src/Makefile.am b/src/Makefile.am +index df685d5..76841e0 100644 +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -5,7 +5,7 @@ + # ... because the libs in this bundled acpica/ depend on lib/ (libfwts.so), + # but libfwts.so depends on libraries produced by acpica/source/compiler. + SUBDIRS = acpica/source/compiler lib acpica +- ++ + AM_CPPFLAGS = \ + -I$(top_srcdir)/src/lib/include \ + -I$(top_srcdir)/src/acpica/source/include \ +@@ -15,6 +15,8 @@ AM_CPPFLAGS = \ + + bin_PROGRAMS = fwts + ++fwts_CPPFLAGS = $(AM_CPPFLAGS) ++ + # + # fwts main + tests + # +diff --git a/src/acpica/Makefile.am b/src/acpica/Makefile.am +index d4fc5dd..41bda7d 100644 +--- a/src/acpica/Makefile.am ++++ b/src/acpica/Makefile.am +@@ -1,28 +1,21 @@ + # Nb. the top-level Makefile builds source/compiler for us now... + ## SUBDIRS = source/compiler + +-ACPICA_SRC = source +-ACPICA_COMMON = $(ACPICA_SRC)/common +-ACPICA_CORE = $(ACPICA_SRC) +-ACPICA_TOOLS = $(ACPICA_SRC)/tools +-ACPICA_OSL = $(ACPICA_SRC)/os_specific/service_layers +-ACPICA_COMP = $(ACPICA_SRC)/components +- + # + # -DACPI_EXEC_APP is specific to making ACPICA for the fwts method test + # + AM_CPPFLAGS = \ + -D_LINUX -DNDEBUG -D_CONSOLE -DACPI_EXEC_APP \ + -I$(top_srcdir)/src/lib/include \ +- -I$(ACPICA_SRC)/include \ ++ -Isource/include \ + -Wall -fno-strict-aliasing + + # + # We rename some of the functions so we can override them in fwts. This + # is a hack, I feel dirty now. + # +-osunixxf_munged.c: $(ACPICA_OSL)/osunixxf.c +- cat $(ACPICA_OSL)/osunixxf.c | \ ++osunixxf_munged.c: source/os_specific/service_layers/osunixxf.c ++ cat source/os_specific/service_layers/osunixxf.c | \ + sed 's/^AcpiOsPrintf/__AcpiOsPrintf/' | \ + sed 's/^AcpiOsReadPort/__AcpiOsReadPort/' | \ + sed 's/^AcpiOsReadPciConfiguration/__AcpiOsReadPciConfiguration/' | \ +@@ -35,14 +28,13 @@ osunixxf_munged.c: $(ACPICA_OSL)/osunixxf.c + sed 's/^AcpiOsSleep/__AcpiOsSleep/' | \ + sed 's/^AcpiOsExecute/__AcpiOsExecute/' \ + > osunixxf_munged.c +- + # + # Force maximum loop iterations to be just 128 instead of 0xffff + # because we really don't want to wait until the sun turns into + # a lump of coal before we complete a blocked operation + # +-dscontrol_munged.c: $(ACPICA_COMP)/dispatcher/dscontrol.c +- cat $(ACPICA_COMP)/dispatcher/dscontrol.c | \ ++dscontrol_munged.c: source/components/dispatcher/dscontrol.c ++ cat source/components/dispatcher/dscontrol.c | \ + sed 's/ACPI_MAX_LOOP_ITERATIONS/0x0080/' \ + > dscontrol_munged.c + +@@ -53,195 +45,196 @@ BUILT_SOURCES = osunixxf_munged.c dscontrol_munged.c + # + CLEANFILES = osunixxf_munged.c \ + dscontrol_munged.c \ +- $(ACPICA_SRC)/compiler/aslcompiler.output \ +- $(ACPICA_SRC)/compiler/dtparser.output \ +- $(ACPICA_SRC)/compiler/dtparser.y.h \ +- $(ACPICA_SRC)/compiler/prparser.output \ +- $(ACPICA_SRC)/compiler/prparser.y.h \ +- $(ACPICA_SRC)/compiler/prparserlex.c \ +- $(ACPICA_SRC)/compiler/prparserparse.c ++ source/compiler/aslcompiler.output \ ++ source/compiler/dtparser.output \ ++ source/compiler/dtparser.y.h \ ++ source/compiler/prparser.output \ ++ source/compiler/prparser.y.h \ ++ source/compiler/prparserlex.c \ ++ source/compiler/prparserparse.c + + pkglib_LTLIBRARIES = libfwtsacpica.la + + libfwtsacpica_la_LDFLAGS = -lpthread -version-info 1:0:0 ++libfwtsacpica_la_CPPFLAGS = $(AM_CPPFLAGS) + + # + # fwts acpica library sources + # +-libfwtsacpica_la_SOURCES = \ +- fwts_acpica.c \ +- osunixxf_munged.c \ +- dscontrol_munged.c \ +- $(ACPICA_COMP)/debugger/dbcmds.c \ +- $(ACPICA_COMP)/debugger/dbdisply.c \ +- $(ACPICA_COMP)/debugger/dbexec.c \ +- $(ACPICA_COMP)/debugger/dbfileio.c \ +- $(ACPICA_COMP)/debugger/dbhistry.c \ +- $(ACPICA_COMP)/debugger/dbinput.c \ +- $(ACPICA_COMP)/debugger/dbstats.c \ +- $(ACPICA_COMP)/debugger/dbutils.c \ +- $(ACPICA_COMP)/debugger/dbxface.c \ +- $(ACPICA_COMP)/debugger/dbmethod.c \ +- $(ACPICA_COMP)/debugger/dbnames.c \ +- $(ACPICA_COMP)/debugger/dbconvert.c \ +- $(ACPICA_COMP)/disassembler/dmbuffer.c \ +- $(ACPICA_COMP)/disassembler/dmnames.c \ +- $(ACPICA_COMP)/disassembler/dmobject.c \ +- $(ACPICA_COMP)/disassembler/dmopcode.c \ +- $(ACPICA_COMP)/disassembler/dmresrc.c \ +- $(ACPICA_COMP)/disassembler/dmresrcl.c \ +- $(ACPICA_COMP)/disassembler/dmresrcs.c \ +- $(ACPICA_COMP)/disassembler/dmutils.c \ +- $(ACPICA_COMP)/disassembler/dmwalk.c \ +- $(ACPICA_COMP)/disassembler/dmresrcl2.c \ +- $(ACPICA_COMP)/disassembler/dmdeferred.c \ +- $(ACPICA_COMP)/dispatcher/dsfield.c \ +- $(ACPICA_COMP)/dispatcher/dsinit.c \ +- $(ACPICA_COMP)/dispatcher/dsmethod.c \ +- $(ACPICA_COMP)/dispatcher/dsmthdat.c \ +- $(ACPICA_COMP)/dispatcher/dsobject.c \ +- $(ACPICA_COMP)/dispatcher/dsutils.c \ +- $(ACPICA_COMP)/dispatcher/dswexec.c \ +- $(ACPICA_COMP)/dispatcher/dswload.c \ +- $(ACPICA_COMP)/dispatcher/dswscope.c \ +- $(ACPICA_COMP)/dispatcher/dswstate.c \ +- $(ACPICA_COMP)/dispatcher/dsargs.c \ +- $(ACPICA_COMP)/dispatcher/dswload2.c \ +- $(ACPICA_COMP)/dispatcher/dsopcode.c \ +- $(ACPICA_COMP)/events/evevent.c \ +- $(ACPICA_COMP)/events/evgpe.c \ +- $(ACPICA_COMP)/events/evgpeblk.c \ +- $(ACPICA_COMP)/events/evgpeinit.c \ +- $(ACPICA_COMP)/events/evgpeutil.c \ +- $(ACPICA_COMP)/events/evxfgpe.c \ +- $(ACPICA_COMP)/events/evmisc.c \ +- $(ACPICA_COMP)/events/evregion.c \ +- $(ACPICA_COMP)/events/evrgnini.c \ +- $(ACPICA_COMP)/events/evsci.c \ +- $(ACPICA_COMP)/events/evxface.c \ +- $(ACPICA_COMP)/events/evxfevnt.c \ +- $(ACPICA_COMP)/events/evxfregn.c \ +- $(ACPICA_COMP)/events/evglock.c \ +- $(ACPICA_COMP)/events/evhandler.c \ +- $(ACPICA_COMP)/executer/exfield.c \ +- $(ACPICA_COMP)/executer/exfldio.c \ +- $(ACPICA_COMP)/executer/exmisc.c \ +- $(ACPICA_COMP)/executer/exmutex.c \ +- $(ACPICA_COMP)/executer/exnames.c \ +- $(ACPICA_COMP)/executer/exoparg1.c \ +- $(ACPICA_COMP)/executer/exoparg2.c \ +- $(ACPICA_COMP)/executer/exoparg3.c \ +- $(ACPICA_COMP)/executer/exoparg6.c \ +- $(ACPICA_COMP)/executer/exprep.c \ +- $(ACPICA_COMP)/executer/exregion.c \ +- $(ACPICA_COMP)/executer/exresnte.c \ +- $(ACPICA_COMP)/executer/exresolv.c \ +- $(ACPICA_COMP)/executer/exresop.c \ +- $(ACPICA_COMP)/executer/exstore.c \ +- $(ACPICA_COMP)/executer/exstoren.c \ +- $(ACPICA_COMP)/executer/exstorob.c \ +- $(ACPICA_COMP)/executer/exsystem.c \ +- $(ACPICA_COMP)/executer/exutils.c \ +- $(ACPICA_COMP)/executer/exconvrt.c \ +- $(ACPICA_COMP)/executer/excreate.c \ +- $(ACPICA_COMP)/executer/exdump.c \ +- $(ACPICA_COMP)/executer/exdebug.c \ +- $(ACPICA_COMP)/executer/exconfig.c \ +- $(ACPICA_COMP)/hardware/hwacpi.c \ +- $(ACPICA_COMP)/hardware/hwgpe.c \ +- $(ACPICA_COMP)/hardware/hwpci.c \ +- $(ACPICA_COMP)/hardware/hwregs.c \ +- $(ACPICA_COMP)/hardware/hwsleep.c \ +- $(ACPICA_COMP)/hardware/hwvalid.c \ +- $(ACPICA_COMP)/hardware/hwxface.c \ +- $(ACPICA_COMP)/hardware/hwxfsleep.c \ +- $(ACPICA_COMP)/hardware/hwesleep.c \ +- $(ACPICA_COMP)/namespace/nsaccess.c \ +- $(ACPICA_COMP)/namespace/nsalloc.c \ +- $(ACPICA_COMP)/namespace/nsdump.c \ +- $(ACPICA_COMP)/namespace/nsdumpdv.c \ +- $(ACPICA_COMP)/namespace/nseval.c \ +- $(ACPICA_COMP)/namespace/nsinit.c \ +- $(ACPICA_COMP)/namespace/nsload.c \ +- $(ACPICA_COMP)/namespace/nsnames.c \ +- $(ACPICA_COMP)/namespace/nsobject.c \ +- $(ACPICA_COMP)/namespace/nsparse.c \ +- $(ACPICA_COMP)/namespace/nspredef.c \ +- $(ACPICA_COMP)/namespace/nsrepair.c \ +- $(ACPICA_COMP)/namespace/nsrepair2.c \ +- $(ACPICA_COMP)/namespace/nssearch.c \ +- $(ACPICA_COMP)/namespace/nsutils.c \ +- $(ACPICA_COMP)/namespace/nswalk.c \ +- $(ACPICA_COMP)/namespace/nsxfeval.c \ +- $(ACPICA_COMP)/namespace/nsxfname.c \ +- $(ACPICA_COMP)/namespace/nsxfobj.c \ +- $(ACPICA_COMP)/namespace/nsconvert.c \ +- $(ACPICA_COMP)/namespace/nsprepkg.c \ +- $(ACPICA_COMP)/namespace/nsarguments.c \ +- $(ACPICA_COMP)/parser/psargs.c \ +- $(ACPICA_COMP)/parser/psloop.c \ +- $(ACPICA_COMP)/parser/psopcode.c \ +- $(ACPICA_COMP)/parser/psparse.c \ +- $(ACPICA_COMP)/parser/psscope.c \ +- $(ACPICA_COMP)/parser/pstree.c \ +- $(ACPICA_COMP)/parser/psutils.c \ +- $(ACPICA_COMP)/parser/pswalk.c \ +- $(ACPICA_COMP)/parser/psxface.c \ +- $(ACPICA_COMP)/parser/psopinfo.c \ +- $(ACPICA_COMP)/parser/psobject.c \ +- $(ACPICA_COMP)/resources/rsaddr.c \ +- $(ACPICA_COMP)/resources/rscalc.c \ +- $(ACPICA_COMP)/resources/rscreate.c \ +- $(ACPICA_COMP)/resources/rsdump.c \ +- $(ACPICA_COMP)/resources/rsio.c \ +- $(ACPICA_COMP)/resources/rsinfo.c \ +- $(ACPICA_COMP)/resources/rsirq.c \ +- $(ACPICA_COMP)/resources/rslist.c \ +- $(ACPICA_COMP)/resources/rsmemory.c \ +- $(ACPICA_COMP)/resources/rsmisc.c \ +- $(ACPICA_COMP)/resources/rsutils.c \ +- $(ACPICA_COMP)/resources/rsxface.c \ +- $(ACPICA_COMP)/resources/rsserial.c \ +- $(ACPICA_COMP)/resources/rsdumpinfo.c \ +- $(ACPICA_COMP)/tables/tbfadt.c \ +- $(ACPICA_COMP)/tables/tbfind.c \ +- $(ACPICA_COMP)/tables/tbinstal.c \ +- $(ACPICA_COMP)/tables/tbutils.c \ +- $(ACPICA_COMP)/tables/tbxface.c \ +- $(ACPICA_COMP)/tables/tbxfroot.c \ +- $(ACPICA_COMP)/tables/tbxfload.c \ +- $(ACPICA_COMP)/tables/tbprint.c \ +- $(ACPICA_COMP)/utilities/utaddress.c \ +- $(ACPICA_COMP)/utilities/utalloc.c \ +- $(ACPICA_COMP)/utilities/utcache.c \ +- $(ACPICA_COMP)/utilities/utcopy.c \ +- $(ACPICA_COMP)/utilities/utdebug.c \ +- $(ACPICA_COMP)/utilities/utdelete.c \ +- $(ACPICA_COMP)/utilities/uteval.c \ +- $(ACPICA_COMP)/utilities/utglobal.c \ +- $(ACPICA_COMP)/utilities/utids.c \ +- $(ACPICA_COMP)/utilities/utinit.c \ +- $(ACPICA_COMP)/utilities/utlock.c \ +- $(ACPICA_COMP)/utilities/utmath.c \ +- $(ACPICA_COMP)/utilities/utmisc.c \ +- $(ACPICA_COMP)/utilities/utmutex.c \ +- $(ACPICA_COMP)/utilities/utobject.c \ +- $(ACPICA_COMP)/utilities/utresrc.c \ +- $(ACPICA_COMP)/utilities/utstate.c \ +- $(ACPICA_COMP)/utilities/uttrack.c \ +- $(ACPICA_COMP)/utilities/utosi.c \ +- $(ACPICA_COMP)/utilities/utxferror.c \ +- $(ACPICA_COMP)/utilities/utxface.c \ +- $(ACPICA_COMP)/utilities/utdecode.c \ +- $(ACPICA_COMP)/utilities/utexcep.c \ +- $(ACPICA_COMP)/utilities/utpredef.c \ +- $(ACPICA_COMP)/utilities/utstring.c \ +- $(ACPICA_COMP)/utilities/utownerid.c \ +- $(ACPICA_COMP)/utilities/utxfinit.c \ +- $(ACPICA_COMP)/utilities/uterror.c \ +- $(ACPICA_COMP)/utilities/utbuffer.c \ +- $(ACPICA_COMMON)/acgetline.c \ +- $(ACPICA_SRC)/tools/acpiexec/aehandlers.c ++libfwtsacpica_la_SOURCES = \ ++ fwts_acpica.c \ ++ osunixxf_munged.c \ ++ dscontrol_munged.c \ ++ source/components/debugger/dbcmds.c \ ++ source/components/debugger/dbdisply.c \ ++ source/components/debugger/dbexec.c \ ++ source/components/debugger/dbfileio.c \ ++ source/components/debugger/dbhistry.c \ ++ source/components/debugger/dbinput.c \ ++ source/components/debugger/dbstats.c \ ++ source/components/debugger/dbutils.c \ ++ source/components/debugger/dbxface.c \ ++ source/components/debugger/dbmethod.c \ ++ source/components/debugger/dbnames.c \ ++ source/components/debugger/dbconvert.c \ ++ source/components/disassembler/dmbuffer.c \ ++ source/components/disassembler/dmnames.c \ ++ source/components/disassembler/dmobject.c \ ++ source/components/disassembler/dmopcode.c \ ++ source/components/disassembler/dmresrc.c \ ++ source/components/disassembler/dmresrcl.c \ ++ source/components/disassembler/dmresrcs.c \ ++ source/components/disassembler/dmutils.c \ ++ source/components/disassembler/dmwalk.c \ ++ source/components/disassembler/dmresrcl2.c \ ++ source/components/disassembler/dmdeferred.c \ ++ source/components/dispatcher/dsfield.c \ ++ source/components/dispatcher/dsinit.c \ ++ source/components/dispatcher/dsmethod.c \ ++ source/components/dispatcher/dsmthdat.c \ ++ source/components/dispatcher/dsobject.c \ ++ source/components/dispatcher/dsutils.c \ ++ source/components/dispatcher/dswexec.c \ ++ source/components/dispatcher/dswload.c \ ++ source/components/dispatcher/dswscope.c \ ++ source/components/dispatcher/dswstate.c \ ++ source/components/dispatcher/dsargs.c \ ++ source/components/dispatcher/dswload2.c \ ++ source/components/dispatcher/dsopcode.c \ ++ source/components/events/evevent.c \ ++ source/components/events/evgpe.c \ ++ source/components/events/evgpeblk.c \ ++ source/components/events/evgpeinit.c \ ++ source/components/events/evgpeutil.c \ ++ source/components/events/evxfgpe.c \ ++ source/components/events/evmisc.c \ ++ source/components/events/evregion.c \ ++ source/components/events/evrgnini.c \ ++ source/components/events/evsci.c \ ++ source/components/events/evxface.c \ ++ source/components/events/evxfevnt.c \ ++ source/components/events/evxfregn.c \ ++ source/components/events/evglock.c \ ++ source/components/events/evhandler.c \ ++ source/components/executer/exfield.c \ ++ source/components/executer/exfldio.c \ ++ source/components/executer/exmisc.c \ ++ source/components/executer/exmutex.c \ ++ source/components/executer/exnames.c \ ++ source/components/executer/exoparg1.c \ ++ source/components/executer/exoparg2.c \ ++ source/components/executer/exoparg3.c \ ++ source/components/executer/exoparg6.c \ ++ source/components/executer/exprep.c \ ++ source/components/executer/exregion.c \ ++ source/components/executer/exresnte.c \ ++ source/components/executer/exresolv.c \ ++ source/components/executer/exresop.c \ ++ source/components/executer/exstore.c \ ++ source/components/executer/exstoren.c \ ++ source/components/executer/exstorob.c \ ++ source/components/executer/exsystem.c \ ++ source/components/executer/exutils.c \ ++ source/components/executer/exconvrt.c \ ++ source/components/executer/excreate.c \ ++ source/components/executer/exdump.c \ ++ source/components/executer/exdebug.c \ ++ source/components/executer/exconfig.c \ ++ source/components/hardware/hwacpi.c \ ++ source/components/hardware/hwgpe.c \ ++ source/components/hardware/hwpci.c \ ++ source/components/hardware/hwregs.c \ ++ source/components/hardware/hwsleep.c \ ++ source/components/hardware/hwvalid.c \ ++ source/components/hardware/hwxface.c \ ++ source/components/hardware/hwxfsleep.c \ ++ source/components/hardware/hwesleep.c \ ++ source/components/namespace/nsaccess.c \ ++ source/components/namespace/nsalloc.c \ ++ source/components/namespace/nsdump.c \ ++ source/components/namespace/nsdumpdv.c \ ++ source/components/namespace/nseval.c \ ++ source/components/namespace/nsinit.c \ ++ source/components/namespace/nsload.c \ ++ source/components/namespace/nsnames.c \ ++ source/components/namespace/nsobject.c \ ++ source/components/namespace/nsparse.c \ ++ source/components/namespace/nspredef.c \ ++ source/components/namespace/nsrepair.c \ ++ source/components/namespace/nsrepair2.c \ ++ source/components/namespace/nssearch.c \ ++ source/components/namespace/nsutils.c \ ++ source/components/namespace/nswalk.c \ ++ source/components/namespace/nsxfeval.c \ ++ source/components/namespace/nsxfname.c \ ++ source/components/namespace/nsxfobj.c \ ++ source/components/namespace/nsconvert.c \ ++ source/components/namespace/nsprepkg.c \ ++ source/components/namespace/nsarguments.c \ ++ source/components/parser/psargs.c \ ++ source/components/parser/psloop.c \ ++ source/components/parser/psopcode.c \ ++ source/components/parser/psparse.c \ ++ source/components/parser/psscope.c \ ++ source/components/parser/pstree.c \ ++ source/components/parser/psutils.c \ ++ source/components/parser/pswalk.c \ ++ source/components/parser/psxface.c \ ++ source/components/parser/psopinfo.c \ ++ source/components/parser/psobject.c \ ++ source/components/resources/rsaddr.c \ ++ source/components/resources/rscalc.c \ ++ source/components/resources/rscreate.c \ ++ source/components/resources/rsdump.c \ ++ source/components/resources/rsio.c \ ++ source/components/resources/rsinfo.c \ ++ source/components/resources/rsirq.c \ ++ source/components/resources/rslist.c \ ++ source/components/resources/rsmemory.c \ ++ source/components/resources/rsmisc.c \ ++ source/components/resources/rsutils.c \ ++ source/components/resources/rsxface.c \ ++ source/components/resources/rsserial.c \ ++ source/components/resources/rsdumpinfo.c \ ++ source/components/tables/tbfadt.c \ ++ source/components/tables/tbfind.c \ ++ source/components/tables/tbinstal.c \ ++ source/components/tables/tbutils.c \ ++ source/components/tables/tbxface.c \ ++ source/components/tables/tbxfroot.c \ ++ source/components/tables/tbxfload.c \ ++ source/components/tables/tbprint.c \ ++ source/components/utilities/utaddress.c \ ++ source/components/utilities/utalloc.c \ ++ source/components/utilities/utcache.c \ ++ source/components/utilities/utcopy.c \ ++ source/components/utilities/utdebug.c \ ++ source/components/utilities/utdelete.c \ ++ source/components/utilities/uteval.c \ ++ source/components/utilities/utglobal.c \ ++ source/components/utilities/utids.c \ ++ source/components/utilities/utinit.c \ ++ source/components/utilities/utlock.c \ ++ source/components/utilities/utmath.c \ ++ source/components/utilities/utmisc.c \ ++ source/components/utilities/utmutex.c \ ++ source/components/utilities/utobject.c \ ++ source/components/utilities/utresrc.c \ ++ source/components/utilities/utstate.c \ ++ source/components/utilities/uttrack.c \ ++ source/components/utilities/utosi.c \ ++ source/components/utilities/utxferror.c \ ++ source/components/utilities/utxface.c \ ++ source/components/utilities/utdecode.c \ ++ source/components/utilities/utexcep.c \ ++ source/components/utilities/utpredef.c \ ++ source/components/utilities/utstring.c \ ++ source/components/utilities/utownerid.c \ ++ source/components/utilities/utxfinit.c \ ++ source/components/utilities/uterror.c \ ++ source/components/utilities/utbuffer.c \ ++ source/common/acgetline.c \ ++ source/tools/acpiexec/aehandlers.c + + libfwtsacpica_la_LIBADD = \ + -L$(top_srcdir)/src/lib/src -lfwts -lrt +diff --git a/src/acpica/source/compiler/Makefile.am b/src/acpica/source/compiler/Makefile.am +index a117577..b690888 100644 +--- a/src/acpica/source/compiler/Makefile.am ++++ b/src/acpica/source/compiler/Makefile.am +@@ -2,20 +2,10 @@ + # We need to build this as a separate shared library with the iasl functionality built in. We + # just export the fwts_* interface. + # +-AM_CPPFLAGS = -Wall -Wstrict-prototypes -fno-strict-aliasing -D_LINUX -DACPI_ASL_COMPILER $(CFLAGS) -I$(top_srcdir)/src/acpica/source/include ++AUTOMAKE_OPTIONS = subdir-objects + +-ACPICA_COMPILER = . +-ACPICA_COMMON = ../common +-ACPICA_COMPONENTS = ../components +-ACPICA_UTILS = $(ACPICA_COMPONENTS)/utilities +-ACPICA_NAMESPACE = $(ACPICA_COMPONENTS)/namespace +-ACPICA_PARSER = $(ACPICA_COMPONENTS)/parser +-ACPICA_DISPATCHER = $(ACPICA_COMPONENTS)/dispatcher +-ACPICA_EXECUTER = $(ACPICA_COMPONENTS)/executer +-ACPICA_DEBUGGER = $(ACPICA_COMPONENTS)/debugger +-ACPICA_DISASSEMBLER = $(ACPICA_COMPONENTS)/disassembler +-ACPICA_TABLES = $(ACPICA_COMPONENTS)/tables +-ACPICA_SERVICE = ../os_specific/service_layers ++AM_CPPFLAGS = -Wall -Wstrict-prototypes -fno-strict-aliasing -D_LINUX \ ++ -DACPI_ASL_COMPILER $(CFLAGS) -I$(top_srcdir)/src/acpica/source/include + + AM_YFLAGS = -v -d -y + +@@ -50,9 +40,12 @@ prparserlex.c: prparser.l + + pkglib_LTLIBRARIES = libfwtsiasl.la + +-BUILT_SOURCES = aslcompilerparse.c aslcompilerlex.c \ +- dtparserparse.c dtparserlex.c \ +- prparserparse.c prparserlex.c ++BUILT_SOURCES = aslcompilerparse.c \ ++ aslcompilerlex.c \ ++ dtparserparse.c \ ++ dtparserlex.c \ ++ prparserparse.c \ ++ prparserlex.c + + # + # Just export fwts specific API so we don't clash with core ACPICA library +@@ -60,165 +53,167 @@ BUILT_SOURCES = aslcompilerparse.c aslcompilerlex.c \ + libfwtsiasl_la_LDFLAGS = -export-symbols-regex "fwts_.*" -lpthread -version-info 1:0:0 + + CLEANFILES = y.output y.tab.c y.tab.h aslcompiler.y.h \ +- aslcompilerparse.c aslcompilerlex.c \ ++ aslcompilerparse.c aslcompilerlex.c \ + dtparserparse.c dtparserlex.c + +-libfwtsiasl_la_SOURCES = \ +- $(ACPICA_COMPILER)/aslcompile.c \ +- $(ACPICA_COMPILER)/aslcompilerlex.c \ +- $(ACPICA_COMPILER)/aslcompilerparse.c \ +- $(ACPICA_COMPILER)/aslanalyze.c \ +- $(ACPICA_COMPILER)/aslcodegen.c \ +- $(ACPICA_COMPILER)/aslerror.c \ +- $(ACPICA_COMPILER)/aslfiles.c \ +- $(ACPICA_COMPILER)/aslfold.c \ +- $(ACPICA_COMPILER)/asllength.c \ +- $(ACPICA_COMPILER)/asllisting.c \ +- $(ACPICA_COMPILER)/aslload.c \ +- $(ACPICA_COMPILER)/asllookup.c \ +- $(ACPICA_COMPILER)/aslmap.c \ +- $(ACPICA_COMPILER)/aslopcodes.c \ +- $(ACPICA_COMPILER)/asloperands.c \ +- $(ACPICA_COMPILER)/aslopt.c \ +- $(ACPICA_COMPILER)/aslpredef.c \ +- $(ACPICA_COMPILER)/aslresource.c \ +- $(ACPICA_COMPILER)/aslrestype1.c \ +- $(ACPICA_COMPILER)/aslrestype1i.c \ +- $(ACPICA_COMPILER)/aslrestype2.c \ +- $(ACPICA_COMPILER)/aslrestype2d.c \ +- $(ACPICA_COMPILER)/aslrestype2e.c \ +- $(ACPICA_COMPILER)/aslrestype2q.c \ +- $(ACPICA_COMPILER)/aslrestype2w.c \ +- $(ACPICA_COMPILER)/aslstartup.c \ +- $(ACPICA_COMPILER)/aslstubs.c \ +- $(ACPICA_COMPILER)/asltransform.c \ +- $(ACPICA_COMPILER)/asltree.c \ +- $(ACPICA_COMPILER)/aslutils.c \ +- $(ACPICA_COMPILER)/aslbtypes.c \ +- $(ACPICA_COMPILER)/aslwalks.c \ +- $(ACPICA_COMPILER)/asluuid.c \ +- $(ACPICA_COMPILER)/aslmethod.c \ +- $(ACPICA_COMPILER)/aslhex.c \ +- $(ACPICA_COMPILER)/aslnamesp.c \ +- $(ACPICA_COMPILER)/aslfileio.c \ +- $(ACPICA_COMPILER)/asllistsup.c \ +- $(ACPICA_COMPILER)/asloffset.c \ +- $(ACPICA_COMPILER)/aslxref.c \ +- $(ACPICA_COMPILER)/aslprepkg.c \ +- $(ACPICA_COMPILER)/dtfield.c \ +- $(ACPICA_COMPILER)/dtio.c \ +- $(ACPICA_COMPILER)/dtsubtable.c \ +- $(ACPICA_COMPILER)/dttemplate.c \ +- $(ACPICA_COMPILER)/dttable.c \ +- $(ACPICA_COMPILER)/dtutils.c \ +- $(ACPICA_COMPILER)/dtexpress.c \ +- $(ACPICA_COMPILER)/dtcompile.c \ +- $(ACPICA_COMPILER)/dtparserparse.c \ +- $(ACPICA_COMPILER)/dtparserlex.c \ +- $(ACPICA_COMPILER)/prparserparse.c \ +- $(ACPICA_COMPILER)/prparserlex.c \ +- $(ACPICA_COMPILER)/prscan.c \ +- $(ACPICA_COMPILER)/aslrestype2s.c \ +- $(ACPICA_COMPILER)/prmacros.c \ +- $(ACPICA_COMPILER)/prutils.c \ +- $(ACPICA_COMPILER)/prexpress.c \ +- $(ACPICA_UTILS)/utalloc.c \ +- $(ACPICA_UTILS)/utcache.c \ +- $(ACPICA_UTILS)/utcopy.c \ +- $(ACPICA_UTILS)/utdebug.c \ +- $(ACPICA_UTILS)/utdelete.c \ +- $(ACPICA_UTILS)/utglobal.c \ +- $(ACPICA_UTILS)/utinit.c \ +- $(ACPICA_UTILS)/utlock.c \ +- $(ACPICA_UTILS)/utobject.c \ +- $(ACPICA_UTILS)/utmisc.c \ +- $(ACPICA_UTILS)/utmath.c \ +- $(ACPICA_UTILS)/utmutex.c \ +- $(ACPICA_UTILS)/utresrc.c \ +- $(ACPICA_UTILS)/utstate.c \ +- $(ACPICA_UTILS)/utxface.c \ +- $(ACPICA_UTILS)/utxferror.c \ +- $(ACPICA_UTILS)/utdecode.c \ +- $(ACPICA_UTILS)/utpredef.c \ +- $(ACPICA_UTILS)/utstring.c \ +- $(ACPICA_UTILS)/utaddress.c \ +- $(ACPICA_UTILS)/utownerid.c \ +- $(ACPICA_UTILS)/utexcep.c \ +- $(ACPICA_NAMESPACE)/nsaccess.c \ +- $(ACPICA_NAMESPACE)/nsalloc.c \ +- $(ACPICA_NAMESPACE)/nsdump.c \ +- $(ACPICA_NAMESPACE)/nsnames.c \ +- $(ACPICA_NAMESPACE)/nsobject.c \ +- $(ACPICA_NAMESPACE)/nsparse.c \ +- $(ACPICA_NAMESPACE)/nssearch.c \ +- $(ACPICA_NAMESPACE)/nsutils.c \ +- $(ACPICA_NAMESPACE)/nswalk.c \ +- $(ACPICA_NAMESPACE)/nsxfobj.c \ +- $(ACPICA_PARSER)/psargs.c \ +- $(ACPICA_PARSER)/psloop.c \ +- $(ACPICA_PARSER)/psopcode.c \ +- $(ACPICA_PARSER)/psparse.c \ +- $(ACPICA_PARSER)/psscope.c \ +- $(ACPICA_PARSER)/pstree.c \ +- $(ACPICA_PARSER)/psutils.c \ +- $(ACPICA_PARSER)/pswalk.c \ +- $(ACPICA_PARSER)/psobject.c \ +- $(ACPICA_PARSER)/psopinfo.c \ +- $(ACPICA_DISPATCHER)/dswscope.c \ +- $(ACPICA_DISPATCHER)/dswstate.c \ +- $(ACPICA_DISPATCHER)/dsfield.c \ +- $(ACPICA_DISPATCHER)/dsobject.c \ +- $(ACPICA_DISPATCHER)/dsopcode.c \ +- $(ACPICA_DISPATCHER)/dsutils.c \ +- $(ACPICA_DISPATCHER)/dswexec.c \ +- $(ACPICA_DISPATCHER)/dswload.c \ +- $(ACPICA_DISPATCHER)/dswload2.c \ +- $(ACPICA_DISPATCHER)/dsargs.c \ +- $(ACPICA_DISPATCHER)/dscontrol.c \ +- $(ACPICA_EXECUTER)/exconvrt.c \ +- $(ACPICA_EXECUTER)/excreate.c \ +- $(ACPICA_EXECUTER)/exdump.c \ +- $(ACPICA_EXECUTER)/exmisc.c \ +- $(ACPICA_EXECUTER)/exmutex.c \ +- $(ACPICA_EXECUTER)/exnames.c \ +- $(ACPICA_EXECUTER)/exoparg1.c \ +- $(ACPICA_EXECUTER)/exoparg2.c \ +- $(ACPICA_EXECUTER)/exoparg3.c \ +- $(ACPICA_EXECUTER)/exoparg6.c \ +- $(ACPICA_EXECUTER)/exprep.c \ +- $(ACPICA_EXECUTER)/exregion.c \ +- $(ACPICA_EXECUTER)/exresnte.c \ +- $(ACPICA_EXECUTER)/exresolv.c \ +- $(ACPICA_EXECUTER)/exresop.c \ +- $(ACPICA_EXECUTER)/exstore.c \ +- $(ACPICA_EXECUTER)/exstoren.c \ +- $(ACPICA_EXECUTER)/exstorob.c \ +- $(ACPICA_EXECUTER)/exsystem.c \ +- $(ACPICA_EXECUTER)/exutils.c \ +- $(ACPICA_COMMON)/adfile.c \ +- $(ACPICA_COMMON)/adisasm.c \ +- $(ACPICA_COMMON)/adwalk.c \ +- $(ACPICA_COMMON)/ahpredef.c \ +- $(ACPICA_COMMON)/dmextern.c \ +- $(ACPICA_COMMON)/dmrestag.c \ +- $(ACPICA_COMMON)/dmtable.c \ +- $(ACPICA_COMMON)/dmtbinfo.c \ +- $(ACPICA_COMMON)/dmtbdump.c \ +- $(ACPICA_DEBUGGER)/dbfileio.c \ +- $(ACPICA_DISASSEMBLER)/dmbuffer.c \ +- $(ACPICA_DISASSEMBLER)/dmnames.c \ +- $(ACPICA_DISASSEMBLER)/dmopcode.c \ +- $(ACPICA_DISASSEMBLER)/dmobject.c \ +- $(ACPICA_DISASSEMBLER)/dmresrc.c \ +- $(ACPICA_DISASSEMBLER)/dmresrcl.c \ +- $(ACPICA_DISASSEMBLER)/dmresrcs.c \ +- $(ACPICA_DISASSEMBLER)/dmutils.c \ +- $(ACPICA_DISASSEMBLER)/dmwalk.c \ +- $(ACPICA_DISASSEMBLER)/dmdeferred.c \ +- $(ACPICA_DISASSEMBLER)/dmresrcl2.c \ +- $(ACPICA_TABLES)/tbfadt.c \ +- $(ACPICA_TABLES)/tbinstal.c \ +- $(ACPICA_TABLES)/tbutils.c \ +- $(ACPICA_TABLES)/tbxface.c \ +- $(ACPICA_SERVICE)/osunixxf.c \ +- $(ACPICA_COMPILER)/fwts_iasl_interface.c ++libfwtsiasl_la_CPPFLAGS = $(AM_CPPFLAGS) ++libfwtsiasl_la_SOURCES = \ ++ fwts_iasl_interface.c \ ++ aslcompile.c \ ++ aslcompilerlex.c \ ++ aslcompilerparse.c \ ++ aslanalyze.c \ ++ aslcodegen.c \ ++ aslerror.c \ ++ aslfiles.c \ ++ aslfold.c \ ++ asllength.c \ ++ asllisting.c \ ++ aslload.c \ ++ asllookup.c \ ++ aslmap.c \ ++ aslopcodes.c \ ++ asloperands.c \ ++ aslopt.c \ ++ aslpredef.c \ ++ aslresource.c \ ++ aslrestype1.c \ ++ aslrestype1i.c \ ++ aslrestype2.c \ ++ aslrestype2d.c \ ++ aslrestype2e.c \ ++ aslrestype2q.c \ ++ aslrestype2w.c \ ++ aslstartup.c \ ++ aslstubs.c \ ++ asltransform.c \ ++ asltree.c \ ++ aslutils.c \ ++ aslbtypes.c \ ++ aslwalks.c \ ++ asluuid.c \ ++ aslmethod.c \ ++ aslhex.c \ ++ aslnamesp.c \ ++ aslfileio.c \ ++ asllistsup.c \ ++ asloffset.c \ ++ aslxref.c \ ++ aslprepkg.c \ ++ dtfield.c \ ++ dtio.c \ ++ dtsubtable.c \ ++ dttemplate.c \ ++ dttable.c \ ++ dtutils.c \ ++ dtexpress.c \ ++ dtcompile.c \ ++ dtparserparse.c \ ++ dtparserlex.c \ ++ prparserparse.c \ ++ prparserlex.c \ ++ prscan.c \ ++ aslrestype2s.c \ ++ prmacros.c \ ++ prutils.c \ ++ prexpress.c \ ++ ../components/utilities/utalloc.c \ ++ ../components/utilities/utcache.c \ ++ ../components/utilities/utcopy.c \ ++ ../components/utilities/utdebug.c \ ++ ../components/utilities/utdelete.c \ ++ ../components/utilities/utglobal.c \ ++ ../components/utilities/utinit.c \ ++ ../components/utilities/utlock.c \ ++ ../components/utilities/utobject.c \ ++ ../components/utilities/utmisc.c \ ++ ../components/utilities/utmath.c \ ++ ../components/utilities/utmutex.c \ ++ ../components/utilities/utresrc.c \ ++ ../components/utilities/utstate.c \ ++ ../components/utilities/utxface.c \ ++ ../components/utilities/utxferror.c \ ++ ../components/utilities/utdecode.c \ ++ ../components/utilities/utpredef.c \ ++ ../components/utilities/utstring.c \ ++ ../components/utilities/utaddress.c \ ++ ../components/utilities/utownerid.c \ ++ ../components/utilities/utexcep.c \ ++ ../components/namespace/nsaccess.c \ ++ ../components/namespace/nsalloc.c \ ++ ../components/namespace/nsdump.c \ ++ ../components/namespace/nsnames.c \ ++ ../components/namespace/nsobject.c \ ++ ../components/namespace/nsparse.c \ ++ ../components/namespace/nssearch.c \ ++ ../components/namespace/nsutils.c \ ++ ../components/namespace/nswalk.c \ ++ ../components/namespace/nsxfobj.c \ ++ ../components/parser/psargs.c \ ++ ../components/parser/psloop.c \ ++ ../components/parser/psopcode.c \ ++ ../components/parser/psparse.c \ ++ ../components/parser/psscope.c \ ++ ../components/parser/pstree.c \ ++ ../components/parser/psutils.c \ ++ ../components/parser/pswalk.c \ ++ ../components/parser/psobject.c \ ++ ../components/parser/psopinfo.c \ ++ ../components/dispatcher/dswscope.c \ ++ ../components/dispatcher/dswstate.c \ ++ ../components/dispatcher/dsfield.c \ ++ ../components/dispatcher/dsobject.c \ ++ ../components/dispatcher/dsopcode.c \ ++ ../components/dispatcher/dsutils.c \ ++ ../components/dispatcher/dswexec.c \ ++ ../components/dispatcher/dswload.c \ ++ ../components/dispatcher/dswload2.c \ ++ ../components/dispatcher/dsargs.c \ ++ ../components/dispatcher/dscontrol.c \ ++ ../components/executer/exconvrt.c \ ++ ../components/executer/excreate.c \ ++ ../components/executer/exdump.c \ ++ ../components/executer/exmisc.c \ ++ ../components/executer/exmutex.c \ ++ ../components/executer/exnames.c \ ++ ../components/executer/exoparg1.c \ ++ ../components/executer/exoparg2.c \ ++ ../components/executer/exoparg3.c \ ++ ../components/executer/exoparg6.c \ ++ ../components/executer/exprep.c \ ++ ../components/executer/exregion.c \ ++ ../components/executer/exresnte.c \ ++ ../components/executer/exresolv.c \ ++ ../components/executer/exresop.c \ ++ ../components/executer/exstore.c \ ++ ../components/executer/exstoren.c \ ++ ../components/executer/exstorob.c \ ++ ../components/executer/exsystem.c \ ++ ../components/executer/exutils.c \ ++ ../common/adfile.c \ ++ ../common/adisasm.c \ ++ ../common/adwalk.c \ ++ ../common/ahpredef.c \ ++ ../common/dmextern.c \ ++ ../common/dmrestag.c \ ++ ../common/dmtable.c \ ++ ../common/dmtbinfo.c \ ++ ../common/dmtbdump.c \ ++ ../components/debugger/dbfileio.c \ ++ ../components/disassembler/dmbuffer.c \ ++ ../components/disassembler/dmnames.c \ ++ ../components/disassembler/dmopcode.c \ ++ ../components/disassembler/dmobject.c \ ++ ../components/disassembler/dmresrc.c \ ++ ../components/disassembler/dmresrcl.c \ ++ ../components/disassembler/dmresrcs.c \ ++ ../components/disassembler/dmutils.c \ ++ ../components/disassembler/dmwalk.c \ ++ ../components/disassembler/dmdeferred.c \ ++ ../components/disassembler/dmresrcl2.c \ ++ ../components/tables/tbfadt.c \ ++ ../components/tables/tbinstal.c \ ++ ../components/tables/tbutils.c \ ++ ../components/tables/tbxface.c \ ++ ../os_specific/service_layers/osunixxf.c ++ +diff --git a/src/lib/src/Makefile.am b/src/lib/src/Makefile.am +index d708f34..7668b8c 100644 +--- a/src/lib/src/Makefile.am ++++ b/src/lib/src/Makefile.am +@@ -12,6 +12,8 @@ libfwts_la_LDFLAGS = \ + -L$(top_srcdir)/src/acpica/source/compiler \ + -lfwtsiasl + ++libfwts_la_CPPFLAGS = $(AM_CPPFLAGS) ++ + # + # Components of the fwts core helper library libfwts + # diff --git a/meta-luv/recipes-core/fwts/fwts_git.bb b/meta-luv/recipes-core/fwts/fwts_git.bb new file mode 100644 index 00000000000..8ccb2aab2b3 --- /dev/null +++ b/meta-luv/recipes-core/fwts/fwts_git.bb @@ -0,0 +1,20 @@ +SUMMARY = "Firmware testsuite" +DESCRIPTION = "The tool fwts comprises of tests that are designed to exercise BIOS, these need access to read BIOS data and ACPI tables" +HOMEPAGE = "https://wiki.ubuntu.com/Kernel/Reference/fwts" +LICENSE = "GPLv2+" +LIC_FILES_CHKSUM = "file://src/main.c;beginline=1;endline=16;md5=deb8af5388e838d133eaa036f4d1496f" + +PV = "14.01.00+git${SRCPV}" + +SRCREV = "fef72314787d7b029d932ef56b4a117538cf69e3" +SRC_URI = "git://kernel.ubuntu.com/hwe/fwts.git \ + file://subdir.patch \ + file://jsonc.patch \ + " + +S = "${WORKDIR}/git" +DEPENDS = "autoconf automake libtool libpcre libjson flex bison " + +inherit autotools +FILES_${PN} += "${libdir}/fwts/lib*${SOLIBS}" +FILES_${PN}-dev += "${libdir}/fwts/lib*${SOLIBSDEV} ${libdir}/fwts/lib*.la" diff --git a/meta-luv/recipes-core/images/core-image-efi.bb b/meta-luv/recipes-core/images/core-image-efi.bb index 3233628f74b..03193868ee7 100644 --- a/meta-luv/recipes-core/images/core-image-efi.bb +++ b/meta-luv/recipes-core/images/core-image-efi.bb @@ -1,6 +1,6 @@ DESCRIPTION = "A minimal image with essential EFI and kernel tools" -IMAGE_INSTALL = "packagegroup-core-boot kexec-tools kernel-image" +IMAGE_INSTALL = "packagegroup-core-boot kexec-tools kernel-image fwts " inherit core-image From 4c592a54dc5eed50647cec24a3440c76668fdd80 Mon Sep 17 00:00:00 2001 From: Ricardo Neri Date: Thu, 27 Feb 2014 15:08:37 -0800 Subject: [PATCH 544/658] runqemu: Add option for custom BIOS directory Add support to specify a directory for custom BIOS, VGA BIOS and keymaps as supported by qemu (-L option). Even though this can be done through qemuparams, having this option provides better user experience by not having to specify a long and cluttered path along with other qemuparams that the user might want to specify. This new options assumes first that the path provided is relative to OECORE_NATIVE_SYSROOT and will check whether it exists before proceeding. If not, it will treat the provided path as absolute. This provides the user flexibility to use BIOS binaries generated inside or outside the OE build environment. Signed-off-by: Ricardo Neri Signed-off-by: Matt Fleming --- scripts/runqemu | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/scripts/runqemu b/scripts/runqemu index 619ffb6bedf..b1d2d1abd4b 100755 --- a/scripts/runqemu +++ b/scripts/runqemu @@ -149,6 +149,9 @@ while true; do SCRIPT_KERNEL_OPT="$SCRIPT_KERNEL_OPT console=ttyS0" SERIALSTDIO="1" ;; + "biosdir="*) + CUSTOMBIOSDIR="${arg##biosdir=}" + ;; "qemuparams="*) SCRIPT_QEMU_EXTRA_OPT="${arg##qemuparams=}" @@ -489,5 +492,21 @@ if [ ! -f "$INTERNAL_SCRIPT" -o ! -r "$INTERNAL_SCRIPT" ]; then INTERNAL_SCRIPT=`which runqemu-internal` fi +# Specify directory for BIOS, VGA BIOS and keymaps +if [ ! -z "$CUSTOMBIOSDIR" ]; then + if [ -d "$OECORE_NATIVE_SYSROOT/$CUSTOMBIOSDIR" ]; then + echo "Assuming biosdir is $OECORE_NATIVE_SYSROOT/$CUSTOMBIOSDIR" + SCRIPT_QEMU_OPT="$SCRIPT_QEMU_OPT -L $OECORE_NATIVE_SYSROOT/$CUSTOMBIOSDIR" + else + if [ ! -d "$CUSTOMBIOSDIR" ]; then + echo "Custom BIOS directory not found. Tried: $CUSTOMBIOSDIR" + echo "and $OECORE_NATIVE_SYSROOT/$CUSTOMBIOSDIR" + exit 1; + fi + echo "Assuming biosdir is $CUSTOMBIOSDIR" + SCRIPT_QEMU_OPT="$SCRIPT_QEMU_OPT -L $CUSTOMBIOSDIR" + fi +fi + . $INTERNAL_SCRIPT exit $? From d182cce28ab3e6b1bc16f35bb472fa13aae6be4b Mon Sep 17 00:00:00 2001 From: Matt Fleming Date: Thu, 6 Mar 2014 15:27:37 +0000 Subject: [PATCH 545/658] initscripts: Add Test Manager We need a way of automatically running test programs when the machine boots. Install a luv-test-manager script and invoke it from runlevel 5. luv-test-manager is a test manager, it is the file that drives the entire test process. It searches for test runner scripts in /etc/luv-tests/ and executes any that it finds. Currently it only handles execution of tests but later on it will also collect their output and parse it into a standard format. Signed-off-by: Matt Fleming --- .../initscripts/initscripts/luv-test-manager | 26 +++++++++++++++++++ .../initscripts/initscripts_1.0.bbappend | 12 +++++++++ 2 files changed, 38 insertions(+) create mode 100644 meta-luv/recipes-core/initscripts/initscripts/luv-test-manager create mode 100644 meta-luv/recipes-core/initscripts/initscripts_1.0.bbappend diff --git a/meta-luv/recipes-core/initscripts/initscripts/luv-test-manager b/meta-luv/recipes-core/initscripts/initscripts/luv-test-manager new file mode 100644 index 00000000000..e9c6a011366 --- /dev/null +++ b/meta-luv/recipes-core/initscripts/initscripts/luv-test-manager @@ -0,0 +1,26 @@ +# +# Copyright 2014 Intel Corporation; author Matt Fleming +# + +cat < Date: Thu, 6 Mar 2014 17:02:02 +0000 Subject: [PATCH 546/658] sysvinit: Override do_install() and skip bootlogd Take control of the sysvinit files. We don't need bootlogd, so use a custom do_install() function that doesn't install it. The test manager in /etc/init.d/luv-test-manager will be solely responsible for collecting and parsing all log output, including the boot logs, and it makes sense to only do this in one place. Signed-off-by: Matt Fleming --- .../sysvinit/sysvinit_2.88dsf.bbappend | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 meta-luv/recipes-core/sysvinit/sysvinit_2.88dsf.bbappend diff --git a/meta-luv/recipes-core/sysvinit/sysvinit_2.88dsf.bbappend b/meta-luv/recipes-core/sysvinit/sysvinit_2.88dsf.bbappend new file mode 100644 index 00000000000..dd54e761f37 --- /dev/null +++ b/meta-luv/recipes-core/sysvinit/sysvinit_2.88dsf.bbappend @@ -0,0 +1,17 @@ +do_install () { + oe_runmake 'ROOT=${D}' install + + install -d ${D}${sysconfdir} \ + ${D}${sysconfdir}/default \ + ${D}${sysconfdir}/init.d + for level in S 0 1 2 3 4 5 6; do + install -d ${D}${sysconfdir}/rc$level.d + done + + install -m 0644 ${WORKDIR}/rcS-default ${D}${sysconfdir}/default/rcS + install -m 0755 ${WORKDIR}/rc ${D}${sysconfdir}/init.d + install -m 0755 ${WORKDIR}/rcS ${D}${sysconfdir}/init.d + + chown root.shutdown ${D}${base_sbindir}/halt ${D}${base_sbindir}/shutdown + chmod o-x,u+s ${D}${base_sbindir}/halt ${D}${base_sbindir}/shutdown +} From 69477574b00159887b48817f8b2eb74f7a0a49a9 Mon Sep 17 00:00:00 2001 From: Matt Fleming Date: Thu, 20 Mar 2014 21:48:51 +0000 Subject: [PATCH 547/658] luv-test.bbclass: Class for running test programs This commit introduces a new class that automatically generates and installs a test runner script for testsuite packages. Test runners are intended to be executed by a master test process, or test manager. Most packages will not need to override any of the variables. The default behaviour is to create a test runner that simply runs an executable using the package name as the name of that executable. Packages can customize the arguments that are passed to the package program by setting the LUV_TEST_ARGS variable. Signed-off-by: Matt Fleming --- meta-luv/classes/luv-test.bbclass | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 meta-luv/classes/luv-test.bbclass diff --git a/meta-luv/classes/luv-test.bbclass b/meta-luv/classes/luv-test.bbclass new file mode 100644 index 00000000000..a7e591e29f2 --- /dev/null +++ b/meta-luv/classes/luv-test.bbclass @@ -0,0 +1,26 @@ +# Copyright (C) 2014 Intel Corporation +# +# This file will automatically generate and install a test runner +# script for a package. + +LUV_TEST_ARGS = "" +LUV_TEST = "${PN}" + +# The installation directory of test runner scripts +RUNNER_PATH = "${sysconfdir}/luv-tests" + +FILES_${PN}-luv = "${RUNNER_PATH}/${PN}" + +do_install_runner() { + install -d ${D}${RUNNER_PATH} +cat > ${D}${RUNNER_PATH}/${PN} < Date: Fri, 21 Mar 2014 08:18:16 +0000 Subject: [PATCH 548/658] fwts: Inherit luv-test for automatic execution We want fwts to be run automatically by the test manager. Inherit luv-test so that a test runner script is automatically generated for this package. In the future, we're going to want to override the LUV_TEST_ARGS variable so that we can customize exactly what parameters are passed to fwts. In particular it would be useful to have control of the format of the test result output. Signed-off-by: Matt Fleming --- meta-luv/recipes-core/fwts/fwts_git.bb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/meta-luv/recipes-core/fwts/fwts_git.bb b/meta-luv/recipes-core/fwts/fwts_git.bb index 8ccb2aab2b3..9b1f1926421 100644 --- a/meta-luv/recipes-core/fwts/fwts_git.bb +++ b/meta-luv/recipes-core/fwts/fwts_git.bb @@ -15,6 +15,7 @@ SRC_URI = "git://kernel.ubuntu.com/hwe/fwts.git \ S = "${WORKDIR}/git" DEPENDS = "autoconf automake libtool libpcre libjson flex bison " -inherit autotools +inherit autotools luv-test + FILES_${PN} += "${libdir}/fwts/lib*${SOLIBS}" FILES_${PN}-dev += "${libdir}/fwts/lib*${SOLIBSDEV} ${libdir}/fwts/lib*.la" From 41fc0ca69eb34615f4ef7cad9b13f451a86e3dbb Mon Sep 17 00:00:00 2001 From: Matt Fleming Date: Thu, 27 Mar 2014 13:04:02 +0000 Subject: [PATCH 549/658] linux-yocto-efi-test: Provide default kernel config There's really no good reason to do our own kernel config mangling in kernel_do_configure() when the linux-yocto recipes provide a perfectly good method. The correct way to define a default kernel config with the yocto kernel recipes is via a 'defconfig' file. Delete efi.cfg (which was totally unused anyway) along with the kernel_do_configure() function and replace them with a defconfig generated against the upstream EFI repository stable branch (v3.13). Also take this opportunity to enable some key EFI features, - CONFIG_EFI_STUB - CONFIG_EFIVAR_FS - CONFIG_EARLY_PRINTK_EFI Signed-off-by: Matt Fleming --- .../linux/linux-yocto-efi-test/defconfig | 3489 +++++++++++++++++ .../linux/linux-yocto-efi-test/efi.cfg | 3 - .../linux/linux-yocto-efi-test_3.13.bb | 11 +- 3 files changed, 3490 insertions(+), 13 deletions(-) create mode 100644 meta-luv/recipes-kernel/linux/linux-yocto-efi-test/defconfig delete mode 100644 meta-luv/recipes-kernel/linux/linux-yocto-efi-test/efi.cfg diff --git a/meta-luv/recipes-kernel/linux/linux-yocto-efi-test/defconfig b/meta-luv/recipes-kernel/linux/linux-yocto-efi-test/defconfig new file mode 100644 index 00000000000..b26f48846a7 --- /dev/null +++ b/meta-luv/recipes-kernel/linux/linux-yocto-efi-test/defconfig @@ -0,0 +1,3489 @@ +# +# Automatically generated file; DO NOT EDIT. +# Linux/x86 3.13.0 Kernel Configuration +# +CONFIG_64BIT=y +CONFIG_X86_64=y +CONFIG_X86=y +CONFIG_INSTRUCTION_DECODER=y +CONFIG_OUTPUT_FORMAT="elf64-x86-64" +CONFIG_ARCH_DEFCONFIG="arch/x86/configs/x86_64_defconfig" +CONFIG_LOCKDEP_SUPPORT=y +CONFIG_STACKTRACE_SUPPORT=y +CONFIG_HAVE_LATENCYTOP_SUPPORT=y +CONFIG_MMU=y +CONFIG_NEED_DMA_MAP_STATE=y +CONFIG_NEED_SG_DMA_LENGTH=y +CONFIG_GENERIC_ISA_DMA=y +CONFIG_GENERIC_BUG=y +CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y +CONFIG_GENERIC_HWEIGHT=y +CONFIG_ARCH_MAY_HAVE_PC_FDC=y +CONFIG_RWSEM_XCHGADD_ALGORITHM=y +CONFIG_GENERIC_CALIBRATE_DELAY=y +CONFIG_ARCH_HAS_CPU_RELAX=y +CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y +CONFIG_ARCH_HAS_CPU_AUTOPROBE=y +CONFIG_HAVE_SETUP_PER_CPU_AREA=y +CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y +CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y +CONFIG_ARCH_HIBERNATION_POSSIBLE=y +CONFIG_ARCH_SUSPEND_POSSIBLE=y +CONFIG_ARCH_WANT_HUGE_PMD_SHARE=y +CONFIG_ARCH_WANT_GENERAL_HUGETLB=y +CONFIG_ZONE_DMA32=y +CONFIG_AUDIT_ARCH=y +CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y +CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y +CONFIG_HAVE_INTEL_TXT=y +CONFIG_X86_64_SMP=y +CONFIG_X86_HT=y +CONFIG_ARCH_HWEIGHT_CFLAGS="-fcall-saved-rdi -fcall-saved-rsi -fcall-saved-rdx -fcall-saved-rcx -fcall-saved-r8 -fcall-saved-r9 -fcall-saved-r10 -fcall-saved-r11" +CONFIG_ARCH_SUPPORTS_UPROBES=y +CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" +CONFIG_IRQ_WORK=y +CONFIG_BUILDTIME_EXTABLE_SORT=y + +# +# General setup +# +CONFIG_INIT_ENV_ARG_LIMIT=32 +CONFIG_CROSS_COMPILE="" +# CONFIG_COMPILE_TEST is not set +CONFIG_LOCALVERSION="" +# CONFIG_LOCALVERSION_AUTO is not set +CONFIG_HAVE_KERNEL_GZIP=y +CONFIG_HAVE_KERNEL_BZIP2=y +CONFIG_HAVE_KERNEL_LZMA=y +CONFIG_HAVE_KERNEL_XZ=y +CONFIG_HAVE_KERNEL_LZO=y +CONFIG_HAVE_KERNEL_LZ4=y +CONFIG_KERNEL_GZIP=y +# CONFIG_KERNEL_BZIP2 is not set +# CONFIG_KERNEL_LZMA is not set +# CONFIG_KERNEL_XZ is not set +# CONFIG_KERNEL_LZO is not set +# CONFIG_KERNEL_LZ4 is not set +CONFIG_DEFAULT_HOSTNAME="(none)" +CONFIG_SWAP=y +CONFIG_SYSVIPC=y +CONFIG_SYSVIPC_SYSCTL=y +CONFIG_POSIX_MQUEUE=y +CONFIG_POSIX_MQUEUE_SYSCTL=y +# CONFIG_FHANDLE is not set +CONFIG_AUDIT=y +CONFIG_AUDITSYSCALL=y +CONFIG_AUDIT_WATCH=y +CONFIG_AUDIT_TREE=y + +# +# IRQ subsystem +# +CONFIG_GENERIC_IRQ_PROBE=y +CONFIG_GENERIC_IRQ_SHOW=y +CONFIG_GENERIC_PENDING_IRQ=y +CONFIG_IRQ_FORCED_THREADING=y +CONFIG_SPARSE_IRQ=y +CONFIG_CLOCKSOURCE_WATCHDOG=y +CONFIG_ARCH_CLOCKSOURCE_DATA=y +CONFIG_GENERIC_TIME_VSYSCALL=y +CONFIG_GENERIC_CLOCKEVENTS=y +CONFIG_GENERIC_CLOCKEVENTS_BUILD=y +CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y +CONFIG_GENERIC_CLOCKEVENTS_MIN_ADJUST=y +CONFIG_GENERIC_CMOS_UPDATE=y + +# +# Timers subsystem +# +CONFIG_TICK_ONESHOT=y +CONFIG_NO_HZ_COMMON=y +# CONFIG_HZ_PERIODIC is not set +CONFIG_NO_HZ_IDLE=y +# CONFIG_NO_HZ_FULL is not set +CONFIG_NO_HZ=y +CONFIG_HIGH_RES_TIMERS=y + +# +# CPU/Task time and stats accounting +# +CONFIG_TICK_CPU_ACCOUNTING=y +# CONFIG_VIRT_CPU_ACCOUNTING_GEN is not set +# CONFIG_IRQ_TIME_ACCOUNTING is not set +CONFIG_BSD_PROCESS_ACCT=y +# CONFIG_BSD_PROCESS_ACCT_V3 is not set +CONFIG_TASKSTATS=y +CONFIG_TASK_DELAY_ACCT=y +CONFIG_TASK_XACCT=y +CONFIG_TASK_IO_ACCOUNTING=y + +# +# RCU Subsystem +# +CONFIG_TREE_RCU=y +# CONFIG_PREEMPT_RCU is not set +CONFIG_RCU_STALL_COMMON=y +# CONFIG_RCU_USER_QS is not set +CONFIG_RCU_FANOUT=64 +CONFIG_RCU_FANOUT_LEAF=16 +# CONFIG_RCU_FANOUT_EXACT is not set +# CONFIG_RCU_FAST_NO_HZ is not set +# CONFIG_TREE_RCU_TRACE is not set +# CONFIG_RCU_NOCB_CPU is not set +# CONFIG_IKCONFIG is not set +CONFIG_LOG_BUF_SHIFT=18 +CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y +CONFIG_ARCH_SUPPORTS_NUMA_BALANCING=y +CONFIG_ARCH_SUPPORTS_INT128=y +CONFIG_ARCH_WANTS_PROT_NUMA_PROT_NONE=y +# CONFIG_NUMA_BALANCING is not set +CONFIG_CGROUPS=y +# CONFIG_CGROUP_DEBUG is not set +CONFIG_CGROUP_FREEZER=y +# CONFIG_CGROUP_DEVICE is not set +CONFIG_CPUSETS=y +CONFIG_PROC_PID_CPUSET=y +CONFIG_CGROUP_CPUACCT=y +CONFIG_RESOURCE_COUNTERS=y +# CONFIG_MEMCG is not set +# CONFIG_CGROUP_HUGETLB is not set +# CONFIG_CGROUP_PERF is not set +CONFIG_CGROUP_SCHED=y +CONFIG_FAIR_GROUP_SCHED=y +# CONFIG_CFS_BANDWIDTH is not set +# CONFIG_RT_GROUP_SCHED is not set +# CONFIG_BLK_CGROUP is not set +# CONFIG_CHECKPOINT_RESTORE is not set +CONFIG_NAMESPACES=y +CONFIG_UTS_NS=y +CONFIG_IPC_NS=y +# CONFIG_USER_NS is not set +CONFIG_PID_NS=y +CONFIG_NET_NS=y +# CONFIG_UIDGID_STRICT_TYPE_CHECKS is not set +# CONFIG_SCHED_AUTOGROUP is not set +# CONFIG_SYSFS_DEPRECATED is not set +CONFIG_RELAY=y +CONFIG_BLK_DEV_INITRD=y +CONFIG_INITRAMFS_SOURCE="" +CONFIG_RD_GZIP=y +CONFIG_RD_BZIP2=y +CONFIG_RD_LZMA=y +CONFIG_RD_XZ=y +CONFIG_RD_LZO=y +CONFIG_RD_LZ4=y +# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set +CONFIG_SYSCTL=y +CONFIG_ANON_INODES=y +CONFIG_HAVE_UID16=y +CONFIG_SYSCTL_EXCEPTION_TRACE=y +CONFIG_HAVE_PCSPKR_PLATFORM=y +# CONFIG_EXPERT is not set +CONFIG_UID16=y +# CONFIG_SYSCTL_SYSCALL is not set +CONFIG_KALLSYMS=y +# CONFIG_KALLSYMS_ALL is not set +CONFIG_PRINTK=y +CONFIG_BUG=y +CONFIG_ELF_CORE=y +CONFIG_PCSPKR_PLATFORM=y +CONFIG_BASE_FULL=y +CONFIG_FUTEX=y +CONFIG_EPOLL=y +CONFIG_SIGNALFD=y +CONFIG_TIMERFD=y +CONFIG_EVENTFD=y +CONFIG_SHMEM=y +CONFIG_AIO=y +CONFIG_PCI_QUIRKS=y +# CONFIG_EMBEDDED is not set +CONFIG_HAVE_PERF_EVENTS=y + +# +# Kernel Performance Events And Counters +# +CONFIG_PERF_EVENTS=y +# CONFIG_DEBUG_PERF_USE_VMALLOC is not set +CONFIG_VM_EVENT_COUNTERS=y +CONFIG_SLUB_DEBUG=y +# CONFIG_COMPAT_BRK is not set +# CONFIG_SLAB is not set +CONFIG_SLUB=y +CONFIG_SLUB_CPU_PARTIAL=y +CONFIG_PROFILING=y +CONFIG_TRACEPOINTS=y +# CONFIG_OPROFILE is not set +CONFIG_HAVE_OPROFILE=y +CONFIG_OPROFILE_NMI_TIMER=y +CONFIG_KPROBES=y +# CONFIG_JUMP_LABEL is not set +CONFIG_OPTPROBES=y +# CONFIG_HAVE_64BIT_ALIGNED_ACCESS is not set +CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y +CONFIG_ARCH_USE_BUILTIN_BSWAP=y +CONFIG_KRETPROBES=y +CONFIG_HAVE_IOREMAP_PROT=y +CONFIG_HAVE_KPROBES=y +CONFIG_HAVE_KRETPROBES=y +CONFIG_HAVE_OPTPROBES=y +CONFIG_HAVE_KPROBES_ON_FTRACE=y +CONFIG_HAVE_ARCH_TRACEHOOK=y +CONFIG_HAVE_DMA_ATTRS=y +CONFIG_GENERIC_SMP_IDLE_THREAD=y +CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y +CONFIG_HAVE_DMA_API_DEBUG=y +CONFIG_HAVE_HW_BREAKPOINT=y +CONFIG_HAVE_MIXED_BREAKPOINTS_REGS=y +CONFIG_HAVE_USER_RETURN_NOTIFIER=y +CONFIG_HAVE_PERF_EVENTS_NMI=y +CONFIG_HAVE_PERF_REGS=y +CONFIG_HAVE_PERF_USER_STACK_DUMP=y +CONFIG_HAVE_ARCH_JUMP_LABEL=y +CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y +CONFIG_HAVE_ALIGNED_STRUCT_PAGE=y +CONFIG_HAVE_CMPXCHG_LOCAL=y +CONFIG_HAVE_CMPXCHG_DOUBLE=y +CONFIG_ARCH_WANT_COMPAT_IPC_PARSE_VERSION=y +CONFIG_ARCH_WANT_OLD_COMPAT_IPC=y +CONFIG_HAVE_ARCH_SECCOMP_FILTER=y +CONFIG_SECCOMP_FILTER=y +CONFIG_HAVE_CONTEXT_TRACKING=y +CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y +CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y +CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y +CONFIG_HAVE_ARCH_SOFT_DIRTY=y +CONFIG_MODULES_USE_ELF_RELA=y +CONFIG_HAVE_IRQ_EXIT_ON_IRQ_STACK=y +CONFIG_OLD_SIGSUSPEND3=y +CONFIG_COMPAT_OLD_SIGACTION=y + +# +# GCOV-based kernel profiling +# +# CONFIG_GCOV_KERNEL is not set +# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set +CONFIG_SLABINFO=y +CONFIG_RT_MUTEXES=y +CONFIG_BASE_SMALL=0 +# CONFIG_SYSTEM_TRUSTED_KEYRING is not set +CONFIG_MODULES=y +# CONFIG_MODULE_FORCE_LOAD is not set +CONFIG_MODULE_UNLOAD=y +CONFIG_MODULE_FORCE_UNLOAD=y +# CONFIG_MODVERSIONS is not set +# CONFIG_MODULE_SRCVERSION_ALL is not set +# CONFIG_MODULE_SIG is not set +CONFIG_STOP_MACHINE=y +CONFIG_BLOCK=y +CONFIG_BLK_DEV_BSG=y +# CONFIG_BLK_DEV_BSGLIB is not set +# CONFIG_BLK_DEV_INTEGRITY is not set +# CONFIG_BLK_CMDLINE_PARSER is not set + +# +# Partition Types +# +CONFIG_PARTITION_ADVANCED=y +# CONFIG_ACORN_PARTITION is not set +# CONFIG_AIX_PARTITION is not set +CONFIG_OSF_PARTITION=y +CONFIG_AMIGA_PARTITION=y +# CONFIG_ATARI_PARTITION is not set +CONFIG_MAC_PARTITION=y +CONFIG_MSDOS_PARTITION=y +CONFIG_BSD_DISKLABEL=y +CONFIG_MINIX_SUBPARTITION=y +CONFIG_SOLARIS_X86_PARTITION=y +CONFIG_UNIXWARE_DISKLABEL=y +# CONFIG_LDM_PARTITION is not set +CONFIG_SGI_PARTITION=y +# CONFIG_ULTRIX_PARTITION is not set +CONFIG_SUN_PARTITION=y +CONFIG_KARMA_PARTITION=y +CONFIG_EFI_PARTITION=y +# CONFIG_SYSV68_PARTITION is not set +# CONFIG_CMDLINE_PARTITION is not set +CONFIG_BLOCK_COMPAT=y + +# +# IO Schedulers +# +CONFIG_IOSCHED_NOOP=y +CONFIG_IOSCHED_DEADLINE=y +CONFIG_IOSCHED_CFQ=y +# CONFIG_DEFAULT_DEADLINE is not set +CONFIG_DEFAULT_CFQ=y +# CONFIG_DEFAULT_NOOP is not set +CONFIG_DEFAULT_IOSCHED="cfq" +CONFIG_INLINE_SPIN_UNLOCK_IRQ=y +CONFIG_INLINE_READ_UNLOCK=y +CONFIG_INLINE_READ_UNLOCK_IRQ=y +CONFIG_INLINE_WRITE_UNLOCK=y +CONFIG_INLINE_WRITE_UNLOCK_IRQ=y +CONFIG_MUTEX_SPIN_ON_OWNER=y +CONFIG_FREEZER=y + +# +# Processor type and features +# +CONFIG_ZONE_DMA=y +CONFIG_SMP=y +CONFIG_X86_MPPARSE=y +CONFIG_X86_EXTENDED_PLATFORM=y +# CONFIG_X86_VSMP is not set +# CONFIG_X86_INTEL_LPSS is not set +CONFIG_X86_SUPPORTS_MEMORY_FAILURE=y +CONFIG_SCHED_OMIT_FRAME_POINTER=y +# CONFIG_HYPERVISOR_GUEST is not set +CONFIG_NO_BOOTMEM=y +# CONFIG_MEMTEST is not set +# CONFIG_MK8 is not set +# CONFIG_MPSC is not set +# CONFIG_MCORE2 is not set +# CONFIG_MATOM is not set +CONFIG_GENERIC_CPU=y +CONFIG_X86_INTERNODE_CACHE_SHIFT=6 +CONFIG_X86_L1_CACHE_SHIFT=6 +CONFIG_X86_TSC=y +CONFIG_X86_CMPXCHG64=y +CONFIG_X86_CMOV=y +CONFIG_X86_MINIMUM_CPU_FAMILY=64 +CONFIG_X86_DEBUGCTLMSR=y +CONFIG_CPU_SUP_INTEL=y +CONFIG_CPU_SUP_AMD=y +CONFIG_CPU_SUP_CENTAUR=y +CONFIG_HPET_TIMER=y +CONFIG_HPET_EMULATE_RTC=y +CONFIG_DMI=y +# CONFIG_GART_IOMMU is not set +CONFIG_CALGARY_IOMMU=y +CONFIG_CALGARY_IOMMU_ENABLED_BY_DEFAULT=y +CONFIG_SWIOTLB=y +CONFIG_IOMMU_HELPER=y +# CONFIG_MAXSMP is not set +CONFIG_NR_CPUS=64 +CONFIG_SCHED_SMT=y +CONFIG_SCHED_MC=y +# CONFIG_PREEMPT_NONE is not set +CONFIG_PREEMPT_VOLUNTARY=y +# CONFIG_PREEMPT is not set +CONFIG_X86_LOCAL_APIC=y +CONFIG_X86_IO_APIC=y +CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS=y +CONFIG_X86_MCE=y +CONFIG_X86_MCE_INTEL=y +CONFIG_X86_MCE_AMD=y +CONFIG_X86_MCE_THRESHOLD=y +# CONFIG_X86_MCE_INJECT is not set +CONFIG_X86_THERMAL_VECTOR=y +# CONFIG_I8K is not set +CONFIG_MICROCODE=y +CONFIG_MICROCODE_INTEL=y +CONFIG_MICROCODE_AMD=y +CONFIG_MICROCODE_OLD_INTERFACE=y +CONFIG_MICROCODE_INTEL_LIB=y +CONFIG_MICROCODE_INTEL_EARLY=y +CONFIG_MICROCODE_AMD_EARLY=y +CONFIG_MICROCODE_EARLY=y +CONFIG_X86_MSR=y +CONFIG_X86_CPUID=y +CONFIG_ARCH_PHYS_ADDR_T_64BIT=y +CONFIG_ARCH_DMA_ADDR_T_64BIT=y +CONFIG_DIRECT_GBPAGES=y +CONFIG_NUMA=y +CONFIG_AMD_NUMA=y +CONFIG_X86_64_ACPI_NUMA=y +CONFIG_NODES_SPAN_OTHER_NODES=y +# CONFIG_NUMA_EMU is not set +CONFIG_NODES_SHIFT=6 +CONFIG_ARCH_SPARSEMEM_ENABLE=y +CONFIG_ARCH_SPARSEMEM_DEFAULT=y +CONFIG_ARCH_SELECT_MEMORY_MODEL=y +CONFIG_ARCH_PROC_KCORE_TEXT=y +CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000 +CONFIG_SELECT_MEMORY_MODEL=y +CONFIG_SPARSEMEM_MANUAL=y +CONFIG_SPARSEMEM=y +CONFIG_NEED_MULTIPLE_NODES=y +CONFIG_HAVE_MEMORY_PRESENT=y +CONFIG_SPARSEMEM_EXTREME=y +CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y +CONFIG_SPARSEMEM_ALLOC_MEM_MAP_TOGETHER=y +CONFIG_SPARSEMEM_VMEMMAP=y +CONFIG_HAVE_MEMBLOCK=y +CONFIG_HAVE_MEMBLOCK_NODE_MAP=y +CONFIG_ARCH_DISCARD_MEMBLOCK=y +# CONFIG_MOVABLE_NODE is not set +# CONFIG_HAVE_BOOTMEM_INFO_NODE is not set +# CONFIG_MEMORY_HOTPLUG is not set +CONFIG_PAGEFLAGS_EXTENDED=y +CONFIG_SPLIT_PTLOCK_CPUS=4 +CONFIG_ARCH_ENABLE_SPLIT_PMD_PTLOCK=y +CONFIG_COMPACTION=y +CONFIG_MIGRATION=y +CONFIG_PHYS_ADDR_T_64BIT=y +CONFIG_ZONE_DMA_FLAG=1 +CONFIG_BOUNCE=y +CONFIG_VIRT_TO_BUS=y +# CONFIG_KSM is not set +CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 +CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y +# CONFIG_MEMORY_FAILURE is not set +# CONFIG_TRANSPARENT_HUGEPAGE is not set +CONFIG_CROSS_MEMORY_ATTACH=y +# CONFIG_CLEANCACHE is not set +# CONFIG_FRONTSWAP is not set +# CONFIG_CMA is not set +# CONFIG_ZBUD is not set +CONFIG_X86_CHECK_BIOS_CORRUPTION=y +CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK=y +CONFIG_X86_RESERVE_LOW=64 +CONFIG_MTRR=y +# CONFIG_MTRR_SANITIZER is not set +CONFIG_X86_PAT=y +CONFIG_ARCH_USES_PG_UNCACHED=y +CONFIG_ARCH_RANDOM=y +CONFIG_X86_SMAP=y +CONFIG_EFI=y +CONFIG_EFI_STUB=y +CONFIG_SECCOMP=y +# CONFIG_CC_STACKPROTECTOR is not set +# CONFIG_HZ_100 is not set +# CONFIG_HZ_250 is not set +# CONFIG_HZ_300 is not set +CONFIG_HZ_1000=y +CONFIG_HZ=1000 +CONFIG_SCHED_HRTICK=y +CONFIG_KEXEC=y +CONFIG_CRASH_DUMP=y +# CONFIG_KEXEC_JUMP is not set +CONFIG_PHYSICAL_START=0x1000000 +CONFIG_RELOCATABLE=y +CONFIG_PHYSICAL_ALIGN=0x1000000 +CONFIG_HOTPLUG_CPU=y +# CONFIG_BOOTPARAM_HOTPLUG_CPU0 is not set +# CONFIG_DEBUG_HOTPLUG_CPU0 is not set +# CONFIG_COMPAT_VDSO is not set +# CONFIG_CMDLINE_BOOL is not set +CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y +CONFIG_USE_PERCPU_NUMA_NODE_ID=y + +# +# Power management and ACPI options +# +CONFIG_ARCH_HIBERNATION_HEADER=y +CONFIG_SUSPEND=y +CONFIG_SUSPEND_FREEZER=y +CONFIG_HIBERNATE_CALLBACKS=y +CONFIG_HIBERNATION=y +CONFIG_PM_STD_PARTITION="" +CONFIG_PM_SLEEP=y +CONFIG_PM_SLEEP_SMP=y +# CONFIG_PM_AUTOSLEEP is not set +# CONFIG_PM_WAKELOCKS is not set +# CONFIG_PM_RUNTIME is not set +CONFIG_PM=y +CONFIG_PM_DEBUG=y +# CONFIG_PM_ADVANCED_DEBUG is not set +# CONFIG_PM_TEST_SUSPEND is not set +CONFIG_PM_SLEEP_DEBUG=y +CONFIG_PM_TRACE=y +CONFIG_PM_TRACE_RTC=y +# CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set +CONFIG_ACPI=y +CONFIG_ACPI_SLEEP=y +CONFIG_ACPI_PROCFS=y +# CONFIG_ACPI_EC_DEBUGFS is not set +CONFIG_ACPI_AC=y +CONFIG_ACPI_BATTERY=y +CONFIG_ACPI_BUTTON=y +CONFIG_ACPI_VIDEO=y +CONFIG_ACPI_FAN=y +CONFIG_ACPI_DOCK=y +CONFIG_ACPI_PROCESSOR=y +CONFIG_ACPI_HOTPLUG_CPU=y +# CONFIG_ACPI_PROCESSOR_AGGREGATOR is not set +CONFIG_ACPI_THERMAL=y +CONFIG_ACPI_NUMA=y +# CONFIG_ACPI_CUSTOM_DSDT is not set +# CONFIG_ACPI_INITRD_TABLE_OVERRIDE is not set +# CONFIG_ACPI_DEBUG is not set +# CONFIG_ACPI_PCI_SLOT is not set +CONFIG_X86_PM_TIMER=y +CONFIG_ACPI_CONTAINER=y +# CONFIG_ACPI_SBS is not set +# CONFIG_ACPI_HED is not set +# CONFIG_ACPI_CUSTOM_METHOD is not set +# CONFIG_ACPI_BGRT is not set +# CONFIG_ACPI_APEI is not set +# CONFIG_ACPI_EXTLOG is not set +# CONFIG_SFI is not set + +# +# CPU Frequency scaling +# +CONFIG_CPU_FREQ=y +CONFIG_CPU_FREQ_GOV_COMMON=y +# CONFIG_CPU_FREQ_STAT is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set +CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE=y +# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set +CONFIG_CPU_FREQ_GOV_PERFORMANCE=y +# CONFIG_CPU_FREQ_GOV_POWERSAVE is not set +CONFIG_CPU_FREQ_GOV_USERSPACE=y +CONFIG_CPU_FREQ_GOV_ONDEMAND=y +# CONFIG_CPU_FREQ_GOV_CONSERVATIVE is not set + +# +# x86 CPU frequency scaling drivers +# +# CONFIG_X86_INTEL_PSTATE is not set +# CONFIG_X86_PCC_CPUFREQ is not set +CONFIG_X86_ACPI_CPUFREQ=y +CONFIG_X86_ACPI_CPUFREQ_CPB=y +# CONFIG_X86_POWERNOW_K8 is not set +# CONFIG_X86_AMD_FREQ_SENSITIVITY is not set +# CONFIG_X86_SPEEDSTEP_CENTRINO is not set +# CONFIG_X86_P4_CLOCKMOD is not set + +# +# shared options +# +# CONFIG_X86_SPEEDSTEP_LIB is not set + +# +# CPU Idle +# +CONFIG_CPU_IDLE=y +# CONFIG_CPU_IDLE_MULTIPLE_DRIVERS is not set +CONFIG_CPU_IDLE_GOV_LADDER=y +CONFIG_CPU_IDLE_GOV_MENU=y +# CONFIG_ARCH_NEEDS_CPU_IDLE_COUPLED is not set +# CONFIG_INTEL_IDLE is not set + +# +# Memory power savings +# +# CONFIG_I7300_IDLE is not set + +# +# Bus options (PCI etc.) +# +CONFIG_PCI=y +CONFIG_PCI_DIRECT=y +CONFIG_PCI_MMCONFIG=y +CONFIG_PCI_DOMAINS=y +CONFIG_PCIEPORTBUS=y +# CONFIG_HOTPLUG_PCI_PCIE is not set +CONFIG_PCIEAER=y +# CONFIG_PCIE_ECRC is not set +# CONFIG_PCIEAER_INJECT is not set +CONFIG_PCIEASPM=y +# CONFIG_PCIEASPM_DEBUG is not set +CONFIG_PCIEASPM_DEFAULT=y +# CONFIG_PCIEASPM_POWERSAVE is not set +# CONFIG_PCIEASPM_PERFORMANCE is not set +CONFIG_PCI_MSI=y +# CONFIG_PCI_DEBUG is not set +# CONFIG_PCI_REALLOC_ENABLE_AUTO is not set +# CONFIG_PCI_STUB is not set +CONFIG_HT_IRQ=y +CONFIG_PCI_ATS=y +# CONFIG_PCI_IOV is not set +CONFIG_PCI_PRI=y +CONFIG_PCI_PASID=y +# CONFIG_PCI_IOAPIC is not set +CONFIG_PCI_LABEL=y + +# +# PCI host controller drivers +# +CONFIG_ISA_DMA_API=y +CONFIG_AMD_NB=y +CONFIG_PCCARD=y +CONFIG_PCMCIA=y +CONFIG_PCMCIA_LOAD_CIS=y +CONFIG_CARDBUS=y + +# +# PC-card bridges +# +CONFIG_YENTA=y +CONFIG_YENTA_O2=y +CONFIG_YENTA_RICOH=y +CONFIG_YENTA_TI=y +CONFIG_YENTA_ENE_TUNE=y +CONFIG_YENTA_TOSHIBA=y +# CONFIG_PD6729 is not set +# CONFIG_I82092 is not set +CONFIG_PCCARD_NONSTATIC=y +CONFIG_HOTPLUG_PCI=y +# CONFIG_HOTPLUG_PCI_ACPI is not set +# CONFIG_HOTPLUG_PCI_CPCI is not set +# CONFIG_HOTPLUG_PCI_SHPC is not set +# CONFIG_RAPIDIO is not set +# CONFIG_X86_SYSFB is not set + +# +# Executable file formats / Emulations +# +CONFIG_BINFMT_ELF=y +CONFIG_COMPAT_BINFMT_ELF=y +CONFIG_ARCH_BINFMT_ELF_RANDOMIZE_PIE=y +CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y +CONFIG_BINFMT_SCRIPT=y +# CONFIG_HAVE_AOUT is not set +CONFIG_BINFMT_MISC=y +CONFIG_COREDUMP=y +CONFIG_IA32_EMULATION=y +# CONFIG_IA32_AOUT is not set +# CONFIG_X86_X32 is not set +CONFIG_COMPAT=y +CONFIG_COMPAT_FOR_U64_ALIGNMENT=y +CONFIG_SYSVIPC_COMPAT=y +CONFIG_KEYS_COMPAT=y +CONFIG_X86_DEV_DMA_OPS=y +CONFIG_NET=y + +# +# Networking options +# +CONFIG_PACKET=y +# CONFIG_PACKET_DIAG is not set +CONFIG_UNIX=y +# CONFIG_UNIX_DIAG is not set +CONFIG_XFRM=y +CONFIG_XFRM_ALGO=y +CONFIG_XFRM_USER=y +# CONFIG_XFRM_SUB_POLICY is not set +# CONFIG_XFRM_MIGRATE is not set +# CONFIG_XFRM_STATISTICS is not set +# CONFIG_NET_KEY is not set +CONFIG_INET=y +CONFIG_IP_MULTICAST=y +CONFIG_IP_ADVANCED_ROUTER=y +# CONFIG_IP_FIB_TRIE_STATS is not set +CONFIG_IP_MULTIPLE_TABLES=y +CONFIG_IP_ROUTE_MULTIPATH=y +CONFIG_IP_ROUTE_VERBOSE=y +CONFIG_IP_PNP=y +CONFIG_IP_PNP_DHCP=y +CONFIG_IP_PNP_BOOTP=y +CONFIG_IP_PNP_RARP=y +# CONFIG_NET_IPIP is not set +# CONFIG_NET_IPGRE_DEMUX is not set +CONFIG_NET_IP_TUNNEL=y +CONFIG_IP_MROUTE=y +# CONFIG_IP_MROUTE_MULTIPLE_TABLES is not set +CONFIG_IP_PIMSM_V1=y +CONFIG_IP_PIMSM_V2=y +CONFIG_SYN_COOKIES=y +# CONFIG_INET_AH is not set +# CONFIG_INET_ESP is not set +# CONFIG_INET_IPCOMP is not set +# CONFIG_INET_XFRM_TUNNEL is not set +CONFIG_INET_TUNNEL=y +# CONFIG_INET_XFRM_MODE_TRANSPORT is not set +# CONFIG_INET_XFRM_MODE_TUNNEL is not set +# CONFIG_INET_XFRM_MODE_BEET is not set +CONFIG_INET_LRO=y +# CONFIG_INET_DIAG is not set +CONFIG_TCP_CONG_ADVANCED=y +# CONFIG_TCP_CONG_BIC is not set +CONFIG_TCP_CONG_CUBIC=y +# CONFIG_TCP_CONG_WESTWOOD is not set +# CONFIG_TCP_CONG_HTCP is not set +# CONFIG_TCP_CONG_HSTCP is not set +# CONFIG_TCP_CONG_HYBLA is not set +# CONFIG_TCP_CONG_VEGAS is not set +# CONFIG_TCP_CONG_SCALABLE is not set +# CONFIG_TCP_CONG_LP is not set +# CONFIG_TCP_CONG_VENO is not set +# CONFIG_TCP_CONG_YEAH is not set +# CONFIG_TCP_CONG_ILLINOIS is not set +CONFIG_DEFAULT_CUBIC=y +# CONFIG_DEFAULT_RENO is not set +CONFIG_DEFAULT_TCP_CONG="cubic" +CONFIG_TCP_MD5SIG=y +CONFIG_IPV6=y +# CONFIG_IPV6_ROUTER_PREF is not set +# CONFIG_IPV6_OPTIMISTIC_DAD is not set +CONFIG_INET6_AH=y +CONFIG_INET6_ESP=y +# CONFIG_INET6_IPCOMP is not set +# CONFIG_IPV6_MIP6 is not set +# CONFIG_INET6_XFRM_TUNNEL is not set +# CONFIG_INET6_TUNNEL is not set +CONFIG_INET6_XFRM_MODE_TRANSPORT=y +CONFIG_INET6_XFRM_MODE_TUNNEL=y +CONFIG_INET6_XFRM_MODE_BEET=y +# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set +# CONFIG_IPV6_VTI is not set +CONFIG_IPV6_SIT=y +# CONFIG_IPV6_SIT_6RD is not set +CONFIG_IPV6_NDISC_NODETYPE=y +# CONFIG_IPV6_TUNNEL is not set +# CONFIG_IPV6_GRE is not set +# CONFIG_IPV6_MULTIPLE_TABLES is not set +# CONFIG_IPV6_MROUTE is not set +CONFIG_NETLABEL=y +CONFIG_NETWORK_SECMARK=y +# CONFIG_NETWORK_PHY_TIMESTAMPING is not set +CONFIG_NETFILTER=y +# CONFIG_NETFILTER_DEBUG is not set +# CONFIG_NETFILTER_ADVANCED is not set + +# +# Core Netfilter Configuration +# +CONFIG_NETFILTER_NETLINK=y +CONFIG_NETFILTER_NETLINK_LOG=y +CONFIG_NF_CONNTRACK=y +CONFIG_NF_CONNTRACK_SECMARK=y +CONFIG_NF_CONNTRACK_PROCFS=y +CONFIG_NF_CONNTRACK_FTP=y +CONFIG_NF_CONNTRACK_IRC=y +# CONFIG_NF_CONNTRACK_NETBIOS_NS is not set +CONFIG_NF_CONNTRACK_SIP=y +CONFIG_NF_CT_NETLINK=y +CONFIG_NF_NAT=m +CONFIG_NF_NAT_NEEDED=y +# CONFIG_NF_NAT_AMANDA is not set +CONFIG_NF_NAT_FTP=m +CONFIG_NF_NAT_IRC=m +CONFIG_NF_NAT_SIP=m +# CONFIG_NF_NAT_TFTP is not set +# CONFIG_NF_TABLES is not set +CONFIG_NETFILTER_XTABLES=y + +# +# Xtables combined modules +# +CONFIG_NETFILTER_XT_MARK=m + +# +# Xtables targets +# +CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=y +CONFIG_NETFILTER_XT_TARGET_LOG=m +# CONFIG_NETFILTER_XT_TARGET_NETMAP is not set +CONFIG_NETFILTER_XT_TARGET_NFLOG=y +# CONFIG_NETFILTER_XT_TARGET_REDIRECT is not set +CONFIG_NETFILTER_XT_TARGET_SECMARK=y +CONFIG_NETFILTER_XT_TARGET_TCPMSS=y + +# +# Xtables matches +# +CONFIG_NETFILTER_XT_MATCH_CONNTRACK=y +CONFIG_NETFILTER_XT_MATCH_POLICY=y +CONFIG_NETFILTER_XT_MATCH_STATE=y +# CONFIG_IP_SET is not set +# CONFIG_IP_VS is not set + +# +# IP: Netfilter Configuration +# +CONFIG_NF_DEFRAG_IPV4=y +CONFIG_NF_CONNTRACK_IPV4=y +CONFIG_NF_CONNTRACK_PROC_COMPAT=y +CONFIG_IP_NF_IPTABLES=y +CONFIG_IP_NF_FILTER=y +CONFIG_IP_NF_TARGET_REJECT=y +CONFIG_IP_NF_TARGET_ULOG=y +CONFIG_NF_NAT_IPV4=m +CONFIG_IP_NF_TARGET_MASQUERADE=m +# CONFIG_NF_NAT_PPTP is not set +# CONFIG_NF_NAT_H323 is not set +CONFIG_IP_NF_MANGLE=y +# CONFIG_IP_NF_RAW is not set + +# +# IPv6: Netfilter Configuration +# +CONFIG_NF_DEFRAG_IPV6=y +CONFIG_NF_CONNTRACK_IPV6=y +CONFIG_IP6_NF_IPTABLES=y +CONFIG_IP6_NF_MATCH_IPV6HEADER=y +CONFIG_IP6_NF_FILTER=y +CONFIG_IP6_NF_TARGET_REJECT=y +CONFIG_IP6_NF_MANGLE=y +# CONFIG_IP6_NF_RAW is not set +# CONFIG_IP_DCCP is not set +# CONFIG_IP_SCTP is not set +# CONFIG_RDS is not set +# CONFIG_TIPC is not set +# CONFIG_ATM is not set +# CONFIG_L2TP is not set +# CONFIG_BRIDGE is not set +CONFIG_HAVE_NET_DSA=y +# CONFIG_VLAN_8021Q is not set +# CONFIG_DECNET is not set +# CONFIG_LLC2 is not set +# CONFIG_IPX is not set +# CONFIG_ATALK is not set +# CONFIG_X25 is not set +# CONFIG_LAPB is not set +# CONFIG_PHONET is not set +# CONFIG_IEEE802154 is not set +CONFIG_NET_SCHED=y + +# +# Queueing/Scheduling +# +# CONFIG_NET_SCH_CBQ is not set +# CONFIG_NET_SCH_HTB is not set +# CONFIG_NET_SCH_HFSC is not set +# CONFIG_NET_SCH_PRIO is not set +# CONFIG_NET_SCH_MULTIQ is not set +# CONFIG_NET_SCH_RED is not set +# CONFIG_NET_SCH_SFB is not set +# CONFIG_NET_SCH_SFQ is not set +# CONFIG_NET_SCH_TEQL is not set +# CONFIG_NET_SCH_TBF is not set +# CONFIG_NET_SCH_GRED is not set +# CONFIG_NET_SCH_DSMARK is not set +# CONFIG_NET_SCH_NETEM is not set +# CONFIG_NET_SCH_DRR is not set +# CONFIG_NET_SCH_MQPRIO is not set +# CONFIG_NET_SCH_CHOKE is not set +# CONFIG_NET_SCH_QFQ is not set +# CONFIG_NET_SCH_CODEL is not set +# CONFIG_NET_SCH_FQ_CODEL is not set +# CONFIG_NET_SCH_FQ is not set +# CONFIG_NET_SCH_INGRESS is not set +# CONFIG_NET_SCH_PLUG is not set + +# +# Classification +# +CONFIG_NET_CLS=y +# CONFIG_NET_CLS_BASIC is not set +# CONFIG_NET_CLS_TCINDEX is not set +# CONFIG_NET_CLS_ROUTE4 is not set +# CONFIG_NET_CLS_FW is not set +# CONFIG_NET_CLS_U32 is not set +# CONFIG_NET_CLS_RSVP is not set +# CONFIG_NET_CLS_RSVP6 is not set +# CONFIG_NET_CLS_FLOW is not set +# CONFIG_NET_CLS_CGROUP is not set +# CONFIG_NET_CLS_BPF is not set +CONFIG_NET_EMATCH=y +CONFIG_NET_EMATCH_STACK=32 +# CONFIG_NET_EMATCH_CMP is not set +# CONFIG_NET_EMATCH_NBYTE is not set +# CONFIG_NET_EMATCH_U32 is not set +# CONFIG_NET_EMATCH_META is not set +# CONFIG_NET_EMATCH_TEXT is not set +CONFIG_NET_CLS_ACT=y +# CONFIG_NET_ACT_POLICE is not set +# CONFIG_NET_ACT_GACT is not set +# CONFIG_NET_ACT_MIRRED is not set +# CONFIG_NET_ACT_IPT is not set +# CONFIG_NET_ACT_NAT is not set +# CONFIG_NET_ACT_PEDIT is not set +# CONFIG_NET_ACT_SIMP is not set +# CONFIG_NET_ACT_SKBEDIT is not set +# CONFIG_NET_ACT_CSUM is not set +CONFIG_NET_SCH_FIFO=y +# CONFIG_DCB is not set +CONFIG_DNS_RESOLVER=y +# CONFIG_BATMAN_ADV is not set +# CONFIG_OPENVSWITCH is not set +# CONFIG_VSOCKETS is not set +# CONFIG_NETLINK_MMAP is not set +# CONFIG_NETLINK_DIAG is not set +# CONFIG_NET_MPLS_GSO is not set +# CONFIG_HSR is not set +CONFIG_RPS=y +CONFIG_RFS_ACCEL=y +CONFIG_XPS=y +# CONFIG_NETPRIO_CGROUP is not set +CONFIG_NET_RX_BUSY_POLL=y +CONFIG_BQL=y +# CONFIG_BPF_JIT is not set +CONFIG_NET_FLOW_LIMIT=y + +# +# Network testing +# +# CONFIG_NET_PKTGEN is not set +# CONFIG_NET_TCPPROBE is not set +# CONFIG_NET_DROP_MONITOR is not set +CONFIG_HAMRADIO=y + +# +# Packet Radio protocols +# +# CONFIG_AX25 is not set +# CONFIG_CAN is not set +# CONFIG_IRDA is not set +# CONFIG_BT is not set +# CONFIG_AF_RXRPC is not set +CONFIG_FIB_RULES=y +CONFIG_WIRELESS=y +CONFIG_CFG80211=y +# CONFIG_NL80211_TESTMODE is not set +# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set +# CONFIG_CFG80211_REG_DEBUG is not set +CONFIG_CFG80211_DEFAULT_PS=y +# CONFIG_CFG80211_DEBUGFS is not set +# CONFIG_CFG80211_INTERNAL_REGDB is not set +# CONFIG_CFG80211_WEXT is not set +# CONFIG_LIB80211 is not set +CONFIG_MAC80211=y +CONFIG_MAC80211_HAS_RC=y +CONFIG_MAC80211_RC_MINSTREL=y +CONFIG_MAC80211_RC_MINSTREL_HT=y +CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y +CONFIG_MAC80211_RC_DEFAULT="minstrel_ht" +# CONFIG_MAC80211_MESH is not set +CONFIG_MAC80211_LEDS=y +# CONFIG_MAC80211_DEBUGFS is not set +# CONFIG_MAC80211_MESSAGE_TRACING is not set +# CONFIG_MAC80211_DEBUG_MENU is not set +# CONFIG_WIMAX is not set +CONFIG_RFKILL=y +CONFIG_RFKILL_LEDS=y +CONFIG_RFKILL_INPUT=y +# CONFIG_NET_9P is not set +# CONFIG_CAIF is not set +# CONFIG_CEPH_LIB is not set +# CONFIG_NFC is not set +CONFIG_HAVE_BPF_JIT=y + +# +# Device Drivers +# + +# +# Generic Driver Options +# +CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" +CONFIG_DEVTMPFS=y +CONFIG_DEVTMPFS_MOUNT=y +CONFIG_STANDALONE=y +CONFIG_PREVENT_FIRMWARE_BUILD=y +CONFIG_FW_LOADER=y +CONFIG_FIRMWARE_IN_KERNEL=y +CONFIG_EXTRA_FIRMWARE="" +CONFIG_FW_LOADER_USER_HELPER=y +# CONFIG_DEBUG_DRIVER is not set +CONFIG_DEBUG_DEVRES=y +# CONFIG_SYS_HYPERVISOR is not set +# CONFIG_GENERIC_CPU_DEVICES is not set +CONFIG_DMA_SHARED_BUFFER=y + +# +# Bus devices +# +CONFIG_CONNECTOR=y +CONFIG_PROC_EVENTS=y +# CONFIG_MTD is not set +# CONFIG_PARPORT is not set +CONFIG_ARCH_MIGHT_HAVE_PC_PARPORT=y +CONFIG_PNP=y +CONFIG_PNP_DEBUG_MESSAGES=y + +# +# Protocols +# +CONFIG_PNPACPI=y +CONFIG_BLK_DEV=y +# CONFIG_BLK_DEV_NULL_BLK is not set +# CONFIG_BLK_DEV_FD is not set +# CONFIG_BLK_DEV_PCIESSD_MTIP32XX is not set +# CONFIG_BLK_CPQ_CISS_DA is not set +# CONFIG_BLK_DEV_DAC960 is not set +# CONFIG_BLK_DEV_UMEM is not set +# CONFIG_BLK_DEV_COW_COMMON is not set +CONFIG_BLK_DEV_LOOP=y +CONFIG_BLK_DEV_LOOP_MIN_COUNT=8 +# CONFIG_BLK_DEV_CRYPTOLOOP is not set +# CONFIG_BLK_DEV_DRBD is not set +# CONFIG_BLK_DEV_NBD is not set +# CONFIG_BLK_DEV_NVME is not set +# CONFIG_BLK_DEV_SKD is not set +# CONFIG_BLK_DEV_SX8 is not set +# CONFIG_BLK_DEV_RAM is not set +# CONFIG_CDROM_PKTCDVD is not set +# CONFIG_ATA_OVER_ETH is not set +# CONFIG_BLK_DEV_HD is not set +# CONFIG_BLK_DEV_RBD is not set +# CONFIG_BLK_DEV_RSXX is not set + +# +# Misc devices +# +# CONFIG_SENSORS_LIS3LV02D is not set +# CONFIG_AD525X_DPOT is not set +# CONFIG_DUMMY_IRQ is not set +# CONFIG_IBM_ASM is not set +# CONFIG_PHANTOM is not set +# CONFIG_SGI_IOC4 is not set +# CONFIG_TIFM_CORE is not set +# CONFIG_ICS932S401 is not set +# CONFIG_ATMEL_SSC is not set +# CONFIG_ENCLOSURE_SERVICES is not set +# CONFIG_HP_ILO is not set +# CONFIG_APDS9802ALS is not set +# CONFIG_ISL29003 is not set +# CONFIG_ISL29020 is not set +# CONFIG_SENSORS_TSL2550 is not set +# CONFIG_SENSORS_BH1780 is not set +# CONFIG_SENSORS_BH1770 is not set +# CONFIG_SENSORS_APDS990X is not set +# CONFIG_HMC6352 is not set +# CONFIG_DS1682 is not set +# CONFIG_BMP085_I2C is not set +# CONFIG_PCH_PHUB is not set +# CONFIG_USB_SWITCH_FSA9480 is not set +# CONFIG_SRAM is not set +# CONFIG_C2PORT is not set + +# +# EEPROM support +# +# CONFIG_EEPROM_AT24 is not set +# CONFIG_EEPROM_LEGACY is not set +# CONFIG_EEPROM_MAX6875 is not set +# CONFIG_EEPROM_93CX6 is not set +# CONFIG_CB710_CORE is not set + +# +# Texas Instruments shared transport line discipline +# +# CONFIG_SENSORS_LIS3_I2C is not set + +# +# Altera FPGA firmware download module +# +# CONFIG_ALTERA_STAPL is not set +# CONFIG_VMWARE_VMCI is not set + +# +# Intel MIC Host Driver +# +# CONFIG_INTEL_MIC_HOST is not set + +# +# Intel MIC Card Driver +# +# CONFIG_INTEL_MIC_CARD is not set +CONFIG_HAVE_IDE=y +# CONFIG_IDE is not set + +# +# SCSI device support +# +CONFIG_SCSI_MOD=y +# CONFIG_RAID_ATTRS is not set +CONFIG_SCSI=y +CONFIG_SCSI_DMA=y +# CONFIG_SCSI_TGT is not set +# CONFIG_SCSI_NETLINK is not set +CONFIG_SCSI_PROC_FS=y + +# +# SCSI support type (disk, tape, CD-ROM) +# +CONFIG_BLK_DEV_SD=y +# CONFIG_CHR_DEV_ST is not set +# CONFIG_CHR_DEV_OSST is not set +CONFIG_BLK_DEV_SR=y +CONFIG_BLK_DEV_SR_VENDOR=y +CONFIG_CHR_DEV_SG=y +# CONFIG_CHR_DEV_SCH is not set +# CONFIG_SCSI_MULTI_LUN is not set +CONFIG_SCSI_CONSTANTS=y +# CONFIG_SCSI_LOGGING is not set +# CONFIG_SCSI_SCAN_ASYNC is not set + +# +# SCSI Transports +# +CONFIG_SCSI_SPI_ATTRS=y +# CONFIG_SCSI_FC_ATTRS is not set +# CONFIG_SCSI_ISCSI_ATTRS is not set +# CONFIG_SCSI_SAS_ATTRS is not set +# CONFIG_SCSI_SAS_LIBSAS is not set +# CONFIG_SCSI_SRP_ATTRS is not set +# CONFIG_SCSI_LOWLEVEL is not set +# CONFIG_SCSI_LOWLEVEL_PCMCIA is not set +# CONFIG_SCSI_DH is not set +# CONFIG_SCSI_OSD_INITIATOR is not set +CONFIG_ATA=y +# CONFIG_ATA_NONSTANDARD is not set +CONFIG_ATA_VERBOSE_ERROR=y +CONFIG_ATA_ACPI=y +# CONFIG_SATA_ZPODD is not set +CONFIG_SATA_PMP=y + +# +# Controllers with non-SFF native interface +# +CONFIG_SATA_AHCI=y +# CONFIG_SATA_AHCI_PLATFORM is not set +# CONFIG_SATA_INIC162X is not set +# CONFIG_SATA_ACARD_AHCI is not set +# CONFIG_SATA_SIL24 is not set +CONFIG_ATA_SFF=y + +# +# SFF controllers with custom DMA interface +# +# CONFIG_PDC_ADMA is not set +# CONFIG_SATA_QSTOR is not set +# CONFIG_SATA_SX4 is not set +CONFIG_ATA_BMDMA=y + +# +# SATA SFF controllers with BMDMA +# +CONFIG_ATA_PIIX=y +# CONFIG_SATA_HIGHBANK is not set +# CONFIG_SATA_MV is not set +# CONFIG_SATA_NV is not set +# CONFIG_SATA_PROMISE is not set +# CONFIG_SATA_RCAR is not set +# CONFIG_SATA_SIL is not set +# CONFIG_SATA_SIS is not set +# CONFIG_SATA_SVW is not set +# CONFIG_SATA_ULI is not set +# CONFIG_SATA_VIA is not set +# CONFIG_SATA_VITESSE is not set + +# +# PATA SFF controllers with BMDMA +# +# CONFIG_PATA_ALI is not set +CONFIG_PATA_AMD=y +# CONFIG_PATA_ARASAN_CF is not set +# CONFIG_PATA_ARTOP is not set +# CONFIG_PATA_ATIIXP is not set +# CONFIG_PATA_ATP867X is not set +# CONFIG_PATA_CMD64X is not set +# CONFIG_PATA_CS5520 is not set +# CONFIG_PATA_CS5530 is not set +# CONFIG_PATA_CS5536 is not set +# CONFIG_PATA_CYPRESS is not set +# CONFIG_PATA_EFAR is not set +# CONFIG_PATA_HPT366 is not set +# CONFIG_PATA_HPT37X is not set +# CONFIG_PATA_HPT3X2N is not set +# CONFIG_PATA_HPT3X3 is not set +# CONFIG_PATA_IT8213 is not set +# CONFIG_PATA_IT821X is not set +# CONFIG_PATA_JMICRON is not set +# CONFIG_PATA_MARVELL is not set +# CONFIG_PATA_NETCELL is not set +# CONFIG_PATA_NINJA32 is not set +# CONFIG_PATA_NS87415 is not set +CONFIG_PATA_OLDPIIX=y +# CONFIG_PATA_OPTIDMA is not set +# CONFIG_PATA_PDC2027X is not set +# CONFIG_PATA_PDC_OLD is not set +# CONFIG_PATA_RADISYS is not set +# CONFIG_PATA_RDC is not set +# CONFIG_PATA_SC1200 is not set +CONFIG_PATA_SCH=y +# CONFIG_PATA_SERVERWORKS is not set +# CONFIG_PATA_SIL680 is not set +# CONFIG_PATA_SIS is not set +# CONFIG_PATA_TOSHIBA is not set +# CONFIG_PATA_TRIFLEX is not set +# CONFIG_PATA_VIA is not set +# CONFIG_PATA_WINBOND is not set + +# +# PIO-only SFF controllers +# +# CONFIG_PATA_CMD640_PCI is not set +# CONFIG_PATA_MPIIX is not set +# CONFIG_PATA_NS87410 is not set +# CONFIG_PATA_OPTI is not set +# CONFIG_PATA_PCMCIA is not set +# CONFIG_PATA_RZ1000 is not set + +# +# Generic fallback / legacy drivers +# +# CONFIG_PATA_ACPI is not set +# CONFIG_ATA_GENERIC is not set +# CONFIG_PATA_LEGACY is not set +CONFIG_MD=y +CONFIG_BLK_DEV_MD=y +CONFIG_MD_AUTODETECT=y +# CONFIG_MD_LINEAR is not set +# CONFIG_MD_RAID0 is not set +# CONFIG_MD_RAID1 is not set +# CONFIG_MD_RAID10 is not set +# CONFIG_MD_RAID456 is not set +# CONFIG_MD_MULTIPATH is not set +# CONFIG_MD_FAULTY is not set +# CONFIG_BCACHE is not set +CONFIG_BLK_DEV_DM=y +# CONFIG_DM_DEBUG is not set +# CONFIG_DM_CRYPT is not set +# CONFIG_DM_SNAPSHOT is not set +# CONFIG_DM_THIN_PROVISIONING is not set +# CONFIG_DM_CACHE is not set +CONFIG_DM_MIRROR=y +# CONFIG_DM_LOG_USERSPACE is not set +# CONFIG_DM_RAID is not set +CONFIG_DM_ZERO=y +# CONFIG_DM_MULTIPATH is not set +# CONFIG_DM_DELAY is not set +# CONFIG_DM_UEVENT is not set +# CONFIG_DM_FLAKEY is not set +# CONFIG_DM_VERITY is not set +# CONFIG_DM_SWITCH is not set +# CONFIG_TARGET_CORE is not set +# CONFIG_FUSION is not set + +# +# IEEE 1394 (FireWire) support +# +# CONFIG_FIREWIRE is not set +# CONFIG_FIREWIRE_NOSY is not set +# CONFIG_I2O is not set +CONFIG_MACINTOSH_DRIVERS=y +CONFIG_MAC_EMUMOUSEBTN=y +CONFIG_NETDEVICES=y +CONFIG_MII=y +CONFIG_NET_CORE=y +# CONFIG_BONDING is not set +# CONFIG_DUMMY is not set +# CONFIG_EQUALIZER is not set +# CONFIG_NET_FC is not set +# CONFIG_IFB is not set +# CONFIG_NET_TEAM is not set +# CONFIG_MACVLAN is not set +# CONFIG_VXLAN is not set +CONFIG_NETCONSOLE=y +CONFIG_NETPOLL=y +# CONFIG_NETPOLL_TRAP is not set +CONFIG_NET_POLL_CONTROLLER=y +# CONFIG_TUN is not set +# CONFIG_VETH is not set +# CONFIG_NLMON is not set +# CONFIG_ARCNET is not set + +# +# CAIF transport drivers +# +# CONFIG_VHOST_NET is not set + +# +# Distributed Switch Architecture drivers +# +# CONFIG_NET_DSA_MV88E6XXX is not set +# CONFIG_NET_DSA_MV88E6060 is not set +# CONFIG_NET_DSA_MV88E6XXX_NEED_PPU is not set +# CONFIG_NET_DSA_MV88E6131 is not set +# CONFIG_NET_DSA_MV88E6123_61_65 is not set +CONFIG_ETHERNET=y +CONFIG_NET_VENDOR_3COM=y +# CONFIG_PCMCIA_3C574 is not set +# CONFIG_PCMCIA_3C589 is not set +# CONFIG_VORTEX is not set +# CONFIG_TYPHOON is not set +CONFIG_NET_VENDOR_ADAPTEC=y +# CONFIG_ADAPTEC_STARFIRE is not set +CONFIG_NET_VENDOR_ALTEON=y +# CONFIG_ACENIC is not set +CONFIG_NET_VENDOR_AMD=y +# CONFIG_AMD8111_ETH is not set +# CONFIG_PCNET32 is not set +# CONFIG_PCMCIA_NMCLAN is not set +CONFIG_NET_VENDOR_ARC=y +CONFIG_NET_VENDOR_ATHEROS=y +# CONFIG_ATL2 is not set +# CONFIG_ATL1 is not set +# CONFIG_ATL1E is not set +# CONFIG_ATL1C is not set +# CONFIG_ALX is not set +CONFIG_NET_CADENCE=y +# CONFIG_ARM_AT91_ETHER is not set +# CONFIG_MACB is not set +CONFIG_NET_VENDOR_BROADCOM=y +# CONFIG_B44 is not set +# CONFIG_BNX2 is not set +# CONFIG_CNIC is not set +CONFIG_TIGON3=y +# CONFIG_BNX2X is not set +CONFIG_NET_VENDOR_BROCADE=y +# CONFIG_BNA is not set +# CONFIG_NET_CALXEDA_XGMAC is not set +CONFIG_NET_VENDOR_CHELSIO=y +# CONFIG_CHELSIO_T1 is not set +# CONFIG_CHELSIO_T3 is not set +# CONFIG_CHELSIO_T4 is not set +# CONFIG_CHELSIO_T4VF is not set +CONFIG_NET_VENDOR_CISCO=y +# CONFIG_ENIC is not set +# CONFIG_DNET is not set +CONFIG_NET_VENDOR_DEC=y +CONFIG_NET_TULIP=y +# CONFIG_DE2104X is not set +# CONFIG_TULIP is not set +# CONFIG_DE4X5 is not set +# CONFIG_WINBOND_840 is not set +# CONFIG_DM9102 is not set +# CONFIG_ULI526X is not set +# CONFIG_PCMCIA_XIRCOM is not set +CONFIG_NET_VENDOR_DLINK=y +# CONFIG_DL2K is not set +# CONFIG_SUNDANCE is not set +CONFIG_NET_VENDOR_EMULEX=y +# CONFIG_BE2NET is not set +CONFIG_NET_VENDOR_EXAR=y +# CONFIG_S2IO is not set +# CONFIG_VXGE is not set +CONFIG_NET_VENDOR_FUJITSU=y +# CONFIG_PCMCIA_FMVJ18X is not set +CONFIG_NET_VENDOR_HP=y +# CONFIG_HP100 is not set +CONFIG_NET_VENDOR_INTEL=y +CONFIG_E100=y +CONFIG_E1000=y +# CONFIG_E1000E is not set +# CONFIG_IGB is not set +# CONFIG_IGBVF is not set +# CONFIG_IXGB is not set +# CONFIG_IXGBE is not set +# CONFIG_IXGBEVF is not set +# CONFIG_I40E is not set +CONFIG_NET_VENDOR_I825XX=y +# CONFIG_IP1000 is not set +# CONFIG_JME is not set +CONFIG_NET_VENDOR_MARVELL=y +# CONFIG_MVMDIO is not set +# CONFIG_SKGE is not set +CONFIG_SKY2=y +# CONFIG_SKY2_DEBUG is not set +CONFIG_NET_VENDOR_MELLANOX=y +# CONFIG_MLX4_EN is not set +# CONFIG_MLX4_CORE is not set +# CONFIG_MLX5_CORE is not set +CONFIG_NET_VENDOR_MICREL=y +# CONFIG_KS8851_MLL is not set +# CONFIG_KSZ884X_PCI is not set +CONFIG_NET_VENDOR_MYRI=y +# CONFIG_MYRI10GE is not set +# CONFIG_FEALNX is not set +CONFIG_NET_VENDOR_NATSEMI=y +# CONFIG_NATSEMI is not set +# CONFIG_NS83820 is not set +CONFIG_NET_VENDOR_8390=y +# CONFIG_PCMCIA_AXNET is not set +# CONFIG_NE2K_PCI is not set +# CONFIG_PCMCIA_PCNET is not set +CONFIG_NET_VENDOR_NVIDIA=y +CONFIG_FORCEDETH=y +CONFIG_NET_VENDOR_OKI=y +# CONFIG_PCH_GBE is not set +# CONFIG_ETHOC is not set +CONFIG_NET_PACKET_ENGINE=y +# CONFIG_HAMACHI is not set +# CONFIG_YELLOWFIN is not set +CONFIG_NET_VENDOR_QLOGIC=y +# CONFIG_QLA3XXX is not set +# CONFIG_QLCNIC is not set +# CONFIG_QLGE is not set +# CONFIG_NETXEN_NIC is not set +CONFIG_NET_VENDOR_REALTEK=y +# CONFIG_8139CP is not set +CONFIG_8139TOO=y +CONFIG_8139TOO_PIO=y +# CONFIG_8139TOO_TUNE_TWISTER is not set +# CONFIG_8139TOO_8129 is not set +# CONFIG_8139_OLD_RX_RESET is not set +# CONFIG_R8169 is not set +# CONFIG_SH_ETH is not set +CONFIG_NET_VENDOR_RDC=y +# CONFIG_R6040 is not set +CONFIG_NET_VENDOR_SEEQ=y +CONFIG_NET_VENDOR_SILAN=y +# CONFIG_SC92031 is not set +CONFIG_NET_VENDOR_SIS=y +# CONFIG_SIS900 is not set +# CONFIG_SIS190 is not set +# CONFIG_SFC is not set +CONFIG_NET_VENDOR_SMSC=y +# CONFIG_PCMCIA_SMC91C92 is not set +# CONFIG_EPIC100 is not set +# CONFIG_SMSC911X is not set +# CONFIG_SMSC9420 is not set +CONFIG_NET_VENDOR_STMICRO=y +# CONFIG_STMMAC_ETH is not set +CONFIG_NET_VENDOR_SUN=y +# CONFIG_HAPPYMEAL is not set +# CONFIG_SUNGEM is not set +# CONFIG_CASSINI is not set +# CONFIG_NIU is not set +CONFIG_NET_VENDOR_TEHUTI=y +# CONFIG_TEHUTI is not set +CONFIG_NET_VENDOR_TI=y +# CONFIG_TLAN is not set +CONFIG_NET_VENDOR_VIA=y +# CONFIG_VIA_RHINE is not set +# CONFIG_VIA_VELOCITY is not set +CONFIG_NET_VENDOR_WIZNET=y +# CONFIG_WIZNET_W5100 is not set +# CONFIG_WIZNET_W5300 is not set +CONFIG_NET_VENDOR_XIRCOM=y +# CONFIG_PCMCIA_XIRC2PS is not set +CONFIG_FDDI=y +# CONFIG_DEFXX is not set +# CONFIG_SKFP is not set +# CONFIG_HIPPI is not set +# CONFIG_NET_SB1000 is not set +CONFIG_PHYLIB=y + +# +# MII PHY device drivers +# +# CONFIG_AT803X_PHY is not set +# CONFIG_AMD_PHY is not set +# CONFIG_MARVELL_PHY is not set +# CONFIG_DAVICOM_PHY is not set +# CONFIG_QSEMI_PHY is not set +# CONFIG_LXT_PHY is not set +# CONFIG_CICADA_PHY is not set +# CONFIG_VITESSE_PHY is not set +# CONFIG_SMSC_PHY is not set +# CONFIG_BROADCOM_PHY is not set +# CONFIG_BCM87XX_PHY is not set +# CONFIG_ICPLUS_PHY is not set +# CONFIG_REALTEK_PHY is not set +# CONFIG_NATIONAL_PHY is not set +# CONFIG_STE10XP is not set +# CONFIG_LSI_ET1011C_PHY is not set +# CONFIG_MICREL_PHY is not set +# CONFIG_FIXED_PHY is not set +# CONFIG_MDIO_BITBANG is not set +# CONFIG_PPP is not set +# CONFIG_SLIP is not set + +# +# USB Network Adapters +# +# CONFIG_USB_CATC is not set +# CONFIG_USB_KAWETH is not set +# CONFIG_USB_PEGASUS is not set +# CONFIG_USB_RTL8150 is not set +# CONFIG_USB_RTL8152 is not set +# CONFIG_USB_USBNET is not set +# CONFIG_USB_HSO is not set +# CONFIG_USB_IPHETH is not set +CONFIG_WLAN=y +# CONFIG_PCMCIA_RAYCS is not set +# CONFIG_LIBERTAS_THINFIRM is not set +# CONFIG_AIRO is not set +# CONFIG_ATMEL is not set +# CONFIG_AT76C50X_USB is not set +# CONFIG_AIRO_CS is not set +# CONFIG_PCMCIA_WL3501 is not set +# CONFIG_PRISM54 is not set +# CONFIG_USB_ZD1201 is not set +# CONFIG_USB_NET_RNDIS_WLAN is not set +# CONFIG_RTL8180 is not set +# CONFIG_RTL8187 is not set +# CONFIG_ADM8211 is not set +# CONFIG_MAC80211_HWSIM is not set +# CONFIG_MWL8K is not set +# CONFIG_ATH_CARDS is not set +# CONFIG_B43 is not set +# CONFIG_B43LEGACY is not set +# CONFIG_BRCMFMAC is not set +# CONFIG_HOSTAP is not set +# CONFIG_IPW2100 is not set +# CONFIG_IWLWIFI is not set +# CONFIG_IWL4965 is not set +# CONFIG_IWL3945 is not set +# CONFIG_LIBERTAS is not set +# CONFIG_P54_COMMON is not set +# CONFIG_RT2X00 is not set +CONFIG_RTL_CARDS=y +# CONFIG_RTL8192CE is not set +# CONFIG_RTL8192SE is not set +# CONFIG_RTL8192DE is not set +# CONFIG_RTL8723AE is not set +# CONFIG_RTL8188EE is not set +# CONFIG_RTL8192CU is not set +# CONFIG_WL_TI is not set +# CONFIG_ZD1211RW is not set +# CONFIG_MWIFIEX is not set +# CONFIG_CW1200 is not set + +# +# Enable WiMAX (Networking options) to see the WiMAX drivers +# +# CONFIG_WAN is not set +# CONFIG_VMXNET3 is not set +# CONFIG_ISDN is not set + +# +# Input device support +# +CONFIG_INPUT=y +CONFIG_INPUT_FF_MEMLESS=y +CONFIG_INPUT_POLLDEV=y +CONFIG_INPUT_SPARSEKMAP=y +# CONFIG_INPUT_MATRIXKMAP is not set + +# +# Userland interfaces +# +CONFIG_INPUT_MOUSEDEV=y +# CONFIG_INPUT_MOUSEDEV_PSAUX is not set +CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 +CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 +# CONFIG_INPUT_JOYDEV is not set +CONFIG_INPUT_EVDEV=y +# CONFIG_INPUT_EVBUG is not set + +# +# Input Device Drivers +# +CONFIG_INPUT_KEYBOARD=y +# CONFIG_KEYBOARD_ADP5588 is not set +# CONFIG_KEYBOARD_ADP5589 is not set +CONFIG_KEYBOARD_ATKBD=y +# CONFIG_KEYBOARD_QT1070 is not set +# CONFIG_KEYBOARD_QT2160 is not set +# CONFIG_KEYBOARD_LKKBD is not set +# CONFIG_KEYBOARD_TCA6416 is not set +# CONFIG_KEYBOARD_TCA8418 is not set +# CONFIG_KEYBOARD_LM8323 is not set +# CONFIG_KEYBOARD_LM8333 is not set +# CONFIG_KEYBOARD_MAX7359 is not set +# CONFIG_KEYBOARD_MCS is not set +# CONFIG_KEYBOARD_MPR121 is not set +# CONFIG_KEYBOARD_NEWTON is not set +# CONFIG_KEYBOARD_OPENCORES is not set +# CONFIG_KEYBOARD_STOWAWAY is not set +# CONFIG_KEYBOARD_SUNKBD is not set +# CONFIG_KEYBOARD_XTKBD is not set +CONFIG_INPUT_MOUSE=y +CONFIG_MOUSE_PS2=y +CONFIG_MOUSE_PS2_ALPS=y +CONFIG_MOUSE_PS2_LOGIPS2PP=y +CONFIG_MOUSE_PS2_SYNAPTICS=y +CONFIG_MOUSE_PS2_CYPRESS=y +CONFIG_MOUSE_PS2_LIFEBOOK=y +CONFIG_MOUSE_PS2_TRACKPOINT=y +# CONFIG_MOUSE_PS2_ELANTECH is not set +# CONFIG_MOUSE_PS2_SENTELIC is not set +# CONFIG_MOUSE_PS2_TOUCHKIT is not set +# CONFIG_MOUSE_SERIAL is not set +# CONFIG_MOUSE_APPLETOUCH is not set +# CONFIG_MOUSE_BCM5974 is not set +# CONFIG_MOUSE_CYAPA is not set +# CONFIG_MOUSE_VSXXXAA is not set +# CONFIG_MOUSE_SYNAPTICS_I2C is not set +# CONFIG_MOUSE_SYNAPTICS_USB is not set +CONFIG_INPUT_JOYSTICK=y +# CONFIG_JOYSTICK_ANALOG is not set +# CONFIG_JOYSTICK_A3D is not set +# CONFIG_JOYSTICK_ADI is not set +# CONFIG_JOYSTICK_COBRA is not set +# CONFIG_JOYSTICK_GF2K is not set +# CONFIG_JOYSTICK_GRIP is not set +# CONFIG_JOYSTICK_GRIP_MP is not set +# CONFIG_JOYSTICK_GUILLEMOT is not set +# CONFIG_JOYSTICK_INTERACT is not set +# CONFIG_JOYSTICK_SIDEWINDER is not set +# CONFIG_JOYSTICK_TMDC is not set +# CONFIG_JOYSTICK_IFORCE is not set +# CONFIG_JOYSTICK_WARRIOR is not set +# CONFIG_JOYSTICK_MAGELLAN is not set +# CONFIG_JOYSTICK_SPACEORB is not set +# CONFIG_JOYSTICK_SPACEBALL is not set +# CONFIG_JOYSTICK_STINGER is not set +# CONFIG_JOYSTICK_TWIDJOY is not set +# CONFIG_JOYSTICK_ZHENHUA is not set +# CONFIG_JOYSTICK_AS5011 is not set +# CONFIG_JOYSTICK_JOYDUMP is not set +# CONFIG_JOYSTICK_XPAD is not set +CONFIG_INPUT_TABLET=y +# CONFIG_TABLET_USB_ACECAD is not set +# CONFIG_TABLET_USB_AIPTEK is not set +# CONFIG_TABLET_USB_GTCO is not set +# CONFIG_TABLET_USB_HANWANG is not set +# CONFIG_TABLET_USB_KBTAB is not set +# CONFIG_TABLET_USB_WACOM is not set +CONFIG_INPUT_TOUCHSCREEN=y +# CONFIG_TOUCHSCREEN_AD7879 is not set +# CONFIG_TOUCHSCREEN_ATMEL_MXT is not set +# CONFIG_TOUCHSCREEN_BU21013 is not set +# CONFIG_TOUCHSCREEN_CYTTSP_CORE is not set +# CONFIG_TOUCHSCREEN_CYTTSP4_CORE is not set +# CONFIG_TOUCHSCREEN_DYNAPRO is not set +# CONFIG_TOUCHSCREEN_HAMPSHIRE is not set +# CONFIG_TOUCHSCREEN_EETI is not set +# CONFIG_TOUCHSCREEN_FUJITSU is not set +# CONFIG_TOUCHSCREEN_ILI210X is not set +# CONFIG_TOUCHSCREEN_GUNZE is not set +# CONFIG_TOUCHSCREEN_ELO is not set +# CONFIG_TOUCHSCREEN_WACOM_W8001 is not set +# CONFIG_TOUCHSCREEN_WACOM_I2C is not set +# CONFIG_TOUCHSCREEN_MAX11801 is not set +# CONFIG_TOUCHSCREEN_MCS5000 is not set +# CONFIG_TOUCHSCREEN_MMS114 is not set +# CONFIG_TOUCHSCREEN_MTOUCH is not set +# CONFIG_TOUCHSCREEN_INEXIO is not set +# CONFIG_TOUCHSCREEN_MK712 is not set +# CONFIG_TOUCHSCREEN_PENMOUNT is not set +# CONFIG_TOUCHSCREEN_EDT_FT5X06 is not set +# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set +# CONFIG_TOUCHSCREEN_TOUCHWIN is not set +# CONFIG_TOUCHSCREEN_PIXCIR is not set +# CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set +# CONFIG_TOUCHSCREEN_TOUCHIT213 is not set +# CONFIG_TOUCHSCREEN_TSC_SERIO is not set +# CONFIG_TOUCHSCREEN_TSC2007 is not set +# CONFIG_TOUCHSCREEN_ST1232 is not set +# CONFIG_TOUCHSCREEN_SUR40 is not set +# CONFIG_TOUCHSCREEN_TPS6507X is not set +CONFIG_INPUT_MISC=y +# CONFIG_INPUT_AD714X is not set +# CONFIG_INPUT_BMA150 is not set +# CONFIG_INPUT_PCSPKR is not set +# CONFIG_INPUT_MMA8450 is not set +# CONFIG_INPUT_MPU3050 is not set +# CONFIG_INPUT_APANEL is not set +# CONFIG_INPUT_ATLAS_BTNS is not set +# CONFIG_INPUT_ATI_REMOTE2 is not set +# CONFIG_INPUT_KEYSPAN_REMOTE is not set +# CONFIG_INPUT_KXTJ9 is not set +# CONFIG_INPUT_POWERMATE is not set +# CONFIG_INPUT_YEALINK is not set +# CONFIG_INPUT_CM109 is not set +# CONFIG_INPUT_UINPUT is not set +# CONFIG_INPUT_PCF8574 is not set +# CONFIG_INPUT_ADXL34X is not set +# CONFIG_INPUT_IMS_PCU is not set +# CONFIG_INPUT_CMA3000 is not set +# CONFIG_INPUT_IDEAPAD_SLIDEBAR is not set + +# +# Hardware I/O ports +# +CONFIG_SERIO=y +CONFIG_SERIO_I8042=y +CONFIG_SERIO_SERPORT=y +# CONFIG_SERIO_CT82C710 is not set +# CONFIG_SERIO_PCIPS2 is not set +CONFIG_SERIO_LIBPS2=y +# CONFIG_SERIO_RAW is not set +# CONFIG_SERIO_ALTERA_PS2 is not set +# CONFIG_SERIO_PS2MULT is not set +# CONFIG_SERIO_ARC_PS2 is not set +# CONFIG_GAMEPORT is not set + +# +# Character devices +# +CONFIG_TTY=y +CONFIG_VT=y +CONFIG_CONSOLE_TRANSLATIONS=y +CONFIG_VT_CONSOLE=y +CONFIG_VT_CONSOLE_SLEEP=y +CONFIG_HW_CONSOLE=y +CONFIG_VT_HW_CONSOLE_BINDING=y +CONFIG_UNIX98_PTYS=y +# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set +# CONFIG_LEGACY_PTYS is not set +CONFIG_SERIAL_NONSTANDARD=y +# CONFIG_ROCKETPORT is not set +# CONFIG_CYCLADES is not set +# CONFIG_MOXA_INTELLIO is not set +# CONFIG_MOXA_SMARTIO is not set +# CONFIG_SYNCLINK is not set +# CONFIG_SYNCLINKMP is not set +# CONFIG_SYNCLINK_GT is not set +# CONFIG_NOZOMI is not set +# CONFIG_ISI is not set +# CONFIG_N_HDLC is not set +# CONFIG_N_GSM is not set +# CONFIG_TRACE_SINK is not set +CONFIG_DEVKMEM=y + +# +# Serial drivers +# +CONFIG_SERIAL_8250=y +CONFIG_SERIAL_8250_DEPRECATED_OPTIONS=y +CONFIG_SERIAL_8250_PNP=y +CONFIG_SERIAL_8250_CONSOLE=y +CONFIG_FIX_EARLYCON_MEM=y +CONFIG_SERIAL_8250_DMA=y +CONFIG_SERIAL_8250_PCI=y +# CONFIG_SERIAL_8250_CS is not set +CONFIG_SERIAL_8250_NR_UARTS=32 +CONFIG_SERIAL_8250_RUNTIME_UARTS=4 +CONFIG_SERIAL_8250_EXTENDED=y +CONFIG_SERIAL_8250_MANY_PORTS=y +CONFIG_SERIAL_8250_SHARE_IRQ=y +CONFIG_SERIAL_8250_DETECT_IRQ=y +CONFIG_SERIAL_8250_RSA=y +# CONFIG_SERIAL_8250_DW is not set + +# +# Non-8250 serial port support +# +# CONFIG_SERIAL_MFD_HSU is not set +CONFIG_SERIAL_CORE=y +CONFIG_SERIAL_CORE_CONSOLE=y +# CONFIG_SERIAL_JSM is not set +# CONFIG_SERIAL_SCCNXP is not set +# CONFIG_SERIAL_TIMBERDALE is not set +# CONFIG_SERIAL_ALTERA_JTAGUART is not set +# CONFIG_SERIAL_ALTERA_UART is not set +# CONFIG_SERIAL_PCH_UART is not set +# CONFIG_SERIAL_ARC is not set +# CONFIG_SERIAL_RP2 is not set +# CONFIG_SERIAL_FSL_LPUART is not set +# CONFIG_IPMI_HANDLER is not set +CONFIG_HW_RANDOM=y +# CONFIG_HW_RANDOM_TIMERIOMEM is not set +# CONFIG_HW_RANDOM_INTEL is not set +# CONFIG_HW_RANDOM_AMD is not set +CONFIG_HW_RANDOM_VIA=y +CONFIG_NVRAM=y +# CONFIG_R3964 is not set +# CONFIG_APPLICOM is not set + +# +# PCMCIA character devices +# +# CONFIG_SYNCLINK_CS is not set +# CONFIG_CARDMAN_4000 is not set +# CONFIG_CARDMAN_4040 is not set +# CONFIG_IPWIRELESS is not set +# CONFIG_MWAVE is not set +# CONFIG_RAW_DRIVER is not set +CONFIG_HPET=y +# CONFIG_HPET_MMAP is not set +# CONFIG_HANGCHECK_TIMER is not set +# CONFIG_TCG_TPM is not set +# CONFIG_TELCLOCK is not set +CONFIG_DEVPORT=y +CONFIG_I2C=y +CONFIG_I2C_BOARDINFO=y +CONFIG_I2C_COMPAT=y +# CONFIG_I2C_CHARDEV is not set +# CONFIG_I2C_MUX is not set +CONFIG_I2C_HELPER_AUTO=y +CONFIG_I2C_ALGOBIT=y + +# +# I2C Hardware Bus support +# + +# +# PC SMBus host controller drivers +# +# CONFIG_I2C_ALI1535 is not set +# CONFIG_I2C_ALI1563 is not set +# CONFIG_I2C_ALI15X3 is not set +# CONFIG_I2C_AMD756 is not set +# CONFIG_I2C_AMD8111 is not set +CONFIG_I2C_I801=y +# CONFIG_I2C_ISCH is not set +# CONFIG_I2C_ISMT is not set +# CONFIG_I2C_PIIX4 is not set +# CONFIG_I2C_NFORCE2 is not set +# CONFIG_I2C_SIS5595 is not set +# CONFIG_I2C_SIS630 is not set +# CONFIG_I2C_SIS96X is not set +# CONFIG_I2C_VIA is not set +# CONFIG_I2C_VIAPRO is not set + +# +# ACPI drivers +# +# CONFIG_I2C_SCMI is not set + +# +# I2C system bus drivers (mostly embedded / system-on-chip) +# +# CONFIG_I2C_DESIGNWARE_PCI is not set +# CONFIG_I2C_EG20T is not set +# CONFIG_I2C_OCORES is not set +# CONFIG_I2C_PCA_PLATFORM is not set +# CONFIG_I2C_PXA_PCI is not set +# CONFIG_I2C_SIMTEC is not set +# CONFIG_I2C_XILINX is not set + +# +# External I2C/SMBus adapter drivers +# +# CONFIG_I2C_DIOLAN_U2C is not set +# CONFIG_I2C_PARPORT_LIGHT is not set +# CONFIG_I2C_TAOS_EVM is not set +# CONFIG_I2C_TINY_USB is not set + +# +# Other I2C/SMBus bus drivers +# +# CONFIG_I2C_STUB is not set +# CONFIG_I2C_DEBUG_CORE is not set +# CONFIG_I2C_DEBUG_ALGO is not set +# CONFIG_I2C_DEBUG_BUS is not set +# CONFIG_SPI is not set +# CONFIG_HSI is not set + +# +# PPS support +# +CONFIG_PPS=y +# CONFIG_PPS_DEBUG is not set + +# +# PPS clients support +# +# CONFIG_PPS_CLIENT_KTIMER is not set +# CONFIG_PPS_CLIENT_LDISC is not set +# CONFIG_PPS_CLIENT_GPIO is not set + +# +# PPS generators support +# + +# +# PTP clock support +# +CONFIG_PTP_1588_CLOCK=y + +# +# Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks. +# +# CONFIG_PTP_1588_CLOCK_PCH is not set +CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y +# CONFIG_GPIOLIB is not set +# CONFIG_W1 is not set +CONFIG_POWER_SUPPLY=y +# CONFIG_POWER_SUPPLY_DEBUG is not set +# CONFIG_PDA_POWER is not set +# CONFIG_TEST_POWER is not set +# CONFIG_BATTERY_DS2780 is not set +# CONFIG_BATTERY_DS2781 is not set +# CONFIG_BATTERY_DS2782 is not set +# CONFIG_BATTERY_SBS is not set +# CONFIG_BATTERY_BQ27x00 is not set +# CONFIG_BATTERY_MAX17040 is not set +# CONFIG_BATTERY_MAX17042 is not set +# CONFIG_CHARGER_MAX8903 is not set +# CONFIG_CHARGER_LP8727 is not set +# CONFIG_CHARGER_BQ2415X is not set +# CONFIG_CHARGER_SMB347 is not set +# CONFIG_POWER_RESET is not set +# CONFIG_POWER_AVS is not set +CONFIG_HWMON=y +# CONFIG_HWMON_VID is not set +# CONFIG_HWMON_DEBUG_CHIP is not set + +# +# Native drivers +# +# CONFIG_SENSORS_ABITUGURU is not set +# CONFIG_SENSORS_ABITUGURU3 is not set +# CONFIG_SENSORS_AD7414 is not set +# CONFIG_SENSORS_AD7418 is not set +# CONFIG_SENSORS_ADM1021 is not set +# CONFIG_SENSORS_ADM1025 is not set +# CONFIG_SENSORS_ADM1026 is not set +# CONFIG_SENSORS_ADM1029 is not set +# CONFIG_SENSORS_ADM1031 is not set +# CONFIG_SENSORS_ADM9240 is not set +# CONFIG_SENSORS_ADT7410 is not set +# CONFIG_SENSORS_ADT7411 is not set +# CONFIG_SENSORS_ADT7462 is not set +# CONFIG_SENSORS_ADT7470 is not set +# CONFIG_SENSORS_ADT7475 is not set +# CONFIG_SENSORS_ASC7621 is not set +# CONFIG_SENSORS_K8TEMP is not set +# CONFIG_SENSORS_K10TEMP is not set +# CONFIG_SENSORS_FAM15H_POWER is not set +# CONFIG_SENSORS_ASB100 is not set +# CONFIG_SENSORS_ATXP1 is not set +# CONFIG_SENSORS_DS620 is not set +# CONFIG_SENSORS_DS1621 is not set +# CONFIG_SENSORS_I5K_AMB is not set +# CONFIG_SENSORS_F71805F is not set +# CONFIG_SENSORS_F71882FG is not set +# CONFIG_SENSORS_F75375S is not set +# CONFIG_SENSORS_FSCHMD is not set +# CONFIG_SENSORS_G760A is not set +# CONFIG_SENSORS_G762 is not set +# CONFIG_SENSORS_GL518SM is not set +# CONFIG_SENSORS_GL520SM is not set +# CONFIG_SENSORS_HIH6130 is not set +# CONFIG_SENSORS_HTU21 is not set +# CONFIG_SENSORS_CORETEMP is not set +# CONFIG_SENSORS_IT87 is not set +# CONFIG_SENSORS_JC42 is not set +# CONFIG_SENSORS_LINEAGE is not set +# CONFIG_SENSORS_LM63 is not set +# CONFIG_SENSORS_LM73 is not set +# CONFIG_SENSORS_LM75 is not set +# CONFIG_SENSORS_LM77 is not set +# CONFIG_SENSORS_LM78 is not set +# CONFIG_SENSORS_LM80 is not set +# CONFIG_SENSORS_LM83 is not set +# CONFIG_SENSORS_LM85 is not set +# CONFIG_SENSORS_LM87 is not set +# CONFIG_SENSORS_LM90 is not set +# CONFIG_SENSORS_LM92 is not set +# CONFIG_SENSORS_LM93 is not set +# CONFIG_SENSORS_LTC4151 is not set +# CONFIG_SENSORS_LTC4215 is not set +# CONFIG_SENSORS_LTC4245 is not set +# CONFIG_SENSORS_LTC4261 is not set +# CONFIG_SENSORS_LM95234 is not set +# CONFIG_SENSORS_LM95241 is not set +# CONFIG_SENSORS_LM95245 is not set +# CONFIG_SENSORS_MAX16065 is not set +# CONFIG_SENSORS_MAX1619 is not set +# CONFIG_SENSORS_MAX1668 is not set +# CONFIG_SENSORS_MAX197 is not set +# CONFIG_SENSORS_MAX6639 is not set +# CONFIG_SENSORS_MAX6642 is not set +# CONFIG_SENSORS_MAX6650 is not set +# CONFIG_SENSORS_MAX6697 is not set +# CONFIG_SENSORS_MCP3021 is not set +# CONFIG_SENSORS_NCT6775 is not set +# CONFIG_SENSORS_NTC_THERMISTOR is not set +# CONFIG_SENSORS_PC87360 is not set +# CONFIG_SENSORS_PC87427 is not set +# CONFIG_SENSORS_PCF8591 is not set +# CONFIG_PMBUS is not set +# CONFIG_SENSORS_SHT21 is not set +# CONFIG_SENSORS_SIS5595 is not set +# CONFIG_SENSORS_SMM665 is not set +# CONFIG_SENSORS_DME1737 is not set +# CONFIG_SENSORS_EMC1403 is not set +# CONFIG_SENSORS_EMC2103 is not set +# CONFIG_SENSORS_EMC6W201 is not set +# CONFIG_SENSORS_SMSC47M1 is not set +# CONFIG_SENSORS_SMSC47M192 is not set +# CONFIG_SENSORS_SMSC47B397 is not set +# CONFIG_SENSORS_SCH56XX_COMMON is not set +# CONFIG_SENSORS_SCH5627 is not set +# CONFIG_SENSORS_SCH5636 is not set +# CONFIG_SENSORS_ADS1015 is not set +# CONFIG_SENSORS_ADS7828 is not set +# CONFIG_SENSORS_AMC6821 is not set +# CONFIG_SENSORS_INA209 is not set +# CONFIG_SENSORS_INA2XX is not set +# CONFIG_SENSORS_THMC50 is not set +# CONFIG_SENSORS_TMP102 is not set +# CONFIG_SENSORS_TMP401 is not set +# CONFIG_SENSORS_TMP421 is not set +# CONFIG_SENSORS_VIA_CPUTEMP is not set +# CONFIG_SENSORS_VIA686A is not set +# CONFIG_SENSORS_VT1211 is not set +# CONFIG_SENSORS_VT8231 is not set +# CONFIG_SENSORS_W83781D is not set +# CONFIG_SENSORS_W83791D is not set +# CONFIG_SENSORS_W83792D is not set +# CONFIG_SENSORS_W83793 is not set +# CONFIG_SENSORS_W83795 is not set +# CONFIG_SENSORS_W83L785TS is not set +# CONFIG_SENSORS_W83L786NG is not set +# CONFIG_SENSORS_W83627HF is not set +# CONFIG_SENSORS_W83627EHF is not set +# CONFIG_SENSORS_APPLESMC is not set + +# +# ACPI drivers +# +# CONFIG_SENSORS_ACPI_POWER is not set +# CONFIG_SENSORS_ATK0110 is not set +CONFIG_THERMAL=y +CONFIG_THERMAL_HWMON=y +CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y +# CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE is not set +# CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE is not set +# CONFIG_THERMAL_GOV_FAIR_SHARE is not set +CONFIG_THERMAL_GOV_STEP_WISE=y +CONFIG_THERMAL_GOV_USER_SPACE=y +# CONFIG_CPU_THERMAL is not set +# CONFIG_THERMAL_EMULATION is not set +# CONFIG_INTEL_POWERCLAMP is not set +CONFIG_X86_PKG_TEMP_THERMAL=m + +# +# Texas Instruments thermal drivers +# +CONFIG_WATCHDOG=y +# CONFIG_WATCHDOG_CORE is not set +# CONFIG_WATCHDOG_NOWAYOUT is not set + +# +# Watchdog Device Drivers +# +# CONFIG_SOFT_WATCHDOG is not set +# CONFIG_ACQUIRE_WDT is not set +# CONFIG_ADVANTECH_WDT is not set +# CONFIG_ALIM1535_WDT is not set +# CONFIG_ALIM7101_WDT is not set +# CONFIG_F71808E_WDT is not set +# CONFIG_SP5100_TCO is not set +# CONFIG_SC520_WDT is not set +# CONFIG_SBC_FITPC2_WATCHDOG is not set +# CONFIG_EUROTECH_WDT is not set +# CONFIG_IB700_WDT is not set +# CONFIG_IBMASR is not set +# CONFIG_WAFER_WDT is not set +# CONFIG_I6300ESB_WDT is not set +# CONFIG_IE6XX_WDT is not set +# CONFIG_ITCO_WDT is not set +# CONFIG_IT8712F_WDT is not set +# CONFIG_IT87_WDT is not set +# CONFIG_HP_WATCHDOG is not set +# CONFIG_SC1200_WDT is not set +# CONFIG_PC87413_WDT is not set +# CONFIG_NV_TCO is not set +# CONFIG_60XX_WDT is not set +# CONFIG_SBC8360_WDT is not set +# CONFIG_CPU5_WDT is not set +# CONFIG_SMSC_SCH311X_WDT is not set +# CONFIG_SMSC37B787_WDT is not set +# CONFIG_VIA_WDT is not set +# CONFIG_W83627HF_WDT is not set +# CONFIG_W83697HF_WDT is not set +# CONFIG_W83697UG_WDT is not set +# CONFIG_W83877F_WDT is not set +# CONFIG_W83977F_WDT is not set +# CONFIG_MACHZ_WDT is not set +# CONFIG_SBC_EPX_C3_WATCHDOG is not set + +# +# PCI-based Watchdog Cards +# +# CONFIG_PCIPCWATCHDOG is not set +# CONFIG_WDTPCI is not set + +# +# USB-based Watchdog Cards +# +# CONFIG_USBPCWATCHDOG is not set +CONFIG_SSB_POSSIBLE=y + +# +# Sonics Silicon Backplane +# +# CONFIG_SSB is not set +CONFIG_BCMA_POSSIBLE=y + +# +# Broadcom specific AMBA +# +# CONFIG_BCMA is not set + +# +# Multifunction device drivers +# +# CONFIG_MFD_CORE is not set +# CONFIG_MFD_CS5535 is not set +# CONFIG_MFD_AS3711 is not set +# CONFIG_PMIC_ADP5520 is not set +# CONFIG_MFD_CROS_EC is not set +# CONFIG_PMIC_DA903X is not set +# CONFIG_MFD_DA9052_I2C is not set +# CONFIG_MFD_DA9055 is not set +# CONFIG_MFD_DA9063 is not set +# CONFIG_MFD_MC13XXX_I2C is not set +# CONFIG_HTC_PASIC3 is not set +# CONFIG_LPC_ICH is not set +# CONFIG_LPC_SCH is not set +# CONFIG_MFD_JANZ_CMODIO is not set +# CONFIG_MFD_KEMPLD is not set +# CONFIG_MFD_88PM800 is not set +# CONFIG_MFD_88PM805 is not set +# CONFIG_MFD_88PM860X is not set +# CONFIG_MFD_MAX77686 is not set +# CONFIG_MFD_MAX77693 is not set +# CONFIG_MFD_MAX8907 is not set +# CONFIG_MFD_MAX8925 is not set +# CONFIG_MFD_MAX8997 is not set +# CONFIG_MFD_MAX8998 is not set +# CONFIG_MFD_VIPERBOARD is not set +# CONFIG_MFD_RETU is not set +# CONFIG_MFD_PCF50633 is not set +# CONFIG_MFD_RDC321X is not set +# CONFIG_MFD_RTSX_PCI is not set +# CONFIG_MFD_RC5T583 is not set +# CONFIG_MFD_SEC_CORE is not set +# CONFIG_MFD_SI476X_CORE is not set +# CONFIG_MFD_SM501 is not set +# CONFIG_MFD_SMSC is not set +# CONFIG_ABX500_CORE is not set +# CONFIG_MFD_STMPE is not set +# CONFIG_MFD_SYSCON is not set +# CONFIG_MFD_TI_AM335X_TSCADC is not set +# CONFIG_MFD_LP8788 is not set +# CONFIG_MFD_PALMAS is not set +# CONFIG_TPS6105X is not set +# CONFIG_TPS6507X is not set +# CONFIG_MFD_TPS65090 is not set +# CONFIG_MFD_TPS65217 is not set +# CONFIG_MFD_TPS6586X is not set +# CONFIG_MFD_TPS80031 is not set +# CONFIG_TWL4030_CORE is not set +# CONFIG_TWL6040_CORE is not set +# CONFIG_MFD_WL1273_CORE is not set +# CONFIG_MFD_LM3533 is not set +# CONFIG_MFD_TC3589X is not set +# CONFIG_MFD_TMIO is not set +# CONFIG_MFD_VX855 is not set +# CONFIG_MFD_ARIZONA_I2C is not set +# CONFIG_MFD_WM8400 is not set +# CONFIG_MFD_WM831X_I2C is not set +# CONFIG_MFD_WM8350_I2C is not set +# CONFIG_MFD_WM8994 is not set +# CONFIG_REGULATOR is not set +# CONFIG_MEDIA_SUPPORT is not set + +# +# Graphics support +# +CONFIG_AGP=y +CONFIG_AGP_AMD64=y +CONFIG_AGP_INTEL=y +# CONFIG_AGP_SIS is not set +# CONFIG_AGP_VIA is not set +CONFIG_VGA_ARB=y +CONFIG_VGA_ARB_MAX_GPUS=16 +# CONFIG_VGA_SWITCHEROO is not set +CONFIG_DRM=y +CONFIG_DRM_KMS_HELPER=y +CONFIG_DRM_KMS_FB_HELPER=y +# CONFIG_DRM_LOAD_EDID_FIRMWARE is not set + +# +# I2C encoder or helper chips +# +# CONFIG_DRM_I2C_CH7006 is not set +# CONFIG_DRM_I2C_SIL164 is not set +# CONFIG_DRM_I2C_NXP_TDA998X is not set +# CONFIG_DRM_TDFX is not set +# CONFIG_DRM_R128 is not set +# CONFIG_DRM_RADEON is not set +# CONFIG_DRM_NOUVEAU is not set +# CONFIG_DRM_I810 is not set +CONFIG_DRM_I915=y +CONFIG_DRM_I915_KMS=y +CONFIG_DRM_I915_FBDEV=y +# CONFIG_DRM_I915_PRELIMINARY_HW_SUPPORT is not set +# CONFIG_DRM_MGA is not set +# CONFIG_DRM_SIS is not set +# CONFIG_DRM_VIA is not set +# CONFIG_DRM_SAVAGE is not set +# CONFIG_DRM_VMWGFX is not set +# CONFIG_DRM_GMA500 is not set +# CONFIG_DRM_UDL is not set +# CONFIG_DRM_AST is not set +# CONFIG_DRM_MGAG200 is not set +# CONFIG_DRM_CIRRUS_QEMU is not set +# CONFIG_DRM_QXL is not set +# CONFIG_VGASTATE is not set +CONFIG_VIDEO_OUTPUT_CONTROL=y +CONFIG_HDMI=y +CONFIG_FB=y +# CONFIG_FIRMWARE_EDID is not set +# CONFIG_FB_DDC is not set +# CONFIG_FB_BOOT_VESA_SUPPORT is not set +CONFIG_FB_CFB_FILLRECT=y +CONFIG_FB_CFB_COPYAREA=y +CONFIG_FB_CFB_IMAGEBLIT=y +# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set +# CONFIG_FB_SYS_FILLRECT is not set +# CONFIG_FB_SYS_COPYAREA is not set +# CONFIG_FB_SYS_IMAGEBLIT is not set +# CONFIG_FB_FOREIGN_ENDIAN is not set +# CONFIG_FB_SYS_FOPS is not set +# CONFIG_FB_SVGALIB is not set +# CONFIG_FB_MACMODES is not set +# CONFIG_FB_BACKLIGHT is not set +CONFIG_FB_MODE_HELPERS=y +CONFIG_FB_TILEBLITTING=y + +# +# Frame buffer hardware drivers +# +# CONFIG_FB_CIRRUS is not set +# CONFIG_FB_PM2 is not set +# CONFIG_FB_CYBER2000 is not set +# CONFIG_FB_ARC is not set +# CONFIG_FB_ASILIANT is not set +# CONFIG_FB_IMSTT is not set +# CONFIG_FB_VGA16 is not set +# CONFIG_FB_UVESA is not set +# CONFIG_FB_VESA is not set +CONFIG_FB_EFI=y +# CONFIG_FB_N411 is not set +# CONFIG_FB_HGA is not set +# CONFIG_FB_S1D13XXX is not set +# CONFIG_FB_NVIDIA is not set +# CONFIG_FB_RIVA is not set +# CONFIG_FB_I740 is not set +# CONFIG_FB_LE80578 is not set +# CONFIG_FB_MATROX is not set +# CONFIG_FB_RADEON is not set +# CONFIG_FB_ATY128 is not set +# CONFIG_FB_ATY is not set +# CONFIG_FB_S3 is not set +# CONFIG_FB_SAVAGE is not set +# CONFIG_FB_SIS is not set +# CONFIG_FB_VIA is not set +# CONFIG_FB_NEOMAGIC is not set +# CONFIG_FB_KYRO is not set +# CONFIG_FB_3DFX is not set +# CONFIG_FB_VOODOO1 is not set +# CONFIG_FB_VT8623 is not set +# CONFIG_FB_TRIDENT is not set +# CONFIG_FB_ARK is not set +# CONFIG_FB_PM3 is not set +# CONFIG_FB_CARMINE is not set +# CONFIG_FB_SMSCUFX is not set +# CONFIG_FB_UDL is not set +# CONFIG_FB_GOLDFISH is not set +# CONFIG_FB_VIRTUAL is not set +# CONFIG_FB_METRONOME is not set +# CONFIG_FB_MB862XX is not set +# CONFIG_FB_BROADSHEET is not set +# CONFIG_FB_AUO_K190X is not set +# CONFIG_FB_SIMPLE is not set +# CONFIG_EXYNOS_VIDEO is not set +CONFIG_BACKLIGHT_LCD_SUPPORT=y +# CONFIG_LCD_CLASS_DEVICE is not set +CONFIG_BACKLIGHT_CLASS_DEVICE=y +CONFIG_BACKLIGHT_GENERIC=y +# CONFIG_BACKLIGHT_APPLE is not set +# CONFIG_BACKLIGHT_SAHARA is not set +# CONFIG_BACKLIGHT_ADP8860 is not set +# CONFIG_BACKLIGHT_ADP8870 is not set +# CONFIG_BACKLIGHT_LM3630A is not set +# CONFIG_BACKLIGHT_LM3639 is not set +# CONFIG_BACKLIGHT_LP855X is not set +# CONFIG_BACKLIGHT_LV5207LP is not set +# CONFIG_BACKLIGHT_BD6107 is not set + +# +# Console display driver support +# +CONFIG_VGA_CONSOLE=y +CONFIG_VGACON_SOFT_SCROLLBACK=y +CONFIG_VGACON_SOFT_SCROLLBACK_SIZE=64 +CONFIG_DUMMY_CONSOLE=y +CONFIG_FRAMEBUFFER_CONSOLE=y +CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y +# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set +CONFIG_LOGO=y +# CONFIG_LOGO_LINUX_MONO is not set +# CONFIG_LOGO_LINUX_VGA16 is not set +CONFIG_LOGO_LINUX_CLUT224=y +CONFIG_SOUND=y +CONFIG_SOUND_OSS_CORE=y +CONFIG_SOUND_OSS_CORE_PRECLAIM=y +CONFIG_SND=y +CONFIG_SND_TIMER=y +CONFIG_SND_PCM=y +CONFIG_SND_HWDEP=y +CONFIG_SND_SEQUENCER=y +CONFIG_SND_SEQ_DUMMY=y +CONFIG_SND_OSSEMUL=y +CONFIG_SND_MIXER_OSS=y +CONFIG_SND_PCM_OSS=y +CONFIG_SND_PCM_OSS_PLUGINS=y +CONFIG_SND_SEQUENCER_OSS=y +CONFIG_SND_HRTIMER=y +CONFIG_SND_SEQ_HRTIMER_DEFAULT=y +# CONFIG_SND_DYNAMIC_MINORS is not set +CONFIG_SND_SUPPORT_OLD_API=y +CONFIG_SND_VERBOSE_PROCFS=y +# CONFIG_SND_VERBOSE_PRINTK is not set +# CONFIG_SND_DEBUG is not set +CONFIG_SND_VMASTER=y +CONFIG_SND_KCTL_JACK=y +CONFIG_SND_DMA_SGBUF=y +# CONFIG_SND_RAWMIDI_SEQ is not set +# CONFIG_SND_OPL3_LIB_SEQ is not set +# CONFIG_SND_OPL4_LIB_SEQ is not set +# CONFIG_SND_SBAWE_SEQ is not set +# CONFIG_SND_EMU10K1_SEQ is not set +CONFIG_SND_DRIVERS=y +# CONFIG_SND_PCSP is not set +# CONFIG_SND_DUMMY is not set +# CONFIG_SND_ALOOP is not set +# CONFIG_SND_VIRMIDI is not set +# CONFIG_SND_MTPAV is not set +# CONFIG_SND_SERIAL_U16550 is not set +# CONFIG_SND_MPU401 is not set +CONFIG_SND_PCI=y +# CONFIG_SND_AD1889 is not set +# CONFIG_SND_ALS300 is not set +# CONFIG_SND_ALS4000 is not set +# CONFIG_SND_ALI5451 is not set +# CONFIG_SND_ASIHPI is not set +# CONFIG_SND_ATIIXP is not set +# CONFIG_SND_ATIIXP_MODEM is not set +# CONFIG_SND_AU8810 is not set +# CONFIG_SND_AU8820 is not set +# CONFIG_SND_AU8830 is not set +# CONFIG_SND_AW2 is not set +# CONFIG_SND_AZT3328 is not set +# CONFIG_SND_BT87X is not set +# CONFIG_SND_CA0106 is not set +# CONFIG_SND_CMIPCI is not set +# CONFIG_SND_OXYGEN is not set +# CONFIG_SND_CS4281 is not set +# CONFIG_SND_CS46XX is not set +# CONFIG_SND_CS5530 is not set +# CONFIG_SND_CS5535AUDIO is not set +# CONFIG_SND_CTXFI is not set +# CONFIG_SND_DARLA20 is not set +# CONFIG_SND_GINA20 is not set +# CONFIG_SND_LAYLA20 is not set +# CONFIG_SND_DARLA24 is not set +# CONFIG_SND_GINA24 is not set +# CONFIG_SND_LAYLA24 is not set +# CONFIG_SND_MONA is not set +# CONFIG_SND_MIA is not set +# CONFIG_SND_ECHO3G is not set +# CONFIG_SND_INDIGO is not set +# CONFIG_SND_INDIGOIO is not set +# CONFIG_SND_INDIGODJ is not set +# CONFIG_SND_INDIGOIOX is not set +# CONFIG_SND_INDIGODJX is not set +# CONFIG_SND_EMU10K1 is not set +# CONFIG_SND_EMU10K1X is not set +# CONFIG_SND_ENS1370 is not set +# CONFIG_SND_ENS1371 is not set +# CONFIG_SND_ES1938 is not set +# CONFIG_SND_ES1968 is not set +# CONFIG_SND_FM801 is not set +CONFIG_SND_HDA_INTEL=y +CONFIG_SND_HDA_PREALLOC_SIZE=64 +CONFIG_SND_HDA_HWDEP=y +# CONFIG_SND_HDA_RECONFIG is not set +# CONFIG_SND_HDA_INPUT_BEEP is not set +# CONFIG_SND_HDA_INPUT_JACK is not set +# CONFIG_SND_HDA_PATCH_LOADER is not set +CONFIG_SND_HDA_CODEC_REALTEK=y +CONFIG_SND_HDA_CODEC_ANALOG=y +CONFIG_SND_HDA_CODEC_SIGMATEL=y +CONFIG_SND_HDA_CODEC_VIA=y +CONFIG_SND_HDA_CODEC_HDMI=y +CONFIG_SND_HDA_I915=y +CONFIG_SND_HDA_CODEC_CIRRUS=y +CONFIG_SND_HDA_CODEC_CONEXANT=y +CONFIG_SND_HDA_CODEC_CA0110=y +CONFIG_SND_HDA_CODEC_CA0132=y +# CONFIG_SND_HDA_CODEC_CA0132_DSP is not set +CONFIG_SND_HDA_CODEC_CMEDIA=y +CONFIG_SND_HDA_CODEC_SI3054=y +CONFIG_SND_HDA_GENERIC=y +CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0 +# CONFIG_SND_HDSP is not set +# CONFIG_SND_HDSPM is not set +# CONFIG_SND_ICE1712 is not set +# CONFIG_SND_ICE1724 is not set +# CONFIG_SND_INTEL8X0 is not set +# CONFIG_SND_INTEL8X0M is not set +# CONFIG_SND_KORG1212 is not set +# CONFIG_SND_LOLA is not set +# CONFIG_SND_LX6464ES is not set +# CONFIG_SND_MAESTRO3 is not set +# CONFIG_SND_MIXART is not set +# CONFIG_SND_NM256 is not set +# CONFIG_SND_PCXHR is not set +# CONFIG_SND_RIPTIDE is not set +# CONFIG_SND_RME32 is not set +# CONFIG_SND_RME96 is not set +# CONFIG_SND_RME9652 is not set +# CONFIG_SND_SONICVIBES is not set +# CONFIG_SND_TRIDENT is not set +# CONFIG_SND_VIA82XX is not set +# CONFIG_SND_VIA82XX_MODEM is not set +# CONFIG_SND_VIRTUOSO is not set +# CONFIG_SND_VX222 is not set +# CONFIG_SND_YMFPCI is not set +CONFIG_SND_USB=y +# CONFIG_SND_USB_AUDIO is not set +# CONFIG_SND_USB_UA101 is not set +# CONFIG_SND_USB_USX2Y is not set +# CONFIG_SND_USB_CAIAQ is not set +# CONFIG_SND_USB_US122L is not set +# CONFIG_SND_USB_6FIRE is not set +# CONFIG_SND_USB_HIFACE is not set +CONFIG_SND_PCMCIA=y +# CONFIG_SND_VXPOCKET is not set +# CONFIG_SND_PDAUDIOCF is not set +# CONFIG_SND_SOC is not set +# CONFIG_SOUND_PRIME is not set + +# +# HID support +# +CONFIG_HID=y +# CONFIG_HID_BATTERY_STRENGTH is not set +CONFIG_HIDRAW=y +# CONFIG_UHID is not set +CONFIG_HID_GENERIC=y + +# +# Special HID drivers +# +CONFIG_HID_A4TECH=y +# CONFIG_HID_ACRUX is not set +CONFIG_HID_APPLE=y +# CONFIG_HID_APPLEIR is not set +# CONFIG_HID_AUREAL is not set +CONFIG_HID_BELKIN=y +CONFIG_HID_CHERRY=y +CONFIG_HID_CHICONY=y +# CONFIG_HID_PRODIKEYS is not set +CONFIG_HID_CYPRESS=y +# CONFIG_HID_DRAGONRISE is not set +# CONFIG_HID_EMS_FF is not set +# CONFIG_HID_ELECOM is not set +# CONFIG_HID_ELO is not set +CONFIG_HID_EZKEY=y +# CONFIG_HID_HOLTEK is not set +# CONFIG_HID_HUION is not set +# CONFIG_HID_KEYTOUCH is not set +# CONFIG_HID_KYE is not set +# CONFIG_HID_UCLOGIC is not set +# CONFIG_HID_WALTOP is not set +CONFIG_HID_GYRATION=y +# CONFIG_HID_ICADE is not set +# CONFIG_HID_TWINHAN is not set +CONFIG_HID_KENSINGTON=y +# CONFIG_HID_LCPOWER is not set +# CONFIG_HID_LENOVO_TPKBD is not set +CONFIG_HID_LOGITECH=y +# CONFIG_HID_LOGITECH_DJ is not set +CONFIG_LOGITECH_FF=y +# CONFIG_LOGIRUMBLEPAD2_FF is not set +# CONFIG_LOGIG940_FF is not set +CONFIG_LOGIWHEELS_FF=y +# CONFIG_HID_MAGICMOUSE is not set +CONFIG_HID_MICROSOFT=y +CONFIG_HID_MONTEREY=y +# CONFIG_HID_MULTITOUCH is not set +CONFIG_HID_NTRIG=y +# CONFIG_HID_ORTEK is not set +CONFIG_HID_PANTHERLORD=y +CONFIG_PANTHERLORD_FF=y +CONFIG_HID_PETALYNX=y +# CONFIG_HID_PICOLCD is not set +# CONFIG_HID_PRIMAX is not set +# CONFIG_HID_ROCCAT is not set +# CONFIG_HID_SAITEK is not set +CONFIG_HID_SAMSUNG=y +CONFIG_HID_SONY=y +# CONFIG_SONY_FF is not set +# CONFIG_HID_SPEEDLINK is not set +# CONFIG_HID_STEELSERIES is not set +CONFIG_HID_SUNPLUS=y +# CONFIG_HID_GREENASIA is not set +# CONFIG_HID_SMARTJOYPLUS is not set +# CONFIG_HID_TIVO is not set +CONFIG_HID_TOPSEED=y +# CONFIG_HID_THINGM is not set +# CONFIG_HID_THRUSTMASTER is not set +# CONFIG_HID_WACOM is not set +# CONFIG_HID_WIIMOTE is not set +# CONFIG_HID_XINMO is not set +# CONFIG_HID_ZEROPLUS is not set +# CONFIG_HID_ZYDACRON is not set +# CONFIG_HID_SENSOR_HUB is not set + +# +# USB HID support +# +CONFIG_USB_HID=y +CONFIG_HID_PID=y +CONFIG_USB_HIDDEV=y + +# +# I2C HID support +# +# CONFIG_I2C_HID is not set +CONFIG_USB_OHCI_LITTLE_ENDIAN=y +CONFIG_USB_SUPPORT=y +CONFIG_USB_COMMON=y +CONFIG_USB_ARCH_HAS_HCD=y +CONFIG_USB=y +CONFIG_USB_DEBUG=y +CONFIG_USB_ANNOUNCE_NEW_DEVICES=y + +# +# Miscellaneous USB options +# +CONFIG_USB_DEFAULT_PERSIST=y +# CONFIG_USB_DYNAMIC_MINORS is not set +CONFIG_USB_MON=y +# CONFIG_USB_WUSB_CBAF is not set + +# +# USB Host Controller Drivers +# +# CONFIG_USB_C67X00_HCD is not set +# CONFIG_USB_XHCI_HCD is not set +CONFIG_USB_EHCI_HCD=y +# CONFIG_USB_EHCI_ROOT_HUB_TT is not set +# CONFIG_USB_EHCI_TT_NEWSCHED is not set +CONFIG_USB_EHCI_PCI=y +# CONFIG_USB_EHCI_HCD_PLATFORM is not set +# CONFIG_USB_OXU210HP_HCD is not set +# CONFIG_USB_ISP116X_HCD is not set +# CONFIG_USB_ISP1760_HCD is not set +# CONFIG_USB_ISP1362_HCD is not set +# CONFIG_USB_FUSBH200_HCD is not set +# CONFIG_USB_FOTG210_HCD is not set +CONFIG_USB_OHCI_HCD=y +CONFIG_USB_OHCI_HCD_PCI=y +# CONFIG_USB_OHCI_HCD_PLATFORM is not set +CONFIG_USB_UHCI_HCD=y +# CONFIG_USB_SL811_HCD is not set +# CONFIG_USB_R8A66597_HCD is not set +# CONFIG_USB_HCD_TEST_MODE is not set + +# +# USB Device Class drivers +# +# CONFIG_USB_ACM is not set +CONFIG_USB_PRINTER=y +# CONFIG_USB_WDM is not set +# CONFIG_USB_TMC is not set + +# +# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may +# + +# +# also be needed; see USB_STORAGE Help for more info +# +CONFIG_USB_STORAGE=y +# CONFIG_USB_STORAGE_DEBUG is not set +# CONFIG_USB_STORAGE_REALTEK is not set +# CONFIG_USB_STORAGE_DATAFAB is not set +# CONFIG_USB_STORAGE_FREECOM is not set +# CONFIG_USB_STORAGE_ISD200 is not set +# CONFIG_USB_STORAGE_USBAT is not set +# CONFIG_USB_STORAGE_SDDR09 is not set +# CONFIG_USB_STORAGE_SDDR55 is not set +# CONFIG_USB_STORAGE_JUMPSHOT is not set +# CONFIG_USB_STORAGE_ALAUDA is not set +# CONFIG_USB_STORAGE_ONETOUCH is not set +# CONFIG_USB_STORAGE_KARMA is not set +# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set +# CONFIG_USB_STORAGE_ENE_UB6250 is not set + +# +# USB Imaging devices +# +# CONFIG_USB_MDC800 is not set +# CONFIG_USB_MICROTEK is not set +# CONFIG_USB_DWC3 is not set +# CONFIG_USB_CHIPIDEA is not set + +# +# USB port drivers +# +# CONFIG_USB_SERIAL is not set + +# +# USB Miscellaneous drivers +# +# CONFIG_USB_EMI62 is not set +# CONFIG_USB_EMI26 is not set +# CONFIG_USB_ADUTUX is not set +# CONFIG_USB_SEVSEG is not set +# CONFIG_USB_RIO500 is not set +# CONFIG_USB_LEGOTOWER is not set +# CONFIG_USB_LCD is not set +# CONFIG_USB_LED is not set +# CONFIG_USB_CYPRESS_CY7C63 is not set +# CONFIG_USB_CYTHERM is not set +# CONFIG_USB_IDMOUSE is not set +# CONFIG_USB_FTDI_ELAN is not set +# CONFIG_USB_APPLEDISPLAY is not set +# CONFIG_USB_SISUSBVGA is not set +# CONFIG_USB_LD is not set +# CONFIG_USB_TRANCEVIBRATOR is not set +# CONFIG_USB_IOWARRIOR is not set +# CONFIG_USB_TEST is not set +# CONFIG_USB_EHSET_TEST_FIXTURE is not set +# CONFIG_USB_ISIGHTFW is not set +# CONFIG_USB_YUREX is not set +# CONFIG_USB_EZUSB_FX2 is not set +# CONFIG_USB_HSIC_USB3503 is not set + +# +# USB Physical Layer drivers +# +# CONFIG_USB_PHY is not set +# CONFIG_NOP_USB_XCEIV is not set +# CONFIG_SAMSUNG_USB2PHY is not set +# CONFIG_SAMSUNG_USB3PHY is not set +# CONFIG_USB_ISP1301 is not set +# CONFIG_USB_RCAR_PHY is not set +# CONFIG_USB_GADGET is not set +# CONFIG_UWB is not set +# CONFIG_MMC is not set +# CONFIG_MEMSTICK is not set +CONFIG_NEW_LEDS=y +CONFIG_LEDS_CLASS=y + +# +# LED drivers +# +# CONFIG_LEDS_LM3530 is not set +# CONFIG_LEDS_LM3642 is not set +# CONFIG_LEDS_PCA9532 is not set +# CONFIG_LEDS_LP3944 is not set +# CONFIG_LEDS_LP5521 is not set +# CONFIG_LEDS_LP5523 is not set +# CONFIG_LEDS_LP5562 is not set +# CONFIG_LEDS_LP8501 is not set +# CONFIG_LEDS_CLEVO_MAIL is not set +# CONFIG_LEDS_PCA955X is not set +# CONFIG_LEDS_PCA963X is not set +# CONFIG_LEDS_PCA9685 is not set +# CONFIG_LEDS_BD2802 is not set +# CONFIG_LEDS_INTEL_SS4200 is not set +# CONFIG_LEDS_TCA6507 is not set +# CONFIG_LEDS_LM355x is not set +# CONFIG_LEDS_OT200 is not set +# CONFIG_LEDS_BLINKM is not set + +# +# LED Triggers +# +CONFIG_LEDS_TRIGGERS=y +# CONFIG_LEDS_TRIGGER_TIMER is not set +# CONFIG_LEDS_TRIGGER_ONESHOT is not set +# CONFIG_LEDS_TRIGGER_HEARTBEAT is not set +# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set +# CONFIG_LEDS_TRIGGER_CPU is not set +# CONFIG_LEDS_TRIGGER_DEFAULT_ON is not set + +# +# iptables trigger is under Netfilter config (LED target) +# +# CONFIG_LEDS_TRIGGER_TRANSIENT is not set +# CONFIG_LEDS_TRIGGER_CAMERA is not set +# CONFIG_ACCESSIBILITY is not set +# CONFIG_INFINIBAND is not set +CONFIG_EDAC=y +CONFIG_EDAC_LEGACY_SYSFS=y +# CONFIG_EDAC_DEBUG is not set +CONFIG_EDAC_DECODE_MCE=y +# CONFIG_EDAC_MCE_INJ is not set +# CONFIG_EDAC_MM_EDAC is not set +CONFIG_RTC_LIB=y +CONFIG_RTC_CLASS=y +# CONFIG_RTC_HCTOSYS is not set +CONFIG_RTC_SYSTOHC=y +CONFIG_RTC_HCTOSYS_DEVICE="rtc0" +# CONFIG_RTC_DEBUG is not set + +# +# RTC interfaces +# +CONFIG_RTC_INTF_SYSFS=y +CONFIG_RTC_INTF_PROC=y +CONFIG_RTC_INTF_DEV=y +# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set +# CONFIG_RTC_DRV_TEST is not set + +# +# I2C RTC drivers +# +# CONFIG_RTC_DRV_DS1307 is not set +# CONFIG_RTC_DRV_DS1374 is not set +# CONFIG_RTC_DRV_DS1672 is not set +# CONFIG_RTC_DRV_DS3232 is not set +# CONFIG_RTC_DRV_MAX6900 is not set +# CONFIG_RTC_DRV_RS5C372 is not set +# CONFIG_RTC_DRV_ISL1208 is not set +# CONFIG_RTC_DRV_ISL12022 is not set +# CONFIG_RTC_DRV_X1205 is not set +# CONFIG_RTC_DRV_PCF2127 is not set +# CONFIG_RTC_DRV_PCF8523 is not set +# CONFIG_RTC_DRV_PCF8563 is not set +# CONFIG_RTC_DRV_PCF8583 is not set +# CONFIG_RTC_DRV_M41T80 is not set +# CONFIG_RTC_DRV_BQ32K is not set +# CONFIG_RTC_DRV_S35390A is not set +# CONFIG_RTC_DRV_FM3130 is not set +# CONFIG_RTC_DRV_RX8581 is not set +# CONFIG_RTC_DRV_RX8025 is not set +# CONFIG_RTC_DRV_EM3027 is not set +# CONFIG_RTC_DRV_RV3029C2 is not set + +# +# SPI RTC drivers +# + +# +# Platform RTC drivers +# +CONFIG_RTC_DRV_CMOS=y +# CONFIG_RTC_DRV_DS1286 is not set +# CONFIG_RTC_DRV_DS1511 is not set +# CONFIG_RTC_DRV_DS1553 is not set +# CONFIG_RTC_DRV_DS1742 is not set +# CONFIG_RTC_DRV_STK17TA8 is not set +# CONFIG_RTC_DRV_M48T86 is not set +# CONFIG_RTC_DRV_M48T35 is not set +# CONFIG_RTC_DRV_M48T59 is not set +# CONFIG_RTC_DRV_MSM6242 is not set +# CONFIG_RTC_DRV_BQ4802 is not set +# CONFIG_RTC_DRV_RP5C01 is not set +# CONFIG_RTC_DRV_V3020 is not set +# CONFIG_RTC_DRV_DS2404 is not set + +# +# on-CPU RTC drivers +# +# CONFIG_RTC_DRV_MOXART is not set + +# +# HID Sensor RTC drivers +# +# CONFIG_RTC_DRV_HID_SENSOR_TIME is not set +CONFIG_DMADEVICES=y +# CONFIG_DMADEVICES_DEBUG is not set + +# +# DMA Devices +# +# CONFIG_INTEL_MID_DMAC is not set +# CONFIG_INTEL_IOATDMA is not set +# CONFIG_DW_DMAC_CORE is not set +# CONFIG_DW_DMAC is not set +# CONFIG_DW_DMAC_PCI is not set +# CONFIG_TIMB_DMA is not set +# CONFIG_PCH_DMA is not set +CONFIG_DMA_ACPI=y +# CONFIG_AUXDISPLAY is not set +# CONFIG_UIO is not set +# CONFIG_VFIO is not set +# CONFIG_VIRT_DRIVERS is not set + +# +# Virtio drivers +# +# CONFIG_VIRTIO_PCI is not set +# CONFIG_VIRTIO_MMIO is not set + +# +# Microsoft Hyper-V guest support +# +# CONFIG_STAGING is not set +CONFIG_X86_PLATFORM_DEVICES=y +# CONFIG_ACERHDF is not set +# CONFIG_ASUS_LAPTOP is not set +# CONFIG_FUJITSU_LAPTOP is not set +# CONFIG_FUJITSU_TABLET is not set +# CONFIG_AMILO_RFKILL is not set +# CONFIG_HP_ACCEL is not set +# CONFIG_MSI_LAPTOP is not set +# CONFIG_PANASONIC_LAPTOP is not set +# CONFIG_COMPAL_LAPTOP is not set +# CONFIG_SONY_LAPTOP is not set +# CONFIG_IDEAPAD_LAPTOP is not set +# CONFIG_THINKPAD_ACPI is not set +# CONFIG_SENSORS_HDAPS is not set +# CONFIG_INTEL_MENLOW is not set +CONFIG_EEEPC_LAPTOP=y +# CONFIG_ACPI_WMI is not set +# CONFIG_TOPSTAR_LAPTOP is not set +# CONFIG_TOSHIBA_BT_RFKILL is not set +# CONFIG_ACPI_CMPC is not set +# CONFIG_INTEL_IPS is not set +# CONFIG_IBM_RTL is not set +# CONFIG_XO15_EBOOK is not set +# CONFIG_SAMSUNG_LAPTOP is not set +# CONFIG_INTEL_OAKTRAIL is not set +# CONFIG_SAMSUNG_Q10 is not set +# CONFIG_APPLE_GMUX is not set +# CONFIG_INTEL_RST is not set +# CONFIG_INTEL_SMARTCONNECT is not set +# CONFIG_PVPANIC is not set +# CONFIG_CHROME_PLATFORMS is not set + +# +# Hardware Spinlock drivers +# +CONFIG_CLKEVT_I8253=y +CONFIG_I8253_LOCK=y +CONFIG_CLKBLD_I8253=y +# CONFIG_MAILBOX is not set +CONFIG_IOMMU_API=y +CONFIG_IOMMU_SUPPORT=y +CONFIG_AMD_IOMMU=y +CONFIG_AMD_IOMMU_STATS=y +# CONFIG_AMD_IOMMU_V2 is not set +CONFIG_DMAR_TABLE=y +CONFIG_INTEL_IOMMU=y +# CONFIG_INTEL_IOMMU_DEFAULT_ON is not set +CONFIG_INTEL_IOMMU_FLOPPY_WA=y +# CONFIG_IRQ_REMAP is not set + +# +# Remoteproc drivers +# +# CONFIG_STE_MODEM_RPROC is not set + +# +# Rpmsg drivers +# +# CONFIG_PM_DEVFREQ is not set +# CONFIG_EXTCON is not set +# CONFIG_MEMORY is not set +# CONFIG_IIO is not set +# CONFIG_NTB is not set +# CONFIG_VME_BUS is not set +# CONFIG_PWM is not set +# CONFIG_IPACK_BUS is not set +# CONFIG_RESET_CONTROLLER is not set +# CONFIG_FMC is not set + +# +# PHY Subsystem +# +# CONFIG_GENERIC_PHY is not set +# CONFIG_PHY_EXYNOS_MIPI_VIDEO is not set +# CONFIG_POWERCAP is not set + +# +# Firmware Drivers +# +# CONFIG_EDD is not set +CONFIG_FIRMWARE_MEMMAP=y +# CONFIG_DELL_RBU is not set +# CONFIG_DCDBAS is not set +CONFIG_DMIID=y +# CONFIG_DMI_SYSFS is not set +# CONFIG_ISCSI_IBFT_FIND is not set +# CONFIG_GOOGLE_FIRMWARE is not set + +# +# EFI (Extensible Firmware Interface) Support +# +CONFIG_EFI_VARS=y +CONFIG_EFI_RUNTIME_MAP=y + +# +# File systems +# +CONFIG_DCACHE_WORD_ACCESS=y +# CONFIG_EXT2_FS is not set +CONFIG_EXT3_FS=y +CONFIG_EXT3_DEFAULTS_TO_ORDERED=y +CONFIG_EXT3_FS_XATTR=y +# CONFIG_EXT3_FS_POSIX_ACL is not set +# CONFIG_EXT3_FS_SECURITY is not set +CONFIG_EXT4_FS=y +CONFIG_EXT4_USE_FOR_EXT23=y +CONFIG_EXT4_FS_POSIX_ACL=y +CONFIG_EXT4_FS_SECURITY=y +# CONFIG_EXT4_DEBUG is not set +CONFIG_JBD=y +# CONFIG_JBD_DEBUG is not set +CONFIG_JBD2=y +# CONFIG_JBD2_DEBUG is not set +CONFIG_FS_MBCACHE=y +# CONFIG_REISERFS_FS is not set +# CONFIG_JFS_FS is not set +# CONFIG_XFS_FS is not set +# CONFIG_GFS2_FS is not set +# CONFIG_BTRFS_FS is not set +# CONFIG_NILFS2_FS is not set +CONFIG_FS_POSIX_ACL=y +CONFIG_FILE_LOCKING=y +CONFIG_FSNOTIFY=y +CONFIG_DNOTIFY=y +CONFIG_INOTIFY_USER=y +# CONFIG_FANOTIFY is not set +CONFIG_QUOTA=y +CONFIG_QUOTA_NETLINK_INTERFACE=y +# CONFIG_PRINT_QUOTA_WARNING is not set +# CONFIG_QUOTA_DEBUG is not set +CONFIG_QUOTA_TREE=y +# CONFIG_QFMT_V1 is not set +CONFIG_QFMT_V2=y +CONFIG_QUOTACTL=y +CONFIG_QUOTACTL_COMPAT=y +CONFIG_AUTOFS4_FS=y +# CONFIG_FUSE_FS is not set +CONFIG_GENERIC_ACL=y + +# +# Caches +# +# CONFIG_FSCACHE is not set + +# +# CD-ROM/DVD Filesystems +# +CONFIG_ISO9660_FS=y +CONFIG_JOLIET=y +CONFIG_ZISOFS=y +# CONFIG_UDF_FS is not set + +# +# DOS/FAT/NT Filesystems +# +CONFIG_FAT_FS=y +CONFIG_MSDOS_FS=y +CONFIG_VFAT_FS=y +CONFIG_FAT_DEFAULT_CODEPAGE=437 +CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" +# CONFIG_NTFS_FS is not set + +# +# Pseudo filesystems +# +CONFIG_PROC_FS=y +CONFIG_PROC_KCORE=y +CONFIG_PROC_VMCORE=y +CONFIG_PROC_SYSCTL=y +CONFIG_PROC_PAGE_MONITOR=y +CONFIG_SYSFS=y +CONFIG_TMPFS=y +CONFIG_TMPFS_POSIX_ACL=y +CONFIG_TMPFS_XATTR=y +CONFIG_HUGETLBFS=y +CONFIG_HUGETLB_PAGE=y +# CONFIG_CONFIGFS_FS is not set +CONFIG_MISC_FILESYSTEMS=y +# CONFIG_ADFS_FS is not set +# CONFIG_AFFS_FS is not set +# CONFIG_ECRYPT_FS is not set +# CONFIG_HFS_FS is not set +# CONFIG_HFSPLUS_FS is not set +# CONFIG_BEFS_FS is not set +# CONFIG_BFS_FS is not set +# CONFIG_EFS_FS is not set +# CONFIG_LOGFS is not set +# CONFIG_CRAMFS is not set +# CONFIG_SQUASHFS is not set +# CONFIG_VXFS_FS is not set +# CONFIG_MINIX_FS is not set +# CONFIG_OMFS_FS is not set +# CONFIG_HPFS_FS is not set +# CONFIG_QNX4FS_FS is not set +# CONFIG_QNX6FS_FS is not set +# CONFIG_ROMFS_FS is not set +# CONFIG_PSTORE is not set +# CONFIG_SYSV_FS is not set +# CONFIG_UFS_FS is not set +# CONFIG_F2FS_FS is not set +CONFIG_EFIVAR_FS=y +CONFIG_NETWORK_FILESYSTEMS=y +CONFIG_NFS_FS=y +CONFIG_NFS_V2=y +CONFIG_NFS_V3=y +CONFIG_NFS_V3_ACL=y +CONFIG_NFS_V4=y +# CONFIG_NFS_SWAP is not set +# CONFIG_NFS_V4_1 is not set +CONFIG_ROOT_NFS=y +# CONFIG_NFS_USE_LEGACY_DNS is not set +CONFIG_NFS_USE_KERNEL_DNS=y +# CONFIG_NFSD is not set +CONFIG_LOCKD=y +CONFIG_LOCKD_V4=y +CONFIG_NFS_ACL_SUPPORT=y +CONFIG_NFS_COMMON=y +CONFIG_SUNRPC=y +CONFIG_SUNRPC_GSS=y +# CONFIG_SUNRPC_DEBUG is not set +# CONFIG_CEPH_FS is not set +# CONFIG_CIFS is not set +# CONFIG_NCP_FS is not set +# CONFIG_CODA_FS is not set +# CONFIG_AFS_FS is not set +CONFIG_NLS=y +CONFIG_NLS_DEFAULT="utf8" +CONFIG_NLS_CODEPAGE_437=y +# CONFIG_NLS_CODEPAGE_737 is not set +# CONFIG_NLS_CODEPAGE_775 is not set +# CONFIG_NLS_CODEPAGE_850 is not set +# CONFIG_NLS_CODEPAGE_852 is not set +# CONFIG_NLS_CODEPAGE_855 is not set +# CONFIG_NLS_CODEPAGE_857 is not set +# CONFIG_NLS_CODEPAGE_860 is not set +# CONFIG_NLS_CODEPAGE_861 is not set +# CONFIG_NLS_CODEPAGE_862 is not set +# CONFIG_NLS_CODEPAGE_863 is not set +# CONFIG_NLS_CODEPAGE_864 is not set +# CONFIG_NLS_CODEPAGE_865 is not set +# CONFIG_NLS_CODEPAGE_866 is not set +# CONFIG_NLS_CODEPAGE_869 is not set +# CONFIG_NLS_CODEPAGE_936 is not set +# CONFIG_NLS_CODEPAGE_950 is not set +# CONFIG_NLS_CODEPAGE_932 is not set +# CONFIG_NLS_CODEPAGE_949 is not set +# CONFIG_NLS_CODEPAGE_874 is not set +# CONFIG_NLS_ISO8859_8 is not set +# CONFIG_NLS_CODEPAGE_1250 is not set +# CONFIG_NLS_CODEPAGE_1251 is not set +CONFIG_NLS_ASCII=y +CONFIG_NLS_ISO8859_1=y +# CONFIG_NLS_ISO8859_2 is not set +# CONFIG_NLS_ISO8859_3 is not set +# CONFIG_NLS_ISO8859_4 is not set +# CONFIG_NLS_ISO8859_5 is not set +# CONFIG_NLS_ISO8859_6 is not set +# CONFIG_NLS_ISO8859_7 is not set +# CONFIG_NLS_ISO8859_9 is not set +# CONFIG_NLS_ISO8859_13 is not set +# CONFIG_NLS_ISO8859_14 is not set +# CONFIG_NLS_ISO8859_15 is not set +# CONFIG_NLS_KOI8_R is not set +# CONFIG_NLS_KOI8_U is not set +# CONFIG_NLS_MAC_ROMAN is not set +# CONFIG_NLS_MAC_CELTIC is not set +# CONFIG_NLS_MAC_CENTEURO is not set +# CONFIG_NLS_MAC_CROATIAN is not set +# CONFIG_NLS_MAC_CYRILLIC is not set +# CONFIG_NLS_MAC_GAELIC is not set +# CONFIG_NLS_MAC_GREEK is not set +# CONFIG_NLS_MAC_ICELAND is not set +# CONFIG_NLS_MAC_INUIT is not set +# CONFIG_NLS_MAC_ROMANIAN is not set +# CONFIG_NLS_MAC_TURKISH is not set +CONFIG_NLS_UTF8=y + +# +# Kernel hacking +# +CONFIG_TRACE_IRQFLAGS_SUPPORT=y + +# +# printk and dmesg options +# +CONFIG_PRINTK_TIME=y +CONFIG_DEFAULT_MESSAGE_LOGLEVEL=4 +# CONFIG_BOOT_PRINTK_DELAY is not set +# CONFIG_DYNAMIC_DEBUG is not set + +# +# Compile-time checks and compiler options +# +# CONFIG_DEBUG_INFO is not set +# CONFIG_ENABLE_WARN_DEPRECATED is not set +CONFIG_ENABLE_MUST_CHECK=y +CONFIG_FRAME_WARN=2048 +# CONFIG_STRIP_ASM_SYMS is not set +# CONFIG_READABLE_ASM is not set +# CONFIG_UNUSED_SYMBOLS is not set +CONFIG_DEBUG_FS=y +# CONFIG_HEADERS_CHECK is not set +# CONFIG_DEBUG_SECTION_MISMATCH is not set +CONFIG_ARCH_WANT_FRAME_POINTERS=y +CONFIG_FRAME_POINTER=y +# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set +CONFIG_MAGIC_SYSRQ=y +CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x1 +CONFIG_DEBUG_KERNEL=y + +# +# Memory Debugging +# +# CONFIG_DEBUG_PAGEALLOC is not set +# CONFIG_DEBUG_OBJECTS is not set +# CONFIG_SLUB_DEBUG_ON is not set +# CONFIG_SLUB_STATS is not set +CONFIG_HAVE_DEBUG_KMEMLEAK=y +# CONFIG_DEBUG_KMEMLEAK is not set +CONFIG_DEBUG_STACK_USAGE=y +# CONFIG_DEBUG_VM is not set +# CONFIG_DEBUG_VIRTUAL is not set +CONFIG_DEBUG_MEMORY_INIT=y +# CONFIG_DEBUG_PER_CPU_MAPS is not set +CONFIG_HAVE_DEBUG_STACKOVERFLOW=y +CONFIG_DEBUG_STACKOVERFLOW=y +CONFIG_HAVE_ARCH_KMEMCHECK=y +# CONFIG_KMEMCHECK is not set +# CONFIG_DEBUG_SHIRQ is not set + +# +# Debug Lockups and Hangs +# +# CONFIG_LOCKUP_DETECTOR is not set +# CONFIG_DETECT_HUNG_TASK is not set +# CONFIG_PANIC_ON_OOPS is not set +CONFIG_PANIC_ON_OOPS_VALUE=0 +# CONFIG_SCHED_DEBUG is not set +CONFIG_SCHEDSTATS=y +CONFIG_TIMER_STATS=y + +# +# Lock Debugging (spinlocks, mutexes, etc...) +# +# CONFIG_DEBUG_RT_MUTEXES is not set +# CONFIG_RT_MUTEX_TESTER is not set +# CONFIG_DEBUG_SPINLOCK is not set +# CONFIG_DEBUG_MUTEXES is not set +# CONFIG_DEBUG_WW_MUTEX_SLOWPATH is not set +# CONFIG_DEBUG_LOCK_ALLOC is not set +# CONFIG_PROVE_LOCKING is not set +# CONFIG_LOCK_STAT is not set +# CONFIG_DEBUG_ATOMIC_SLEEP is not set +# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set +CONFIG_STACKTRACE=y +# CONFIG_DEBUG_KOBJECT is not set +CONFIG_DEBUG_BUGVERBOSE=y +# CONFIG_DEBUG_WRITECOUNT is not set +# CONFIG_DEBUG_LIST is not set +# CONFIG_DEBUG_SG is not set +# CONFIG_DEBUG_NOTIFIERS is not set +# CONFIG_DEBUG_CREDENTIALS is not set + +# +# RCU Debugging +# +# CONFIG_SPARSE_RCU_POINTER is not set +# CONFIG_RCU_TORTURE_TEST is not set +CONFIG_RCU_CPU_STALL_TIMEOUT=21 +# CONFIG_RCU_CPU_STALL_INFO is not set +# CONFIG_RCU_TRACE is not set +# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set +# CONFIG_NOTIFIER_ERROR_INJECTION is not set +# CONFIG_FAULT_INJECTION is not set +# CONFIG_LATENCYTOP is not set +CONFIG_ARCH_HAS_DEBUG_STRICT_USER_COPY_CHECKS=y +# CONFIG_DEBUG_STRICT_USER_COPY_CHECKS is not set +CONFIG_USER_STACKTRACE_SUPPORT=y +CONFIG_NOP_TRACER=y +CONFIG_HAVE_FUNCTION_TRACER=y +CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y +CONFIG_HAVE_FUNCTION_GRAPH_FP_TEST=y +CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y +CONFIG_HAVE_DYNAMIC_FTRACE=y +CONFIG_HAVE_DYNAMIC_FTRACE_WITH_REGS=y +CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y +CONFIG_HAVE_SYSCALL_TRACEPOINTS=y +CONFIG_HAVE_FENTRY=y +CONFIG_HAVE_C_RECORDMCOUNT=y +CONFIG_TRACE_CLOCK=y +CONFIG_RING_BUFFER=y +CONFIG_EVENT_TRACING=y +CONFIG_CONTEXT_SWITCH_TRACER=y +CONFIG_TRACING=y +CONFIG_GENERIC_TRACER=y +CONFIG_TRACING_SUPPORT=y +CONFIG_FTRACE=y +# CONFIG_FUNCTION_TRACER is not set +# CONFIG_IRQSOFF_TRACER is not set +# CONFIG_SCHED_TRACER is not set +# CONFIG_FTRACE_SYSCALLS is not set +# CONFIG_TRACER_SNAPSHOT is not set +CONFIG_BRANCH_PROFILE_NONE=y +# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set +# CONFIG_PROFILE_ALL_BRANCHES is not set +# CONFIG_STACK_TRACER is not set +CONFIG_BLK_DEV_IO_TRACE=y +CONFIG_KPROBE_EVENT=y +# CONFIG_UPROBE_EVENT is not set +CONFIG_PROBE_EVENTS=y +# CONFIG_FTRACE_STARTUP_TEST is not set +# CONFIG_MMIOTRACE is not set +# CONFIG_RING_BUFFER_BENCHMARK is not set +# CONFIG_RING_BUFFER_STARTUP_TEST is not set + +# +# Runtime Testing +# +# CONFIG_LKDTM is not set +# CONFIG_TEST_LIST_SORT is not set +# CONFIG_KPROBES_SANITY_TEST is not set +# CONFIG_BACKTRACE_SELF_TEST is not set +# CONFIG_RBTREE_TEST is not set +# CONFIG_INTERVAL_TREE_TEST is not set +# CONFIG_PERCPU_TEST is not set +# CONFIG_ATOMIC64_SELFTEST is not set +# CONFIG_TEST_STRING_HELPERS is not set +# CONFIG_TEST_KSTRTOX is not set +CONFIG_PROVIDE_OHCI1394_DMA_INIT=y +# CONFIG_DMA_API_DEBUG is not set +# CONFIG_SAMPLES is not set +CONFIG_HAVE_ARCH_KGDB=y +# CONFIG_KGDB is not set +# CONFIG_STRICT_DEVMEM is not set +CONFIG_X86_VERBOSE_BOOTUP=y +CONFIG_EARLY_PRINTK=y +CONFIG_EARLY_PRINTK_DBGP=y +CONFIG_EARLY_PRINTK_EFI=y +# CONFIG_X86_PTDUMP is not set +CONFIG_DEBUG_RODATA=y +# CONFIG_DEBUG_RODATA_TEST is not set +# CONFIG_DEBUG_SET_MODULE_RONX is not set +# CONFIG_DEBUG_NX_TEST is not set +CONFIG_DOUBLEFAULT=y +# CONFIG_DEBUG_TLBFLUSH is not set +# CONFIG_IOMMU_STRESS is not set +CONFIG_HAVE_MMIOTRACE_SUPPORT=y +# CONFIG_X86_DECODER_SELFTEST is not set +CONFIG_IO_DELAY_TYPE_0X80=0 +CONFIG_IO_DELAY_TYPE_0XED=1 +CONFIG_IO_DELAY_TYPE_UDELAY=2 +CONFIG_IO_DELAY_TYPE_NONE=3 +CONFIG_IO_DELAY_0X80=y +# CONFIG_IO_DELAY_0XED is not set +# CONFIG_IO_DELAY_UDELAY is not set +# CONFIG_IO_DELAY_NONE is not set +CONFIG_DEFAULT_IO_DELAY_TYPE=0 +CONFIG_DEBUG_BOOT_PARAMS=y +# CONFIG_CPA_DEBUG is not set +CONFIG_OPTIMIZE_INLINING=y +# CONFIG_DEBUG_NMI_SELFTEST is not set +# CONFIG_X86_DEBUG_STATIC_CPU_HAS is not set + +# +# Security options +# +CONFIG_KEYS=y +# CONFIG_PERSISTENT_KEYRINGS is not set +# CONFIG_BIG_KEYS is not set +# CONFIG_ENCRYPTED_KEYS is not set +CONFIG_KEYS_DEBUG_PROC_KEYS=y +# CONFIG_SECURITY_DMESG_RESTRICT is not set +CONFIG_SECURITY=y +# CONFIG_SECURITYFS is not set +CONFIG_SECURITY_NETWORK=y +# CONFIG_SECURITY_NETWORK_XFRM is not set +# CONFIG_SECURITY_PATH is not set +# CONFIG_INTEL_TXT is not set +CONFIG_LSM_MMAP_MIN_ADDR=65536 +CONFIG_SECURITY_SELINUX=y +CONFIG_SECURITY_SELINUX_BOOTPARAM=y +CONFIG_SECURITY_SELINUX_BOOTPARAM_VALUE=1 +CONFIG_SECURITY_SELINUX_DISABLE=y +CONFIG_SECURITY_SELINUX_DEVELOP=y +CONFIG_SECURITY_SELINUX_AVC_STATS=y +CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=1 +# CONFIG_SECURITY_SELINUX_POLICYDB_VERSION_MAX is not set +# CONFIG_SECURITY_SMACK is not set +# CONFIG_SECURITY_TOMOYO is not set +# CONFIG_SECURITY_APPARMOR is not set +# CONFIG_SECURITY_YAMA is not set +# CONFIG_IMA is not set +# CONFIG_EVM is not set +CONFIG_DEFAULT_SECURITY_SELINUX=y +# CONFIG_DEFAULT_SECURITY_DAC is not set +CONFIG_DEFAULT_SECURITY="selinux" +CONFIG_CRYPTO=y + +# +# Crypto core or helper +# +CONFIG_CRYPTO_ALGAPI=y +CONFIG_CRYPTO_ALGAPI2=y +CONFIG_CRYPTO_AEAD=y +CONFIG_CRYPTO_AEAD2=y +CONFIG_CRYPTO_BLKCIPHER=y +CONFIG_CRYPTO_BLKCIPHER2=y +CONFIG_CRYPTO_HASH=y +CONFIG_CRYPTO_HASH2=y +CONFIG_CRYPTO_RNG=y +CONFIG_CRYPTO_RNG2=y +CONFIG_CRYPTO_PCOMP2=y +CONFIG_CRYPTO_MANAGER=y +CONFIG_CRYPTO_MANAGER2=y +# CONFIG_CRYPTO_USER is not set +CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y +# CONFIG_CRYPTO_GF128MUL is not set +# CONFIG_CRYPTO_NULL is not set +# CONFIG_CRYPTO_PCRYPT is not set +CONFIG_CRYPTO_WORKQUEUE=y +# CONFIG_CRYPTO_CRYPTD is not set +CONFIG_CRYPTO_AUTHENC=y +# CONFIG_CRYPTO_TEST is not set + +# +# Authenticated Encryption with Associated Data +# +CONFIG_CRYPTO_CCM=y +# CONFIG_CRYPTO_GCM is not set +CONFIG_CRYPTO_SEQIV=y + +# +# Block modes +# +CONFIG_CRYPTO_CBC=y +CONFIG_CRYPTO_CTR=y +# CONFIG_CRYPTO_CTS is not set +# CONFIG_CRYPTO_ECB is not set +# CONFIG_CRYPTO_LRW is not set +# CONFIG_CRYPTO_PCBC is not set +# CONFIG_CRYPTO_XTS is not set + +# +# Hash modes +# +# CONFIG_CRYPTO_CMAC is not set +CONFIG_CRYPTO_HMAC=y +# CONFIG_CRYPTO_XCBC is not set +# CONFIG_CRYPTO_VMAC is not set + +# +# Digest +# +CONFIG_CRYPTO_CRC32C=y +# CONFIG_CRYPTO_CRC32C_INTEL is not set +# CONFIG_CRYPTO_CRC32 is not set +# CONFIG_CRYPTO_CRC32_PCLMUL is not set +# CONFIG_CRYPTO_CRCT10DIF is not set +# CONFIG_CRYPTO_GHASH is not set +# CONFIG_CRYPTO_MD4 is not set +CONFIG_CRYPTO_MD5=y +# CONFIG_CRYPTO_MICHAEL_MIC is not set +# CONFIG_CRYPTO_RMD128 is not set +# CONFIG_CRYPTO_RMD160 is not set +# CONFIG_CRYPTO_RMD256 is not set +# CONFIG_CRYPTO_RMD320 is not set +CONFIG_CRYPTO_SHA1=y +# CONFIG_CRYPTO_SHA1_SSSE3 is not set +# CONFIG_CRYPTO_SHA256_SSSE3 is not set +# CONFIG_CRYPTO_SHA512_SSSE3 is not set +# CONFIG_CRYPTO_SHA256 is not set +# CONFIG_CRYPTO_SHA512 is not set +# CONFIG_CRYPTO_TGR192 is not set +# CONFIG_CRYPTO_WP512 is not set +# CONFIG_CRYPTO_GHASH_CLMUL_NI_INTEL is not set + +# +# Ciphers +# +CONFIG_CRYPTO_AES=y +# CONFIG_CRYPTO_AES_X86_64 is not set +# CONFIG_CRYPTO_AES_NI_INTEL is not set +# CONFIG_CRYPTO_ANUBIS is not set +CONFIG_CRYPTO_ARC4=y +# CONFIG_CRYPTO_BLOWFISH is not set +# CONFIG_CRYPTO_BLOWFISH_X86_64 is not set +# CONFIG_CRYPTO_CAMELLIA is not set +# CONFIG_CRYPTO_CAMELLIA_X86_64 is not set +# CONFIG_CRYPTO_CAMELLIA_AESNI_AVX_X86_64 is not set +# CONFIG_CRYPTO_CAMELLIA_AESNI_AVX2_X86_64 is not set +# CONFIG_CRYPTO_CAST5 is not set +# CONFIG_CRYPTO_CAST5_AVX_X86_64 is not set +# CONFIG_CRYPTO_CAST6 is not set +# CONFIG_CRYPTO_CAST6_AVX_X86_64 is not set +CONFIG_CRYPTO_DES=y +# CONFIG_CRYPTO_FCRYPT is not set +# CONFIG_CRYPTO_KHAZAD is not set +# CONFIG_CRYPTO_SALSA20 is not set +# CONFIG_CRYPTO_SALSA20_X86_64 is not set +# CONFIG_CRYPTO_SEED is not set +# CONFIG_CRYPTO_SERPENT is not set +# CONFIG_CRYPTO_SERPENT_SSE2_X86_64 is not set +# CONFIG_CRYPTO_SERPENT_AVX_X86_64 is not set +# CONFIG_CRYPTO_SERPENT_AVX2_X86_64 is not set +# CONFIG_CRYPTO_TEA is not set +# CONFIG_CRYPTO_TWOFISH is not set +# CONFIG_CRYPTO_TWOFISH_X86_64 is not set +# CONFIG_CRYPTO_TWOFISH_X86_64_3WAY is not set +# CONFIG_CRYPTO_TWOFISH_AVX_X86_64 is not set + +# +# Compression +# +# CONFIG_CRYPTO_DEFLATE is not set +# CONFIG_CRYPTO_ZLIB is not set +# CONFIG_CRYPTO_LZO is not set +# CONFIG_CRYPTO_LZ4 is not set +# CONFIG_CRYPTO_LZ4HC is not set + +# +# Random Number Generation +# +# CONFIG_CRYPTO_ANSI_CPRNG is not set +# CONFIG_CRYPTO_USER_API_HASH is not set +# CONFIG_CRYPTO_USER_API_SKCIPHER is not set +CONFIG_CRYPTO_HW=y +# CONFIG_CRYPTO_DEV_PADLOCK is not set +# CONFIG_ASYMMETRIC_KEY_TYPE is not set +CONFIG_HAVE_KVM=y +CONFIG_VIRTUALIZATION=y +# CONFIG_KVM is not set +CONFIG_BINARY_PRINTF=y + +# +# Library routines +# +CONFIG_BITREVERSE=y +CONFIG_GENERIC_STRNCPY_FROM_USER=y +CONFIG_GENERIC_STRNLEN_USER=y +CONFIG_GENERIC_NET_UTILS=y +CONFIG_GENERIC_FIND_FIRST_BIT=y +CONFIG_GENERIC_PCI_IOMAP=y +CONFIG_GENERIC_IOMAP=y +CONFIG_GENERIC_IO=y +CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y +# CONFIG_CRC_CCITT is not set +CONFIG_CRC16=y +# CONFIG_CRC_T10DIF is not set +# CONFIG_CRC_ITU_T is not set +CONFIG_CRC32=y +# CONFIG_CRC32_SELFTEST is not set +CONFIG_CRC32_SLICEBY8=y +# CONFIG_CRC32_SLICEBY4 is not set +# CONFIG_CRC32_SARWATE is not set +# CONFIG_CRC32_BIT is not set +# CONFIG_CRC7 is not set +# CONFIG_LIBCRC32C is not set +# CONFIG_CRC8 is not set +# CONFIG_RANDOM32_SELFTEST is not set +CONFIG_ZLIB_INFLATE=y +CONFIG_LZO_COMPRESS=y +CONFIG_LZO_DECOMPRESS=y +CONFIG_LZ4_DECOMPRESS=y +CONFIG_XZ_DEC=y +CONFIG_XZ_DEC_X86=y +# CONFIG_XZ_DEC_POWERPC is not set +# CONFIG_XZ_DEC_IA64 is not set +# CONFIG_XZ_DEC_ARM is not set +# CONFIG_XZ_DEC_ARMTHUMB is not set +# CONFIG_XZ_DEC_SPARC is not set +CONFIG_XZ_DEC_BCJ=y +# CONFIG_XZ_DEC_TEST is not set +CONFIG_DECOMPRESS_GZIP=y +CONFIG_DECOMPRESS_BZIP2=y +CONFIG_DECOMPRESS_LZMA=y +CONFIG_DECOMPRESS_XZ=y +CONFIG_DECOMPRESS_LZO=y +CONFIG_DECOMPRESS_LZ4=y +CONFIG_ASSOCIATIVE_ARRAY=y +CONFIG_HAS_IOMEM=y +CONFIG_HAS_IOPORT=y +CONFIG_HAS_DMA=y +CONFIG_CHECK_SIGNATURE=y +CONFIG_CPU_RMAP=y +CONFIG_DQL=y +CONFIG_NLATTR=y +CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE=y +CONFIG_AVERAGE=y +# CONFIG_CORDIC is not set +# CONFIG_DDR is not set +CONFIG_OID_REGISTRY=y +CONFIG_UCS2_STRING=y +CONFIG_FONT_SUPPORT=y +# CONFIG_FONTS is not set +CONFIG_FONT_8x8=y +CONFIG_FONT_8x16=y diff --git a/meta-luv/recipes-kernel/linux/linux-yocto-efi-test/efi.cfg b/meta-luv/recipes-kernel/linux/linux-yocto-efi-test/efi.cfg deleted file mode 100644 index c0a28d995fd..00000000000 --- a/meta-luv/recipes-kernel/linux/linux-yocto-efi-test/efi.cfg +++ /dev/null @@ -1,3 +0,0 @@ -++ .config 2013-04-19 11:55:51.013419546 +0200 -CONFIG_EFI_STUB=y -CONFIG_EXT3_FS=y diff --git a/meta-luv/recipes-kernel/linux/linux-yocto-efi-test_3.13.bb b/meta-luv/recipes-kernel/linux/linux-yocto-efi-test_3.13.bb index 265d6bc2720..10c180e352c 100644 --- a/meta-luv/recipes-kernel/linux/linux-yocto-efi-test_3.13.bb +++ b/meta-luv/recipes-kernel/linux/linux-yocto-efi-test_3.13.bb @@ -49,7 +49,7 @@ require recipes-kernel/linux/linux-yocto.inc # Override SRC_URI in a bbappend file to point at a different source # tree if you do not want to build from Linus' tree. -SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/mfleming/efi.git;protocol=git;branch=${KBRANCH} file://efi.cfg" +SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/mfleming/efi.git;protocol=git;branch=${KBRANCH} file://defconfig" LINUX_VERSION ?= "3.13" LINUX_VERSION_EXTENSION ?= "-efitest" @@ -65,12 +65,3 @@ PV = "${LINUX_VERSION}+git${SRCPV}" # Override COMPATIBLE_MACHINE to include your machine in a bbappend # file. Leaving it empty here ensures an early explicit build failure. COMPATIBLE_MACHINE = "qemux86|qemux86-64" - -# Enable some key features required to boot an EFI-enabled kernel with -# qemu. -kernel_do_configure() { - make defconfig - sed -i -e 's/# CONFIG_EFI_STUB.*/CONFIG_EFI_STUB=y/' ${B}/.config - sed -i -e 's/# CONFIG_EXT3_FS.*/CONFIG_EXT3_FS=y/' ${B}/.config - make olddefconfig -} From 7ac910885c30b74d2ae17f8bf3219b14c9c71e65 Mon Sep 17 00:00:00 2001 From: Matt Fleming Date: Mon, 24 Mar 2014 15:13:41 +0000 Subject: [PATCH 550/658] luv-test: Provide a default log parser Most test programs will need custom output parsers that know how to parse the test results and write them to stdout in a format suitable for luv-test-manager to consume. This has necessitated moving /etc/luv-tests to /etc/luv/tests and creating a new /etc/luv/parsers directory to contain testsuite parsers. The schema expected by the test manager is detailed in luv-test-parser. Any major additions to the schema should bump the expected verison. Remember, the log data may not be generated and consumed on the same machine. For example it's possible to save the log data over the network and process the logs offline to graph result trends over time. Any parsers written for test programs should refrain from using either the version of sed or grep built with busybox. The reason being that they have strange buffering properties on output which make the tests appear to "hang" for long periods of time. The parsers were written in awk because it does not suffer from this output buffering problem, allowing the creation of an arbitrary pipeline without noticable delay to the user. Also, awk provide a C-like syntax that is pretty straight forward to understand even for people without much familiarity with it. While perl would have also been a suitable choice it isn't currently installed in the core-image-efi image. However, people should feel free to use whatever tool they like. Signed-off-by: Matt Fleming --- meta-luv/classes/luv-test.bbclass | 31 +++++++-- .../initscripts/initscripts/luv-test-manager | 22 +++++-- .../initscripts/initscripts/luv-test-parser | 65 +++++++++++++++++++ .../initscripts/initscripts_1.0.bbappend | 8 ++- 4 files changed, 113 insertions(+), 13 deletions(-) create mode 100644 meta-luv/recipes-core/initscripts/initscripts/luv-test-parser diff --git a/meta-luv/classes/luv-test.bbclass b/meta-luv/classes/luv-test.bbclass index a7e591e29f2..cdd1d341dec 100644 --- a/meta-luv/classes/luv-test.bbclass +++ b/meta-luv/classes/luv-test.bbclass @@ -6,21 +6,38 @@ LUV_TEST_ARGS = "" LUV_TEST = "${PN}" -# The installation directory of test runner scripts -RUNNER_PATH = "${sysconfdir}/luv-tests" +LUV_TEST_LOG_PARSER = "" -FILES_${PN}-luv = "${RUNNER_PATH}/${PN}" +# The installation directory of test runner scripts and log parsers +RUNNER_PATH = "${sysconfdir}/luv/tests" +PARSER_PATH = "${sysconfdir}/luv/parsers" + +FILES_${PN}-luv = "${RUNNER_PATH}/${PN} ${PARSER_PATH}/${PN}" do_install_runner() { - install -d ${D}${RUNNER_PATH} -cat > ${D}${RUNNER_PATH}/${PN} < ${runner_dir}/${PN} < +# +# where and are one of, +# +# ::= RESULT +# | INFO +# +# This is the format that all data on stdin must have. + +awk ' + +# +# This is the only schema version we support. +# +/^1.0/ { + if (!b) { + b = 1; + printf (" [-] %s\n", $2); + } + + # New test? + if (!tests[$3]) { + tests[$3] = 1; + printf(" [+] %s... ", $3); + } + + # + # Parse tags + # + if ($4 == "RESULT") { + passes=$5 + fails=$6 + aborts=$7 + skips=$8 + + # + # Instead of reporting all results to the user lets only + # report the most urgent/highest priority result. + # + # Failures are obviously bad and we report them above + # everything else. + # + # Skips/aborts are not necesarily serious but rather + # indicate potential gaps in the testing coverage (or + # maybe we ran tests that are not supported by the + # hardware). Only report if the entire unittest was + # skipped/aborted. + # + # Passes indicate everything is fine. + if (fails > 0) + printf("%d failures!\n", fails); + else if ((aborts > 0 || skips > 0) && !passes) + printf("skipped\n"); + else + printf("passed\n"); + } else if ($4 == "INFO") { + # Do nothing for now. + } +}' diff --git a/meta-luv/recipes-core/initscripts/initscripts_1.0.bbappend b/meta-luv/recipes-core/initscripts/initscripts_1.0.bbappend index 63f25e44a80..cf10c8e2c82 100644 --- a/meta-luv/recipes-core/initscripts/initscripts_1.0.bbappend +++ b/meta-luv/recipes-core/initscripts/initscripts_1.0.bbappend @@ -1,6 +1,6 @@ FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" -SRC_URI += "file://luv-test-manager" +SRC_URI += "file://luv-test-manager file://luv-test-parser" do_install_append() { install -m 755 ${WORKDIR}/luv-test-manager ${D}${sysconfdir}/init.d/ @@ -8,5 +8,9 @@ do_install_append() { # Create runlevel link update-rc.d -r ${D} luv-test-manager start 99 5 . - install -d ${D}${sysconfdir}/luv-tests/ + install -d ${D}${sysconfdir}/luv/tests + install -d ${D}${sysconfdir}/luv/parsers + + install -m 755 ${WORKDIR}/luv-test-parser \ + ${D}${sysconfdir}/luv/parsers/test-manager } From c36d0f91c177582543afdd33ba7b9a0196973709 Mon Sep 17 00:00:00 2001 From: Matt Fleming Date: Mon, 24 Mar 2014 15:29:48 +0000 Subject: [PATCH 551/658] fwts: Add log parser Add a fwts-specific log parser the emits test info in the luv-test-manager format. Also restrict the test category to just the uefi ones for now. Signed-off-by: Matt Fleming --- .../recipes-core/fwts/fwts/luv-parser-fwts | 18 ++++++++++++++++++ meta-luv/recipes-core/fwts/fwts_git.bb | 5 +++++ 2 files changed, 23 insertions(+) create mode 100644 meta-luv/recipes-core/fwts/fwts/luv-parser-fwts diff --git a/meta-luv/recipes-core/fwts/fwts/luv-parser-fwts b/meta-luv/recipes-core/fwts/fwts/luv-parser-fwts new file mode 100644 index 00000000000..40621e710e7 --- /dev/null +++ b/meta-luv/recipes-core/fwts/fwts/luv-parser-fwts @@ -0,0 +1,18 @@ +#!/bin/sh +# +# Parse the output of fwts and write a luv-test-manager compatible log +# to stdout. + +# - cut out blank lines +# - strip the summary at the end, it's duplicate info +# - only include info about test passes/fails, etc +# - print in luv-test-manager format + +awk '!/^summary/ && !/^fwts/ && /\;SUM.*passed|\;INF/ { + if ($2 == ";SUM") { + printf ("1.0 fwts %s RESULT %d %d %d %d\n", + $1, $3, $5, $7, $9); + } else if ($2 == ";INF") { + printf ("1.0 fwts %s INFO %s\n", $1, substr($0, index($0, $8))); + } +}' diff --git a/meta-luv/recipes-core/fwts/fwts_git.bb b/meta-luv/recipes-core/fwts/fwts_git.bb index 9b1f1926421..df603370a01 100644 --- a/meta-luv/recipes-core/fwts/fwts_git.bb +++ b/meta-luv/recipes-core/fwts/fwts_git.bb @@ -10,6 +10,7 @@ SRCREV = "fef72314787d7b029d932ef56b4a117538cf69e3" SRC_URI = "git://kernel.ubuntu.com/hwe/fwts.git \ file://subdir.patch \ file://jsonc.patch \ + file://luv-parser-fwts \ " S = "${WORKDIR}/git" @@ -17,5 +18,9 @@ DEPENDS = "autoconf automake libtool libpcre libjson flex bison " inherit autotools luv-test +LUV_TEST_LOG_PARSER="luv-parser-fwts" +LUV_TEST_ARGS="-r stdout -q --uefi --log-filter='SUM,INF' \ + --log-format='%owner;%field '" + FILES_${PN} += "${libdir}/fwts/lib*${SOLIBS}" FILES_${PN}-dev += "${libdir}/fwts/lib*${SOLIBSDEV} ${libdir}/fwts/lib*.la" From e1787c8552442a59cec0a110772dfc6c078c3491 Mon Sep 17 00:00:00 2001 From: Matt Fleming Date: Sat, 29 Mar 2014 16:34:39 +0000 Subject: [PATCH 552/658] fwts: Bump to version V14.03.01 There has been various bug fixes in the upstream repository since V14.01.00, so upgrade to something more recent. In particular, before enabling the uefi tests in our recipe we need the following change otherwise the efi_runtime module isn't loaded correctly every time, : commit a58df34c0a1b : Author: Colin Ian King : Date: Wed Jan 22 15:54:49 2014 +0000 : : fwts_exec: fix status check (LP: #1271607) : : fix inverted status check of exec calls. This is causing : uefi tests to fail because of module load/unload is : erroneously being reported to fail when it is in fact : succeeding. : : Signed-off-by: Colin Ian King : Acked-by: Alex Hung : Acked-by: Ivan Hu Upgrading to a newer version also allows us to drop both jsonc.patch and subdir.patch which have since been merged upstream. Signed-off-by: Matt Fleming --- meta-luv/recipes-core/fwts/fwts/jsonc.patch | 58 -- meta-luv/recipes-core/fwts/fwts/subdir.patch | 893 ------------------- meta-luv/recipes-core/fwts/fwts_git.bb | 6 +- 3 files changed, 2 insertions(+), 955 deletions(-) delete mode 100644 meta-luv/recipes-core/fwts/fwts/jsonc.patch delete mode 100644 meta-luv/recipes-core/fwts/fwts/subdir.patch diff --git a/meta-luv/recipes-core/fwts/fwts/jsonc.patch b/meta-luv/recipes-core/fwts/fwts/jsonc.patch deleted file mode 100644 index 4ea92537534..00000000000 --- a/meta-luv/recipes-core/fwts/fwts/jsonc.patch +++ /dev/null @@ -1,58 +0,0 @@ ---- - configure.ac | 1 + - src/Makefile.am | 2 +- - src/lib/src/Makefile.am | 2 +- - src/utilities/Makefile.am | 2 +- - 4 files changed, 4 insertions(+), 3 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 5a31434..ec29f84 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -9,6 +9,7 @@ - AC_PROG_LIBTOOL - AC_C_INLINE - AM_PROG_CC_C_O -+ AC_SEARCH_LIBS([json_object_from_file], [json json-c], [], [ AC_MSG_ERROR([no available json library]) ]) - AC_CHECK_FUNCS([localtime_r]) - AC_CHECK_FUNCS([dup2]) - AC_CHECK_FUNCS([getcwd]) -diff --git a/src/Makefile.am b/src/Makefile.am -index 76841e0..bd6cf01 100644 ---- a/src/Makefile.am -+++ b/src/Makefile.am -@@ -89,7 +89,7 @@ fwts_SOURCES = main.c \ - uefi/securebootcert/securebootcert.c \ - uefi/uefivarinfo/uefivarinfo.c - --fwts_LDFLAGS = -ljson -lm -+fwts_LDFLAGS = -lm - - fwts_LDADD = \ - -Llib/src -lfwts \ -diff --git a/src/lib/src/Makefile.am b/src/lib/src/Makefile.am -index 7668b8c..377e8aa 100644 ---- a/src/lib/src/Makefile.am -+++ b/src/lib/src/Makefile.am -@@ -7,7 +7,7 @@ AM_CPPFLAGS = \ - pkglib_LTLIBRARIES = libfwts.la - - libfwts_la_LDFLAGS = \ -- -lm -lpcre -lpthread -ljson \ -+ -lm -lpcre -lpthread \ - -version-info 1:0:0 \ - -L$(top_srcdir)/src/acpica/source/compiler \ - -lfwtsiasl -diff --git a/src/utilities/Makefile.am b/src/utilities/Makefile.am -index 427c44f..4e2f37f 100644 ---- a/src/utilities/Makefile.am -+++ b/src/utilities/Makefile.am -@@ -2,5 +2,5 @@ AM_CPPFLAGS = -Wall -Werror -Wextra - - bin_PROGRAMS = kernelscan - kernelscan_SOURCES = kernelscan.c --kernelscan_LDFLAGS = -ljson -lpcre -+kernelscan_LDFLAGS = -lpcre - --- -1.8.3.2 diff --git a/meta-luv/recipes-core/fwts/fwts/subdir.patch b/meta-luv/recipes-core/fwts/fwts/subdir.patch deleted file mode 100644 index e7024d755d3..00000000000 --- a/meta-luv/recipes-core/fwts/fwts/subdir.patch +++ /dev/null @@ -1,893 +0,0 @@ -From patchwork Mon Jan 13 18:37:47 2014 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: fwts: add subdir-objects as required now by automake 1.14 (LP: - #1268685) -From: Colin King -X-Patchwork-Id: 310322 -Message-Id: <1389638267-31474-1-git-send-email-colin.king@canonical.com> -To: fwts-devel@lists.ubuntu.com -Date: Mon, 13 Jan 2014 18:37:47 +0000 - -From: Colin Ian King - -automake now requires subdir-objects. To get fwts to build we now require -each object to have their lib name prefixed to stop per-object name clashes -since we build ACPICA twice in two different build configurations. - -I also used the opportunity to use the full path name of the C sources as -I was finding the substitutions a little annoying. Also tidied up the -formatting too. - -Signed-off-by: Colin Ian King -Acked-by: Alex Hung - -From http://patchwork.ozlabs.org/patch/310322/mbox/ -Upstream-Status: Submitted - ---- -configure.ac | 3 +- - src/Makefile.am | 4 +- - src/acpica/Makefile.am | 381 ++++++++++++++++----------------- - src/acpica/source/compiler/Makefile.am | 347 +++++++++++++++--------------- - src/lib/src/Makefile.am | 2 + - 5 files changed, 365 insertions(+), 372 deletions(-) - -diff --git a/configure.ac b/configure.ac -index c0411c1..5a31434 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -1,5 +1,5 @@ - AC_INIT([fwts],[0.1],[colin.king@canonical.com]) -- AM_INIT_AUTOMAKE([-Wall -Werror foreign]) -+ AM_INIT_AUTOMAKE([-Wall -Werror foreign subdir-objects]) - m4_ifdef([AM_PROG_AR], [AM_PROG_AR]) - AC_CANONICAL_HOST - AC_CONFIG_MACRO_DIR([m4]) -@@ -8,6 +8,7 @@ - AC_PROG_YACC - AC_PROG_LIBTOOL - AC_C_INLINE -+ AM_PROG_CC_C_O - AC_CHECK_FUNCS([localtime_r]) - AC_CHECK_FUNCS([dup2]) - AC_CHECK_FUNCS([getcwd]) -diff --git a/src/Makefile.am b/src/Makefile.am -index df685d5..76841e0 100644 ---- a/src/Makefile.am -+++ b/src/Makefile.am -@@ -5,7 +5,7 @@ - # ... because the libs in this bundled acpica/ depend on lib/ (libfwts.so), - # but libfwts.so depends on libraries produced by acpica/source/compiler. - SUBDIRS = acpica/source/compiler lib acpica -- -+ - AM_CPPFLAGS = \ - -I$(top_srcdir)/src/lib/include \ - -I$(top_srcdir)/src/acpica/source/include \ -@@ -15,6 +15,8 @@ AM_CPPFLAGS = \ - - bin_PROGRAMS = fwts - -+fwts_CPPFLAGS = $(AM_CPPFLAGS) -+ - # - # fwts main + tests - # -diff --git a/src/acpica/Makefile.am b/src/acpica/Makefile.am -index d4fc5dd..41bda7d 100644 ---- a/src/acpica/Makefile.am -+++ b/src/acpica/Makefile.am -@@ -1,28 +1,21 @@ - # Nb. the top-level Makefile builds source/compiler for us now... - ## SUBDIRS = source/compiler - --ACPICA_SRC = source --ACPICA_COMMON = $(ACPICA_SRC)/common --ACPICA_CORE = $(ACPICA_SRC) --ACPICA_TOOLS = $(ACPICA_SRC)/tools --ACPICA_OSL = $(ACPICA_SRC)/os_specific/service_layers --ACPICA_COMP = $(ACPICA_SRC)/components -- - # - # -DACPI_EXEC_APP is specific to making ACPICA for the fwts method test - # - AM_CPPFLAGS = \ - -D_LINUX -DNDEBUG -D_CONSOLE -DACPI_EXEC_APP \ - -I$(top_srcdir)/src/lib/include \ -- -I$(ACPICA_SRC)/include \ -+ -Isource/include \ - -Wall -fno-strict-aliasing - - # - # We rename some of the functions so we can override them in fwts. This - # is a hack, I feel dirty now. - # --osunixxf_munged.c: $(ACPICA_OSL)/osunixxf.c -- cat $(ACPICA_OSL)/osunixxf.c | \ -+osunixxf_munged.c: source/os_specific/service_layers/osunixxf.c -+ cat source/os_specific/service_layers/osunixxf.c | \ - sed 's/^AcpiOsPrintf/__AcpiOsPrintf/' | \ - sed 's/^AcpiOsReadPort/__AcpiOsReadPort/' | \ - sed 's/^AcpiOsReadPciConfiguration/__AcpiOsReadPciConfiguration/' | \ -@@ -35,14 +28,13 @@ osunixxf_munged.c: $(ACPICA_OSL)/osunixxf.c - sed 's/^AcpiOsSleep/__AcpiOsSleep/' | \ - sed 's/^AcpiOsExecute/__AcpiOsExecute/' \ - > osunixxf_munged.c -- - # - # Force maximum loop iterations to be just 128 instead of 0xffff - # because we really don't want to wait until the sun turns into - # a lump of coal before we complete a blocked operation - # --dscontrol_munged.c: $(ACPICA_COMP)/dispatcher/dscontrol.c -- cat $(ACPICA_COMP)/dispatcher/dscontrol.c | \ -+dscontrol_munged.c: source/components/dispatcher/dscontrol.c -+ cat source/components/dispatcher/dscontrol.c | \ - sed 's/ACPI_MAX_LOOP_ITERATIONS/0x0080/' \ - > dscontrol_munged.c - -@@ -53,195 +45,196 @@ BUILT_SOURCES = osunixxf_munged.c dscontrol_munged.c - # - CLEANFILES = osunixxf_munged.c \ - dscontrol_munged.c \ -- $(ACPICA_SRC)/compiler/aslcompiler.output \ -- $(ACPICA_SRC)/compiler/dtparser.output \ -- $(ACPICA_SRC)/compiler/dtparser.y.h \ -- $(ACPICA_SRC)/compiler/prparser.output \ -- $(ACPICA_SRC)/compiler/prparser.y.h \ -- $(ACPICA_SRC)/compiler/prparserlex.c \ -- $(ACPICA_SRC)/compiler/prparserparse.c -+ source/compiler/aslcompiler.output \ -+ source/compiler/dtparser.output \ -+ source/compiler/dtparser.y.h \ -+ source/compiler/prparser.output \ -+ source/compiler/prparser.y.h \ -+ source/compiler/prparserlex.c \ -+ source/compiler/prparserparse.c - - pkglib_LTLIBRARIES = libfwtsacpica.la - - libfwtsacpica_la_LDFLAGS = -lpthread -version-info 1:0:0 -+libfwtsacpica_la_CPPFLAGS = $(AM_CPPFLAGS) - - # - # fwts acpica library sources - # --libfwtsacpica_la_SOURCES = \ -- fwts_acpica.c \ -- osunixxf_munged.c \ -- dscontrol_munged.c \ -- $(ACPICA_COMP)/debugger/dbcmds.c \ -- $(ACPICA_COMP)/debugger/dbdisply.c \ -- $(ACPICA_COMP)/debugger/dbexec.c \ -- $(ACPICA_COMP)/debugger/dbfileio.c \ -- $(ACPICA_COMP)/debugger/dbhistry.c \ -- $(ACPICA_COMP)/debugger/dbinput.c \ -- $(ACPICA_COMP)/debugger/dbstats.c \ -- $(ACPICA_COMP)/debugger/dbutils.c \ -- $(ACPICA_COMP)/debugger/dbxface.c \ -- $(ACPICA_COMP)/debugger/dbmethod.c \ -- $(ACPICA_COMP)/debugger/dbnames.c \ -- $(ACPICA_COMP)/debugger/dbconvert.c \ -- $(ACPICA_COMP)/disassembler/dmbuffer.c \ -- $(ACPICA_COMP)/disassembler/dmnames.c \ -- $(ACPICA_COMP)/disassembler/dmobject.c \ -- $(ACPICA_COMP)/disassembler/dmopcode.c \ -- $(ACPICA_COMP)/disassembler/dmresrc.c \ -- $(ACPICA_COMP)/disassembler/dmresrcl.c \ -- $(ACPICA_COMP)/disassembler/dmresrcs.c \ -- $(ACPICA_COMP)/disassembler/dmutils.c \ -- $(ACPICA_COMP)/disassembler/dmwalk.c \ -- $(ACPICA_COMP)/disassembler/dmresrcl2.c \ -- $(ACPICA_COMP)/disassembler/dmdeferred.c \ -- $(ACPICA_COMP)/dispatcher/dsfield.c \ -- $(ACPICA_COMP)/dispatcher/dsinit.c \ -- $(ACPICA_COMP)/dispatcher/dsmethod.c \ -- $(ACPICA_COMP)/dispatcher/dsmthdat.c \ -- $(ACPICA_COMP)/dispatcher/dsobject.c \ -- $(ACPICA_COMP)/dispatcher/dsutils.c \ -- $(ACPICA_COMP)/dispatcher/dswexec.c \ -- $(ACPICA_COMP)/dispatcher/dswload.c \ -- $(ACPICA_COMP)/dispatcher/dswscope.c \ -- $(ACPICA_COMP)/dispatcher/dswstate.c \ -- $(ACPICA_COMP)/dispatcher/dsargs.c \ -- $(ACPICA_COMP)/dispatcher/dswload2.c \ -- $(ACPICA_COMP)/dispatcher/dsopcode.c \ -- $(ACPICA_COMP)/events/evevent.c \ -- $(ACPICA_COMP)/events/evgpe.c \ -- $(ACPICA_COMP)/events/evgpeblk.c \ -- $(ACPICA_COMP)/events/evgpeinit.c \ -- $(ACPICA_COMP)/events/evgpeutil.c \ -- $(ACPICA_COMP)/events/evxfgpe.c \ -- $(ACPICA_COMP)/events/evmisc.c \ -- $(ACPICA_COMP)/events/evregion.c \ -- $(ACPICA_COMP)/events/evrgnini.c \ -- $(ACPICA_COMP)/events/evsci.c \ -- $(ACPICA_COMP)/events/evxface.c \ -- $(ACPICA_COMP)/events/evxfevnt.c \ -- $(ACPICA_COMP)/events/evxfregn.c \ -- $(ACPICA_COMP)/events/evglock.c \ -- $(ACPICA_COMP)/events/evhandler.c \ -- $(ACPICA_COMP)/executer/exfield.c \ -- $(ACPICA_COMP)/executer/exfldio.c \ -- $(ACPICA_COMP)/executer/exmisc.c \ -- $(ACPICA_COMP)/executer/exmutex.c \ -- $(ACPICA_COMP)/executer/exnames.c \ -- $(ACPICA_COMP)/executer/exoparg1.c \ -- $(ACPICA_COMP)/executer/exoparg2.c \ -- $(ACPICA_COMP)/executer/exoparg3.c \ -- $(ACPICA_COMP)/executer/exoparg6.c \ -- $(ACPICA_COMP)/executer/exprep.c \ -- $(ACPICA_COMP)/executer/exregion.c \ -- $(ACPICA_COMP)/executer/exresnte.c \ -- $(ACPICA_COMP)/executer/exresolv.c \ -- $(ACPICA_COMP)/executer/exresop.c \ -- $(ACPICA_COMP)/executer/exstore.c \ -- $(ACPICA_COMP)/executer/exstoren.c \ -- $(ACPICA_COMP)/executer/exstorob.c \ -- $(ACPICA_COMP)/executer/exsystem.c \ -- $(ACPICA_COMP)/executer/exutils.c \ -- $(ACPICA_COMP)/executer/exconvrt.c \ -- $(ACPICA_COMP)/executer/excreate.c \ -- $(ACPICA_COMP)/executer/exdump.c \ -- $(ACPICA_COMP)/executer/exdebug.c \ -- $(ACPICA_COMP)/executer/exconfig.c \ -- $(ACPICA_COMP)/hardware/hwacpi.c \ -- $(ACPICA_COMP)/hardware/hwgpe.c \ -- $(ACPICA_COMP)/hardware/hwpci.c \ -- $(ACPICA_COMP)/hardware/hwregs.c \ -- $(ACPICA_COMP)/hardware/hwsleep.c \ -- $(ACPICA_COMP)/hardware/hwvalid.c \ -- $(ACPICA_COMP)/hardware/hwxface.c \ -- $(ACPICA_COMP)/hardware/hwxfsleep.c \ -- $(ACPICA_COMP)/hardware/hwesleep.c \ -- $(ACPICA_COMP)/namespace/nsaccess.c \ -- $(ACPICA_COMP)/namespace/nsalloc.c \ -- $(ACPICA_COMP)/namespace/nsdump.c \ -- $(ACPICA_COMP)/namespace/nsdumpdv.c \ -- $(ACPICA_COMP)/namespace/nseval.c \ -- $(ACPICA_COMP)/namespace/nsinit.c \ -- $(ACPICA_COMP)/namespace/nsload.c \ -- $(ACPICA_COMP)/namespace/nsnames.c \ -- $(ACPICA_COMP)/namespace/nsobject.c \ -- $(ACPICA_COMP)/namespace/nsparse.c \ -- $(ACPICA_COMP)/namespace/nspredef.c \ -- $(ACPICA_COMP)/namespace/nsrepair.c \ -- $(ACPICA_COMP)/namespace/nsrepair2.c \ -- $(ACPICA_COMP)/namespace/nssearch.c \ -- $(ACPICA_COMP)/namespace/nsutils.c \ -- $(ACPICA_COMP)/namespace/nswalk.c \ -- $(ACPICA_COMP)/namespace/nsxfeval.c \ -- $(ACPICA_COMP)/namespace/nsxfname.c \ -- $(ACPICA_COMP)/namespace/nsxfobj.c \ -- $(ACPICA_COMP)/namespace/nsconvert.c \ -- $(ACPICA_COMP)/namespace/nsprepkg.c \ -- $(ACPICA_COMP)/namespace/nsarguments.c \ -- $(ACPICA_COMP)/parser/psargs.c \ -- $(ACPICA_COMP)/parser/psloop.c \ -- $(ACPICA_COMP)/parser/psopcode.c \ -- $(ACPICA_COMP)/parser/psparse.c \ -- $(ACPICA_COMP)/parser/psscope.c \ -- $(ACPICA_COMP)/parser/pstree.c \ -- $(ACPICA_COMP)/parser/psutils.c \ -- $(ACPICA_COMP)/parser/pswalk.c \ -- $(ACPICA_COMP)/parser/psxface.c \ -- $(ACPICA_COMP)/parser/psopinfo.c \ -- $(ACPICA_COMP)/parser/psobject.c \ -- $(ACPICA_COMP)/resources/rsaddr.c \ -- $(ACPICA_COMP)/resources/rscalc.c \ -- $(ACPICA_COMP)/resources/rscreate.c \ -- $(ACPICA_COMP)/resources/rsdump.c \ -- $(ACPICA_COMP)/resources/rsio.c \ -- $(ACPICA_COMP)/resources/rsinfo.c \ -- $(ACPICA_COMP)/resources/rsirq.c \ -- $(ACPICA_COMP)/resources/rslist.c \ -- $(ACPICA_COMP)/resources/rsmemory.c \ -- $(ACPICA_COMP)/resources/rsmisc.c \ -- $(ACPICA_COMP)/resources/rsutils.c \ -- $(ACPICA_COMP)/resources/rsxface.c \ -- $(ACPICA_COMP)/resources/rsserial.c \ -- $(ACPICA_COMP)/resources/rsdumpinfo.c \ -- $(ACPICA_COMP)/tables/tbfadt.c \ -- $(ACPICA_COMP)/tables/tbfind.c \ -- $(ACPICA_COMP)/tables/tbinstal.c \ -- $(ACPICA_COMP)/tables/tbutils.c \ -- $(ACPICA_COMP)/tables/tbxface.c \ -- $(ACPICA_COMP)/tables/tbxfroot.c \ -- $(ACPICA_COMP)/tables/tbxfload.c \ -- $(ACPICA_COMP)/tables/tbprint.c \ -- $(ACPICA_COMP)/utilities/utaddress.c \ -- $(ACPICA_COMP)/utilities/utalloc.c \ -- $(ACPICA_COMP)/utilities/utcache.c \ -- $(ACPICA_COMP)/utilities/utcopy.c \ -- $(ACPICA_COMP)/utilities/utdebug.c \ -- $(ACPICA_COMP)/utilities/utdelete.c \ -- $(ACPICA_COMP)/utilities/uteval.c \ -- $(ACPICA_COMP)/utilities/utglobal.c \ -- $(ACPICA_COMP)/utilities/utids.c \ -- $(ACPICA_COMP)/utilities/utinit.c \ -- $(ACPICA_COMP)/utilities/utlock.c \ -- $(ACPICA_COMP)/utilities/utmath.c \ -- $(ACPICA_COMP)/utilities/utmisc.c \ -- $(ACPICA_COMP)/utilities/utmutex.c \ -- $(ACPICA_COMP)/utilities/utobject.c \ -- $(ACPICA_COMP)/utilities/utresrc.c \ -- $(ACPICA_COMP)/utilities/utstate.c \ -- $(ACPICA_COMP)/utilities/uttrack.c \ -- $(ACPICA_COMP)/utilities/utosi.c \ -- $(ACPICA_COMP)/utilities/utxferror.c \ -- $(ACPICA_COMP)/utilities/utxface.c \ -- $(ACPICA_COMP)/utilities/utdecode.c \ -- $(ACPICA_COMP)/utilities/utexcep.c \ -- $(ACPICA_COMP)/utilities/utpredef.c \ -- $(ACPICA_COMP)/utilities/utstring.c \ -- $(ACPICA_COMP)/utilities/utownerid.c \ -- $(ACPICA_COMP)/utilities/utxfinit.c \ -- $(ACPICA_COMP)/utilities/uterror.c \ -- $(ACPICA_COMP)/utilities/utbuffer.c \ -- $(ACPICA_COMMON)/acgetline.c \ -- $(ACPICA_SRC)/tools/acpiexec/aehandlers.c -+libfwtsacpica_la_SOURCES = \ -+ fwts_acpica.c \ -+ osunixxf_munged.c \ -+ dscontrol_munged.c \ -+ source/components/debugger/dbcmds.c \ -+ source/components/debugger/dbdisply.c \ -+ source/components/debugger/dbexec.c \ -+ source/components/debugger/dbfileio.c \ -+ source/components/debugger/dbhistry.c \ -+ source/components/debugger/dbinput.c \ -+ source/components/debugger/dbstats.c \ -+ source/components/debugger/dbutils.c \ -+ source/components/debugger/dbxface.c \ -+ source/components/debugger/dbmethod.c \ -+ source/components/debugger/dbnames.c \ -+ source/components/debugger/dbconvert.c \ -+ source/components/disassembler/dmbuffer.c \ -+ source/components/disassembler/dmnames.c \ -+ source/components/disassembler/dmobject.c \ -+ source/components/disassembler/dmopcode.c \ -+ source/components/disassembler/dmresrc.c \ -+ source/components/disassembler/dmresrcl.c \ -+ source/components/disassembler/dmresrcs.c \ -+ source/components/disassembler/dmutils.c \ -+ source/components/disassembler/dmwalk.c \ -+ source/components/disassembler/dmresrcl2.c \ -+ source/components/disassembler/dmdeferred.c \ -+ source/components/dispatcher/dsfield.c \ -+ source/components/dispatcher/dsinit.c \ -+ source/components/dispatcher/dsmethod.c \ -+ source/components/dispatcher/dsmthdat.c \ -+ source/components/dispatcher/dsobject.c \ -+ source/components/dispatcher/dsutils.c \ -+ source/components/dispatcher/dswexec.c \ -+ source/components/dispatcher/dswload.c \ -+ source/components/dispatcher/dswscope.c \ -+ source/components/dispatcher/dswstate.c \ -+ source/components/dispatcher/dsargs.c \ -+ source/components/dispatcher/dswload2.c \ -+ source/components/dispatcher/dsopcode.c \ -+ source/components/events/evevent.c \ -+ source/components/events/evgpe.c \ -+ source/components/events/evgpeblk.c \ -+ source/components/events/evgpeinit.c \ -+ source/components/events/evgpeutil.c \ -+ source/components/events/evxfgpe.c \ -+ source/components/events/evmisc.c \ -+ source/components/events/evregion.c \ -+ source/components/events/evrgnini.c \ -+ source/components/events/evsci.c \ -+ source/components/events/evxface.c \ -+ source/components/events/evxfevnt.c \ -+ source/components/events/evxfregn.c \ -+ source/components/events/evglock.c \ -+ source/components/events/evhandler.c \ -+ source/components/executer/exfield.c \ -+ source/components/executer/exfldio.c \ -+ source/components/executer/exmisc.c \ -+ source/components/executer/exmutex.c \ -+ source/components/executer/exnames.c \ -+ source/components/executer/exoparg1.c \ -+ source/components/executer/exoparg2.c \ -+ source/components/executer/exoparg3.c \ -+ source/components/executer/exoparg6.c \ -+ source/components/executer/exprep.c \ -+ source/components/executer/exregion.c \ -+ source/components/executer/exresnte.c \ -+ source/components/executer/exresolv.c \ -+ source/components/executer/exresop.c \ -+ source/components/executer/exstore.c \ -+ source/components/executer/exstoren.c \ -+ source/components/executer/exstorob.c \ -+ source/components/executer/exsystem.c \ -+ source/components/executer/exutils.c \ -+ source/components/executer/exconvrt.c \ -+ source/components/executer/excreate.c \ -+ source/components/executer/exdump.c \ -+ source/components/executer/exdebug.c \ -+ source/components/executer/exconfig.c \ -+ source/components/hardware/hwacpi.c \ -+ source/components/hardware/hwgpe.c \ -+ source/components/hardware/hwpci.c \ -+ source/components/hardware/hwregs.c \ -+ source/components/hardware/hwsleep.c \ -+ source/components/hardware/hwvalid.c \ -+ source/components/hardware/hwxface.c \ -+ source/components/hardware/hwxfsleep.c \ -+ source/components/hardware/hwesleep.c \ -+ source/components/namespace/nsaccess.c \ -+ source/components/namespace/nsalloc.c \ -+ source/components/namespace/nsdump.c \ -+ source/components/namespace/nsdumpdv.c \ -+ source/components/namespace/nseval.c \ -+ source/components/namespace/nsinit.c \ -+ source/components/namespace/nsload.c \ -+ source/components/namespace/nsnames.c \ -+ source/components/namespace/nsobject.c \ -+ source/components/namespace/nsparse.c \ -+ source/components/namespace/nspredef.c \ -+ source/components/namespace/nsrepair.c \ -+ source/components/namespace/nsrepair2.c \ -+ source/components/namespace/nssearch.c \ -+ source/components/namespace/nsutils.c \ -+ source/components/namespace/nswalk.c \ -+ source/components/namespace/nsxfeval.c \ -+ source/components/namespace/nsxfname.c \ -+ source/components/namespace/nsxfobj.c \ -+ source/components/namespace/nsconvert.c \ -+ source/components/namespace/nsprepkg.c \ -+ source/components/namespace/nsarguments.c \ -+ source/components/parser/psargs.c \ -+ source/components/parser/psloop.c \ -+ source/components/parser/psopcode.c \ -+ source/components/parser/psparse.c \ -+ source/components/parser/psscope.c \ -+ source/components/parser/pstree.c \ -+ source/components/parser/psutils.c \ -+ source/components/parser/pswalk.c \ -+ source/components/parser/psxface.c \ -+ source/components/parser/psopinfo.c \ -+ source/components/parser/psobject.c \ -+ source/components/resources/rsaddr.c \ -+ source/components/resources/rscalc.c \ -+ source/components/resources/rscreate.c \ -+ source/components/resources/rsdump.c \ -+ source/components/resources/rsio.c \ -+ source/components/resources/rsinfo.c \ -+ source/components/resources/rsirq.c \ -+ source/components/resources/rslist.c \ -+ source/components/resources/rsmemory.c \ -+ source/components/resources/rsmisc.c \ -+ source/components/resources/rsutils.c \ -+ source/components/resources/rsxface.c \ -+ source/components/resources/rsserial.c \ -+ source/components/resources/rsdumpinfo.c \ -+ source/components/tables/tbfadt.c \ -+ source/components/tables/tbfind.c \ -+ source/components/tables/tbinstal.c \ -+ source/components/tables/tbutils.c \ -+ source/components/tables/tbxface.c \ -+ source/components/tables/tbxfroot.c \ -+ source/components/tables/tbxfload.c \ -+ source/components/tables/tbprint.c \ -+ source/components/utilities/utaddress.c \ -+ source/components/utilities/utalloc.c \ -+ source/components/utilities/utcache.c \ -+ source/components/utilities/utcopy.c \ -+ source/components/utilities/utdebug.c \ -+ source/components/utilities/utdelete.c \ -+ source/components/utilities/uteval.c \ -+ source/components/utilities/utglobal.c \ -+ source/components/utilities/utids.c \ -+ source/components/utilities/utinit.c \ -+ source/components/utilities/utlock.c \ -+ source/components/utilities/utmath.c \ -+ source/components/utilities/utmisc.c \ -+ source/components/utilities/utmutex.c \ -+ source/components/utilities/utobject.c \ -+ source/components/utilities/utresrc.c \ -+ source/components/utilities/utstate.c \ -+ source/components/utilities/uttrack.c \ -+ source/components/utilities/utosi.c \ -+ source/components/utilities/utxferror.c \ -+ source/components/utilities/utxface.c \ -+ source/components/utilities/utdecode.c \ -+ source/components/utilities/utexcep.c \ -+ source/components/utilities/utpredef.c \ -+ source/components/utilities/utstring.c \ -+ source/components/utilities/utownerid.c \ -+ source/components/utilities/utxfinit.c \ -+ source/components/utilities/uterror.c \ -+ source/components/utilities/utbuffer.c \ -+ source/common/acgetline.c \ -+ source/tools/acpiexec/aehandlers.c - - libfwtsacpica_la_LIBADD = \ - -L$(top_srcdir)/src/lib/src -lfwts -lrt -diff --git a/src/acpica/source/compiler/Makefile.am b/src/acpica/source/compiler/Makefile.am -index a117577..b690888 100644 ---- a/src/acpica/source/compiler/Makefile.am -+++ b/src/acpica/source/compiler/Makefile.am -@@ -2,20 +2,10 @@ - # We need to build this as a separate shared library with the iasl functionality built in. We - # just export the fwts_* interface. - # --AM_CPPFLAGS = -Wall -Wstrict-prototypes -fno-strict-aliasing -D_LINUX -DACPI_ASL_COMPILER $(CFLAGS) -I$(top_srcdir)/src/acpica/source/include -+AUTOMAKE_OPTIONS = subdir-objects - --ACPICA_COMPILER = . --ACPICA_COMMON = ../common --ACPICA_COMPONENTS = ../components --ACPICA_UTILS = $(ACPICA_COMPONENTS)/utilities --ACPICA_NAMESPACE = $(ACPICA_COMPONENTS)/namespace --ACPICA_PARSER = $(ACPICA_COMPONENTS)/parser --ACPICA_DISPATCHER = $(ACPICA_COMPONENTS)/dispatcher --ACPICA_EXECUTER = $(ACPICA_COMPONENTS)/executer --ACPICA_DEBUGGER = $(ACPICA_COMPONENTS)/debugger --ACPICA_DISASSEMBLER = $(ACPICA_COMPONENTS)/disassembler --ACPICA_TABLES = $(ACPICA_COMPONENTS)/tables --ACPICA_SERVICE = ../os_specific/service_layers -+AM_CPPFLAGS = -Wall -Wstrict-prototypes -fno-strict-aliasing -D_LINUX \ -+ -DACPI_ASL_COMPILER $(CFLAGS) -I$(top_srcdir)/src/acpica/source/include - - AM_YFLAGS = -v -d -y - -@@ -50,9 +40,12 @@ prparserlex.c: prparser.l - - pkglib_LTLIBRARIES = libfwtsiasl.la - --BUILT_SOURCES = aslcompilerparse.c aslcompilerlex.c \ -- dtparserparse.c dtparserlex.c \ -- prparserparse.c prparserlex.c -+BUILT_SOURCES = aslcompilerparse.c \ -+ aslcompilerlex.c \ -+ dtparserparse.c \ -+ dtparserlex.c \ -+ prparserparse.c \ -+ prparserlex.c - - # - # Just export fwts specific API so we don't clash with core ACPICA library -@@ -60,165 +53,167 @@ BUILT_SOURCES = aslcompilerparse.c aslcompilerlex.c \ - libfwtsiasl_la_LDFLAGS = -export-symbols-regex "fwts_.*" -lpthread -version-info 1:0:0 - - CLEANFILES = y.output y.tab.c y.tab.h aslcompiler.y.h \ -- aslcompilerparse.c aslcompilerlex.c \ -+ aslcompilerparse.c aslcompilerlex.c \ - dtparserparse.c dtparserlex.c - --libfwtsiasl_la_SOURCES = \ -- $(ACPICA_COMPILER)/aslcompile.c \ -- $(ACPICA_COMPILER)/aslcompilerlex.c \ -- $(ACPICA_COMPILER)/aslcompilerparse.c \ -- $(ACPICA_COMPILER)/aslanalyze.c \ -- $(ACPICA_COMPILER)/aslcodegen.c \ -- $(ACPICA_COMPILER)/aslerror.c \ -- $(ACPICA_COMPILER)/aslfiles.c \ -- $(ACPICA_COMPILER)/aslfold.c \ -- $(ACPICA_COMPILER)/asllength.c \ -- $(ACPICA_COMPILER)/asllisting.c \ -- $(ACPICA_COMPILER)/aslload.c \ -- $(ACPICA_COMPILER)/asllookup.c \ -- $(ACPICA_COMPILER)/aslmap.c \ -- $(ACPICA_COMPILER)/aslopcodes.c \ -- $(ACPICA_COMPILER)/asloperands.c \ -- $(ACPICA_COMPILER)/aslopt.c \ -- $(ACPICA_COMPILER)/aslpredef.c \ -- $(ACPICA_COMPILER)/aslresource.c \ -- $(ACPICA_COMPILER)/aslrestype1.c \ -- $(ACPICA_COMPILER)/aslrestype1i.c \ -- $(ACPICA_COMPILER)/aslrestype2.c \ -- $(ACPICA_COMPILER)/aslrestype2d.c \ -- $(ACPICA_COMPILER)/aslrestype2e.c \ -- $(ACPICA_COMPILER)/aslrestype2q.c \ -- $(ACPICA_COMPILER)/aslrestype2w.c \ -- $(ACPICA_COMPILER)/aslstartup.c \ -- $(ACPICA_COMPILER)/aslstubs.c \ -- $(ACPICA_COMPILER)/asltransform.c \ -- $(ACPICA_COMPILER)/asltree.c \ -- $(ACPICA_COMPILER)/aslutils.c \ -- $(ACPICA_COMPILER)/aslbtypes.c \ -- $(ACPICA_COMPILER)/aslwalks.c \ -- $(ACPICA_COMPILER)/asluuid.c \ -- $(ACPICA_COMPILER)/aslmethod.c \ -- $(ACPICA_COMPILER)/aslhex.c \ -- $(ACPICA_COMPILER)/aslnamesp.c \ -- $(ACPICA_COMPILER)/aslfileio.c \ -- $(ACPICA_COMPILER)/asllistsup.c \ -- $(ACPICA_COMPILER)/asloffset.c \ -- $(ACPICA_COMPILER)/aslxref.c \ -- $(ACPICA_COMPILER)/aslprepkg.c \ -- $(ACPICA_COMPILER)/dtfield.c \ -- $(ACPICA_COMPILER)/dtio.c \ -- $(ACPICA_COMPILER)/dtsubtable.c \ -- $(ACPICA_COMPILER)/dttemplate.c \ -- $(ACPICA_COMPILER)/dttable.c \ -- $(ACPICA_COMPILER)/dtutils.c \ -- $(ACPICA_COMPILER)/dtexpress.c \ -- $(ACPICA_COMPILER)/dtcompile.c \ -- $(ACPICA_COMPILER)/dtparserparse.c \ -- $(ACPICA_COMPILER)/dtparserlex.c \ -- $(ACPICA_COMPILER)/prparserparse.c \ -- $(ACPICA_COMPILER)/prparserlex.c \ -- $(ACPICA_COMPILER)/prscan.c \ -- $(ACPICA_COMPILER)/aslrestype2s.c \ -- $(ACPICA_COMPILER)/prmacros.c \ -- $(ACPICA_COMPILER)/prutils.c \ -- $(ACPICA_COMPILER)/prexpress.c \ -- $(ACPICA_UTILS)/utalloc.c \ -- $(ACPICA_UTILS)/utcache.c \ -- $(ACPICA_UTILS)/utcopy.c \ -- $(ACPICA_UTILS)/utdebug.c \ -- $(ACPICA_UTILS)/utdelete.c \ -- $(ACPICA_UTILS)/utglobal.c \ -- $(ACPICA_UTILS)/utinit.c \ -- $(ACPICA_UTILS)/utlock.c \ -- $(ACPICA_UTILS)/utobject.c \ -- $(ACPICA_UTILS)/utmisc.c \ -- $(ACPICA_UTILS)/utmath.c \ -- $(ACPICA_UTILS)/utmutex.c \ -- $(ACPICA_UTILS)/utresrc.c \ -- $(ACPICA_UTILS)/utstate.c \ -- $(ACPICA_UTILS)/utxface.c \ -- $(ACPICA_UTILS)/utxferror.c \ -- $(ACPICA_UTILS)/utdecode.c \ -- $(ACPICA_UTILS)/utpredef.c \ -- $(ACPICA_UTILS)/utstring.c \ -- $(ACPICA_UTILS)/utaddress.c \ -- $(ACPICA_UTILS)/utownerid.c \ -- $(ACPICA_UTILS)/utexcep.c \ -- $(ACPICA_NAMESPACE)/nsaccess.c \ -- $(ACPICA_NAMESPACE)/nsalloc.c \ -- $(ACPICA_NAMESPACE)/nsdump.c \ -- $(ACPICA_NAMESPACE)/nsnames.c \ -- $(ACPICA_NAMESPACE)/nsobject.c \ -- $(ACPICA_NAMESPACE)/nsparse.c \ -- $(ACPICA_NAMESPACE)/nssearch.c \ -- $(ACPICA_NAMESPACE)/nsutils.c \ -- $(ACPICA_NAMESPACE)/nswalk.c \ -- $(ACPICA_NAMESPACE)/nsxfobj.c \ -- $(ACPICA_PARSER)/psargs.c \ -- $(ACPICA_PARSER)/psloop.c \ -- $(ACPICA_PARSER)/psopcode.c \ -- $(ACPICA_PARSER)/psparse.c \ -- $(ACPICA_PARSER)/psscope.c \ -- $(ACPICA_PARSER)/pstree.c \ -- $(ACPICA_PARSER)/psutils.c \ -- $(ACPICA_PARSER)/pswalk.c \ -- $(ACPICA_PARSER)/psobject.c \ -- $(ACPICA_PARSER)/psopinfo.c \ -- $(ACPICA_DISPATCHER)/dswscope.c \ -- $(ACPICA_DISPATCHER)/dswstate.c \ -- $(ACPICA_DISPATCHER)/dsfield.c \ -- $(ACPICA_DISPATCHER)/dsobject.c \ -- $(ACPICA_DISPATCHER)/dsopcode.c \ -- $(ACPICA_DISPATCHER)/dsutils.c \ -- $(ACPICA_DISPATCHER)/dswexec.c \ -- $(ACPICA_DISPATCHER)/dswload.c \ -- $(ACPICA_DISPATCHER)/dswload2.c \ -- $(ACPICA_DISPATCHER)/dsargs.c \ -- $(ACPICA_DISPATCHER)/dscontrol.c \ -- $(ACPICA_EXECUTER)/exconvrt.c \ -- $(ACPICA_EXECUTER)/excreate.c \ -- $(ACPICA_EXECUTER)/exdump.c \ -- $(ACPICA_EXECUTER)/exmisc.c \ -- $(ACPICA_EXECUTER)/exmutex.c \ -- $(ACPICA_EXECUTER)/exnames.c \ -- $(ACPICA_EXECUTER)/exoparg1.c \ -- $(ACPICA_EXECUTER)/exoparg2.c \ -- $(ACPICA_EXECUTER)/exoparg3.c \ -- $(ACPICA_EXECUTER)/exoparg6.c \ -- $(ACPICA_EXECUTER)/exprep.c \ -- $(ACPICA_EXECUTER)/exregion.c \ -- $(ACPICA_EXECUTER)/exresnte.c \ -- $(ACPICA_EXECUTER)/exresolv.c \ -- $(ACPICA_EXECUTER)/exresop.c \ -- $(ACPICA_EXECUTER)/exstore.c \ -- $(ACPICA_EXECUTER)/exstoren.c \ -- $(ACPICA_EXECUTER)/exstorob.c \ -- $(ACPICA_EXECUTER)/exsystem.c \ -- $(ACPICA_EXECUTER)/exutils.c \ -- $(ACPICA_COMMON)/adfile.c \ -- $(ACPICA_COMMON)/adisasm.c \ -- $(ACPICA_COMMON)/adwalk.c \ -- $(ACPICA_COMMON)/ahpredef.c \ -- $(ACPICA_COMMON)/dmextern.c \ -- $(ACPICA_COMMON)/dmrestag.c \ -- $(ACPICA_COMMON)/dmtable.c \ -- $(ACPICA_COMMON)/dmtbinfo.c \ -- $(ACPICA_COMMON)/dmtbdump.c \ -- $(ACPICA_DEBUGGER)/dbfileio.c \ -- $(ACPICA_DISASSEMBLER)/dmbuffer.c \ -- $(ACPICA_DISASSEMBLER)/dmnames.c \ -- $(ACPICA_DISASSEMBLER)/dmopcode.c \ -- $(ACPICA_DISASSEMBLER)/dmobject.c \ -- $(ACPICA_DISASSEMBLER)/dmresrc.c \ -- $(ACPICA_DISASSEMBLER)/dmresrcl.c \ -- $(ACPICA_DISASSEMBLER)/dmresrcs.c \ -- $(ACPICA_DISASSEMBLER)/dmutils.c \ -- $(ACPICA_DISASSEMBLER)/dmwalk.c \ -- $(ACPICA_DISASSEMBLER)/dmdeferred.c \ -- $(ACPICA_DISASSEMBLER)/dmresrcl2.c \ -- $(ACPICA_TABLES)/tbfadt.c \ -- $(ACPICA_TABLES)/tbinstal.c \ -- $(ACPICA_TABLES)/tbutils.c \ -- $(ACPICA_TABLES)/tbxface.c \ -- $(ACPICA_SERVICE)/osunixxf.c \ -- $(ACPICA_COMPILER)/fwts_iasl_interface.c -+libfwtsiasl_la_CPPFLAGS = $(AM_CPPFLAGS) -+libfwtsiasl_la_SOURCES = \ -+ fwts_iasl_interface.c \ -+ aslcompile.c \ -+ aslcompilerlex.c \ -+ aslcompilerparse.c \ -+ aslanalyze.c \ -+ aslcodegen.c \ -+ aslerror.c \ -+ aslfiles.c \ -+ aslfold.c \ -+ asllength.c \ -+ asllisting.c \ -+ aslload.c \ -+ asllookup.c \ -+ aslmap.c \ -+ aslopcodes.c \ -+ asloperands.c \ -+ aslopt.c \ -+ aslpredef.c \ -+ aslresource.c \ -+ aslrestype1.c \ -+ aslrestype1i.c \ -+ aslrestype2.c \ -+ aslrestype2d.c \ -+ aslrestype2e.c \ -+ aslrestype2q.c \ -+ aslrestype2w.c \ -+ aslstartup.c \ -+ aslstubs.c \ -+ asltransform.c \ -+ asltree.c \ -+ aslutils.c \ -+ aslbtypes.c \ -+ aslwalks.c \ -+ asluuid.c \ -+ aslmethod.c \ -+ aslhex.c \ -+ aslnamesp.c \ -+ aslfileio.c \ -+ asllistsup.c \ -+ asloffset.c \ -+ aslxref.c \ -+ aslprepkg.c \ -+ dtfield.c \ -+ dtio.c \ -+ dtsubtable.c \ -+ dttemplate.c \ -+ dttable.c \ -+ dtutils.c \ -+ dtexpress.c \ -+ dtcompile.c \ -+ dtparserparse.c \ -+ dtparserlex.c \ -+ prparserparse.c \ -+ prparserlex.c \ -+ prscan.c \ -+ aslrestype2s.c \ -+ prmacros.c \ -+ prutils.c \ -+ prexpress.c \ -+ ../components/utilities/utalloc.c \ -+ ../components/utilities/utcache.c \ -+ ../components/utilities/utcopy.c \ -+ ../components/utilities/utdebug.c \ -+ ../components/utilities/utdelete.c \ -+ ../components/utilities/utglobal.c \ -+ ../components/utilities/utinit.c \ -+ ../components/utilities/utlock.c \ -+ ../components/utilities/utobject.c \ -+ ../components/utilities/utmisc.c \ -+ ../components/utilities/utmath.c \ -+ ../components/utilities/utmutex.c \ -+ ../components/utilities/utresrc.c \ -+ ../components/utilities/utstate.c \ -+ ../components/utilities/utxface.c \ -+ ../components/utilities/utxferror.c \ -+ ../components/utilities/utdecode.c \ -+ ../components/utilities/utpredef.c \ -+ ../components/utilities/utstring.c \ -+ ../components/utilities/utaddress.c \ -+ ../components/utilities/utownerid.c \ -+ ../components/utilities/utexcep.c \ -+ ../components/namespace/nsaccess.c \ -+ ../components/namespace/nsalloc.c \ -+ ../components/namespace/nsdump.c \ -+ ../components/namespace/nsnames.c \ -+ ../components/namespace/nsobject.c \ -+ ../components/namespace/nsparse.c \ -+ ../components/namespace/nssearch.c \ -+ ../components/namespace/nsutils.c \ -+ ../components/namespace/nswalk.c \ -+ ../components/namespace/nsxfobj.c \ -+ ../components/parser/psargs.c \ -+ ../components/parser/psloop.c \ -+ ../components/parser/psopcode.c \ -+ ../components/parser/psparse.c \ -+ ../components/parser/psscope.c \ -+ ../components/parser/pstree.c \ -+ ../components/parser/psutils.c \ -+ ../components/parser/pswalk.c \ -+ ../components/parser/psobject.c \ -+ ../components/parser/psopinfo.c \ -+ ../components/dispatcher/dswscope.c \ -+ ../components/dispatcher/dswstate.c \ -+ ../components/dispatcher/dsfield.c \ -+ ../components/dispatcher/dsobject.c \ -+ ../components/dispatcher/dsopcode.c \ -+ ../components/dispatcher/dsutils.c \ -+ ../components/dispatcher/dswexec.c \ -+ ../components/dispatcher/dswload.c \ -+ ../components/dispatcher/dswload2.c \ -+ ../components/dispatcher/dsargs.c \ -+ ../components/dispatcher/dscontrol.c \ -+ ../components/executer/exconvrt.c \ -+ ../components/executer/excreate.c \ -+ ../components/executer/exdump.c \ -+ ../components/executer/exmisc.c \ -+ ../components/executer/exmutex.c \ -+ ../components/executer/exnames.c \ -+ ../components/executer/exoparg1.c \ -+ ../components/executer/exoparg2.c \ -+ ../components/executer/exoparg3.c \ -+ ../components/executer/exoparg6.c \ -+ ../components/executer/exprep.c \ -+ ../components/executer/exregion.c \ -+ ../components/executer/exresnte.c \ -+ ../components/executer/exresolv.c \ -+ ../components/executer/exresop.c \ -+ ../components/executer/exstore.c \ -+ ../components/executer/exstoren.c \ -+ ../components/executer/exstorob.c \ -+ ../components/executer/exsystem.c \ -+ ../components/executer/exutils.c \ -+ ../common/adfile.c \ -+ ../common/adisasm.c \ -+ ../common/adwalk.c \ -+ ../common/ahpredef.c \ -+ ../common/dmextern.c \ -+ ../common/dmrestag.c \ -+ ../common/dmtable.c \ -+ ../common/dmtbinfo.c \ -+ ../common/dmtbdump.c \ -+ ../components/debugger/dbfileio.c \ -+ ../components/disassembler/dmbuffer.c \ -+ ../components/disassembler/dmnames.c \ -+ ../components/disassembler/dmopcode.c \ -+ ../components/disassembler/dmobject.c \ -+ ../components/disassembler/dmresrc.c \ -+ ../components/disassembler/dmresrcl.c \ -+ ../components/disassembler/dmresrcs.c \ -+ ../components/disassembler/dmutils.c \ -+ ../components/disassembler/dmwalk.c \ -+ ../components/disassembler/dmdeferred.c \ -+ ../components/disassembler/dmresrcl2.c \ -+ ../components/tables/tbfadt.c \ -+ ../components/tables/tbinstal.c \ -+ ../components/tables/tbutils.c \ -+ ../components/tables/tbxface.c \ -+ ../os_specific/service_layers/osunixxf.c -+ -diff --git a/src/lib/src/Makefile.am b/src/lib/src/Makefile.am -index d708f34..7668b8c 100644 ---- a/src/lib/src/Makefile.am -+++ b/src/lib/src/Makefile.am -@@ -12,6 +12,8 @@ libfwts_la_LDFLAGS = \ - -L$(top_srcdir)/src/acpica/source/compiler \ - -lfwtsiasl - -+libfwts_la_CPPFLAGS = $(AM_CPPFLAGS) -+ - # - # Components of the fwts core helper library libfwts - # diff --git a/meta-luv/recipes-core/fwts/fwts_git.bb b/meta-luv/recipes-core/fwts/fwts_git.bb index df603370a01..33ac037df75 100644 --- a/meta-luv/recipes-core/fwts/fwts_git.bb +++ b/meta-luv/recipes-core/fwts/fwts_git.bb @@ -4,12 +4,10 @@ HOMEPAGE = "https://wiki.ubuntu.com/Kernel/Reference/fwts" LICENSE = "GPLv2+" LIC_FILES_CHKSUM = "file://src/main.c;beginline=1;endline=16;md5=deb8af5388e838d133eaa036f4d1496f" -PV = "14.01.00+git${SRCPV}" +PV = "14.03.01+git${SRCPV}" -SRCREV = "fef72314787d7b029d932ef56b4a117538cf69e3" +SRCREV = "8ec44dc1e55ecf334f4afa8eed8795ed5776c396" SRC_URI = "git://kernel.ubuntu.com/hwe/fwts.git \ - file://subdir.patch \ - file://jsonc.patch \ file://luv-parser-fwts \ " From 6d99340b5c5cb7c058b2056c5b2f7779f2677ee3 Mon Sep 17 00:00:00 2001 From: Matt Fleming Date: Thu, 3 Apr 2014 09:21:40 +0100 Subject: [PATCH 553/658] linux-yocto-efi-test: Enable kernel debugging options There are a few kernel debug options that are not enabled in our kernel config such as lockdep support, and RCU stall warning. Turn them on so that we can catch these kinds of bugs at runtime. There is a performance penalty to pay for having these features turned on at runtime, but it's worth it because we favour correctness and ease of debugging over performance. If our priorities change in future we can always create a separate debug version of the kernel. Signed-off-by: Matt Fleming --- .../linux/linux-yocto-efi-test/defconfig | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/meta-luv/recipes-kernel/linux/linux-yocto-efi-test/defconfig b/meta-luv/recipes-kernel/linux/linux-yocto-efi-test/defconfig index b26f48846a7..27724263447 100644 --- a/meta-luv/recipes-kernel/linux/linux-yocto-efi-test/defconfig +++ b/meta-luv/recipes-kernel/linux/linux-yocto-efi-test/defconfig @@ -3124,8 +3124,8 @@ CONFIG_HAVE_ARCH_KMEMCHECK=y # # Debug Lockups and Hangs # -# CONFIG_LOCKUP_DETECTOR is not set -# CONFIG_DETECT_HUNG_TASK is not set +CONFIG_LOCKUP_DETECTOR=y +CONFIG_DETECT_HUNG_TASK=y # CONFIG_PANIC_ON_OOPS is not set CONFIG_PANIC_ON_OOPS_VALUE=0 # CONFIG_SCHED_DEBUG is not set @@ -3137,13 +3137,13 @@ CONFIG_TIMER_STATS=y # # CONFIG_DEBUG_RT_MUTEXES is not set # CONFIG_RT_MUTEX_TESTER is not set -# CONFIG_DEBUG_SPINLOCK is not set -# CONFIG_DEBUG_MUTEXES is not set +CONFIG_DEBUG_SPINLOCK=y +CONFIG_DEBUG_MUTEXES=y # CONFIG_DEBUG_WW_MUTEX_SLOWPATH is not set # CONFIG_DEBUG_LOCK_ALLOC is not set -# CONFIG_PROVE_LOCKING is not set +CONFIG_PROVE_LOCKING=y # CONFIG_LOCK_STAT is not set -# CONFIG_DEBUG_ATOMIC_SLEEP is not set +CONFIG_DEBUG_ATOMIC_SLEEP=y # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set CONFIG_STACKTRACE=y # CONFIG_DEBUG_KOBJECT is not set @@ -3161,7 +3161,7 @@ CONFIG_DEBUG_BUGVERBOSE=y # CONFIG_RCU_TORTURE_TEST is not set CONFIG_RCU_CPU_STALL_TIMEOUT=21 # CONFIG_RCU_CPU_STALL_INFO is not set -# CONFIG_RCU_TRACE is not set +CONFIG_RCU_TRACE=y # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set # CONFIG_NOTIFIER_ERROR_INJECTION is not set # CONFIG_FAULT_INJECTION is not set From d02c11ccac1ab8b0e2a65bc568be36d1bddd7a91 Mon Sep 17 00:00:00 2001 From: Matt Fleming Date: Thu, 3 Apr 2014 15:48:59 +0100 Subject: [PATCH 554/658] fwts: Build and install kernel module for UEFI tests The UEFI runtime tests require the efi_runtime kernel module. So build and install it as part of our fwts recipe. While it would have been possible to create a new, separate recipe solely for the kernel module a unified one makes more sense because all the code is kept in a single upstream repository. Signed-off-by: Matt Fleming --- meta-luv/recipes-core/fwts/fwts_git.bb | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/meta-luv/recipes-core/fwts/fwts_git.bb b/meta-luv/recipes-core/fwts/fwts_git.bb index 33ac037df75..1f490a3ee4c 100644 --- a/meta-luv/recipes-core/fwts/fwts_git.bb +++ b/meta-luv/recipes-core/fwts/fwts_git.bb @@ -14,11 +14,33 @@ SRC_URI = "git://kernel.ubuntu.com/hwe/fwts.git \ S = "${WORKDIR}/git" DEPENDS = "autoconf automake libtool libpcre libjson flex bison " -inherit autotools luv-test +inherit autotools luv-test module-base + +do_compile_append() { + unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS + oe_runmake KERNEL_PATH=${STAGING_KERNEL_DIR} \ + KERNEL_SRC=${STAGING_KERNEL_DIR} \ + KERNEL_VERSION=${KERNEL_VERSION} \ + CC="${KERNEL_CC}" LD="${KERNEL_LD}" \ + AR="${KERNEL_AR}" -C ${STAGING_KERNEL_DIR} \ + M="${S}/efi_runtime" \ + ${MAKE_TARGETS} +} + +do_install_append() { + unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS + oe_runmake DEPMOD=echo INSTALL_MOD_PATH="${D}" \ + KERNEL_SRC=${STAGING_KERNEL_DIR} \ + CC="${KERNEL_CC}" LD="${KERNEL_LD}" \ + -C ${STAGING_KERNEL_DIR} \ + M="${S}/efi_runtime" \ + modules_install +} LUV_TEST_LOG_PARSER="luv-parser-fwts" LUV_TEST_ARGS="-r stdout -q --uefi --log-filter='SUM,INF' \ --log-format='%owner;%field '" FILES_${PN} += "${libdir}/fwts/lib*${SOLIBS}" +FILES_${PN} += "/lib/modules/${KERNEL_VERSION}/extra/efi_runtime.ko" FILES_${PN}-dev += "${libdir}/fwts/lib*${SOLIBSDEV} ${libdir}/fwts/lib*.la" From 2df55c34bdeeafe01c7b21349cebcf501c8065c0 Mon Sep 17 00:00:00 2001 From: Matt Fleming Date: Thu, 3 Apr 2014 15:58:34 +0100 Subject: [PATCH 555/658] fwts: Add module patches to avoid kernel crashes These patches have been postd to the upstream fwts mailing list for review. Meanwhile, let's add them so we can run the fwts UEFI tests. With these patches all the UEFI tests pass when booting core-image-efi with OVMF. Signed-off-by: Matt Fleming --- ...i_runtime-Set-default-value-for-KVER.patch | 27 + ...ctor-ioctl-code-into-helper-function.patch | 506 ++++++++++++++++++ ...p-kernel-version-dependent-functions.patch | 99 ++++ ...-not-pass-user-addresses-to-firmware.patch | 374 +++++++++++++ meta-luv/recipes-core/fwts/fwts_git.bb | 4 + 5 files changed, 1010 insertions(+) create mode 100644 meta-luv/recipes-core/fwts/fwts/0001-efi_runtime-Set-default-value-for-KVER.patch create mode 100644 meta-luv/recipes-core/fwts/fwts/0002-efi_runtime-Refactor-ioctl-code-into-helper-function.patch create mode 100644 meta-luv/recipes-core/fwts/fwts/0003-efi_runtime-Group-kernel-version-dependent-functions.patch create mode 100644 meta-luv/recipes-core/fwts/fwts/0004-efi_runtime-Do-not-pass-user-addresses-to-firmware.patch diff --git a/meta-luv/recipes-core/fwts/fwts/0001-efi_runtime-Set-default-value-for-KVER.patch b/meta-luv/recipes-core/fwts/fwts/0001-efi_runtime-Set-default-value-for-KVER.patch new file mode 100644 index 00000000000..bbe37b413ce --- /dev/null +++ b/meta-luv/recipes-core/fwts/fwts/0001-efi_runtime-Set-default-value-for-KVER.patch @@ -0,0 +1,27 @@ +From 1cdc7e119a0137f5028614db3bcebb6063d1f72a Mon Sep 17 00:00:00 2001 +From: Matt Fleming +Date: Thu, 3 Apr 2014 09:51:23 +0100 +Subject: [PATCH 1/4] efi_runtime: Set default value for $KVER + +Instead of requiring a value to be specified for $KVER, we can set a +default which will do the right thing in most cases, e.g. build the +efi_runtime module against the running kernel. + +Cc: Borislav Petkov +Signed-off-by: Matt Fleming +--- + efi_runtime/Makefile | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/efi_runtime/Makefile b/efi_runtime/Makefile +index a9c0ea7..b145502 100644 +--- a/efi_runtime/Makefile ++++ b/efi_runtime/Makefile +@@ -1,3 +1,4 @@ ++KVER ?= `uname -r` + obj-m += efi_runtime.o + all: + make -C /lib/modules/$(KVER)/build M=`pwd` modules +-- +1.7.11.7 + diff --git a/meta-luv/recipes-core/fwts/fwts/0002-efi_runtime-Refactor-ioctl-code-into-helper-function.patch b/meta-luv/recipes-core/fwts/fwts/0002-efi_runtime-Refactor-ioctl-code-into-helper-function.patch new file mode 100644 index 00000000000..84e233a79cf --- /dev/null +++ b/meta-luv/recipes-core/fwts/fwts/0002-efi_runtime-Refactor-ioctl-code-into-helper-function.patch @@ -0,0 +1,506 @@ +From 8da10c8c9dec4f2a3725c301ebe623f67fdb8766 Mon Sep 17 00:00:00 2001 +From: Matt Fleming +Date: Thu, 3 Apr 2014 10:21:41 +0100 +Subject: [PATCH 2/4] efi_runtime: Refactor ioctl code into helper functions + +efi_runtime_ioctl() has grown to be fairly unwieldy because it includes +all the data objects and logic in one place. Make use of helper +functions for each of the ioctl commands to make the code easier to read +and maintain. + +There is no intended change to functionality, just code movement. + +Signed-off-by: Matt Fleming +--- + efi_runtime/efi_runtime.c | 419 +++++++++++++++++++++++++++------------------- + 1 file changed, 246 insertions(+), 173 deletions(-) + +diff --git a/efi_runtime/efi_runtime.c b/efi_runtime/efi_runtime.c +index db46f11..be1e20a 100644 +--- a/efi_runtime/efi_runtime.c ++++ b/efi_runtime/efi_runtime.c +@@ -100,235 +100,308 @@ static void convert_to_guid(efi_guid_t *vendor, EFI_GUID *vendor_guid) + vendor_guid->Data4[i] = vendor->b[i+8]; + } + +-static long efi_runtime_ioctl(struct file *file, unsigned int cmd, +- unsigned long arg) ++static long efi_runtime_get_variable(unsigned long arg) + { +- efi_status_t status; + struct efi_getvariable __user *pgetvariable; +- struct efi_setvariable __user *psetvariable; +- +- efi_guid_t vendor; +- EFI_GUID vendor_guid; + unsigned long datasize; ++ EFI_GUID vendor_guid; ++ efi_guid_t vendor; ++ efi_status_t status; + uint32_t attr; + +- efi_time_t eft; +- efi_time_cap_t cap; +- struct efi_gettime __user *pgettime; +- struct efi_settime __user *psettime; ++ pgetvariable = (struct efi_getvariable __user *)arg; ++ ++ if (get_user(datasize, pgetvariable->DataSize) || ++ copy_from_user(&vendor_guid, pgetvariable->VendorGuid, ++ sizeof(EFI_GUID))) ++ return -EFAULT; ++ ++ convert_from_guid(&vendor, &vendor_guid); ++ status = efi.get_variable(pgetvariable->VariableName, &vendor, ++ &attr, &datasize, pgetvariable->Data); ++ if (put_user(status, pgetvariable->status)) ++ return -EFAULT; ++ if (status == EFI_SUCCESS) { ++ if (put_user(attr, pgetvariable->Attributes) || ++ put_user(datasize, pgetvariable->DataSize)) ++ return -EFAULT; ++ return 0; ++ } else { ++ printk(KERN_ERR "efi_runtime: can't get variable\n"); ++ return -EINVAL; ++ } + +- unsigned char enabled, pending; +- EFI_TIME efi_time; +- struct efi_getwakeuptime __user *pgetwakeuptime; +- struct efi_setwakeuptime __user *psetwakeuptime; ++ return 0; ++} + +- struct efi_getnextvariablename __user *pgetnextvariablename; +- unsigned long name_size; ++static long efi_runtime_set_variable(unsigned long arg) ++{ ++ struct efi_setvariable __user *psetvariable; ++ unsigned long datasize; ++ EFI_GUID vendor_guid; ++ efi_guid_t vendor; ++ efi_status_t status; ++ uint32_t attr; + +- struct efi_getnexthighmonotoniccount __user *pgetnexthighmonotoniccount; +-#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,1,0) +- struct efi_queryvariableinfo __user *pqueryvariableinfo; +- struct efi_querycapsulecapabilities __user *pquerycapsulecapabilities; +-#endif ++ psetvariable = (struct efi_setvariable __user *)arg; ++ if (get_user(datasize, &psetvariable->DataSize) || ++ get_user(attr, &psetvariable->Attributes) || ++ copy_from_user(&vendor_guid, psetvariable->VendorGuid, ++ sizeof(EFI_GUID))) ++ return -EFAULT; + +- switch (cmd) { +- case EFI_RUNTIME_GET_VARIABLE: +- pgetvariable = (struct efi_getvariable __user *)arg; ++ convert_from_guid(&vendor, &vendor_guid); ++ status = efi.set_variable(psetvariable->VariableName, &vendor, ++ attr, datasize, psetvariable->Data); + +- if (get_user(datasize, pgetvariable->DataSize) || +- copy_from_user(&vendor_guid, pgetvariable->VendorGuid, +- sizeof(EFI_GUID))) +- return -EFAULT; ++ if (put_user(status, psetvariable->status)) ++ return -EFAULT; ++ return status == EFI_SUCCESS ? 0 : -EINVAL; ++} + +- convert_from_guid(&vendor, &vendor_guid); +- status = efi.get_variable(pgetvariable->VariableName, &vendor, +- &attr, &datasize, pgetvariable->Data); +- if (put_user(status, pgetvariable->status)) +- return -EFAULT; +- if (status == EFI_SUCCESS) { +- if (put_user(attr, pgetvariable->Attributes) || +- put_user(datasize, pgetvariable->DataSize)) +- return -EFAULT; +- return 0; +- } else { +- printk(KERN_ERR "efi_runtime: can't get variable\n"); +- return -EINVAL; +- } ++static long efi_runtime_get_time(unsigned long arg) ++{ ++ struct efi_gettime __user *pgettime; ++ efi_status_t status; ++ efi_time_cap_t cap; ++ efi_time_t eft; + +- case EFI_RUNTIME_SET_VARIABLE: +- psetvariable = (struct efi_setvariable __user *)arg; +- if (get_user(datasize, &psetvariable->DataSize) || +- get_user(attr, &psetvariable->Attributes) || +- copy_from_user(&vendor_guid, psetvariable->VendorGuid, +- sizeof(EFI_GUID))) +- return -EFAULT; ++ status = efi.get_time(&eft, &cap); ++ pgettime = (struct efi_gettime __user *)arg; ++ if (put_user(status, pgettime->status)) ++ return -EFAULT; ++ if (status != EFI_SUCCESS) { ++ printk(KERN_ERR "efitime: can't read time\n"); ++ return -EINVAL; ++ } ++ if (put_user(cap.resolution, ++ &pgettime->Capabilities->Resolution) || ++ put_user(cap.accuracy, ++ &pgettime->Capabilities->Accuracy) || ++ put_user(cap.sets_to_zero, ++ &pgettime->Capabilities->SetsToZero)) ++ return -EFAULT; ++ return copy_to_user(pgettime->Time, &eft, ++ sizeof(EFI_TIME)) ? -EFAULT : 0; ++} + +- convert_from_guid(&vendor, &vendor_guid); +- status = efi.set_variable(psetvariable->VariableName, &vendor, +- attr, datasize, psetvariable->Data); ++static long efi_runtime_set_time(unsigned long arg) ++{ ++ struct efi_settime __user *psettime; ++ efi_status_t status; ++ EFI_TIME efi_time; ++ efi_time_t eft; + +- if (put_user(status, psetvariable->status)) +- return -EFAULT; +- return status == EFI_SUCCESS ? 0 : -EINVAL; ++ psettime = (struct efi_settime __user *)arg; ++ if (copy_from_user(&efi_time, psettime->Time, ++ sizeof(EFI_TIME))) ++ return -EFAULT; ++ convert_to_efi_time(&eft, &efi_time); ++ status = efi.set_time(&eft); + +- case EFI_RUNTIME_GET_TIME: +- status = efi.get_time(&eft, &cap); +- pgettime = (struct efi_gettime __user *)arg; +- if (put_user(status, pgettime->status)) +- return -EFAULT; +- if (status != EFI_SUCCESS) { +- printk(KERN_ERR "efitime: can't read time\n"); +- return -EINVAL; +- } +- if (put_user(cap.resolution, +- &pgettime->Capabilities->Resolution) || +- put_user(cap.accuracy, +- &pgettime->Capabilities->Accuracy) || +- put_user(cap.sets_to_zero, +- &pgettime->Capabilities->SetsToZero)) +- return -EFAULT; +- return copy_to_user(pgettime->Time, &eft, +- sizeof(EFI_TIME)) ? -EFAULT : 0; ++ if (put_user(status, psettime->status)) ++ return -EFAULT; + +- case EFI_RUNTIME_SET_TIME: ++ return status == EFI_SUCCESS ? 0 : -EINVAL; ++} + +- psettime = (struct efi_settime __user *)arg; +- if (copy_from_user(&efi_time, psettime->Time, +- sizeof(EFI_TIME))) +- return -EFAULT; +- convert_to_efi_time(&eft, &efi_time); +- status = efi.set_time(&eft); ++static long efi_runtime_get_waketime(unsigned long arg) ++{ ++ struct efi_getwakeuptime __user *pgetwakeuptime; ++ unsigned char enabled, pending; ++ efi_status_t status; ++ EFI_TIME efi_time; ++ efi_time_t eft; + +- if (put_user(status, psettime->status)) +- return -EFAULT; ++ status = efi.get_wakeup_time((efi_bool_t *)&enabled, ++ (efi_bool_t *)&pending, &eft); + +- return status == EFI_SUCCESS ? 0 : -EINVAL; ++ pgetwakeuptime = (struct efi_getwakeuptime __user *)arg; + +- case EFI_RUNTIME_GET_WAKETIME: ++ if (put_user(status, pgetwakeuptime->status)) ++ return -EFAULT; ++ if (status != EFI_SUCCESS) ++ return -EINVAL; + +- status = efi.get_wakeup_time((efi_bool_t *)&enabled, +- (efi_bool_t *)&pending, &eft); ++ if (put_user(enabled, pgetwakeuptime->Enabled) || ++ put_user(pending, pgetwakeuptime->Pending)) ++ return -EFAULT; + +- pgetwakeuptime = (struct efi_getwakeuptime __user *)arg; ++ convert_from_efi_time(&eft, &efi_time); + +- if (put_user(status, pgetwakeuptime->status)) +- return -EFAULT; +- if (status != EFI_SUCCESS) +- return -EINVAL; ++ return copy_to_user(pgetwakeuptime->Time, &efi_time, ++ sizeof(EFI_TIME)) ? -EFAULT : 0; ++} + +- if (put_user(enabled, pgetwakeuptime->Enabled) || +- put_user(pending, pgetwakeuptime->Pending)) +- return -EFAULT; ++static long efi_runtime_set_waketime(unsigned long arg) ++{ ++ struct efi_setwakeuptime __user *psetwakeuptime; ++ unsigned char enabled; ++ efi_status_t status; ++ EFI_TIME efi_time; ++ efi_time_t eft; + +- convert_from_efi_time(&eft, &efi_time); ++ psetwakeuptime = (struct efi_setwakeuptime __user *)arg; + +- return copy_to_user(pgetwakeuptime->Time, &efi_time, +- sizeof(EFI_TIME)) ? -EFAULT : 0; ++ if (get_user(enabled, &psetwakeuptime->Enabled) || ++ copy_from_user(&efi_time, ++ psetwakeuptime->Time, ++ sizeof(EFI_TIME))) ++ return -EFAULT; + +- case EFI_RUNTIME_SET_WAKETIME: ++ convert_to_efi_time(&eft, &efi_time); + +- psetwakeuptime = (struct efi_setwakeuptime __user *)arg; ++ status = efi.set_wakeup_time(enabled, &eft); + +- if (get_user(enabled, &psetwakeuptime->Enabled) || +- copy_from_user(&efi_time, +- psetwakeuptime->Time, +- sizeof(EFI_TIME))) +- return -EFAULT; ++ if (put_user(status, psetwakeuptime->status)) ++ return -EFAULT; + +- convert_to_efi_time(&eft, &efi_time); ++ return status == EFI_SUCCESS ? 0 : -EINVAL; ++} + +- status = efi.set_wakeup_time(enabled, &eft); ++static long efi_runtime_get_nextvariablename(unsigned long arg) ++{ ++ struct efi_getnextvariablename __user *pgetnextvariablename; ++ unsigned long name_size; ++ efi_status_t status; ++ efi_guid_t vendor; ++ EFI_GUID vendor_guid; + +- if (put_user(status, psetwakeuptime->status)) +- return -EFAULT; ++ pgetnextvariablename = (struct efi_getnextvariablename ++ __user *)arg; ++ ++ if (get_user(name_size, pgetnextvariablename->VariableNameSize) ++ || copy_from_user(&vendor_guid, ++ pgetnextvariablename->VendorGuid, ++ sizeof(EFI_GUID))) ++ return -EFAULT; ++ if (name_size > 1024) ++ return -EFAULT; ++ ++ convert_from_guid(&vendor, &vendor_guid); ++ ++ status = efi.get_next_variable(&name_size, ++ pgetnextvariablename->VariableName, ++ &vendor); ++ if (put_user(status, pgetnextvariablename->status)) ++ return -EFAULT; ++ convert_to_guid(&vendor, &vendor_guid); ++ ++ if (put_user(name_size, pgetnextvariablename->VariableNameSize)) ++ return -EFAULT; ++ ++ if (copy_to_user(pgetnextvariablename->VendorGuid, ++ &vendor_guid, sizeof(EFI_GUID))) ++ return -EFAULT; ++ if (status != EFI_SUCCESS) ++ return -EINVAL; ++ return 0; ++} + +- return status == EFI_SUCCESS ? 0 : -EINVAL; ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,1,0) ++static long efi_runtime_query_variableinfo(unsigned long arg) ++{ ++ struct efi_queryvariableinfo __user *pqueryvariableinfo; ++ efi_status_t status; ++ uint32_t attr; + +- case EFI_RUNTIME_GET_NEXTVARIABLENAME: ++ pqueryvariableinfo = (struct efi_queryvariableinfo __user *)arg; + +- pgetnextvariablename = (struct efi_getnextvariablename +- __user *)arg; ++ if (get_user(attr, &pqueryvariableinfo->Attributes)) ++ return -EFAULT; + +- if (get_user(name_size, pgetnextvariablename->VariableNameSize) +- || copy_from_user(&vendor_guid, +- pgetnextvariablename->VendorGuid, +- sizeof(EFI_GUID))) +- return -EFAULT; +- if (name_size > 1024) +- return -EFAULT; ++ status = efi.query_variable_info(attr, ++ pqueryvariableinfo->MaximumVariableStorageSize, ++ pqueryvariableinfo->RemainingVariableStorageSize ++ , pqueryvariableinfo->MaximumVariableSize); ++ if (put_user(status, pqueryvariableinfo->status)) ++ return -EFAULT; ++ if (status != EFI_SUCCESS) ++ return -EINVAL; + +- convert_from_guid(&vendor, &vendor_guid); ++ return 0; ++} ++#endif + +- status = efi.get_next_variable(&name_size, +- pgetnextvariablename->VariableName, +- &vendor); +- if (put_user(status, pgetnextvariablename->status)) +- return -EFAULT; +- convert_to_guid(&vendor, &vendor_guid); ++static long efi_runtime_get_nexthighmonocount(unsigned long arg) ++{ ++ struct efi_getnexthighmonotoniccount __user *pgetnexthighmonotoniccount; ++ efi_status_t status; + +- if (put_user(name_size, pgetnextvariablename->VariableNameSize)) +- return -EFAULT; ++ pgetnexthighmonotoniccount = (struct ++ efi_getnexthighmonotoniccount __user *)arg; + +- if (copy_to_user(pgetnextvariablename->VendorGuid, +- &vendor_guid, sizeof(EFI_GUID))) +- return -EFAULT; +- if (status != EFI_SUCCESS) +- return -EINVAL; +- return 0; ++ status = efi.get_next_high_mono_count(pgetnexthighmonotoniccount ++ ->HighCount); ++ if (put_user(status, pgetnexthighmonotoniccount->status)) ++ return -EFAULT; ++ if (status != EFI_SUCCESS) ++ return -EINVAL; ++ ++ return 0; ++} + + #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,1,0) +- case EFI_RUNTIME_QUERY_VARIABLEINFO: ++static long efi_runtime_query_capsulecaps(unsigned long arg) ++{ ++ struct efi_querycapsulecapabilities __user *pquerycapsulecapabilities; ++ efi_status_t status; + +- pqueryvariableinfo = (struct efi_queryvariableinfo __user *)arg; ++ pquerycapsulecapabilities = (struct ++ efi_querycapsulecapabilities __user *)arg; + +- if (get_user(attr, &pqueryvariableinfo->Attributes)) +- return -EFAULT; ++ status = efi.query_capsule_caps( ++ (efi_capsule_header_t **) ++ pquerycapsulecapabilities->CapsuleHeaderArray, ++ pquerycapsulecapabilities->CapsuleCount, ++ pquerycapsulecapabilities->MaximumCapsuleSize, ++ (int *)pquerycapsulecapabilities->ResetType); + +- status = efi.query_variable_info(attr, +- pqueryvariableinfo->MaximumVariableStorageSize, +- pqueryvariableinfo->RemainingVariableStorageSize +- , pqueryvariableinfo->MaximumVariableSize); +- if (put_user(status, pqueryvariableinfo->status)) +- return -EFAULT; +- if (status != EFI_SUCCESS) +- return -EINVAL; ++ if (put_user(status, pquerycapsulecapabilities->status)) ++ return -EFAULT; ++ if (status != EFI_SUCCESS) ++ return -EINVAL; + +- return 0; ++ return 0; ++} + #endif + +- case EFI_RUNTIME_GET_NEXTHIGHMONOTONICCOUNT: ++static long efi_runtime_ioctl(struct file *file, unsigned int cmd, ++ unsigned long arg) ++{ ++ switch (cmd) { ++ case EFI_RUNTIME_GET_VARIABLE: ++ return efi_runtime_get_variable(arg); + +- pgetnexthighmonotoniccount = (struct +- efi_getnexthighmonotoniccount __user *)arg; ++ case EFI_RUNTIME_SET_VARIABLE: ++ return efi_runtime_set_variable(arg); + +- status = efi.get_next_high_mono_count(pgetnexthighmonotoniccount +- ->HighCount); +- if (put_user(status, pgetnexthighmonotoniccount->status)) +- return -EFAULT; +- if (status != EFI_SUCCESS) +- return -EINVAL; ++ case EFI_RUNTIME_GET_TIME: ++ return efi_runtime_get_time(arg); ++ ++ case EFI_RUNTIME_SET_TIME: ++ return efi_runtime_set_time(arg); + +- return 0; ++ case EFI_RUNTIME_GET_WAKETIME: ++ return efi_runtime_get_waketime(arg); + +-#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,1,0) +- case EFI_RUNTIME_QUERY_CAPSULECAPABILITIES: ++ case EFI_RUNTIME_SET_WAKETIME: ++ return efi_runtime_set_waketime(arg); + +- pquerycapsulecapabilities = (struct +- efi_querycapsulecapabilities __user *)arg; ++ case EFI_RUNTIME_GET_NEXTVARIABLENAME: ++ return efi_runtime_get_nextvariablename(arg); + +- status = efi.query_capsule_caps( +- (efi_capsule_header_t **) +- pquerycapsulecapabilities->CapsuleHeaderArray, +- pquerycapsulecapabilities->CapsuleCount, +- pquerycapsulecapabilities->MaximumCapsuleSize, +- (int *)pquerycapsulecapabilities->ResetType); ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,1,0) ++ case EFI_RUNTIME_QUERY_VARIABLEINFO: ++ return efi_runtime_query_variableinfo(arg); ++#endif + +- if (put_user(status, pquerycapsulecapabilities->status)) +- return -EFAULT; +- if (status != EFI_SUCCESS) +- return -EINVAL; ++ case EFI_RUNTIME_GET_NEXTHIGHMONOTONICCOUNT: ++ return efi_runtime_get_nexthighmonocount(arg); + +- return 0; ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,1,0) ++ case EFI_RUNTIME_QUERY_CAPSULECAPABILITIES: ++ return efi_runtime_query_capsulecaps(arg); + #endif + } + +-- +1.7.11.7 + diff --git a/meta-luv/recipes-core/fwts/fwts/0003-efi_runtime-Group-kernel-version-dependent-functions.patch b/meta-luv/recipes-core/fwts/fwts/0003-efi_runtime-Group-kernel-version-dependent-functions.patch new file mode 100644 index 00000000000..f0829da3d52 --- /dev/null +++ b/meta-luv/recipes-core/fwts/fwts/0003-efi_runtime-Group-kernel-version-dependent-functions.patch @@ -0,0 +1,99 @@ +From 24cb3f2fef2d6cdecd2e1312c3a228e5e0f2403c Mon Sep 17 00:00:00 2001 +From: Matt Fleming +Date: Thu, 3 Apr 2014 10:26:13 +0100 +Subject: [PATCH 3/4] efi_runtime: Group kernel version dependent functions + +Instead of using multiple identical #if preprocessor blocks group the +function calls and implementations together so that we can keep the +preprocessor checks to a minimum. + +This change also more clearly conveys the message that the two functions +are dependent on the same kernel version. With multiple #if block it's +easy to misread them and think that, becuase there's more than one, they +must have different kernel version requirements. + +Signed-off-by: Matt Fleming +--- + efi_runtime/efi_runtime.c | 47 ++++++++++++++++++++++------------------------- + 1 file changed, 22 insertions(+), 25 deletions(-) + +diff --git a/efi_runtime/efi_runtime.c b/efi_runtime/efi_runtime.c +index be1e20a..1d905e2 100644 +--- a/efi_runtime/efi_runtime.c ++++ b/efi_runtime/efi_runtime.c +@@ -298,6 +298,25 @@ static long efi_runtime_get_nextvariablename(unsigned long arg) + return 0; + } + ++static long efi_runtime_get_nexthighmonocount(unsigned long arg) ++{ ++ struct efi_getnexthighmonotoniccount __user *pgetnexthighmonotoniccount; ++ efi_status_t status; ++ ++ pgetnexthighmonotoniccount = (struct ++ efi_getnexthighmonotoniccount __user *)arg; ++ ++ status = efi.get_next_high_mono_count(pgetnexthighmonotoniccount ++ ->HighCount); ++ if (put_user(status, pgetnexthighmonotoniccount->status)) ++ return -EFAULT; ++ if (status != EFI_SUCCESS) ++ return -EINVAL; ++ ++ return 0; ++} ++ ++ + #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,1,0) + static long efi_runtime_query_variableinfo(unsigned long arg) + { +@@ -321,27 +340,7 @@ static long efi_runtime_query_variableinfo(unsigned long arg) + + return 0; + } +-#endif + +-static long efi_runtime_get_nexthighmonocount(unsigned long arg) +-{ +- struct efi_getnexthighmonotoniccount __user *pgetnexthighmonotoniccount; +- efi_status_t status; +- +- pgetnexthighmonotoniccount = (struct +- efi_getnexthighmonotoniccount __user *)arg; +- +- status = efi.get_next_high_mono_count(pgetnexthighmonotoniccount +- ->HighCount); +- if (put_user(status, pgetnexthighmonotoniccount->status)) +- return -EFAULT; +- if (status != EFI_SUCCESS) +- return -EINVAL; +- +- return 0; +-} +- +-#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,1,0) + static long efi_runtime_query_capsulecaps(unsigned long arg) + { + struct efi_querycapsulecapabilities __user *pquerycapsulecapabilities; +@@ -391,15 +390,13 @@ static long efi_runtime_ioctl(struct file *file, unsigned int cmd, + case EFI_RUNTIME_GET_NEXTVARIABLENAME: + return efi_runtime_get_nextvariablename(arg); + +-#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,1,0) +- case EFI_RUNTIME_QUERY_VARIABLEINFO: +- return efi_runtime_query_variableinfo(arg); +-#endif +- + case EFI_RUNTIME_GET_NEXTHIGHMONOTONICCOUNT: + return efi_runtime_get_nexthighmonocount(arg); + + #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,1,0) ++ case EFI_RUNTIME_QUERY_VARIABLEINFO: ++ return efi_runtime_query_variableinfo(arg); ++ + case EFI_RUNTIME_QUERY_CAPSULECAPABILITIES: + return efi_runtime_query_capsulecaps(arg); + #endif +-- +1.7.11.7 + diff --git a/meta-luv/recipes-core/fwts/fwts/0004-efi_runtime-Do-not-pass-user-addresses-to-firmware.patch b/meta-luv/recipes-core/fwts/fwts/0004-efi_runtime-Do-not-pass-user-addresses-to-firmware.patch new file mode 100644 index 00000000000..cae364fdb30 --- /dev/null +++ b/meta-luv/recipes-core/fwts/fwts/0004-efi_runtime-Do-not-pass-user-addresses-to-firmware.patch @@ -0,0 +1,374 @@ +From 4d6baaaed706bcb006aa296b2b63799b2082df3a Mon Sep 17 00:00:00 2001 +From: Matt Fleming +Date: Thu, 3 Apr 2014 12:20:48 +0100 +Subject: [PATCH 4/4] efi_runtime: Do not pass user addresses to firmware + +Currently there's some inconsistency with how arguments are passed to +the firmware from the efi_runtime driver. Some values have the standard +get_user()/put_user() calls, others do not. + +Passing userspace pointers directly to the firmware is a bug because +those addresses may fault. And if they are going to fault we'd like to +know about it in the kernel rather than at some later time when +executing in firmware context. + +Furthermore, beginning with v3.14 of the kernel the current tests +actually cause the kernel to crash because firmware calls are now done +with their own, entirely separate, page tables - no user addresses are +mapped during execution of runtime services. + +This change doesn't require predication on a particular kernel version +because the efi_runtime should really have always done this copying +to/from userspace for every argument of the runtime services. + +This patch is heavily based on one from Borislav. + +Cc: Borislav Petkov +Signed-off-by: Matt Fleming +--- + efi_runtime/efi_runtime.c | 239 +++++++++++++++++++++++++++++++++++++++++----- + 1 file changed, 215 insertions(+), 24 deletions(-) + +diff --git a/efi_runtime/efi_runtime.c b/efi_runtime/efi_runtime.c +index 1d905e2..7ce3e2a 100644 +--- a/efi_runtime/efi_runtime.c ++++ b/efi_runtime/efi_runtime.c +@@ -24,7 +24,7 @@ + #include + #include + #include +- ++#include + #include + + #include "efi_runtime.h" +@@ -100,6 +100,110 @@ static void convert_to_guid(efi_guid_t *vendor, EFI_GUID *vendor_guid) + vendor_guid->Data4[i] = vendor->b[i+8]; + } + ++/* ++ * Count the bytes in 'str', including the terminating NULL. ++ * ++ * Note this function returns the number of *bytes*, not the number of ++ * ucs2 characters. ++ */ ++static inline size_t __strsize(uint16_t *str) ++{ ++ uint16_t *s = str; ++ size_t len; ++ ++ if (!str) ++ return 0; ++ ++ /* Include terminating NULL */ ++ len = sizeof(uint16_t); ++ ++ while (*s++ != 0) ++ len += sizeof(uint16_t); ++ ++ return len; ++} ++ ++/* ++ * Copy a ucs2 string from user space into a newly allocated kernel ++ * buffer. ++ * ++ * We take an explicit number of bytes to copy, and therefore do not ++ * make any assumptions about 'src' (such as it being a valid string). ++ */ ++static inline int ++get_ucs2_len(uint16_t **dst, uint16_t __user *src, size_t len) ++{ ++ if (!src) { ++ *dst = NULL; ++ return 0; ++ } ++ ++ if (!access_ok(VERIFY_READ, src, 1)) ++ return -EFAULT; ++ ++ *dst = kmalloc(len, GFP_KERNEL); ++ if (!*dst) ++ return -ENOMEM; ++ ++ if (copy_from_user(*dst, src, len)) { ++ kfree(*dst); ++ return -EFAULT; ++ } ++ ++ return 0; ++} ++ ++/* ++ * Copy a ucs2 string from user space into a newly allocated kernel ++ * buffer. ++ * ++ * If a non-zero value is returned, the caller MUST NOT access 'dst'. ++ */ ++static inline int get_ucs2(uint16_t **dst, uint16_t __user *src) ++{ ++ size_t len; ++ ++ if (!access_ok(VERIFY_READ, src, 1)) ++ return -EFAULT; ++ ++ len = __strsize(src); ++ return get_ucs2_len(dst, src, len); ++} ++ ++/* ++ * Write a ucs2 string to a user buffer. ++ * ++ * 'len' specifies the number of bytes to copy. ++ */ ++static inline int ++put_ucs2_len(uint16_t *src, uint16_t __user *dst, size_t len) ++{ ++ if (!src) ++ return 0; ++ ++ if (!access_ok(VERIFY_WRITE, dst, 1)) ++ return -EFAULT; ++ ++ return copy_to_user(dst, src, len); ++} ++ ++/* ++ * Write a NUL-terminated ucs2 string to a user buffer. ++ * ++ * We calculate the number of bytes to write from the ucs2 string 'src', ++ * including the terminating NUL. ++ */ ++static inline int put_ucs2(uint16_t *src, uint16_t __user *dst) ++{ ++ size_t len; ++ ++ if (!access_ok(VERIFY_WRITE, dst, 1)) ++ return -EFAULT; ++ ++ len = __strsize(src); ++ return put_ucs2_len(src, dst, len); ++} ++ + static long efi_runtime_get_variable(unsigned long arg) + { + struct efi_getvariable __user *pgetvariable; +@@ -107,7 +211,10 @@ static long efi_runtime_get_variable(unsigned long arg) + EFI_GUID vendor_guid; + efi_guid_t vendor; + efi_status_t status; ++ uint16_t *name; + uint32_t attr; ++ void *data; ++ int rv = 0; + + pgetvariable = (struct efi_getvariable __user *)arg; + +@@ -117,8 +224,27 @@ static long efi_runtime_get_variable(unsigned long arg) + return -EFAULT; + + convert_from_guid(&vendor, &vendor_guid); +- status = efi.get_variable(pgetvariable->VariableName, &vendor, +- &attr, &datasize, pgetvariable->Data); ++ ++ rv = get_ucs2(&name, pgetvariable->VariableName); ++ if (rv) ++ return rv; ++ ++ data = kmalloc(datasize, GFP_KERNEL); ++ if (!data) { ++ kfree(name); ++ return -ENOMEM; ++ } ++ ++ status = efi.get_variable(name, &vendor, &attr, &datasize, data); ++ ++ kfree(name); ++ ++ rv = copy_to_user(pgetvariable->Data, data, datasize); ++ kfree(data); ++ ++ if (rv) ++ return rv; ++ + if (put_user(status, pgetvariable->status)) + return -EFAULT; + if (status == EFI_SUCCESS) { +@@ -141,7 +267,10 @@ static long efi_runtime_set_variable(unsigned long arg) + EFI_GUID vendor_guid; + efi_guid_t vendor; + efi_status_t status; ++ uint16_t *name; + uint32_t attr; ++ void *data; ++ int rv; + + psetvariable = (struct efi_setvariable __user *)arg; + if (get_user(datasize, &psetvariable->DataSize) || +@@ -151,8 +280,21 @@ static long efi_runtime_set_variable(unsigned long arg) + return -EFAULT; + + convert_from_guid(&vendor, &vendor_guid); +- status = efi.set_variable(psetvariable->VariableName, &vendor, +- attr, datasize, psetvariable->Data); ++ ++ rv = get_ucs2(&name, psetvariable->VariableName); ++ if (rv) ++ return rv; ++ ++ data = kmalloc(datasize, GFP_KERNEL); ++ if (copy_from_user(data, psetvariable->Data, datasize)) { ++ kfree(name); ++ return -EFAULT; ++ } ++ ++ status = efi.set_variable(name, &vendor, attr, datasize, data); ++ ++ kfree(data); ++ kfree(name); + + if (put_user(status, psetvariable->status)) + return -EFAULT; +@@ -266,6 +408,8 @@ static long efi_runtime_get_nextvariablename(unsigned long arg) + efi_status_t status; + efi_guid_t vendor; + EFI_GUID vendor_guid; ++ uint16_t *name; ++ int rv; + + pgetnextvariablename = (struct efi_getnextvariablename + __user *)arg; +@@ -280,9 +424,18 @@ static long efi_runtime_get_nextvariablename(unsigned long arg) + + convert_from_guid(&vendor, &vendor_guid); + +- status = efi.get_next_variable(&name_size, +- pgetnextvariablename->VariableName, +- &vendor); ++ rv = get_ucs2_len(&name, pgetnextvariablename->VariableName, 1024); ++ if (rv) ++ return rv; ++ ++ status = efi.get_next_variable(&name_size, name, &vendor); ++ ++ rv = put_ucs2_len(name, pgetnextvariablename->VariableName, name_size); ++ kfree(name); ++ ++ if (rv) ++ return -EFAULT; ++ + if (put_user(status, pgetnextvariablename->status)) + return -EFAULT; + convert_to_guid(&vendor, &vendor_guid); +@@ -302,14 +455,18 @@ static long efi_runtime_get_nexthighmonocount(unsigned long arg) + { + struct efi_getnexthighmonotoniccount __user *pgetnexthighmonotoniccount; + efi_status_t status; ++ uint32_t count; + + pgetnexthighmonotoniccount = (struct + efi_getnexthighmonotoniccount __user *)arg; + +- status = efi.get_next_high_mono_count(pgetnexthighmonotoniccount +- ->HighCount); ++ status = efi.get_next_high_mono_count(&count); + if (put_user(status, pgetnexthighmonotoniccount->status)) + return -EFAULT; ++ ++ if (put_user(count, pgetnexthighmonotoniccount->HighCount)) ++ return -EFAULT; ++ + if (status != EFI_SUCCESS) + return -EINVAL; + +@@ -322,6 +479,7 @@ static long efi_runtime_query_variableinfo(unsigned long arg) + { + struct efi_queryvariableinfo __user *pqueryvariableinfo; + efi_status_t status; ++ uint64_t max_storage, remaining, max_size; + uint32_t attr; + + pqueryvariableinfo = (struct efi_queryvariableinfo __user *)arg; +@@ -329,10 +487,18 @@ static long efi_runtime_query_variableinfo(unsigned long arg) + if (get_user(attr, &pqueryvariableinfo->Attributes)) + return -EFAULT; + +- status = efi.query_variable_info(attr, +- pqueryvariableinfo->MaximumVariableStorageSize, +- pqueryvariableinfo->RemainingVariableStorageSize +- , pqueryvariableinfo->MaximumVariableSize); ++ status = efi.query_variable_info(attr, &max_storage, ++ &remaining, &max_size); ++ ++ if (put_user(max_storage, pqueryvariableinfo->MaximumVariableStorageSize)) ++ return -EFAULT; ++ ++ if (put_user(remaining, pqueryvariableinfo->RemainingVariableStorageSize)) ++ return -EFAULT; ++ ++ if (put_user(max_size, pqueryvariableinfo->MaximumVariableSize)) ++ return -EFAULT; ++ + if (put_user(status, pqueryvariableinfo->status)) + return -EFAULT; + if (status != EFI_SUCCESS) +@@ -343,21 +509,46 @@ static long efi_runtime_query_variableinfo(unsigned long arg) + + static long efi_runtime_query_capsulecaps(unsigned long arg) + { +- struct efi_querycapsulecapabilities __user *pquerycapsulecapabilities; ++ struct efi_querycapsulecapabilities __user *u_caps; ++ struct efi_querycapsulecapabilities caps; ++ EFI_CAPSULE_HEADER *capsules; + efi_status_t status; ++ uint64_t max_size; ++ int i, reset_type; + +- pquerycapsulecapabilities = (struct +- efi_querycapsulecapabilities __user *)arg; ++ u_caps = (struct efi_querycapsulecapabilities __user *)arg; + +- status = efi.query_capsule_caps( +- (efi_capsule_header_t **) +- pquerycapsulecapabilities->CapsuleHeaderArray, +- pquerycapsulecapabilities->CapsuleCount, +- pquerycapsulecapabilities->MaximumCapsuleSize, +- (int *)pquerycapsulecapabilities->ResetType); ++ if (copy_from_user(&caps, u_caps, sizeof(caps))) ++ return -EFAULT; ++ ++ capsules = kcalloc(caps.CapsuleCount + 1, ++ sizeof(EFI_CAPSULE_HEADER), GFP_KERNEL); ++ if (!capsules) ++ return -ENOMEM; ++ ++ for (i = 0; i < caps.CapsuleCount; i++) { ++ if (copy_from_user(&capsules[i], ++ (EFI_CAPSULE_HEADER *)u_caps->CapsuleHeaderArray[i], ++ sizeof(EFI_CAPSULE_HEADER))) ++ return -EFAULT; ++ } ++ ++ caps.CapsuleHeaderArray = &capsules; + +- if (put_user(status, pquerycapsulecapabilities->status)) ++ status = efi.query_capsule_caps((efi_capsule_header_t **) ++ caps.CapsuleHeaderArray, ++ caps.CapsuleCount, ++ &max_size, &reset_type); ++ ++ if (put_user(status, u_caps->status)) ++ return -EFAULT; ++ ++ if (put_user(max_size, u_caps->MaximumCapsuleSize)) + return -EFAULT; ++ ++ if (put_user(reset_type, u_caps->ResetType)) ++ return -EFAULT; ++ + if (status != EFI_SUCCESS) + return -EINVAL; + +-- +1.7.11.7 + diff --git a/meta-luv/recipes-core/fwts/fwts_git.bb b/meta-luv/recipes-core/fwts/fwts_git.bb index 1f490a3ee4c..313f6398604 100644 --- a/meta-luv/recipes-core/fwts/fwts_git.bb +++ b/meta-luv/recipes-core/fwts/fwts_git.bb @@ -9,6 +9,10 @@ PV = "14.03.01+git${SRCPV}" SRCREV = "8ec44dc1e55ecf334f4afa8eed8795ed5776c396" SRC_URI = "git://kernel.ubuntu.com/hwe/fwts.git \ file://luv-parser-fwts \ + file://0001-efi_runtime-Set-default-value-for-KVER.patch \ + file://0002-efi_runtime-Refactor-ioctl-code-into-helper-function.patch \ + file://0003-efi_runtime-Group-kernel-version-dependent-functions.patch \ + file://0004-efi_runtime-Do-not-pass-user-addresses-to-firmware.patch \ " S = "${WORKDIR}/git" From d1cb749360298039f8921eeaaf69842e50d02070 Mon Sep 17 00:00:00 2001 From: Ricardo Neri Date: Wed, 2 Apr 2014 16:11:24 -0700 Subject: [PATCH 556/658] linux-yocto-efi-test: Add support for RAM block device Utilize a portion of the system's RAM memory as a block device. This is needed in order to load our initial filesystem. Use the default number and size of RAM disks. Signed-off-by: Ricardo Neri Signed-off-by: Matt Fleming --- meta-luv/recipes-kernel/linux/linux-yocto-efi-test/defconfig | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/meta-luv/recipes-kernel/linux/linux-yocto-efi-test/defconfig b/meta-luv/recipes-kernel/linux/linux-yocto-efi-test/defconfig index 27724263447..924480a816b 100644 --- a/meta-luv/recipes-kernel/linux/linux-yocto-efi-test/defconfig +++ b/meta-luv/recipes-kernel/linux/linux-yocto-efi-test/defconfig @@ -1006,7 +1006,10 @@ CONFIG_BLK_DEV_LOOP_MIN_COUNT=8 # CONFIG_BLK_DEV_NVME is not set # CONFIG_BLK_DEV_SKD is not set # CONFIG_BLK_DEV_SX8 is not set -# CONFIG_BLK_DEV_RAM is not set +CONFIG_BLK_DEV_RAM=y +CONFIG_BLK_DEV_RAM_COUNT=16 +CONFIG_BLK_DEV_RAM_SIZE=4096 +# CONFIG_BLK_DEV_XIP is not set # CONFIG_CDROM_PKTCDVD is not set # CONFIG_ATA_OVER_ETH is not set # CONFIG_BLK_DEV_HD is not set From 8f9dabf1006760e9e864b6a6b8fdfe646b4910cb Mon Sep 17 00:00:00 2001 From: Ricardo Neri Date: Wed, 2 Apr 2014 16:11:25 -0700 Subject: [PATCH 557/658] Add a recipe to construct an initramfs It is not expected to have an excessively large filesystem for the EFI test suite. Thus, it makes sense to utilize an initramfs that contains all the tests. Also, this reduce the complexity of the hardware requirements needed to run the suite on a given system: we will need only a chunk of RAM. Signed-off-by: Ricardo Neri Signed-off-by: Matt Fleming --- .../images/core-image-efi-initramfs.bb | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 meta-luv/recipes-core/images/core-image-efi-initramfs.bb diff --git a/meta-luv/recipes-core/images/core-image-efi-initramfs.bb b/meta-luv/recipes-core/images/core-image-efi-initramfs.bb new file mode 100644 index 00000000000..85644a9cbe4 --- /dev/null +++ b/meta-luv/recipes-core/images/core-image-efi-initramfs.bb @@ -0,0 +1,20 @@ +# initramfs image for the EFI test suite +DESCRIPTION = "Small image capable of booting a device and running the suite of \ +EFI tests." + +IMAGE_INSTALL = "packagegroup-core-boot kexec-tools kernel-image fwts" + +export IMAGE_BASENAME = "core-image-efi-initramfs" + +IMAGE_LINGUAS = "" + +LICENSE = "MIT" + +IMAGE_FSTYPES = "${INITRAMFS_FSTYPES}" +inherit core-image + +IMAGE_ROOTFS_SIZE = "8192" + +BAD_RECOMMENDATIONS += "busybox-syslog" + + From d9b5434a6ff5f7ca195bdf0c18d4e5f4ed9043b7 Mon Sep 17 00:00:00 2001 From: Ricardo Neri Date: Wed, 2 Apr 2014 16:11:26 -0700 Subject: [PATCH 558/658] sysvinit: Create a symbolic link for /sbin/init When booting from initramfs, the kernel expects a /init file. Install and ship a symbolic link to /sbin/init, which is the init file that is effectively used. Signed-off-by: Ricardo Neri Signed-off-by: Matt Fleming --- meta-luv/recipes-core/sysvinit/sysvinit_2.88dsf.bbappend | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/meta-luv/recipes-core/sysvinit/sysvinit_2.88dsf.bbappend b/meta-luv/recipes-core/sysvinit/sysvinit_2.88dsf.bbappend index dd54e761f37..07870c64acc 100644 --- a/meta-luv/recipes-core/sysvinit/sysvinit_2.88dsf.bbappend +++ b/meta-luv/recipes-core/sysvinit/sysvinit_2.88dsf.bbappend @@ -1,3 +1,5 @@ +FILES_${PN} += "/init" + do_install () { oe_runmake 'ROOT=${D}' install @@ -14,4 +16,6 @@ do_install () { chown root.shutdown ${D}${base_sbindir}/halt ${D}${base_sbindir}/shutdown chmod o-x,u+s ${D}${base_sbindir}/halt ${D}${base_sbindir}/shutdown + + ln -s $(ROOT)${base_sbindir}/init ${D}/init } From 1f6fc522e87fecee5d89056aa37c72329e22df6f Mon Sep 17 00:00:00 2001 From: Ricardo Neri Date: Wed, 2 Apr 2014 16:11:27 -0700 Subject: [PATCH 559/658] runqemu-internal: Re-enable qemu graphic output When booting a ramfs image, runqemu-internal disables the qemu graphic output but does not provide an alternative serial output. Thus, the the graphic output is re-enabled. Signed-off-by: Ricardo Neri Signed-off-by: Matt Fleming --- scripts/runqemu-internal | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/runqemu-internal b/scripts/runqemu-internal index 74b0c356d07..dab90d0c86b 100755 --- a/scripts/runqemu-internal +++ b/scripts/runqemu-internal @@ -524,7 +524,7 @@ if [ "$MACHINE" = "qemuzynq" ]; then fi if [ "x$RAMFS" = "xtrue" ]; then - QEMUOPTIONS="-initrd $ROOTFS -nographic" + QEMUOPTIONS="-initrd $ROOTFS" KERNCMDLINE="root=/dev/ram0 debugshell" fi From d604aab387abf09b49a262554aa112684705afd6 Mon Sep 17 00:00:00 2001 From: Matt Fleming Date: Wed, 16 Apr 2014 14:43:30 +0100 Subject: [PATCH 560/658] fwts: Fix kernel module build It's possible to hit the following build error when building fwts after a clean checkout, /bin/sh: scripts/basic/fixdep: No such file or directory Follow the precedence of other recipes (systemtap) and explicitly build the 'scripts' make target. Signed-off-by: Matt Fleming --- meta-luv/recipes-core/fwts/fwts_git.bb | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/meta-luv/recipes-core/fwts/fwts_git.bb b/meta-luv/recipes-core/fwts/fwts_git.bb index 313f6398604..fce8966fc5c 100644 --- a/meta-luv/recipes-core/fwts/fwts_git.bb +++ b/meta-luv/recipes-core/fwts/fwts_git.bb @@ -22,13 +22,20 @@ inherit autotools luv-test module-base do_compile_append() { unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS + oe_runmake KERNEL_PATH=${STAGING_KERNEL_DIR} \ + KERNEL_SRC=${STAGING_KERNEL_DIR} \ + KERNEL_VERSION=${KERNEL_VERSION} \ + CC="${KERNEL_CC}" LD="${KERNEL_LD}" \ + AR="${KERNEL_AR}" -C ${STAGING_KERNEL_DIR} \ + scripts + oe_runmake KERNEL_PATH=${STAGING_KERNEL_DIR} \ KERNEL_SRC=${STAGING_KERNEL_DIR} \ KERNEL_VERSION=${KERNEL_VERSION} \ CC="${KERNEL_CC}" LD="${KERNEL_LD}" \ AR="${KERNEL_AR}" -C ${STAGING_KERNEL_DIR} \ M="${S}/efi_runtime" \ - ${MAKE_TARGETS} + modules } do_install_append() { From 849b73f2293eb972fb3a72e0e21850a6a2a7621d Mon Sep 17 00:00:00 2001 From: Matt Fleming Date: Wed, 23 Apr 2014 15:17:34 +0100 Subject: [PATCH 561/658] core-image-efi: Remove busybox from images Ditch busybox in favour of more robust utilities. Signed-off-by: Matt Fleming --- meta-luv/conf/distro/efitest.conf | 2 ++ meta-luv/recipes-core/images/core-image-efi-initramfs.bb | 6 +++++- meta-luv/recipes-core/images/core-image-efi.bb | 6 +++++- 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/meta-luv/conf/distro/efitest.conf b/meta-luv/conf/distro/efitest.conf index 82cc4811d4b..ed5dd8565be 100644 --- a/meta-luv/conf/distro/efitest.conf +++ b/meta-luv/conf/distro/efitest.conf @@ -6,3 +6,5 @@ TCLIBCAPPEND = "" PREFERRED_PROVIDER_virtual/kernel = "linux-yocto-efi-test" LAYER_CONF_VERSION ?= "6" + +PACKAGE_EXCLUDE = "busybox" diff --git a/meta-luv/recipes-core/images/core-image-efi-initramfs.bb b/meta-luv/recipes-core/images/core-image-efi-initramfs.bb index 85644a9cbe4..5781ebc060a 100644 --- a/meta-luv/recipes-core/images/core-image-efi-initramfs.bb +++ b/meta-luv/recipes-core/images/core-image-efi-initramfs.bb @@ -2,7 +2,11 @@ DESCRIPTION = "Small image capable of booting a device and running the suite of \ EFI tests." -IMAGE_INSTALL = "packagegroup-core-boot kexec-tools kernel-image fwts" +IMAGE_INSTALL = "\ + base-files base-passwd netbase udev sysvinit initscripts keymaps \ + kexec-tools kernel-image fwts bash coreutils gawk grep util-linux-agetty \ + util-linux-mount util-linux-umount kmod sed tar net-tools \ + shadow util-linux procps " export IMAGE_BASENAME = "core-image-efi-initramfs" diff --git a/meta-luv/recipes-core/images/core-image-efi.bb b/meta-luv/recipes-core/images/core-image-efi.bb index 03193868ee7..418ed7e8752 100644 --- a/meta-luv/recipes-core/images/core-image-efi.bb +++ b/meta-luv/recipes-core/images/core-image-efi.bb @@ -1,6 +1,10 @@ DESCRIPTION = "A minimal image with essential EFI and kernel tools" -IMAGE_INSTALL = "packagegroup-core-boot kexec-tools kernel-image fwts " +IMAGE_INSTALL = "\ + base-files base-passwd netbase udev sysvinit initscripts keymaps \ + kexec-tools kernel-image fwts bash coreutils gawk grep util-linux-agetty \ + util-linux-mount util-linux-umount kmod sed tar net-tools \ + shadow util-linux procps " inherit core-image From 661d0668901948694fddb4b5176d0fc46ea53362 Mon Sep 17 00:00:00 2001 From: Matt Fleming Date: Thu, 24 Apr 2014 10:16:27 +0100 Subject: [PATCH 562/658] meta-luv: Rename distro to "luv" Avoid confusion regarding how to build the luv distribution by changing the name of the distro from "efitest" to "luv". Signed-off-by: Matt Fleming --- meta-luv/conf/distro/{efitest.conf => luv.conf} | 2 +- meta-luv/conf/layer.conf | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) rename meta-luv/conf/distro/{efitest.conf => luv.conf} (75%) diff --git a/meta-luv/conf/distro/efitest.conf b/meta-luv/conf/distro/luv.conf similarity index 75% rename from meta-luv/conf/distro/efitest.conf rename to meta-luv/conf/distro/luv.conf index ed5dd8565be..2c22e6ff285 100644 --- a/meta-luv/conf/distro/efitest.conf +++ b/meta-luv/conf/distro/luv.conf @@ -1,4 +1,4 @@ -DISTRO_NAME = "EFI Test Distribution" +DISTRO_NAME = "Linux UEFI Validation Distribution" DISTRO_VERSION = "1.0" TCLIBCAPPEND = "" diff --git a/meta-luv/conf/layer.conf b/meta-luv/conf/layer.conf index 996a7721571..724d5a9c996 100644 --- a/meta-luv/conf/layer.conf +++ b/meta-luv/conf/layer.conf @@ -5,6 +5,6 @@ BBPATH =. "${LAYERDIR}:" BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \ ${LAYERDIR}/recipes-*/*/*.bbappend" -BBFILE_COLLECTIONS += "efi-test-distro" -BBFILE_PATTERN_efi-test-distro = "^${LAYERDIR}/" -BBFILE_PRIORITY_efi-test-distro = "6" +BBFILE_COLLECTIONS += "luv" +BBFILE_PATTERN_luv = "^${LAYERDIR}/" +BBFILE_PRIORITY_luv = "6" From 912b161c06c4cff96a841e96ab901105abebcd85 Mon Sep 17 00:00:00 2001 From: Matt Fleming Date: Thu, 24 Apr 2014 10:17:48 +0100 Subject: [PATCH 563/658] meta-luv: Update README Include more details on how to build the luv distribution and where to send patches. The mailing list address will be updated once it's functional. Signed-off-by: Matt Fleming --- meta-luv/README | 32 ++++++++++++++------------------ 1 file changed, 14 insertions(+), 18 deletions(-) diff --git a/meta-luv/README b/meta-luv/README index 5bc2209d3c1..08b255937ad 100644 --- a/meta-luv/README +++ b/meta-luv/README @@ -1,5 +1,6 @@ -This README file contains information on the contents of the -efi-test-distro layer. +This README file contains information on the contents of the meta-luv +layer, which is the layer containing all the components necessary to +build the Linux UEFI Validation distribution. Please see the corresponding sections below for details. @@ -16,49 +17,44 @@ This layer depends on: layers: meta branch: master - URI: git://git.yoctoproject.org/xxxx - layers: xxxx + URI: git://git.yoctoproject.org/poky branch: master Patches ======= -Please submit any patches against the efi-test-distro layer to the +Please submit any patches against the meta-luv layer to the xxxx mailing list (xxxx@zzzz.org) and cc: the maintainer: -Maintainer: XXX YYYYYY +Maintainer: Matt Fleming Table of Contents ================= - I. Adding the efi-test-distro layer to your build - II. Misc + I. Adding the meta-luv layer to your build -I. Adding the efi-test-distro layer to your build +I. Adding the meta-luv layer to your build ================================================= ---- replace with specific instructions for the efi-test-distro layer --- - In order to use this layer, you need to make the build system aware of it. -Assuming the efi-test-distro layer exists at the top-level of your +Assuming the meta-luv layer exists at the top-level of your yocto build tree, you can add it to the build system by adding the -location of the efi-test-distro layer to bblayers.conf, along with any +location of the meta-luv layer to bblayers.conf, along with any other layers needed. e.g.: BBLAYERS ?= " \ /path/to/yocto/meta \ /path/to/yocto/meta-yocto \ /path/to/yocto/meta-yocto-bsp \ - /path/to/yocto/meta-efi-test-distro \ + /path/to/yocto/meta-luv \ " +Then it is necessary to specify the luv distribution in local.conf. +e.g.: -II. Misc -======== - ---- replace with specific information about the efi-test-distro layer --- + DISTRO = "luv" From 1590c7b474b47890656feedbe69a01fd881dd877 Mon Sep 17 00:00:00 2001 From: Matt Fleming Date: Fri, 25 Apr 2014 12:58:42 +0100 Subject: [PATCH 564/658] ovmf: Use explicit SRCREV and fix uuid/uuid.h dependency It's a risky game using "${AUTOREV}" for SRCREV because the version of the upstream project you're building is a moving target, and there's a high risk that the build will break when someone modifies the same file upstream. By using an explicit version of upstream ovmf we know our patches will only fail to apply if we move to a newer version - a process that we control. The actual sha1 selected isn't of any particular significance, it just happens to be the HEAD commit from today. Also, add util-linux as a dependency because ovmf requires uuid/uuid.h. Signed-off-by: Matt Fleming --- meta-luv/recipes-core/ovmf/ovmf_git.bb | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/meta-luv/recipes-core/ovmf/ovmf_git.bb b/meta-luv/recipes-core/ovmf/ovmf_git.bb index 996b52fd786..dc0e5b0c0cb 100644 --- a/meta-luv/recipes-core/ovmf/ovmf_git.bb +++ b/meta-luv/recipes-core/ovmf/ovmf_git.bb @@ -7,13 +7,15 @@ SRC_URI = "git://github.com/tianocore/edk2.git;branch=master \ file://0001-BaseTools-Don-t-override-CFLAGS.patch \ file://0002-BaseTools-Don-t-override-LFLAGS.patch" -SRCREV="${AUTOREV}" +SRCREV="cd9944d72a2b51004efecdcf024a173721f1b3d1" inherit native BBCLASSEXTEND = "native nativesdk" S = "${WORKDIR}/git" +DEPENDS="util-linux" + # OVMF has trouble building with the default optimization of -O2. BUILD_OPTIMIZATION="-pipe" From 668e10b5d875e8472aaf51701c857ae2aa655990 Mon Sep 17 00:00:00 2001 From: Matt Fleming Date: Fri, 25 Apr 2014 13:45:48 +0100 Subject: [PATCH 565/658] README: Explain the reason we forked Poky ... and point readers at meta-luv/README for more information. Signed-off-by: Matt Fleming --- README | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/README b/README index 5084853835c..a0ed36a1d49 100644 --- a/README +++ b/README @@ -1,3 +1,14 @@ +Linux UEFI Validation Distribution +================================== + +This is a fork of Poky that also includes the meta-luv layer which is +the layer containing all recipes for the Linux UEFI Validation (luv) +distribution. The intention of this fork is to make it simple to build +the luv distribution by integrating everything into a single git +repository. + +See meta-luv/README for more details on the luv distribution. + Poky ==== From 0161c7775de81baf13fe9928fb6f6a35914e8812 Mon Sep 17 00:00:00 2001 From: Rakesh Seethamsetty Date: Tue, 8 Apr 2014 17:53:46 -0700 Subject: [PATCH 566/658] efivarfs: Add support to run the kernel efivarfs tests This recipe builds the efivarfs selftests. These tests check that files can be created, deleted and modified in a efivarfs mount and that it is not possible to create files with bogus filenames, etc. Signed-off-by: Rakesh Seethamsetty [ Expanded on commit log ] Signed-off-by: Matt Fleming --- .../recipes-core/efivarfs/efivarfs-test.bb | 40 +++++++++++++++++++ .../efivarfs/efivarfs-test/bash-to-sh.patch | 14 +++++++ 2 files changed, 54 insertions(+) create mode 100644 meta-luv/recipes-core/efivarfs/efivarfs-test.bb create mode 100644 meta-luv/recipes-core/efivarfs/efivarfs-test/bash-to-sh.patch diff --git a/meta-luv/recipes-core/efivarfs/efivarfs-test.bb b/meta-luv/recipes-core/efivarfs/efivarfs-test.bb new file mode 100644 index 00000000000..c17a0bee027 --- /dev/null +++ b/meta-luv/recipes-core/efivarfs/efivarfs-test.bb @@ -0,0 +1,40 @@ +DESCRIPTION = "EFI varfs tests" +HOMEPAGE = "https://www.kernel.org/pub/linux/kernel" +SECTION = "base" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7" +KBRANCH="stable" + +# Picking up matts branch +SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/mfleming/efi.git;protocol=git;branch=${KBRANCH} \ + file://bash-to-sh.patch" + +#we need some of the stuff below +DEPENDS_class-native += "qemu-native" +SRCREV="${AUTOREV}" +inherit autotools +S = "${WORKDIR}/git" + +# This is to just to satisfy the compilation error +#I am not sure why I am getting this +FILES_${PN}-dbg += "/usr/share/efivarfs-test/.debug" + +#This is the compilation area +#we need to compile the self tests +do_compile() { + make -C tools/testing/selftests +} + + +#Installing is nothing but putting things in place +do_install() { + # Creating a directory + install -d ${D}${datadir}/efivarfs-test + + #Copying some of the files, these are part of the linux code + install -m 0755 ${S}/tools/testing/selftests/efivarfs/create-read ${D}${datadir}/efivarfs-test + install -m 0755 ${S}/tools/testing/selftests/efivarfs/open-unlink ${D}${datadir}/efivarfs-test + install -m 0755 ${S}/tools/testing/selftests/efivarfs/efivarfs.sh ${D}${datadir}/efivarfs-test +} + + diff --git a/meta-luv/recipes-core/efivarfs/efivarfs-test/bash-to-sh.patch b/meta-luv/recipes-core/efivarfs/efivarfs-test/bash-to-sh.patch new file mode 100644 index 00000000000..5b0c97cdc74 --- /dev/null +++ b/meta-luv/recipes-core/efivarfs/efivarfs-test/bash-to-sh.patch @@ -0,0 +1,14 @@ +#This is just to say that oah this is a shell script not a bash +# we can add the bash dependency but its not a good idea +diff --git a/tools/testing/selftests/efivarfs/efivarfs.sh b/tools/testing/selftests/efivarfs/efivarfs.sh +old mode 100644 +new mode 100755 +index 77edcdc..7d64ff0 +--- a/tools/testing/selftests/efivarfs/efivarfs.sh ++++ b/tools/testing/selftests/efivarfs/efivarfs.sh +@@ -1,4 +1,4 @@ +-#!/bin/bash ++#!/bin/sh + + efivarfs_mount=/sys/firmware/efi/efivars + test_guid=210be57c-9849-4fc7-a635-e6382d1aec27 From f4e915f31d27e9df53f90ca40018ee5fdf0f0742 Mon Sep 17 00:00:00 2001 From: Rakesh Seethamsetty Date: Tue, 8 Apr 2014 17:55:57 -0700 Subject: [PATCH 567/658] core-image-efi-initramfs: Include the efivarfs-test package Signed-off-by: Rakesh Seethamsetty Signed-off-by: Matt Fleming --- meta-luv/recipes-core/images/core-image-efi-initramfs.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-luv/recipes-core/images/core-image-efi-initramfs.bb b/meta-luv/recipes-core/images/core-image-efi-initramfs.bb index 5781ebc060a..e8cad60b98f 100644 --- a/meta-luv/recipes-core/images/core-image-efi-initramfs.bb +++ b/meta-luv/recipes-core/images/core-image-efi-initramfs.bb @@ -6,7 +6,7 @@ IMAGE_INSTALL = "\ base-files base-passwd netbase udev sysvinit initscripts keymaps \ kexec-tools kernel-image fwts bash coreutils gawk grep util-linux-agetty \ util-linux-mount util-linux-umount kmod sed tar net-tools \ - shadow util-linux procps " + shadow util-linux procps efivarfs-test " export IMAGE_BASENAME = "core-image-efi-initramfs" From bf47e329cf8f0a5da705fe4972b6e886fee75eaf Mon Sep 17 00:00:00 2001 From: Matt Fleming Date: Thu, 1 May 2014 12:17:55 +0100 Subject: [PATCH 568/658] efivarfs: Ensure we build using target compiler If we don't set ${CROSS_COMPILE} when building the efivarfs tests then it will default to using the host's compiler, not the compiler for the target. This results in the tests being unable to run on the target. Use ${TARGET_PREFIX} to set ${CROSS_COMPILE} so that the efivarfs Makefile will pickup the correct compiler. Also, instead of building all the selftests limit the build to just the efivarfs/ directory. Signed-off-by: Matt Fleming --- meta-luv/recipes-core/efivarfs/efivarfs-test.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-luv/recipes-core/efivarfs/efivarfs-test.bb b/meta-luv/recipes-core/efivarfs/efivarfs-test.bb index c17a0bee027..80b3131354e 100644 --- a/meta-luv/recipes-core/efivarfs/efivarfs-test.bb +++ b/meta-luv/recipes-core/efivarfs/efivarfs-test.bb @@ -22,7 +22,7 @@ FILES_${PN}-dbg += "/usr/share/efivarfs-test/.debug" #This is the compilation area #we need to compile the self tests do_compile() { - make -C tools/testing/selftests + make CROSS_COMPILE=${TARGET_PREFIX} -C tools/testing/selftests/efivarfs } From d8bdd851d13ccc5852d363207895c88a55d59fe8 Mon Sep 17 00:00:00 2001 From: Matt Fleming Date: Thu, 1 May 2014 12:51:01 +0100 Subject: [PATCH 569/658] base-files: Customize fstab We need to provide our own copy of fstab which mounts efivarfs at /sys/firmware/efi/efivars as the efivarfs tests require it. Signed-off-by: Matt Fleming --- meta-luv/recipes-core/base-files/base-files/fstab | 11 +++++++++++ .../base-files/base-files_3.0.14.bbappend | 3 +++ 2 files changed, 14 insertions(+) create mode 100644 meta-luv/recipes-core/base-files/base-files/fstab create mode 100644 meta-luv/recipes-core/base-files/base-files_3.0.14.bbappend diff --git a/meta-luv/recipes-core/base-files/base-files/fstab b/meta-luv/recipes-core/base-files/base-files/fstab new file mode 100644 index 00000000000..a701f66c532 --- /dev/null +++ b/meta-luv/recipes-core/base-files/base-files/fstab @@ -0,0 +1,11 @@ +rootfs / auto defaults 1 1 +proc /proc proc defaults 0 0 +devpts /dev/pts devpts mode=0620,gid=5 0 0 +usbdevfs /proc/bus/usb usbdevfs noauto 0 0 +tmpfs /run tmpfs mode=0755,nodev,nosuid,strictatime 0 0 +tmpfs /var/volatile tmpfs defaults 0 0 + +# uncomment this if your device has a SD/MMC/Transflash slot +#/dev/mmcblk0p1 /media/card auto defaults,sync,noauto 0 0 + +efivarfs /sys/firmware/efi/efivars efivarfs defaults 0 0 diff --git a/meta-luv/recipes-core/base-files/base-files_3.0.14.bbappend b/meta-luv/recipes-core/base-files/base-files_3.0.14.bbappend new file mode 100644 index 00000000000..38207546297 --- /dev/null +++ b/meta-luv/recipes-core/base-files/base-files_3.0.14.bbappend @@ -0,0 +1,3 @@ +FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" + +SRC_URI += "file://fstab" From c9ae8b4996a1341d8168151c871c32b0c9779c88 Mon Sep 17 00:00:00 2001 From: Matt Fleming Date: Thu, 1 May 2014 14:35:53 +0100 Subject: [PATCH 570/658] efivarfs: Enable automatic test execution Inherit luv-test.bbclass which will automatically run the efivarfs tests when booting. The efivarfs selftests are not easily executed out of the box and it was necessary to create a /usr/bin/efivarfs script, which is basically just a wrapper that invokes the tests from within /usr/share/efivarfs-test. Signed-off-by: Matt Fleming --- meta-luv/recipes-core/efivarfs/efivarfs-test.bb | 12 +++++++++--- .../efivarfs/efivarfs-test/efivarfs | 15 +++++++++++++++ .../efivarfs/efivarfs-test/luv-parser-efivarfs | 17 +++++++++++++++++ 3 files changed, 41 insertions(+), 3 deletions(-) create mode 100644 meta-luv/recipes-core/efivarfs/efivarfs-test/efivarfs create mode 100644 meta-luv/recipes-core/efivarfs/efivarfs-test/luv-parser-efivarfs diff --git a/meta-luv/recipes-core/efivarfs/efivarfs-test.bb b/meta-luv/recipes-core/efivarfs/efivarfs-test.bb index 80b3131354e..6afc08dbb76 100644 --- a/meta-luv/recipes-core/efivarfs/efivarfs-test.bb +++ b/meta-luv/recipes-core/efivarfs/efivarfs-test.bb @@ -7,12 +7,14 @@ KBRANCH="stable" # Picking up matts branch SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/mfleming/efi.git;protocol=git;branch=${KBRANCH} \ - file://bash-to-sh.patch" + file://bash-to-sh.patch \ + file://luv-parser-efivarfs \ + file://efivarfs" #we need some of the stuff below DEPENDS_class-native += "qemu-native" SRCREV="${AUTOREV}" -inherit autotools +inherit autotools luv-test S = "${WORKDIR}/git" # This is to just to satisfy the compilation error @@ -35,6 +37,10 @@ do_install() { install -m 0755 ${S}/tools/testing/selftests/efivarfs/create-read ${D}${datadir}/efivarfs-test install -m 0755 ${S}/tools/testing/selftests/efivarfs/open-unlink ${D}${datadir}/efivarfs-test install -m 0755 ${S}/tools/testing/selftests/efivarfs/efivarfs.sh ${D}${datadir}/efivarfs-test -} + install -d ${D}${bindir} + install -m 0755 ${WORKDIR}/efivarfs ${D}${bindir} +} +LUV_TEST_LOG_PARSER="luv-parser-efivarfs" +LUV_TEST="efivarfs" diff --git a/meta-luv/recipes-core/efivarfs/efivarfs-test/efivarfs b/meta-luv/recipes-core/efivarfs/efivarfs-test/efivarfs new file mode 100644 index 00000000000..e6d86ea2810 --- /dev/null +++ b/meta-luv/recipes-core/efivarfs/efivarfs-test/efivarfs @@ -0,0 +1,15 @@ +#!/bin/sh +# +# Copyright (C) 2014 Intel Corporation +# +# Executing the efivarfs tests is not straight forward as they make lots +# of assumptions about their environment - namely that they're being +# executed from within the kernel source tree. + +TEST_DIR="/usr/share/efivarfs-test/" + +pushd ${TEST_DIR} > /dev/null + +./efivarfs.sh + +popd > /dev/null diff --git a/meta-luv/recipes-core/efivarfs/efivarfs-test/luv-parser-efivarfs b/meta-luv/recipes-core/efivarfs/efivarfs-test/luv-parser-efivarfs new file mode 100644 index 00000000000..ff7ba8d2e45 --- /dev/null +++ b/meta-luv/recipes-core/efivarfs/efivarfs-test/luv-parser-efivarfs @@ -0,0 +1,17 @@ +#!/bin/sh +# +# Parse the output of the Linux kernel efivarfs selftests and write to +# stdout in a luv-test-manager compatible log. + +awk '/running/ { + test=$2 + printf ("1.0 efivarfs %s INFO\n", test); + } + + /\[PASS\]/ { + printf ("1.0 efivarfs %s RESULT 1 0 0 0\n", test); + } + + /\[FAIL\]/ { + printf ("1.0 efivarfs %s RESULT 0 1 0 0\n", test); + }' From cbef93f6e3b503af2db2ddc928c6ed7d83af0eea Mon Sep 17 00:00:00 2001 From: Matt Fleming Date: Mon, 28 Apr 2014 15:15:42 +0100 Subject: [PATCH 571/658] luv-live-image: A new live image for luv Having a hard drive image to boot with qemu is fine and dandy but we really need a bootable image that we can write to removable media and run on real hardware, not least because that's the thing people will expect to find on the project website. bootimg.bbclass provides much of the functionality we need and already contains code to build a FAT file system image from our rootfs. The customization occurs in do_create_img() where we construct a partition table and append the rootfs FAT file system. While scripts already exist to build this type of image (scripts/contrib/mkefidisk.sh) they explicitly disallow booting with an initramfs as the only file system. The initramfs is integral to our boot procedure. Tested on real UEFI hardware. Signed-off-by: Matt Fleming --- .../recipes-core/images/luv-live-image.bb | 42 +++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 meta-luv/recipes-core/images/luv-live-image.bb diff --git a/meta-luv/recipes-core/images/luv-live-image.bb b/meta-luv/recipes-core/images/luv-live-image.bb new file mode 100644 index 00000000000..2aa3f80e815 --- /dev/null +++ b/meta-luv/recipes-core/images/luv-live-image.bb @@ -0,0 +1,42 @@ +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58" + +DEPENDS_${PN} = "grub-efi" + +HDDDIR = "${S}/hddimg" +LABELS = "luv" + +INITRD_IMAGE = "core-image-efi-initramfs" +INITRD = "${DEPLOY_DIR_IMAGE}/${INITRD_IMAGE}-${MACHINE}.cpio.gz" +MACHINE_FEATURES += "efi" + +inherit bootimg + +build_img() { + IMG="${DEPLOY_DIR_IMAGE}/${PN}.img" + VFAT="${DEPLOY_DIR_IMAGE}/${IMAGE_LINK_NAME}.hddimg" + + dd if=/dev/zero of=$IMG bs=512 count=1 + + VFAT_SIZE=$(du -L --apparent-size -bs $VFAT | cut -f 1) + + IMG_SIZE=$(expr $VFAT_SIZE + 512) + + dd if=/dev/zero of=$IMG bs=1 seek=$IMG_SIZE count=0 + + parted $IMG mklabel msdos + + parted $IMG mkpart primary 0% "${VFAT_SIZE}B" + parted $IMG set 1 boot on + + dd if=${VFAT} of=$IMG seek=1 bs=512 +} + +python do_create_img() { + bb.build.exec_func('build_img', d) +} + +do_bootimg[depends] += "${INITRD_IMAGE}:do_rootfs" +do_bootimg[depends] += "virtual/kernel:do_populate_sysroot" + +addtask create_img after do_bootimg before do_build From ed1d75fb31f7785581abcc9ae085ac19fa6d7b04 Mon Sep 17 00:00:00 2001 From: Matt Fleming Date: Thu, 8 May 2014 07:29:52 +0100 Subject: [PATCH 572/658] fwts: Add virtual/kernel to DEPENDS Since we require the kernel source to build the efi_runtime.ko module. Currently it's possible to hit the following error, make: *** /luv-yocto/build/tmp/sysroots/qemux86-64/usr/src/kernel: No such file or directory. Stop. Reported-by: Rakesh Seethamsetty Signed-off-by: Matt Fleming --- meta-luv/recipes-core/fwts/fwts_git.bb | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/meta-luv/recipes-core/fwts/fwts_git.bb b/meta-luv/recipes-core/fwts/fwts_git.bb index fce8966fc5c..adbd7d487d1 100644 --- a/meta-luv/recipes-core/fwts/fwts_git.bb +++ b/meta-luv/recipes-core/fwts/fwts_git.bb @@ -16,10 +16,13 @@ SRC_URI = "git://kernel.ubuntu.com/hwe/fwts.git \ " S = "${WORKDIR}/git" -DEPENDS = "autoconf automake libtool libpcre libjson flex bison " +DEPENDS = "autoconf automake libtool libpcre libjson flex bison \ + virtual/kernel " inherit autotools luv-test module-base +do_unpack[depends] += "virtual/kernel:do_populate_sysroot" + do_compile_append() { unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS oe_runmake KERNEL_PATH=${STAGING_KERNEL_DIR} \ From 8051ff550bf4ab4ae35a06f7a708b355185c1c15 Mon Sep 17 00:00:00 2001 From: Yue Tao Date: Tue, 8 Apr 2014 19:15:05 +0100 Subject: [PATCH 573/658] Security Advisory - openssl - CVE-2013-4353 The ssl3_take_mac function in ssl/s3_both.c in OpenSSL 1.0.1 before 1.0.1f allows remote TLS servers to cause a denial of service (NULL pointer dereference and application crash) via a crafted Next Protocol Negotiation record in a TLS handshake. (From OE-Core master rev: 35ccce7002188c8270d2fead35f9763b22776877) (From OE-Core rev: a5060594208de172cb31ad406b34b25decd061e4) Signed-off-by: Yue Tao Signed-off-by: Jackie Huang Signed-off-by: Richard Purdie --- ...S-record-tampering-bug-CVE-2013-4353.patch | 31 +++++++++++++++++++ .../openssl/openssl_1.0.1e.bb | 1 + 2 files changed, 32 insertions(+) create mode 100644 meta/recipes-connectivity/openssl/openssl-1.0.1e/0001-Fix-for-TLS-record-tampering-bug-CVE-2013-4353.patch diff --git a/meta/recipes-connectivity/openssl/openssl-1.0.1e/0001-Fix-for-TLS-record-tampering-bug-CVE-2013-4353.patch b/meta/recipes-connectivity/openssl/openssl-1.0.1e/0001-Fix-for-TLS-record-tampering-bug-CVE-2013-4353.patch new file mode 100644 index 00000000000..d03dc06dafe --- /dev/null +++ b/meta/recipes-connectivity/openssl/openssl-1.0.1e/0001-Fix-for-TLS-record-tampering-bug-CVE-2013-4353.patch @@ -0,0 +1,31 @@ +From 197e0ea817ad64820789d86711d55ff50d71f631 Mon Sep 17 00:00:00 2001 +From: "Dr. Stephen Henson" +Date: Mon, 6 Jan 2014 14:35:04 +0000 +Subject: [PATCH] Fix for TLS record tampering bug CVE-2013-4353 + +Upstream-Status: Backport +commit 197e0ea817ad64820789d86711d55ff50d71f631 upstream + + ssl/s3_both.c | 6 +++++- + 3 files changed, 11 insertions(+), 1 deletions(-) + +diff --git a/ssl/s3_both.c b/ssl/s3_both.c +index 1e5dcab..53b9390 100644 +--- a/ssl/s3_both.c ++++ b/ssl/s3_both.c +@@ -210,7 +210,11 @@ static void ssl3_take_mac(SSL *s) + { + const char *sender; + int slen; +- ++ /* If no new cipher setup return immediately: other functions will ++ * set the appropriate error. ++ */ ++ if (s->s3->tmp.new_cipher == NULL) ++ return; + if (s->state & SSL_ST_CONNECT) + { + sender=s->method->ssl3_enc->server_finished_label; +-- +1.7.5.4 + diff --git a/meta/recipes-connectivity/openssl/openssl_1.0.1e.bb b/meta/recipes-connectivity/openssl/openssl_1.0.1e.bb index ac27dba4940..3476d84bdfb 100644 --- a/meta/recipes-connectivity/openssl/openssl_1.0.1e.bb +++ b/meta/recipes-connectivity/openssl/openssl_1.0.1e.bb @@ -34,6 +34,7 @@ SRC_URI += "file://configure-targets.patch \ file://openssl-avoid-NULL-pointer-dereference-in-EVP_DigestInit_ex.patch \ file://openssl-avoid-NULL-pointer-dereference-in-dh_pub_encode.patch \ file://find.pl \ + file://0001-Fix-for-TLS-record-tampering-bug-CVE-2013-4353.patch \ " SRC_URI[md5sum] = "66bf6f10f060d561929de96f9dfe5b8c" From 925835051eef28aae07e0fdfa978f35846e869ef Mon Sep 17 00:00:00 2001 From: Yue Tao Date: Tue, 8 Apr 2014 19:15:06 +0100 Subject: [PATCH 574/658] Security Advisory - openssl - CVE-2013-6450 The DTLS retransmission implementation in OpenSSL through 0.9.8y and 1.x through 1.0.1e does not properly maintain data structures for digest and encryption contexts, which might allow man-in-the-middle attackers to trigger the use of a different context by interfering with packet delivery, related to ssl/d1_both.c and ssl/t1_enc.c. (From OE-Core master rev: 94352e694cd828aa84abd846149712535f48ab0f) (From OE-Core rev: 1e934529e501110a7bfe1cb09fe89dd0078bd426) Signed-off-by: Yue Tao Signed-off-by: Jackie Huang Signed-off-by: Richard Purdie --- ...retransmission-from-previous-session.patch | 81 +++++++++++++++++++ .../openssl/openssl_1.0.1e.bb | 1 + 2 files changed, 82 insertions(+) create mode 100644 meta/recipes-connectivity/openssl/openssl-1.0.1e/0001-Fix-DTLS-retransmission-from-previous-session.patch diff --git a/meta/recipes-connectivity/openssl/openssl-1.0.1e/0001-Fix-DTLS-retransmission-from-previous-session.patch b/meta/recipes-connectivity/openssl/openssl-1.0.1e/0001-Fix-DTLS-retransmission-from-previous-session.patch new file mode 100644 index 00000000000..39592e2d675 --- /dev/null +++ b/meta/recipes-connectivity/openssl/openssl-1.0.1e/0001-Fix-DTLS-retransmission-from-previous-session.patch @@ -0,0 +1,81 @@ +From 34628967f1e65dc8f34e000f0f5518e21afbfc7b Mon Sep 17 00:00:00 2001 +From: "Dr. Stephen Henson" +Date: Fri, 20 Dec 2013 15:26:50 +0000 +Subject: [PATCH] Fix DTLS retransmission from previous session. + +Upstream-Status: Backport +commit 34628967f1e65dc8f34e000f0f5518e21afbfc7b upstream + +For DTLS we might need to retransmit messages from the previous session +so keep a copy of write context in DTLS retransmission buffers instead +of replacing it after sending CCS. CVE-2013-6450. +--- + ssl/d1_both.c | 6 ++++++ + ssl/ssl_locl.h | 2 ++ + ssl/t1_enc.c | 17 +++++++++++------ + 4 files changed, 24 insertions(+), 6 deletions(-) + +diff --git a/ssl/d1_both.c b/ssl/d1_both.c +index 65ec001..7a5596a 100644 +--- a/ssl/d1_both.c ++++ b/ssl/d1_both.c +@@ -214,6 +214,12 @@ dtls1_hm_fragment_new(unsigned long frag_len, int reassembly) + static void + dtls1_hm_fragment_free(hm_fragment *frag) + { ++ ++ if (frag->msg_header.is_ccs) ++ { ++ EVP_CIPHER_CTX_free(frag->msg_header.saved_retransmit_state.enc_write_ctx); ++ EVP_MD_CTX_destroy(frag->msg_header.saved_retransmit_state.write_hash); ++ } + if (frag->fragment) OPENSSL_free(frag->fragment); + if (frag->reassembly) OPENSSL_free(frag->reassembly); + OPENSSL_free(frag); +diff --git a/ssl/ssl_locl.h b/ssl/ssl_locl.h +index 96ce9a7..e485907 100644 +--- a/ssl/ssl_locl.h ++++ b/ssl/ssl_locl.h +@@ -621,6 +621,8 @@ extern SSL3_ENC_METHOD TLSv1_enc_data; + extern SSL3_ENC_METHOD SSLv3_enc_data; + extern SSL3_ENC_METHOD DTLSv1_enc_data; + ++#define SSL_IS_DTLS(s) (s->method->version == DTLS1_VERSION) ++ + #define IMPLEMENT_tls_meth_func(version, func_name, s_accept, s_connect, \ + s_get_meth) \ + const SSL_METHOD *func_name(void) \ +diff --git a/ssl/t1_enc.c b/ssl/t1_enc.c +index 72015f5..56db834 100644 +--- a/ssl/t1_enc.c ++++ b/ssl/t1_enc.c +@@ -414,15 +414,20 @@ int tls1_change_cipher_state(SSL *s, int which) + s->mac_flags |= SSL_MAC_FLAG_WRITE_MAC_STREAM; + else + s->mac_flags &= ~SSL_MAC_FLAG_WRITE_MAC_STREAM; +- if (s->enc_write_ctx != NULL) ++ if (s->enc_write_ctx != NULL && !SSL_IS_DTLS(s)) + reuse_dd = 1; +- else if ((s->enc_write_ctx=OPENSSL_malloc(sizeof(EVP_CIPHER_CTX))) == NULL) ++ else if ((s->enc_write_ctx=EVP_CIPHER_CTX_new()) == NULL) + goto err; +- else +- /* make sure it's intialized in case we exit later with an error */ +- EVP_CIPHER_CTX_init(s->enc_write_ctx); + dd= s->enc_write_ctx; +- mac_ctx = ssl_replace_hash(&s->write_hash,NULL); ++ if (SSL_IS_DTLS(s)) ++ { ++ mac_ctx = EVP_MD_CTX_create(); ++ if (!mac_ctx) ++ goto err; ++ s->write_hash = mac_ctx; ++ } ++ else ++ mac_ctx = ssl_replace_hash(&s->write_hash,NULL); + #ifndef OPENSSL_NO_COMP + if (s->compress != NULL) + { +-- +1.7.5.4 + diff --git a/meta/recipes-connectivity/openssl/openssl_1.0.1e.bb b/meta/recipes-connectivity/openssl/openssl_1.0.1e.bb index 3476d84bdfb..32e03a5eb2b 100644 --- a/meta/recipes-connectivity/openssl/openssl_1.0.1e.bb +++ b/meta/recipes-connectivity/openssl/openssl_1.0.1e.bb @@ -35,6 +35,7 @@ SRC_URI += "file://configure-targets.patch \ file://openssl-avoid-NULL-pointer-dereference-in-dh_pub_encode.patch \ file://find.pl \ file://0001-Fix-for-TLS-record-tampering-bug-CVE-2013-4353.patch \ + file://0001-Fix-DTLS-retransmission-from-previous-session.patch \ " SRC_URI[md5sum] = "66bf6f10f060d561929de96f9dfe5b8c" From c4763a31fea4f84c25121ce976b85deedbf2c204 Mon Sep 17 00:00:00 2001 From: Yue Tao Date: Tue, 8 Apr 2014 19:15:07 +0100 Subject: [PATCH 575/658] Security Advisory - openssl - CVE-2013-6449 The ssl_get_algorithm2 function in ssl/s3_lib.c in OpenSSL before 1.0.2 obtains a certain version number from an incorrect data structure, which allows remote attackers to cause a denial of service (daemon crash) via crafted traffic from a TLS 1.2 client. (From OE-Core master rev: 3e0ac7357a962e3ef6595d21ec4843b078a764dd) (From OE-Core rev: 33b6441429603b82cfca3d35e68e47e1ca021fd7) Signed-off-by: Yue Tao Signed-off-by: Jackie Huang Signed-off-by: Richard Purdie --- ...sion-in-SSL_METHOD-not-SSL-structure.patch | 33 +++++++++++++++++++ .../openssl/openssl_1.0.1e.bb | 1 + 2 files changed, 34 insertions(+) create mode 100644 meta/recipes-connectivity/openssl/openssl-1.0.1e/0001-Use-version-in-SSL_METHOD-not-SSL-structure.patch diff --git a/meta/recipes-connectivity/openssl/openssl-1.0.1e/0001-Use-version-in-SSL_METHOD-not-SSL-structure.patch b/meta/recipes-connectivity/openssl/openssl-1.0.1e/0001-Use-version-in-SSL_METHOD-not-SSL-structure.patch new file mode 100644 index 00000000000..e5a8ade9362 --- /dev/null +++ b/meta/recipes-connectivity/openssl/openssl-1.0.1e/0001-Use-version-in-SSL_METHOD-not-SSL-structure.patch @@ -0,0 +1,33 @@ +From ca989269a2876bae79393bd54c3e72d49975fc75 Mon Sep 17 00:00:00 2001 +From: "Dr. Stephen Henson" +Date: Thu, 19 Dec 2013 14:37:39 +0000 +Subject: [PATCH] Use version in SSL_METHOD not SSL structure. + +Upstream-Status: Backport +commit ca989269a2876bae79393bd54c3e72d49975fc75 upstream + +When deciding whether to use TLS 1.2 PRF and record hash algorithms +use the version number in the corresponding SSL_METHOD structure +instead of the SSL structure. The SSL structure version is sometimes +inaccurate. Note: OpenSSL 1.0.2 and later effectively do this already. +(CVE-2013-6449) +--- + ssl/s3_lib.c | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/ssl/s3_lib.c b/ssl/s3_lib.c +index bf832bb..c4ef273 100644 +--- a/ssl/s3_lib.c ++++ b/ssl/s3_lib.c +@@ -4286,7 +4286,7 @@ need to go to SSL_ST_ACCEPT. + long ssl_get_algorithm2(SSL *s) + { + long alg2 = s->s3->tmp.new_cipher->algorithm2; +- if (TLS1_get_version(s) >= TLS1_2_VERSION && ++ if (s->method->version == TLS1_2_VERSION && + alg2 == (SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF)) + return SSL_HANDSHAKE_MAC_SHA256 | TLS1_PRF_SHA256; + return alg2; +-- +1.7.5.4 + diff --git a/meta/recipes-connectivity/openssl/openssl_1.0.1e.bb b/meta/recipes-connectivity/openssl/openssl_1.0.1e.bb index 32e03a5eb2b..3313ed57f6a 100644 --- a/meta/recipes-connectivity/openssl/openssl_1.0.1e.bb +++ b/meta/recipes-connectivity/openssl/openssl_1.0.1e.bb @@ -36,6 +36,7 @@ SRC_URI += "file://configure-targets.patch \ file://find.pl \ file://0001-Fix-for-TLS-record-tampering-bug-CVE-2013-4353.patch \ file://0001-Fix-DTLS-retransmission-from-previous-session.patch \ + file://0001-Use-version-in-SSL_METHOD-not-SSL-structure.patch \ " SRC_URI[md5sum] = "66bf6f10f060d561929de96f9dfe5b8c" From a3164e575f35a24349ae80eef4a84152baa9510a Mon Sep 17 00:00:00 2001 From: Paul Eggleton Date: Tue, 8 Apr 2014 19:15:08 +0100 Subject: [PATCH 576/658] openssl: backport fix for CVE-2014-0160 Fixes the "heartbleed" TLS vulnerability (CVE-2014-0160). More information here: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0160 Patch borrowed from Debian; this is just a tweaked version of the upstream commit (without patching the CHANGES file which otherwise would fail to apply on top of this version). (From OE-Core rev: c3acfdfe0c0c3579c5f469f10b87a2926214ba5d) Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- .../openssl-1.0.1e/CVE-2014-0160.patch | 118 ++++++++++++++++++ .../openssl/openssl_1.0.1e.bb | 1 + 2 files changed, 119 insertions(+) create mode 100644 meta/recipes-connectivity/openssl/openssl-1.0.1e/CVE-2014-0160.patch diff --git a/meta/recipes-connectivity/openssl/openssl-1.0.1e/CVE-2014-0160.patch b/meta/recipes-connectivity/openssl/openssl-1.0.1e/CVE-2014-0160.patch new file mode 100644 index 00000000000..c06cd64fc6e --- /dev/null +++ b/meta/recipes-connectivity/openssl/openssl-1.0.1e/CVE-2014-0160.patch @@ -0,0 +1,118 @@ +From 96db9023b881d7cd9f379b0c154650d6c108e9a3 Mon Sep 17 00:00:00 2001 +From: "Dr. Stephen Henson" +Date: Sun, 6 Apr 2014 00:51:06 +0100 +Subject: [PATCH] Add heartbeat extension bounds check. + +A missing bounds check in the handling of the TLS heartbeat extension +can be used to reveal up to 64k of memory to a connected client or +server. + +Thanks for Neel Mehta of Google Security for discovering this bug and to +Adam Langley and Bodo Moeller for +preparing the fix (CVE-2014-0160) + +Patch (tweaked version of upstream fix without CHANGES change) borrowed +from Debian. + +Upstream-Status: Backport +Signed-off-by: Paul Eggleton + +--- + ssl/d1_both.c | 26 ++++++++++++++++++-------- + ssl/t1_lib.c | 14 +++++++++----- + 3 files changed, 36 insertions(+), 13 deletions(-) + +diff --git a/ssl/d1_both.c b/ssl/d1_both.c +index 7a5596a..2e8cf68 100644 +--- a/ssl/d1_both.c ++++ b/ssl/d1_both.c +@@ -1459,26 +1459,36 @@ dtls1_process_heartbeat(SSL *s) + unsigned int payload; + unsigned int padding = 16; /* Use minimum padding */ + +- /* Read type and payload length first */ +- hbtype = *p++; +- n2s(p, payload); +- pl = p; +- + if (s->msg_callback) + s->msg_callback(0, s->version, TLS1_RT_HEARTBEAT, + &s->s3->rrec.data[0], s->s3->rrec.length, + s, s->msg_callback_arg); + ++ /* Read type and payload length first */ ++ if (1 + 2 + 16 > s->s3->rrec.length) ++ return 0; /* silently discard */ ++ hbtype = *p++; ++ n2s(p, payload); ++ if (1 + 2 + payload + 16 > s->s3->rrec.length) ++ return 0; /* silently discard per RFC 6520 sec. 4 */ ++ pl = p; ++ + if (hbtype == TLS1_HB_REQUEST) + { + unsigned char *buffer, *bp; ++ unsigned int write_length = 1 /* heartbeat type */ + ++ 2 /* heartbeat length */ + ++ payload + padding; + int r; + ++ if (write_length > SSL3_RT_MAX_PLAIN_LENGTH) ++ return 0; ++ + /* Allocate memory for the response, size is 1 byte + * message type, plus 2 bytes payload length, plus + * payload, plus padding + */ +- buffer = OPENSSL_malloc(1 + 2 + payload + padding); ++ buffer = OPENSSL_malloc(write_length); + bp = buffer; + + /* Enter response type, length and copy payload */ +@@ -1489,11 +1499,11 @@ dtls1_process_heartbeat(SSL *s) + /* Random padding */ + RAND_pseudo_bytes(bp, padding); + +- r = dtls1_write_bytes(s, TLS1_RT_HEARTBEAT, buffer, 3 + payload + padding); ++ r = dtls1_write_bytes(s, TLS1_RT_HEARTBEAT, buffer, write_length); + + if (r >= 0 && s->msg_callback) + s->msg_callback(1, s->version, TLS1_RT_HEARTBEAT, +- buffer, 3 + payload + padding, ++ buffer, write_length, + s, s->msg_callback_arg); + + OPENSSL_free(buffer); +diff --git a/ssl/t1_lib.c b/ssl/t1_lib.c +index b82fada..bddffd9 100644 +--- a/ssl/t1_lib.c ++++ b/ssl/t1_lib.c +@@ -2588,16 +2588,20 @@ tls1_process_heartbeat(SSL *s) + unsigned int payload; + unsigned int padding = 16; /* Use minimum padding */ + +- /* Read type and payload length first */ +- hbtype = *p++; +- n2s(p, payload); +- pl = p; +- + if (s->msg_callback) + s->msg_callback(0, s->version, TLS1_RT_HEARTBEAT, + &s->s3->rrec.data[0], s->s3->rrec.length, + s, s->msg_callback_arg); + ++ /* Read type and payload length first */ ++ if (1 + 2 + 16 > s->s3->rrec.length) ++ return 0; /* silently discard */ ++ hbtype = *p++; ++ n2s(p, payload); ++ if (1 + 2 + payload + 16 > s->s3->rrec.length) ++ return 0; /* silently discard per RFC 6520 sec. 4 */ ++ pl = p; ++ + if (hbtype == TLS1_HB_REQUEST) + { + unsigned char *buffer, *bp; +-- +1.9.1 + diff --git a/meta/recipes-connectivity/openssl/openssl_1.0.1e.bb b/meta/recipes-connectivity/openssl/openssl_1.0.1e.bb index 3313ed57f6a..949f3a19e32 100644 --- a/meta/recipes-connectivity/openssl/openssl_1.0.1e.bb +++ b/meta/recipes-connectivity/openssl/openssl_1.0.1e.bb @@ -37,6 +37,7 @@ SRC_URI += "file://configure-targets.patch \ file://0001-Fix-for-TLS-record-tampering-bug-CVE-2013-4353.patch \ file://0001-Fix-DTLS-retransmission-from-previous-session.patch \ file://0001-Use-version-in-SSL_METHOD-not-SSL-structure.patch \ + file://CVE-2014-0160.patch \ " SRC_URI[md5sum] = "66bf6f10f060d561929de96f9dfe5b8c" From a84608297199ffcd1987b2ebee536fcc643703ad Mon Sep 17 00:00:00 2001 From: Paul Eggleton Date: Fri, 11 Apr 2014 13:31:10 +0100 Subject: [PATCH 577/658] openssl: bump PR We don't normally do this, but with the recent CVE fixes (most importantly the one for the serious CVE-2014-0160 vulnerability) I am bumping PR explicitly to make it a bit more obvious that the patch has been applied. (From OE-Core rev: 813fa9ed5e492e5dc08155d23d74127ca87304df) Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- meta/recipes-connectivity/openssl/openssl_1.0.1e.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/recipes-connectivity/openssl/openssl_1.0.1e.bb b/meta/recipes-connectivity/openssl/openssl_1.0.1e.bb index 949f3a19e32..bfdb25e80f7 100644 --- a/meta/recipes-connectivity/openssl/openssl_1.0.1e.bb +++ b/meta/recipes-connectivity/openssl/openssl_1.0.1e.bb @@ -6,7 +6,7 @@ DEPENDS += "ocf-linux" CFLAG += "-DHAVE_CRYPTODEV -DUSE_CRYPTODEV_DIGESTS" -PR = "${INC_PR}.0" +PR = "${INC_PR}.1" LIC_FILES_CHKSUM = "file://LICENSE;md5=f9a8f968107345e0b75aa8c2ecaa7ec8" From 53c6de42f99c8d2ee5ba62ece9f428fe7156dbbd Mon Sep 17 00:00:00 2001 From: Matt Fleming Date: Thu, 8 May 2014 11:48:53 +0100 Subject: [PATCH 578/658] meta-luv: Fill out mailing list address Complete the mailing list address so that users know where to send questions, patches, bug reports, etc. Signed-off-by: Matt Fleming --- meta-luv/README | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta-luv/README b/meta-luv/README index 08b255937ad..b640ee9cadf 100644 --- a/meta-luv/README +++ b/meta-luv/README @@ -24,8 +24,8 @@ This layer depends on: Patches ======= -Please submit any patches against the meta-luv layer to the -xxxx mailing list (xxxx@zzzz.org) and cc: the maintainer: +Please submit any patches against the meta-luv layer to the luv mailing +list (luv@lists.01.org) and cc: the maintainer: Maintainer: Matt Fleming From 8b05791dc122df252bea144d116721d7b830ba05 Mon Sep 17 00:00:00 2001 From: Matt Fleming Date: Fri, 9 May 2014 16:14:26 +0100 Subject: [PATCH 579/658] fwts: Enable batch mode tests To increase the test coverage enable all the batch mode tests in the fwts. Signed-off-by: Matt Fleming --- meta-luv/recipes-core/fwts/fwts_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-luv/recipes-core/fwts/fwts_git.bb b/meta-luv/recipes-core/fwts/fwts_git.bb index adbd7d487d1..e07e9766015 100644 --- a/meta-luv/recipes-core/fwts/fwts_git.bb +++ b/meta-luv/recipes-core/fwts/fwts_git.bb @@ -53,7 +53,7 @@ do_install_append() { LUV_TEST_LOG_PARSER="luv-parser-fwts" LUV_TEST_ARGS="-r stdout -q --uefi --log-filter='SUM,INF' \ - --log-format='%owner;%field '" + --log-format='%owner;%field ' --batch" FILES_${PN} += "${libdir}/fwts/lib*${SOLIBS}" FILES_${PN} += "/lib/modules/${KERNEL_VERSION}/extra/efi_runtime.ko" From 685ffdf210278d8e52950f010d60bc8471de070c Mon Sep 17 00:00:00 2001 From: Matt Fleming Date: Fri, 9 May 2014 16:17:00 +0100 Subject: [PATCH 580/658] luv-test-manager: Display pass, fail and skip count It's helpful to summarise these numbers once all the test suites have been run, as it gives concrete values instead of the user being required to count results as they scroll up the screen. Signed-off-by: Matt Fleming --- .../recipes-core/initscripts/initscripts/luv-test-manager | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/meta-luv/recipes-core/initscripts/initscripts/luv-test-manager b/meta-luv/recipes-core/initscripts/initscripts/luv-test-manager index 07dac7aa430..46ab8c27b1d 100644 --- a/meta-luv/recipes-core/initscripts/initscripts/luv-test-manager +++ b/meta-luv/recipes-core/initscripts/initscripts/luv-test-manager @@ -33,8 +33,11 @@ for r in $runner_list; do $runner | $parser | ${LUV_PARSER_DIR}/test-manager done | awk '/ \[\+/ { units += 1 } / \[\-/ { suites += 1 } + /pass/ { passes += 1 } + /fail/ { fails += $3 } + /skip/ { skips += 1 } END { - printf("\nRan %d testsuites and %d unittests\n", suites, units) + printf("\nRan %d testsuites and %d unittests, %d passes, %d fails, %d skipped\n", suites, units, passes, fails, skips) } { print $0 }' From 3e22684575e4b02adadab2f60d57adcdbd5848f9 Mon Sep 17 00:00:00 2001 From: Matt Fleming Date: Fri, 9 May 2014 18:06:26 +0100 Subject: [PATCH 581/658] psplash: Enable support for framebuffer splash screen By using psplash we can write helpful message and the framebuffer along with a progress report. psplash has been extended slightly by adding a new keyword "DONE" which signals that progress no longer needs to be monitored and the progress bar is deleted. Also, we're using the luv project colours. Signed-off-by: Matt Fleming --- .../initscripts/initscripts/luv-test-manager | 30 ++++++++++- .../files/0001-Add-luv-color-background.patch | 37 +++++++++++++ .../psplash/files/0001-add-done-command.patch | 50 ++++++++++++++++++ .../recipes-core/psplash/files/luv-splash.png | Bin 0 -> 8745 bytes .../recipes-core/psplash/psplash_git.bbappend | 6 +++ 5 files changed, 122 insertions(+), 1 deletion(-) create mode 100644 meta-luv/recipes-core/psplash/files/0001-Add-luv-color-background.patch create mode 100644 meta-luv/recipes-core/psplash/files/0001-add-done-command.patch create mode 100644 meta-luv/recipes-core/psplash/files/luv-splash.png create mode 100644 meta-luv/recipes-core/psplash/psplash_git.bbappend diff --git a/meta-luv/recipes-core/initscripts/initscripts/luv-test-manager b/meta-luv/recipes-core/initscripts/initscripts/luv-test-manager index 46ab8c27b1d..fb681efe4f2 100644 --- a/meta-luv/recipes-core/initscripts/initscripts/luv-test-manager +++ b/meta-luv/recipes-core/initscripts/initscripts/luv-test-manager @@ -2,6 +2,15 @@ # Copyright 2014 Intel Corporation; author Matt Fleming # +FIFO="/mnt/.psplash/psplash_fifo" +psplash_write() { + if [ -e $FIFO ]; then + echo $1 > $FIFO + fi +} + +psplash_write "MSG Running tests..." + cat < $FIFO + grep "Ran" /tmp/luv.results | awk '{printf "MSG %s\n", $0}' > $FIFO + + umount -l /mnt/.psplash +} diff --git a/meta-luv/recipes-core/psplash/files/0001-Add-luv-color-background.patch b/meta-luv/recipes-core/psplash/files/0001-Add-luv-color-background.patch new file mode 100644 index 00000000000..e48d64973f6 --- /dev/null +++ b/meta-luv/recipes-core/psplash/files/0001-Add-luv-color-background.patch @@ -0,0 +1,37 @@ +From ed6c9112ee48c7cc8b1f6f737c6c7b1ce38b11a6 Mon Sep 17 00:00:00 2001 +From: Matt Fleming +Date: Fri, 9 May 2014 12:01:37 +0100 +Subject: [PATCH] Add luv color background + +Signed-off-by: Matt Fleming +--- + psplash-colors.h | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/psplash-colors.h b/psplash-colors.h +index d701089..ea3b529 100644 +--- a/psplash-colors.h ++++ b/psplash-colors.h +@@ -20,15 +20,15 @@ + #define _HAVE_PSPLASH_COLORS_H + + /* This is the overall background color */ +-#define PSPLASH_BACKGROUND_COLOR 0xec,0xec,0xe1 ++#define PSPLASH_BACKGROUND_COLOR 0x17,0x71,0xb7 + + /* This is the color of any text output */ +-#define PSPLASH_TEXT_COLOR 0x6d,0x6d,0x70 ++#define PSPLASH_TEXT_COLOR 0xff,0xff,0xff + + /* This is the color of the progress bar indicator */ +-#define PSPLASH_BAR_COLOR 0x6d,0x6d,0x70 ++#define PSPLASH_BAR_COLOR 0xf2,0x73,0x51 + + /* This is the color of the progress bar background */ +-#define PSPLASH_BAR_BACKGROUND_COLOR 0xec,0xec,0xe1 ++#define PSPLASH_BAR_BACKGROUND_COLOR 0xff,0xff,0xff + + #endif +-- +1.9.0 + diff --git a/meta-luv/recipes-core/psplash/files/0001-add-done-command.patch b/meta-luv/recipes-core/psplash/files/0001-add-done-command.patch new file mode 100644 index 00000000000..76d407b936b --- /dev/null +++ b/meta-luv/recipes-core/psplash/files/0001-add-done-command.patch @@ -0,0 +1,50 @@ +From 6bfe2943eb5194dfd1829670d4c45e7c97a7aedf Mon Sep 17 00:00:00 2001 +From: Matt Fleming +Date: Fri, 9 May 2014 14:53:09 +0100 +Subject: [PATCH] add done command + +--- + psplash.c | 13 +++++++++++++ + 1 file changed, 13 insertions(+) + +diff --git a/psplash.c b/psplash.c +index 09cf0d0..b7eeafe 100644 +--- a/psplash.c ++++ b/psplash.c +@@ -121,6 +121,17 @@ parse_command (PSplashFB *fb, char *string, int length) + { + return 1; + } ++ else if (!strcmp(command,"DONE")) ++ { ++ int x, y; ++ ++ x = (fb->width - BAR_IMG_WIDTH)/2; ++ y= fb->height - (fb->height/6); ++ psplash_fb_draw_rect (fb, x, y, x+BAR_IMG_WIDTH, y+BAR_IMG_HEIGHT, ++ PSPLASH_BACKGROUND_COLOR); ++ ++ ++ } + + return 0; + } +@@ -277,6 +288,7 @@ main (int argc, char** argv) + POKY_IMG_RLE_PIXEL_DATA); + + /* Draw progress bar border */ ++#if 0 + psplash_fb_draw_image (fb, + (fb->width - BAR_IMG_WIDTH)/2, + fb->height - (fb->height/6), +@@ -284,6 +296,7 @@ main (int argc, char** argv) + BAR_IMG_HEIGHT, + BAR_IMG_BYTES_PER_PIXEL, + BAR_IMG_RLE_PIXEL_DATA); ++#endif + + psplash_draw_progress (fb, 0); + +-- +1.9.0 + diff --git a/meta-luv/recipes-core/psplash/files/luv-splash.png b/meta-luv/recipes-core/psplash/files/luv-splash.png new file mode 100644 index 0000000000000000000000000000000000000000..70bca940daed4a259c9559b494a9f0cd32b2fa74 GIT binary patch literal 8745 zcmd5>)mt0N)9yJfZGjewTY%zDZ~_!46e$+m-5ru(MOx0m-9pje?(WtGmqKxe1_)jx zG`M`6Kj6Fn?ZsZ~&OGlsGdr`-GZU!+R(y>|jrZiqlh;Zg<+PqW`5W})$zLB{K7BlS zQXFFZxKnw`8+dBF+j;s}!fc<&*tlESzEyIyw71o=wY2et4%@za^5p3g4OJa^3TTT) zA`)WfH@)#YvSLs$pjq{EfwI|W*Zi@_s^MT4zv6E*euaJN(e0$xIU9%AY-eXOhjNXi zewm=AwDuW|m`+l&bQP-*wSP*}yB3+83(4#XQyWJ~Ouj~xA>UfUgKQzhMoFX=nM8Wg zCb9K>vm0RBh=9tex5lwDVI9pAo8Yi|VuLsa+jL@+WNE+Bl7UrzSdmk5Q&jy_=@3db z3Q1~}&Enmp9?|HW-r4*UO=?>h-8|nkyhLmmUyPh5cdHw6Gh>ESk~>wHXAGhCPq$#Y z!497O<>P$|J49L`)4vXw+{!i%FvUGn?(PwiR#EM4)-Kuol`eMtUgczt6;ZY0C+FA3 zk(CkUeWnSm;E?KfromB-vn~i^bn}92M0eBJ8mUFb^yZ0K3X;@3L&`g!*cdMOPp4XN zm2*m~Sz3Sp^5Mh7gVd*@rqLC@yl+6~3?iKfBE6`-`E6#;df)7hlHR4r+Hq3ryg7&= ziAARL=gO$MpM37QBo>JDZ>vDZ)X18#w`TD{Hg3^PbGU+$DFdA#*H0!CsL$Rgk+kXeJMl+T@d3W`#ihAu-P&cd0(XUXs}r z^)2j@n5C0G>dv8wbfa!pX8PvQB32UX~sc%t@B+Fi^!shE$RJfZ7Rl9SQ-v~-x|YeA}; zJ=lwS85~CSja~NJGb+Vm8B$zM;_ojh#Rj+vK5aO-5E>C_#>jLIJhfv_SUM`K=-6XY z5={?z_MG#(4M~Qx%&8Q_!bp+UK1FjdYjtwft7cLEqN1Q8=?L= z|M;?NeRTM*|I+q_5qwueU58n*~)iyZg=NdHPt(igXwHhwh#UmDKF&d zT#Tez7>`y6JCz@5;rXkE6|rlB8U2c)md3l33sq6A*Xh5>e0h%a%`*`YAV;E(7}L@(j7A#77f0(F?&XvF{!@qF-y6L`7>L%;^8OU51%4y&yO zf0KSU*?*nKP%Tq0N^LvbDoP*qnj;8*rp1=)wDY(ozs^$wanf z$FcbtzDdE3JtJU_!s%6#-q)Yp@%3ATC4VTVUVEJiE{;GCkEyB{)Gv5~%$N|zJW#T+ z>?ZJ5#&o3TbKAEFhj%F_*9LWlYm`ypG9? zJzJ!&XXL@4;9S`l7#*K8?TV^}Vn&^6fSk8Ejr(mhLp|U1FUUkUx<2l*`etMr<+(8i>gZ2%918JEhY-w@o3wxj_hzqBy|h7EslVjC)_!$Z zjr=wz>~xX13N-d$Cim6eRN_xST6koP-eNF3!I#da> zzHQpl?rBTKFRI*3p0(HcL`cw8^; z3`0_6{UwWV6#+t~YqW85p@i5zehsCSm0IgK2HK%M8A@x8gW@msxI*0gN+7H{Qf>^0 zqQ#dxb>#{&tU!EZ*_tg2APi-N935!@>Hhm%w}uoPcmbcM3iZH*jQBoE+9#<#L#=S* z+FO6s1Zn2U$Y=VlrJ6`f2?cVRteYamx0F}59oD4k&Pb2j=*F5A(vdgQwTlr*# ze`Z}j8`*0@o+46}?_%eE0HdcV0l|=MN$7zGW+r`^#yWr+b-1h>n92w6vP&}es@Qs+ zq8j2x(VnUuO7EqzLpj98Z@$YY=c4}9N{pLy_QPq}I@$rwk?lsO9`o)pjp+BQ^P zGgxLpMVJPA%r&za_j<|tjMs|TUO(HFM>32+DIR29HDjUp!K&v-qHrO{rTzV~x^lL^ z8RS9q({}%hqb`9WGVJYgQIYw{n#JXB+M;=k4C7Nf%yo+o_XN5tZ)k-r!t>k=vD8w~ z_y>MI3S2ZWYVZ8GdwJ%urkk2TACBP@>(T&a`{UbjA+J*Z@D7$kUmXbYZmND_{AzjQdS3!JMLNs<@*o5q?HmAU3dE5vE{^j8Yc*?YEEdi)70B`RkKrv} zR^gKB{R?N%sXN^K)chjRJ=5?KK!1#kv;iUj`8X*^^}g?yp*>vm>D|D)Bf^3vOr__OfN{=-FvZ`-my*6Gw28sT^2#IY=? z6Qf(YO?Ukp$oAZGaGj{Ao^b~?d$mg0l+CdNPKPtA7ss8ZWjn)k)#v(Lu0>kmg||7G zf#*Ru1w!QSY{UlzMRE> zAf~K{m`sOa)<2UOrE1o=n}sFbVeK6Fq^$af!}j31q;rHB>_w>ZoL$j(gm+bzgG|s+ zrBP!vJ94f2qne+kb#U3YyOrNd-+^8cPm63B&7byuK2O#V>MgmPT2=l%vTm5>n#>VK z!+41yJR&)xr5`!Hu?ncq?|N5b#0sn_=w(Kz^%$q;_!SwcX`30$jEQo>4b0}&EJ{Q& z!`KZiF~wuc7`;h~!7wG|c6skIFkCCrtn50cFMwt@O|wFpubo_Ah4k9MmSH(hmxttv zdf_r_>Ow-|v!gg+DVKTH?{7ReZ2^THQ+7VdY6J)P1LyNNf9neT`@VkTMgbMjP~T}K zr~5UfxLcS=i%nV++2(66pU%Jy7CKLCZ_`=h1Y;XfR4l6!-eq$i%kn>{N=M4mmM`bI zE=&SMNI^HJ9!uM+Uzw1Zzuh8IB0s&3S@$W!^j7U{XKCqwaWeG&9(3E&E`!_s=?W_F zLw7#`-;wr{F$tCxxvhm#Y;B#5C&u`?FM*7G3H?Pa;NM4lSN-CIN z$%kn{zhoPlHnCq<`IVc~i6)Ly)_nkn;-{pA!l{XtE04DdsCAMd-TIjnKc$Icfc5gL zoeb*d+VLQ{8?C8Dyd5uovdshQTcxqf3uw1POS5hIZjEw};&Tl_1JhY;iOfUUONakJ zf6tt6S5@JDMmzt#T2G?tiIJ3PHzMsa{qY<3{!^5vf+&oJJLD|t=VEGgS0xF-Di3?S zlgmtqHqT92>H>aA-~e*6-aa7GZYg!w&(uL|iZd5kWv21d%zl|e9$#@RNJZmbac(Z8 z8zZc{N<=_%x8mU(Qtru*U`6E2s!6-GPk1I-Y?33(icO-_KC=&&Kthzk60Wdv2YBy5 zO|H10v-S_%J3NUD-szPO`_eOwgZ;TFw1b=6ph8s;$L((FTw&?0T{eqDD3^O}ME zX}R*ihDk=kt>SwS@MG5$0n+z_>Q_Bb46ssA45%rRO^LW@-;OcLJRxQ~+d$s+GAnnjEY`H`};)sN;oO zO4D#R6YdhxinQ*#mR+@on0hOkiUP-tQpwdoWCLo_Jle7tdoI9d`osmb8D8JO$;S-m z{2xX*Dx9nO>6~GT)K^cV9097alIFmoToE{zVHo#+Z<;{2FO^#+MYF2#wju$l* zNeBlDQFn$JBtd)@#%*pvfH=NAH=PEX~^09Zjv$9w9Mz9)`g3vbxeR_dXf15kK(Kp8gxtV9KSbLN^oe%b?|KBD=lX`YMCwyDS%y;&Q`rbn@ql zn|X@YE8tvt@lCc1!n^R<}>jg9Idwg))V2O{{IC zT}L!7@$ev=4)BVzAeE190p^K6m{Gh23(;|jIkvjt7SC6ke0?dx?`Wh8b*hZg4tP&Z zT+wt&Hqk2Ffkj#ZV5c|TO}k#7GE<*EjNHxaf8yx9rhZ`}3&d$UoMEn^i=|Vpjt`m8 zy`eW^on@(yVf}EF8wVdghst*;TQF=^5PDo z_ig&3@uzPzGtV!QElpA~VR^ckK^Wo3^AI{^Z$)y-Ht)}22O`fiBe|B>iqZ0{5!A%t7tip(Z3wA;^G~?Dk|pF-KKMs+}N0jnUk|= zsMkY!C_m+qhxsh|E1{KQve~P6dUGTcQc)`+=5zSYqvPE5Pq$40-wE@|l*G8Zdo})G z=b8aCq$)#}s>J6FSV+j^K$H8;u}y2WYuUZ7ZBBH~Sqe)IUtC`V6Bj}gbU5fF8Bobp zbG7<*5SB-bMPn`YftK{k8nT0LIb60$Zs11m2BW`FzWW;~)&{agxM97@uPfHr0ah@n zqNe&Fr))w_cH*Ggh^BaLJi=Kv+2s)V#o`_beYJY+^H;Dp1QhqdexuQ&iU|_KSDiU2 z8T%mbw#zn+4ZZ1)F`)V>i#G&5IAodPEzIm=!|oWTu2)>y%HZLlOUCI zQUt-J7s*GGgx>x1ie7`mbBWQ_bjIn3x(sQYy1x(>&&dfyz3;u% zK(CiV!UVN`@LwIq-h;qxo`#?qlMf6Mw(r#%^y&0{|8eUr2@&~6if)RCXk6T9P`;S& zY5%NrJ$anEijb=+XPfT&4t>u$srKM^dPV5q@KRzl-F_pVn7uZE39{A8Hp z_TL$axySNWceBPq7W{Y1fA-6JC07tt(M-H;!%0YlI0-_x^3}%OdRKUU{Ccd0O+!0C z4lvm^xmQP=N70-!*E~iQ2^}kM_F4$IN;f{$ZS1hI*EV)#3bl>4IK46(X>Ah8ea=eJ_!zp^sLIS!ml4VKhnu9f zwqMewWfjv`n_IgZ@-O8@q2G`iov7^8oT(OZ(L@oeA$Rh)$)_4#e;taU($olSA+UUg zrjiE*eKQZGg4AO-X)t#g!Q`uCXJ6*ms~%%wJF@up;E`&2Hg5{y+%nbQg|bHPcyxs0 zVxPb@AJjCO&=48T^p!eAT>HcKt|+R|Wpt^&BpU!e zY$zjKRvP&$e6=kgB0AMe9i*AB(xfuiU{a2*JJqe3L_){qeR!l3d!6}!f&&cU>^Gb> zbk}hsev2xn`uiT@uIgWmTZ>T(kBz#@#WJ1lWmAn`-s+bJUVES8LaP^bdB)qR47p-o zp+OV0sgm{n8XyI@2i0nLuj8uE-Py2MJ+!L5r`hSCM#{eQaS~&#dmlE0-8XJS&sYKyD#*3yiMg2^WsK)4}6aD={e~-!N^3DC;nQX=kO0S03*=y1E>k^ zpC0wL&8XQ&w)dpj^N)TPk_>yTkiq3Hz=6Fgxgafx z+NZ&}5Xy06i#C*`dO=%C{aKB*{pySd=lZ8c5R5=C&ipo4Q~1o?M5{wUS4aMk59vy_pLg_G(Ub# zGBG=Wt%D11L@BGP?Q$aU8daA8327q*x4ntpq~IQYKeF42-Hkf;b3ZZtFuC>8&2l(@ zrr*=INBW_krRfMGeYz23?#aO=k*+Q=&Bu27(HPCc=96h`f`bnGsiCUPPCWD*(s9)7 z{(VS|u|VPT@t&l$2~OGhHvNE;!&x%O^+#7t2|AV#9bvK}E4=y?mduNfQq?5s;_qH% zmCZI7UF7pV6tz!%L5=OE-;#t=2d)R85bgnUx+lsg_$=3TJgtQH7LIy6v<*M=LR5;; z9y8#JjClsb0S>QAcbbiB3AN919hJq(_VP|cu}UjM#L91cO{8B z(;o$_-V?|NNfmud&L>LNCaG|);HG?R+g({JZ6wCinbn6Udua+VhUU&G8?FxTHwp&m z3x|#rYe8o_l+AqoJ^B*rAS_k7WTCTHMiGJf|4QhZ&6p^LPLsQna%>>qWd=JR@Q>^@ zu8(aTD>E)`owQx?>O;$sZ|0QQ!-Bs~IYx^U0@9YGWGOjBw# z(l}b$&E@+8?+{CaVyUbOjm*e1HZq1q4Kq!}eMP;+D=|!|-n(?IDC2igClMnIr99)4 zj|BDNYJXbliV}5}$_{uPh7@6_rAsT8zH+H(zFb{Td6mo}yKHb5yU}U8Cs<_iWY%-Z zot(7U2KXtkS8y#Q znv6ayJ5N2ys04FOX)YjCoaPMd7za;>c|L~iRTCip)ZsB$44#4Tb*nPDUZ)sGLU54^ z+)|&!Q9Uwt`@`S)TMJXo$;)*|Tt0AH%Ab^rhX literal 0 HcmV?d00001 diff --git a/meta-luv/recipes-core/psplash/psplash_git.bbappend b/meta-luv/recipes-core/psplash/psplash_git.bbappend new file mode 100644 index 00000000000..cd497bf869b --- /dev/null +++ b/meta-luv/recipes-core/psplash/psplash_git.bbappend @@ -0,0 +1,6 @@ +FILESEXTRAPATHS_prepend := "${THISDIR}/files:" + +SRC_URI += "file://0001-Add-luv-color-background.patch \ + file://0001-add-done-command.patch" + +SPLASH_IMAGES = "file://luv-splash.png;outsuffix=default" From 303e364e416f6b357bcb000739120545741b3803 Mon Sep 17 00:00:00 2001 From: Matt Fleming Date: Sat, 3 May 2014 18:40:11 +0100 Subject: [PATCH 582/658] core-image-efi-initramfs: Enable psplash Add psplash to the list of packages we want to install and disable CONFIG_VT_CONSOLE so that we get a much quieter boot. The splash screen can be disabled at runtime by adding "psplash=false" to the kernel parameters. Signed-off-by: Matt Fleming --- .../images/core-image-efi-initramfs.bb | 4 +- .../linux/linux-yocto-efi-test/defconfig | 105 +++++++++--------- 2 files changed, 55 insertions(+), 54 deletions(-) diff --git a/meta-luv/recipes-core/images/core-image-efi-initramfs.bb b/meta-luv/recipes-core/images/core-image-efi-initramfs.bb index e8cad60b98f..8b244c9ecba 100644 --- a/meta-luv/recipes-core/images/core-image-efi-initramfs.bb +++ b/meta-luv/recipes-core/images/core-image-efi-initramfs.bb @@ -6,7 +6,9 @@ IMAGE_INSTALL = "\ base-files base-passwd netbase udev sysvinit initscripts keymaps \ kexec-tools kernel-image fwts bash coreutils gawk grep util-linux-agetty \ util-linux-mount util-linux-umount kmod sed tar net-tools \ - shadow util-linux procps efivarfs-test " + shadow util-linux procps efivarfs-test \ + psplash \ + " export IMAGE_BASENAME = "core-image-efi-initramfs" diff --git a/meta-luv/recipes-kernel/linux/linux-yocto-efi-test/defconfig b/meta-luv/recipes-kernel/linux/linux-yocto-efi-test/defconfig index 924480a816b..8612667d9f1 100644 --- a/meta-luv/recipes-kernel/linux/linux-yocto-efi-test/defconfig +++ b/meta-luv/recipes-kernel/linux/linux-yocto-efi-test/defconfig @@ -50,7 +50,7 @@ CONFIG_BUILDTIME_EXTABLE_SORT=y CONFIG_INIT_ENV_ARG_LIMIT=32 CONFIG_CROSS_COMPILE="" # CONFIG_COMPILE_TEST is not set -CONFIG_LOCALVERSION="" +CONFIG_LOCALVERSION="-yocto-standard" # CONFIG_LOCALVERSION_AUTO is not set CONFIG_HAVE_KERNEL_GZIP=y CONFIG_HAVE_KERNEL_BZIP2=y @@ -128,7 +128,7 @@ CONFIG_RCU_FANOUT=64 CONFIG_RCU_FANOUT_LEAF=16 # CONFIG_RCU_FANOUT_EXACT is not set # CONFIG_RCU_FAST_NO_HZ is not set -# CONFIG_TREE_RCU_TRACE is not set +CONFIG_TREE_RCU_TRACE=y # CONFIG_RCU_NOCB_CPU is not set # CONFIG_IKCONFIG is not set CONFIG_LOG_BUF_SHIFT=18 @@ -167,26 +167,26 @@ CONFIG_RELAY=y CONFIG_BLK_DEV_INITRD=y CONFIG_INITRAMFS_SOURCE="" CONFIG_RD_GZIP=y -CONFIG_RD_BZIP2=y -CONFIG_RD_LZMA=y -CONFIG_RD_XZ=y -CONFIG_RD_LZO=y -CONFIG_RD_LZ4=y +# CONFIG_RD_BZIP2 is not set +# CONFIG_RD_LZMA is not set +# CONFIG_RD_XZ is not set +# CONFIG_RD_LZO is not set +# CONFIG_RD_LZ4 is not set # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set CONFIG_SYSCTL=y CONFIG_ANON_INODES=y CONFIG_HAVE_UID16=y CONFIG_SYSCTL_EXCEPTION_TRACE=y CONFIG_HAVE_PCSPKR_PLATFORM=y -# CONFIG_EXPERT is not set +CONFIG_EXPERT=y CONFIG_UID16=y # CONFIG_SYSCTL_SYSCALL is not set CONFIG_KALLSYMS=y -# CONFIG_KALLSYMS_ALL is not set +CONFIG_KALLSYMS_ALL=y CONFIG_PRINTK=y CONFIG_BUG=y CONFIG_ELF_CORE=y -CONFIG_PCSPKR_PLATFORM=y +# CONFIG_PCSPKR_PLATFORM is not set CONFIG_BASE_FULL=y CONFIG_FUTEX=y CONFIG_EPOLL=y @@ -209,6 +209,7 @@ CONFIG_SLUB_DEBUG=y # CONFIG_COMPAT_BRK is not set # CONFIG_SLAB is not set CONFIG_SLUB=y +# CONFIG_SLOB is not set CONFIG_SLUB_CPU_PARTIAL=y CONFIG_PROFILING=y CONFIG_TRACEPOINTS=y @@ -315,12 +316,7 @@ CONFIG_IOSCHED_CFQ=y CONFIG_DEFAULT_CFQ=y # CONFIG_DEFAULT_NOOP is not set CONFIG_DEFAULT_IOSCHED="cfq" -CONFIG_INLINE_SPIN_UNLOCK_IRQ=y -CONFIG_INLINE_READ_UNLOCK=y -CONFIG_INLINE_READ_UNLOCK_IRQ=y -CONFIG_INLINE_WRITE_UNLOCK=y -CONFIG_INLINE_WRITE_UNLOCK_IRQ=y -CONFIG_MUTEX_SPIN_ON_OWNER=y +CONFIG_UNINLINE_SPIN_UNLOCK=y CONFIG_FREEZER=y # @@ -349,6 +345,7 @@ CONFIG_X86_CMPXCHG64=y CONFIG_X86_CMOV=y CONFIG_X86_MINIMUM_CPU_FAMILY=64 CONFIG_X86_DEBUGCTLMSR=y +# CONFIG_PROCESSOR_SELECT is not set CONFIG_CPU_SUP_INTEL=y CONFIG_CPU_SUP_AMD=y CONFIG_CPU_SUP_CENTAUR=y @@ -367,6 +364,7 @@ CONFIG_SCHED_MC=y # CONFIG_PREEMPT_NONE is not set CONFIG_PREEMPT_VOLUNTARY=y # CONFIG_PREEMPT is not set +CONFIG_PREEMPT_COUNT=y CONFIG_X86_LOCAL_APIC=y CONFIG_X86_IO_APIC=y CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS=y @@ -526,6 +524,7 @@ CONFIG_CPU_FREQ=y CONFIG_CPU_FREQ_GOV_COMMON=y # CONFIG_CPU_FREQ_STAT is not set # CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE=y # CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set # CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set @@ -574,6 +573,7 @@ CONFIG_PCI=y CONFIG_PCI_DIRECT=y CONFIG_PCI_MMCONFIG=y CONFIG_PCI_DOMAINS=y +# CONFIG_PCI_CNB20LE_QUIRK is not set CONFIG_PCIEPORTBUS=y # CONFIG_HOTPLUG_PCI_PCIE is not set CONFIG_PCIEAER=y @@ -927,6 +927,7 @@ CONFIG_CFG80211=y # CONFIG_NL80211_TESTMODE is not set # CONFIG_CFG80211_DEVELOPER_WARNINGS is not set # CONFIG_CFG80211_REG_DEBUG is not set +# CONFIG_CFG80211_CERTIFICATION_ONUS is not set CONFIG_CFG80211_DEFAULT_PS=y # CONFIG_CFG80211_DEBUGFS is not set # CONFIG_CFG80211_INTERNAL_REGDB is not set @@ -934,6 +935,7 @@ CONFIG_CFG80211_DEFAULT_PS=y # CONFIG_LIB80211 is not set CONFIG_MAC80211=y CONFIG_MAC80211_HAS_RC=y +# CONFIG_MAC80211_RC_PID is not set CONFIG_MAC80211_RC_MINSTREL=y CONFIG_MAC80211_RC_MINSTREL_HT=y CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y @@ -946,7 +948,7 @@ CONFIG_MAC80211_LEDS=y # CONFIG_WIMAX is not set CONFIG_RFKILL=y CONFIG_RFKILL_LEDS=y -CONFIG_RFKILL_INPUT=y +# CONFIG_RFKILL_INPUT is not set # CONFIG_NET_9P is not set # CONFIG_CAIF is not set # CONFIG_CEPH_LIB is not set @@ -1207,6 +1209,7 @@ CONFIG_PATA_SCH=y # CONFIG_PATA_NS87410 is not set # CONFIG_PATA_OPTI is not set # CONFIG_PATA_PCMCIA is not set +# CONFIG_PATA_PLATFORM is not set # CONFIG_PATA_RZ1000 is not set # @@ -1654,7 +1657,6 @@ CONFIG_INPUT_TOUCHSCREEN=y CONFIG_INPUT_MISC=y # CONFIG_INPUT_AD714X is not set # CONFIG_INPUT_BMA150 is not set -# CONFIG_INPUT_PCSPKR is not set # CONFIG_INPUT_MMA8450 is not set # CONFIG_INPUT_MPU3050 is not set # CONFIG_INPUT_APANEL is not set @@ -1693,8 +1695,7 @@ CONFIG_SERIO_LIBPS2=y CONFIG_TTY=y CONFIG_VT=y CONFIG_CONSOLE_TRANSLATIONS=y -CONFIG_VT_CONSOLE=y -CONFIG_VT_CONSOLE_SLEEP=y +# CONFIG_VT_CONSOLE is not set CONFIG_HW_CONSOLE=y CONFIG_VT_HW_CONSOLE_BINDING=y CONFIG_UNIX98_PTYS=y @@ -1750,6 +1751,7 @@ CONFIG_SERIAL_CORE_CONSOLE=y # CONFIG_SERIAL_ARC is not set # CONFIG_SERIAL_RP2 is not set # CONFIG_SERIAL_FSL_LPUART is not set +# CONFIG_TTY_PRINTK is not set # CONFIG_IPMI_HANDLER is not set CONFIG_HW_RANDOM=y # CONFIG_HW_RANDOM_TIMERIOMEM is not set @@ -2181,7 +2183,7 @@ CONFIG_DRM_KMS_FB_HELPER=y # CONFIG_DRM_NOUVEAU is not set # CONFIG_DRM_I810 is not set CONFIG_DRM_I915=y -CONFIG_DRM_I915_KMS=y +# CONFIG_DRM_I915_KMS is not set CONFIG_DRM_I915_FBDEV=y # CONFIG_DRM_I915_PRELIMINARY_HW_SUPPORT is not set # CONFIG_DRM_MGA is not set @@ -2282,16 +2284,12 @@ CONFIG_BACKLIGHT_GENERIC=y # Console display driver support # CONFIG_VGA_CONSOLE=y -CONFIG_VGACON_SOFT_SCROLLBACK=y -CONFIG_VGACON_SOFT_SCROLLBACK_SIZE=64 +# CONFIG_VGACON_SOFT_SCROLLBACK is not set CONFIG_DUMMY_CONSOLE=y CONFIG_FRAMEBUFFER_CONSOLE=y CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y # CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set -CONFIG_LOGO=y -# CONFIG_LOGO_LINUX_MONO is not set -# CONFIG_LOGO_LINUX_VGA16 is not set -CONFIG_LOGO_LINUX_CLUT224=y +# CONFIG_LOGO is not set CONFIG_SOUND=y CONFIG_SOUND_OSS_CORE=y CONFIG_SOUND_OSS_CORE_PRECLAIM=y @@ -2322,7 +2320,6 @@ CONFIG_SND_DMA_SGBUF=y # CONFIG_SND_SBAWE_SEQ is not set # CONFIG_SND_EMU10K1_SEQ is not set CONFIG_SND_DRIVERS=y -# CONFIG_SND_PCSP is not set # CONFIG_SND_DUMMY is not set # CONFIG_SND_ALOOP is not set # CONFIG_SND_VIRMIDI is not set @@ -2444,21 +2441,21 @@ CONFIG_HID_GENERIC=y # # Special HID drivers # -CONFIG_HID_A4TECH=y +# CONFIG_HID_A4TECH is not set # CONFIG_HID_ACRUX is not set -CONFIG_HID_APPLE=y +# CONFIG_HID_APPLE is not set # CONFIG_HID_APPLEIR is not set # CONFIG_HID_AUREAL is not set -CONFIG_HID_BELKIN=y -CONFIG_HID_CHERRY=y -CONFIG_HID_CHICONY=y +# CONFIG_HID_BELKIN is not set +# CONFIG_HID_CHERRY is not set +# CONFIG_HID_CHICONY is not set # CONFIG_HID_PRODIKEYS is not set -CONFIG_HID_CYPRESS=y +# CONFIG_HID_CYPRESS is not set # CONFIG_HID_DRAGONRISE is not set # CONFIG_HID_EMS_FF is not set # CONFIG_HID_ELECOM is not set # CONFIG_HID_ELO is not set -CONFIG_HID_EZKEY=y +# CONFIG_HID_EZKEY is not set # CONFIG_HID_HOLTEK is not set # CONFIG_HID_HUION is not set # CONFIG_HID_KEYTOUCH is not set @@ -2468,18 +2465,13 @@ CONFIG_HID_EZKEY=y CONFIG_HID_GYRATION=y # CONFIG_HID_ICADE is not set # CONFIG_HID_TWINHAN is not set -CONFIG_HID_KENSINGTON=y +# CONFIG_HID_KENSINGTON is not set # CONFIG_HID_LCPOWER is not set # CONFIG_HID_LENOVO_TPKBD is not set -CONFIG_HID_LOGITECH=y -# CONFIG_HID_LOGITECH_DJ is not set -CONFIG_LOGITECH_FF=y -# CONFIG_LOGIRUMBLEPAD2_FF is not set -# CONFIG_LOGIG940_FF is not set -CONFIG_LOGIWHEELS_FF=y +# CONFIG_HID_LOGITECH is not set # CONFIG_HID_MAGICMOUSE is not set -CONFIG_HID_MICROSOFT=y -CONFIG_HID_MONTEREY=y +# CONFIG_HID_MICROSOFT is not set +# CONFIG_HID_MONTEREY is not set # CONFIG_HID_MULTITOUCH is not set CONFIG_HID_NTRIG=y # CONFIG_HID_ORTEK is not set @@ -2533,6 +2525,8 @@ CONFIG_USB_ANNOUNCE_NEW_DEVICES=y # CONFIG_USB_DEFAULT_PERSIST=y # CONFIG_USB_DYNAMIC_MINORS is not set +# CONFIG_USB_OTG_WHITELIST is not set +# CONFIG_USB_OTG_BLACKLIST_HUB is not set CONFIG_USB_MON=y # CONFIG_USB_WUSB_CBAF is not set @@ -2830,7 +2824,6 @@ CONFIG_EEEPC_LAPTOP=y # Hardware Spinlock drivers # CONFIG_CLKEVT_I8253=y -CONFIG_I8253_LOCK=y CONFIG_CLKBLD_I8253=y # CONFIG_MAILBOX is not set CONFIG_IOMMU_API=y @@ -3116,7 +3109,7 @@ CONFIG_HAVE_DEBUG_KMEMLEAK=y CONFIG_DEBUG_STACK_USAGE=y # CONFIG_DEBUG_VM is not set # CONFIG_DEBUG_VIRTUAL is not set -CONFIG_DEBUG_MEMORY_INIT=y +# CONFIG_DEBUG_MEMORY_INIT is not set # CONFIG_DEBUG_PER_CPU_MAPS is not set CONFIG_HAVE_DEBUG_STACKOVERFLOW=y CONFIG_DEBUG_STACKOVERFLOW=y @@ -3128,7 +3121,15 @@ CONFIG_HAVE_ARCH_KMEMCHECK=y # Debug Lockups and Hangs # CONFIG_LOCKUP_DETECTOR=y +CONFIG_HARDLOCKUP_DETECTOR=y +# CONFIG_BOOTPARAM_HARDLOCKUP_PANIC is not set +CONFIG_BOOTPARAM_HARDLOCKUP_PANIC_VALUE=0 +# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set +CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 CONFIG_DETECT_HUNG_TASK=y +CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=120 +# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set +CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0 # CONFIG_PANIC_ON_OOPS is not set CONFIG_PANIC_ON_OOPS_VALUE=0 # CONFIG_SCHED_DEBUG is not set @@ -3143,11 +3144,14 @@ CONFIG_TIMER_STATS=y CONFIG_DEBUG_SPINLOCK=y CONFIG_DEBUG_MUTEXES=y # CONFIG_DEBUG_WW_MUTEX_SLOWPATH is not set -# CONFIG_DEBUG_LOCK_ALLOC is not set +CONFIG_DEBUG_LOCK_ALLOC=y CONFIG_PROVE_LOCKING=y +CONFIG_LOCKDEP=y # CONFIG_LOCK_STAT is not set +# CONFIG_DEBUG_LOCKDEP is not set CONFIG_DEBUG_ATOMIC_SLEEP=y # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set +CONFIG_TRACE_IRQFLAGS=y CONFIG_STACKTRACE=y # CONFIG_DEBUG_KOBJECT is not set CONFIG_DEBUG_BUGVERBOSE=y @@ -3160,6 +3164,7 @@ CONFIG_DEBUG_BUGVERBOSE=y # # RCU Debugging # +# CONFIG_PROVE_RCU is not set # CONFIG_SPARSE_RCU_POINTER is not set # CONFIG_RCU_TORTURE_TEST is not set CONFIG_RCU_CPU_STALL_TIMEOUT=21 @@ -3456,7 +3461,6 @@ CONFIG_CRC32_SLICEBY8=y CONFIG_ZLIB_INFLATE=y CONFIG_LZO_COMPRESS=y CONFIG_LZO_DECOMPRESS=y -CONFIG_LZ4_DECOMPRESS=y CONFIG_XZ_DEC=y CONFIG_XZ_DEC_X86=y # CONFIG_XZ_DEC_POWERPC is not set @@ -3467,11 +3471,6 @@ CONFIG_XZ_DEC_X86=y CONFIG_XZ_DEC_BCJ=y # CONFIG_XZ_DEC_TEST is not set CONFIG_DECOMPRESS_GZIP=y -CONFIG_DECOMPRESS_BZIP2=y -CONFIG_DECOMPRESS_LZMA=y -CONFIG_DECOMPRESS_XZ=y -CONFIG_DECOMPRESS_LZO=y -CONFIG_DECOMPRESS_LZ4=y CONFIG_ASSOCIATIVE_ARRAY=y CONFIG_HAS_IOMEM=y CONFIG_HAS_IOPORT=y From 6d30ba914698b381c7d7266dca258acaa4e985b0 Mon Sep 17 00:00:00 2001 From: Matt Fleming Date: Sat, 10 May 2014 10:57:12 +0100 Subject: [PATCH 583/658] linux-yocto-efi-test: Enable all USB HCDs The live image may be running from a USB flash drive, and because we need to mount the image in order to access the kernel and initrd images so that we can implement our crash solution, we need to make sure the kernel includes drivers for the USB host controller. Instead of worrying about the minimal number of drivers needed to work with the majority hardware, just enable them all. This results in a 2.59% increase in the kernel image size. Signed-off-by: Matt Fleming --- .../linux/linux-yocto-efi-test/defconfig | 24 ++++++++++--------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/meta-luv/recipes-kernel/linux/linux-yocto-efi-test/defconfig b/meta-luv/recipes-kernel/linux/linux-yocto-efi-test/defconfig index 8612667d9f1..6a764c51660 100644 --- a/meta-luv/recipes-kernel/linux/linux-yocto-efi-test/defconfig +++ b/meta-luv/recipes-kernel/linux/linux-yocto-efi-test/defconfig @@ -2533,25 +2533,27 @@ CONFIG_USB_MON=y # # USB Host Controller Drivers # -# CONFIG_USB_C67X00_HCD is not set -# CONFIG_USB_XHCI_HCD is not set +CONFIG_USB_C67X00_HCD=y +CONFIG_USB_XHCI_HCD=y CONFIG_USB_EHCI_HCD=y # CONFIG_USB_EHCI_ROOT_HUB_TT is not set # CONFIG_USB_EHCI_TT_NEWSCHED is not set CONFIG_USB_EHCI_PCI=y -# CONFIG_USB_EHCI_HCD_PLATFORM is not set -# CONFIG_USB_OXU210HP_HCD is not set -# CONFIG_USB_ISP116X_HCD is not set -# CONFIG_USB_ISP1760_HCD is not set -# CONFIG_USB_ISP1362_HCD is not set -# CONFIG_USB_FUSBH200_HCD is not set -# CONFIG_USB_FOTG210_HCD is not set +CONFIG_USB_EHCI_HCD_PLATFORM=y +CONFIG_USB_OXU210HP_HCD=y +CONFIG_USB_ISP116X_HCD=y +CONFIG_USB_ISP1760_HCD=y +CONFIG_USB_ISP1362_HCD=y +CONFIG_USB_FUSBH200_HCD=y +CONFIG_USB_FOTG210_HCD=y CONFIG_USB_OHCI_HCD=y CONFIG_USB_OHCI_HCD_PCI=y # CONFIG_USB_OHCI_HCD_PLATFORM is not set CONFIG_USB_UHCI_HCD=y -# CONFIG_USB_SL811_HCD is not set -# CONFIG_USB_R8A66597_HCD is not set +CONFIG_USB_SL811_HCD=y +# CONFIG_USB_SL811_HCD_ISO is not set +# CONFIG_USB_SL811_CS is not set +CONFIG_USB_R8A66597_HCD=y # CONFIG_USB_HCD_TEST_MODE is not set # From 817ad1746bdd379fe7b59d75bddfda75279c0ab5 Mon Sep 17 00:00:00 2001 From: Matt Fleming Date: Sat, 10 May 2014 11:13:22 +0100 Subject: [PATCH 584/658] luv-test-manager: Save individual test suite results Users may want access to individual test suite results especially when trying to diagnose *why* a particular unit test failed. The results are saved in their native output format, e.g. before any post-processing of the results has occurred, which should provide more context for the failure. Make /var/log/luv/ the canonical location for results. Signed-off-by: Matt Fleming --- .../recipes-core/initscripts/initscripts/luv-test-manager | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/meta-luv/recipes-core/initscripts/initscripts/luv-test-manager b/meta-luv/recipes-core/initscripts/initscripts/luv-test-manager index fb681efe4f2..16cbb3490cf 100644 --- a/meta-luv/recipes-core/initscripts/initscripts/luv-test-manager +++ b/meta-luv/recipes-core/initscripts/initscripts/luv-test-manager @@ -27,6 +27,9 @@ EOF # LUV_TESTS_DIR=/etc/luv/tests/ LUV_PARSER_DIR=/etc/luv/parsers/ +LUV_LOG_DIR=/var/log/luv/ + +mkdir -p ${LUV_LOG_DIR} # # We can't get very accurate progress because we've no way of knowing @@ -51,7 +54,7 @@ for r in $runner_list; do parser="/bin/cat" } - $runner | $parser | ${LUV_PARSER_DIR}/test-manager + $runner | tee ${LUV_LOG_DIR}/$r | $parser | ${LUV_PARSER_DIR}/test-manager done | awk '/ \[\+/ { units += 1 } / \[\-/ { suites += 1 } /pass/ { passes += 1 } From bf99b31cdace6e242ae5550a80b268a5cef5c70b Mon Sep 17 00:00:00 2001 From: Matt Fleming Date: Mon, 12 May 2014 17:28:22 +0100 Subject: [PATCH 585/658] luv-live-image: Reduce grub timeout and add quiet kernel parameter We don't need to wait for the default 10 seconds before booting the luv kernel since the most common use case is people wanting to run the luv tests, rather than interrupting the grub boot to inject some debugging options. Also add the "quiet" kernel parameter to reduce the noise of kernel messages on the console. Signed-off-by: Matt Fleming --- meta-luv/recipes-core/images/luv-live-image.bb | 3 +++ 1 file changed, 3 insertions(+) diff --git a/meta-luv/recipes-core/images/luv-live-image.bb b/meta-luv/recipes-core/images/luv-live-image.bb index 2aa3f80e815..4b600ab6c4b 100644 --- a/meta-luv/recipes-core/images/luv-live-image.bb +++ b/meta-luv/recipes-core/images/luv-live-image.bb @@ -9,6 +9,9 @@ LABELS = "luv" INITRD_IMAGE = "core-image-efi-initramfs" INITRD = "${DEPLOY_DIR_IMAGE}/${INITRD_IMAGE}-${MACHINE}.cpio.gz" MACHINE_FEATURES += "efi" +APPEND = "quiet" + +GRUB_TIMEOUT = "2" inherit bootimg From 2caec5ca0c0dcfcd11430e16bfa12387b59e09c4 Mon Sep 17 00:00:00 2001 From: Matt Fleming Date: Mon, 12 May 2014 17:15:48 +0100 Subject: [PATCH 586/658] Enable support for VESA framebuffer Not all EFI machines support efifb so enable the vesa framebuffer driver which should hopefully allow us to display the splash image on those machines lacking GOP support. Signed-off-by: Matt Fleming --- meta-luv/recipes-bsp/grub/grub-efi-native_2.00.bbappend | 8 ++++++++ .../recipes-kernel/linux/linux-yocto-efi-test/defconfig | 4 ++-- 2 files changed, 10 insertions(+), 2 deletions(-) create mode 100644 meta-luv/recipes-bsp/grub/grub-efi-native_2.00.bbappend diff --git a/meta-luv/recipes-bsp/grub/grub-efi-native_2.00.bbappend b/meta-luv/recipes-bsp/grub/grub-efi-native_2.00.bbappend new file mode 100644 index 00000000000..ea96a5a519b --- /dev/null +++ b/meta-luv/recipes-bsp/grub/grub-efi-native_2.00.bbappend @@ -0,0 +1,8 @@ +do_mkimage() { + # Search for the grub.cfg on the local boot media by using the + # built in cfg file provided via this recipe + ./grub-mkimage -c ../cfg -p /EFI/BOOT -d ./grub-core/ \ + -O ${GRUB_TARGET}-efi -o ./${GRUB_IMAGE} \ + boot linux ext2 fat serial part_msdos part_gpt \ + normal efi_gop iso9660 search all_video +} diff --git a/meta-luv/recipes-kernel/linux/linux-yocto-efi-test/defconfig b/meta-luv/recipes-kernel/linux/linux-yocto-efi-test/defconfig index 6a764c51660..edbb72016c5 100644 --- a/meta-luv/recipes-kernel/linux/linux-yocto-efi-test/defconfig +++ b/meta-luv/recipes-kernel/linux/linux-yocto-efi-test/defconfig @@ -1695,7 +1695,7 @@ CONFIG_SERIO_LIBPS2=y CONFIG_TTY=y CONFIG_VT=y CONFIG_CONSOLE_TRANSLATIONS=y -# CONFIG_VT_CONSOLE is not set +CONFIG_VT_CONSOLE=y CONFIG_HW_CONSOLE=y CONFIG_VT_HW_CONSOLE_BINDING=y CONFIG_UNIX98_PTYS=y @@ -2230,7 +2230,7 @@ CONFIG_FB_TILEBLITTING=y # CONFIG_FB_IMSTT is not set # CONFIG_FB_VGA16 is not set # CONFIG_FB_UVESA is not set -# CONFIG_FB_VESA is not set +CONFIG_FB_VESA=y CONFIG_FB_EFI=y # CONFIG_FB_N411 is not set # CONFIG_FB_HGA is not set From 4461f0940bdedfcedb8084a6b4c82fe09fc07882 Mon Sep 17 00:00:00 2001 From: Matt Fleming Date: Mon, 12 May 2014 17:23:13 +0100 Subject: [PATCH 587/658] luv-test-manager: Add kernel parameter to disable luv tests Adding "noluv" to the kernel command line will skip the luv tests on boot, which is useful in conjunction with "psplash=false" to boot the machine without displaying the splash screen. Signed-off-by: Matt Fleming --- .../recipes-core/initscripts/initscripts/luv-test-manager | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/meta-luv/recipes-core/initscripts/initscripts/luv-test-manager b/meta-luv/recipes-core/initscripts/initscripts/luv-test-manager index 16cbb3490cf..a3165fd6138 100644 --- a/meta-luv/recipes-core/initscripts/initscripts/luv-test-manager +++ b/meta-luv/recipes-core/initscripts/initscripts/luv-test-manager @@ -2,6 +2,11 @@ # Copyright 2014 Intel Corporation; author Matt Fleming # +grep -q noluv /proc/cmdline +if [ $? -ne 1 ]; then + exit 0 +fi + FIFO="/mnt/.psplash/psplash_fifo" psplash_write() { if [ -e $FIFO ]; then From 63a4f052bc3e77db1d40f912abb4c10e714bd5d0 Mon Sep 17 00:00:00 2001 From: Ricardo Neri Date: Thu, 29 May 2014 19:15:26 -0700 Subject: [PATCH 588/658] luv-live-image: Create second partition for test results Create a second partition to export the results of the LuvOS test manager. The idea behind using a different partition for the results is to avoid any corruption on the boot partition. The size of the partition is determined according to the following assupmtions: - 500 test cases - 100 lines of raw results per test case - 20 lines of persed results per test case - 80 characters per line Under such assumptions, 4.5MB of data space are required. As most USB sticks have much greater capacity, the partition size is doubled to 8MB to err on the safe side. TODO: An arbitrary UUID is used for the results partitions. This UUID must match with the UUID used by the test manager init script to mount the partition. Thus, it is necessary to obtain the UUID by either parsing such init script or modifying the UUID in the script Signed-off-by: Ricardo Neri Signed-off-by: Matt Fleming --- .../recipes-core/images/luv-live-image.bb | 27 +++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/meta-luv/recipes-core/images/luv-live-image.bb b/meta-luv/recipes-core/images/luv-live-image.bb index 4b600ab6c4b..db9f843476f 100644 --- a/meta-luv/recipes-core/images/luv-live-image.bb +++ b/meta-luv/recipes-core/images/luv-live-image.bb @@ -19,11 +19,28 @@ build_img() { IMG="${DEPLOY_DIR_IMAGE}/${PN}.img" VFAT="${DEPLOY_DIR_IMAGE}/${IMAGE_LINK_NAME}.hddimg" + # Parameters of the vfat partition for test results + # Sectors: 512 bytes + # Blocks: 1024 bytes + VFAT_RESULTS=${DEPLOY_DIR_IMAGE}/${PN}-results.hddimg + # 8MB of space for test results + VFAT_RESULTS_SPACE=8388608 + VFAT_RESULTS_BLOCKS=$(expr $VFAT_RESULTS_SPACE / 1024) + # TODO: do we need to dynamically generate the UUID? + # For now, every time this UUID changes, the file etc/init.d/luv-test-manager + # needs to be updated accordingly. + VFAT_RESULTS_UUID=05d61523 + VFAT_RESULTS_LABEL="luv-results" + + mkdosfs -C ${VFAT_RESULTS} -S 512 -i ${VFAT_RESULTS_UUID} \ + -n ${VFAT_RESULTS_LABEL} $VFAT_RESULTS_BLOCKS + dd if=/dev/zero of=$IMG bs=512 count=1 VFAT_SIZE=$(du -L --apparent-size -bs $VFAT | cut -f 1) + VFAT_RESULTS_SIZE=$(du -L --apparent-size -bs $VFAT_RESULTS | cut -f 1) - IMG_SIZE=$(expr $VFAT_SIZE + 512) + IMG_SIZE=$(expr $VFAT_SIZE + $VFAT_RESULTS_SIZE + 512) dd if=/dev/zero of=$IMG bs=1 seek=$IMG_SIZE count=0 @@ -32,7 +49,13 @@ build_img() { parted $IMG mkpart primary 0% "${VFAT_SIZE}B" parted $IMG set 1 boot on - dd if=${VFAT} of=$IMG seek=1 bs=512 + # start second partition on the first sector after the first partition + parted $IMG mkpart primary "$(expr $VFAT_SIZE + 512)B" \ + "$(expr $VFAT_SIZE + $VFAT_RESULTS_SIZE)B" + + dd conv=notrunc if=${VFAT} of=$IMG seek=1 bs=512 + + dd if=${VFAT_RESULTS} of=$IMG seek=$(expr $VFAT_SIZE + 512) bs=1 } python do_create_img() { From 47a36df2d12fa796275e313e8379552170da6cf0 Mon Sep 17 00:00:00 2001 From: Ricardo Neri Date: Thu, 29 May 2014 19:15:27 -0700 Subject: [PATCH 589/658] luv-test-manager: Save results to non-volatile media Add functionality to save the test results to non-volatile media. The non-volatile media is expected to be a disk identified by its UUID. The disk is mounted using the UUID to avoid writing inadvertently writing to any other disk present in the system. Clearly, this implementation requires the presence of a disk with the UUID specified by the script. Thus, it is required to utilize such UUID when creating the filesystem. Also, disks in some systems take a while to be ready for mount and may not be ready when the LUV test manager runs. Thus, a delay of 5 seconds is introduced in order to increase the likelihood of finding the intended disk. Signed-off-by: Ricardo Neri Signed-off-by: Matt Fleming --- .../initscripts/initscripts/luv-test-manager | 53 +++++++++++++++++-- 1 file changed, 49 insertions(+), 4 deletions(-) diff --git a/meta-luv/recipes-core/initscripts/initscripts/luv-test-manager b/meta-luv/recipes-core/initscripts/initscripts/luv-test-manager index a3165fd6138..fe39a9ed28d 100644 --- a/meta-luv/recipes-core/initscripts/initscripts/luv-test-manager +++ b/meta-luv/recipes-core/initscripts/initscripts/luv-test-manager @@ -14,6 +14,41 @@ psplash_write() { fi } +# Save test results to a disk. In order to reliable identify the +# correct partition, mount using the disk's UUID. If the partition +# cannot be mounted, test results are not saved. + +LUV_SAVE_RAW_DIR=/dev/null +LUV_SAVE_PARSED_DIR=/dev/null +LUV_SAVE_RESULTS_DIR=/dev/null + +LUV_STORAGE=/mnt/luv-storage/ +LUV_PARTITION_UUID=05D6-1523 +LUV_DISK_DEVICE=/dev/disk/by-uuid/${LUV_PARTITION_UUID} + +mkdir -p ${LUV_STORAGE} +if [ $? -eq 0 ]; then + # Not all disks may be ready to mount at this moment. + # Thus, we need to wait for them. + psplash_write "MSG Preparing test setup..." + for n in 0 25 50 75 100 + do + psplash_write "PROGRESS $n" + sleep 1 + done + + mount ${LUV_DISK_DEVICE} ${LUV_STORAGE} + if [ $? -eq 0 ]; then + LUV_SAVE_RESULTS_DIR=${LUV_STORAGE}luv-results/ + + mkdir -p ${LUV_SAVE_RESULTS_DIR}raw/ + [ $? -eq 0 ] && LUV_SAVE_RAW_DIR=${LUV_SAVE_RESULTS_DIR}raw/ + + mkdir -p ${LUV_SAVE_RESULTS_DIR}parsed/ + [ $? -eq 0 ] && LUV_SAVE_PARSED_DIR=${LUV_SAVE_RESULTS_DIR}parsed + fi +fi + psplash_write "MSG Running tests..." cat < $FIFO - grep "Ran" /tmp/luv.results | awk '{printf "MSG %s\n", $0}' > $FIFO + grep "Ran" /tmp/luv.results | awk '{printf "MSG %s\n%s\n", $0, "'"$SAVE_STATUS"'"}' > $FIFO umount -l /mnt/.psplash } From 20c7a639ce6fdd3685122513c66ac486af906d9b Mon Sep 17 00:00:00 2001 From: Stefan Stanacar Date: Sun, 9 Mar 2014 15:22:15 +0200 Subject: [PATCH 590/658] recipes-bsp: add gnu-efi recipe gnu-efi is required by gummiboot. Imported from meta-intel, PR dropped, no new version available. (From OE-Core rev: fdb65c569db2b55023f9d1d72959e4e7d187a1d8) Signed-off-by: Stefan Stanacar Signed-off-by: Matt Fleming --- .../gnu-efi/parallel-make-archives.patch | 48 +++++++++++++++++++ .../gnu-efi/gnu-efi/parallel-make.patch | 22 +++++++++ meta/recipes-bsp/gnu-efi/gnu-efi_3.0u.bb | 33 +++++++++++++ 3 files changed, 103 insertions(+) create mode 100644 meta/recipes-bsp/gnu-efi/gnu-efi/parallel-make-archives.patch create mode 100644 meta/recipes-bsp/gnu-efi/gnu-efi/parallel-make.patch create mode 100644 meta/recipes-bsp/gnu-efi/gnu-efi_3.0u.bb diff --git a/meta/recipes-bsp/gnu-efi/gnu-efi/parallel-make-archives.patch b/meta/recipes-bsp/gnu-efi/gnu-efi/parallel-make-archives.patch new file mode 100644 index 00000000000..e5b47c197a3 --- /dev/null +++ b/meta/recipes-bsp/gnu-efi/gnu-efi/parallel-make-archives.patch @@ -0,0 +1,48 @@ +Fix parallel make failure for archives + +Upstream-Status: Pending + +The lib and gnuefi makefiles were using the lib.a() form which compiles +and ar's as a pair instead of compiling all and then ar'ing which can +parallelize better. This was resulting in build failures on larger values +of -j. + +See http://www.chemie.fu-berlin.de/chemnet/use/info/make/make_toc.html#TOC105 +for details. + +Signed-off-by: Saul Wold +Signed-off-by: Darren Hart +--- +--- + gnuefi/Makefile | 3 ++- + lib/Makefile | 3 ++- + 2 files changed, 4 insertions(+), 2 deletions(-) + +Index: gnu-efi-3.0/lib/Makefile +=================================================================== +--- gnu-efi-3.0.orig/lib/Makefile ++++ gnu-efi-3.0/lib/Makefile +@@ -66,7 +66,8 @@ all: libsubdirs libefi.a + libsubdirs: + for sdir in $(SUBDIRS); do mkdir -p $$sdir; done + +-libefi.a: $(patsubst %,libefi.a(%),$(OBJS)) ++libefi.a: $(OBJS) ++ $(AR) rv $@ $(OBJS) + + clean: + rm -f libefi.a *~ $(OBJS) */*.o +Index: gnu-efi-3.0/gnuefi/Makefile +=================================================================== +--- gnu-efi-3.0.orig/gnuefi/Makefile ++++ gnu-efi-3.0/gnuefi/Makefile +@@ -51,7 +51,8 @@ TARGETS = crt0-efi-$(ARCH).o libgnuefi.a + + all: $(TARGETS) + +-libgnuefi.a: $(patsubst %,libgnuefi.a(%),$(OBJS)) ++libgnuefi.a: $(OBJS) ++ $(AR) rv $@ $(OBJS) + + clean: + rm -f $(TARGETS) *~ *.o $(OBJS) diff --git a/meta/recipes-bsp/gnu-efi/gnu-efi/parallel-make.patch b/meta/recipes-bsp/gnu-efi/gnu-efi/parallel-make.patch new file mode 100644 index 00000000000..27c94e8a743 --- /dev/null +++ b/meta/recipes-bsp/gnu-efi/gnu-efi/parallel-make.patch @@ -0,0 +1,22 @@ +Fix parallel make failure + +Upstream-Status: Submitted [Maintainer directly] + +Add a missing dependency which resulted in a race leading to failure +on larger values of -j. + +Signed-off-by: Darren Hart + +Index: gnu-efi-3.0/Makefile +=================================================================== +--- gnu-efi-3.0.orig/Makefile ++++ gnu-efi-3.0/Makefile +@@ -42,6 +42,8 @@ include $(SRCDIR)/Make.defaults + + SUBDIRS = lib gnuefi inc apps + ++gnuefi: lib ++ + all: check_gcc $(SUBDIRS) + + $(SUBDIRS): diff --git a/meta/recipes-bsp/gnu-efi/gnu-efi_3.0u.bb b/meta/recipes-bsp/gnu-efi/gnu-efi_3.0u.bb new file mode 100644 index 00000000000..0dbdba27ac1 --- /dev/null +++ b/meta/recipes-bsp/gnu-efi/gnu-efi_3.0u.bb @@ -0,0 +1,33 @@ +SUMMARY = "Libraries for producing EFI binaries" +HOMEPAGE = "http://sourceforge.net/projects/gnu-efi/" +SECTION = "devel" +LICENSE = "GPLv2+" +LIC_FILES_CHKSUM = "file://debian/copyright;md5=5fb358a180f484b285b0d99acdc29666" + +SRC_URI = "http://downloads.sourceforge.net/gnu-efi/gnu-efi_3.0u.orig.tar.gz \ + file://parallel-make.patch \ + file://parallel-make-archives.patch \ + " +SRC_URI[md5sum] = "d15d3c700e79a1e2938544d73edc572d" +SRC_URI[sha256sum] = "3c0d450d5829204ca05dcb3b2aae772e52c379b7c7e09146759c6315606f934e" + +COMPATIBLE_HOST = "(x86_64.*|i.86.*)-linux" + +S = "${WORKDIR}/gnu-efi-3.0" + +def gnu_efi_arch(d): + import re + tarch = d.getVar("TARGET_ARCH", True) + if re.match("i[3456789]86", tarch): + return "ia32" + return tarch + +EXTRA_OEMAKE = "'ARCH=${@gnu_efi_arch(d)}' 'CC=${CC}' 'AS=${AS}' 'LD=${LD}' 'AR=${AR}' \ + 'RANLIB=${RANLIB}' 'OBJCOPY=${OBJCOPY}' 'PREFIX=${prefix}'\ + " + +do_install() { + oe_runmake install INSTALLROOT="${D}" +} + +FILES_${PN} += "${libdir}/*.lds" From 5ad370637bef0bc3d252c933a4da6b4817debeae Mon Sep 17 00:00:00 2001 From: Stefan Stanacar Date: Fri, 21 Feb 2014 12:17:35 +0200 Subject: [PATCH 591/658] recipes-bsp: Add gummiboot recipe gummiboot is a simple UEFI boot manager. Recipe imported from meta-intel with these changes: - drop PR and update configure options - upgraded to latest version A couple of notes: - If you wish you can install the gummiboot package on the target and use 'gummiboot install' to add the payload to the ESP (see gummiboot --help, just make sure the ESP partition has the boot flag on as gummiboot won't accept it otherwise). However the point of this recipe is to be used by bootimg.bbclass and generate images with gummiboot instead of grub-efi. - You need a kernel which has CONFIG_EFI_STUB=y at least - The default linux-yocto kernel config does not enable that, easiest way to enable is to build with KERNEL_FEATURES_append = " cfg/efi-ext" in local.conf (From OE-Core rev: 8f95d0598c31fff76e2a58fecb6c96197121a044) Signed-off-by: Stefan Stanacar Signed-off-by: Matt Fleming --- meta/recipes-bsp/gummiboot/gummiboot_git.bb | 25 +++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 meta/recipes-bsp/gummiboot/gummiboot_git.bb diff --git a/meta/recipes-bsp/gummiboot/gummiboot_git.bb b/meta/recipes-bsp/gummiboot/gummiboot_git.bb new file mode 100644 index 00000000000..5868a23ae87 --- /dev/null +++ b/meta/recipes-bsp/gummiboot/gummiboot_git.bb @@ -0,0 +1,25 @@ +SUMMARY = "Gummiboot is a simple UEFI boot manager which executes configured EFI images." +HOMEPAGE = "http://freedesktop.org/wiki/Software/gummiboot" + +LICENSE = "LGPLv2.1" +LIC_FILES_CHKSUM = "file://LICENSE;md5=4fbd65380cdd255951079008b364516c" + +DEPENDS = "gnu-efi util-linux" + +inherit autotools +inherit deploy + +PV = "43+git${SRCPV}" +SRCREV = "4062c51075ba054d4949c714fe06123f9ad3097d" +SRC_URI = "git://anongit.freedesktop.org/gummiboot" + +S = "${WORKDIR}/git" + +EXTRA_OECONF = "--disable-manpages --with-efi-includedir=${STAGING_INCDIR} \ + --with-efi-ldsdir=${STAGING_LIBDIR} \ + --with-efi-libdir=${STAGING_LIBDIR}" + +do_deploy () { + install ${B}/gummiboot*.efi ${DEPLOYDIR} +} +addtask deploy before do_build after do_compile From ac3f87cb12669c13c64e4436db993fb5d7cc52da Mon Sep 17 00:00:00 2001 From: Stefan Stanacar Date: Thu, 6 Mar 2014 19:57:25 +0200 Subject: [PATCH 592/658] bootimg/grub-efi.bbclass: allow using a different class for EFI images Abstract away some names so one can select using EFI_PROVIDER a different class than grub-efi for populating live images, basically allowing the use of a different bootloader than grub-efi. (From OE-Core rev: 14e5de3b8f4d5902d0ac683ff45fb878e88b40ef) Signed-off-by: Stefan Stanacar Signed-off-by: Matt Fleming --- meta/classes/boot-directdisk.bbclass | 7 ++++--- meta/classes/bootimg.bbclass | 9 +++++---- meta/classes/grub-efi.bbclass | 12 ++++++------ 3 files changed, 15 insertions(+), 13 deletions(-) diff --git a/meta/classes/boot-directdisk.bbclass b/meta/classes/boot-directdisk.bbclass index 55357283ac8..0965143a97c 100644 --- a/meta/classes/boot-directdisk.bbclass +++ b/meta/classes/boot-directdisk.bbclass @@ -32,7 +32,8 @@ BOOTDD_VOLUME_ID ?= "boot" BOOTDD_EXTRA_SPACE ?= "16384" EFI = "${@base_contains("MACHINE_FEATURES", "efi", "1", "0", d)}" -EFI_CLASS = "${@base_contains("MACHINE_FEATURES", "efi", "grub-efi", "", d)}" +EFI_PROVIDER ?= "grub-efi" +EFI_CLASS = "${@base_contains("MACHINE_FEATURES", "efi", "${EFI_PROVIDER}", "", d)}" # Include legacy boot if MACHINE_FEATURES includes "pcbios" or if it does not # contain "efi". This way legacy is supported by default if neither is @@ -85,7 +86,7 @@ build_boot_dd() { syslinux_hddimg_populate $HDDDIR fi if [ "${EFI}" = "1" ]; then - grubefi_hddimg_populate $HDDDIR + efi_hddimg_populate $HDDDIR fi BLOCKS=`du -bks $HDDDIR | cut -f 1` @@ -141,7 +142,7 @@ python do_bootdirectdisk() { if d.getVar("PCBIOS", True) == "1": bb.build.exec_func('build_syslinux_cfg', d) if d.getVar("EFI", True) == "1": - bb.build.exec_func('build_grub_cfg', d) + bb.build.exec_func('build_efi_cfg', d) bb.build.exec_func('build_boot_dd', d) } diff --git a/meta/classes/bootimg.bbclass b/meta/classes/bootimg.bbclass index 395085d0ab8..61b62d40b62 100644 --- a/meta/classes/bootimg.bbclass +++ b/meta/classes/bootimg.bbclass @@ -42,7 +42,8 @@ BOOTIMG_VOLUME_ID ?= "boot" BOOTIMG_EXTRA_SPACE ?= "512" EFI = "${@base_contains("MACHINE_FEATURES", "efi", "1", "0", d)}" -EFI_CLASS = "${@base_contains("MACHINE_FEATURES", "efi", "grub-efi", "", d)}" +EFI_PROVIDER ?= "grub-efi" +EFI_CLASS = "${@base_contains("MACHINE_FEATURES", "efi", "${EFI_PROVIDER}", "", d)}" # Include legacy boot if MACHINE_FEATURES includes "pcbios" or if it does not # contain "efi". This way legacy is supported by default if neither is @@ -89,7 +90,7 @@ build_iso() { syslinux_iso_populate ${ISODIR} fi if [ "${EFI}" = "1" ]; then - grubefi_iso_populate ${ISODIR} + efi_iso_populate ${ISODIR} build_fat_img ${EFIIMGDIR} ${ISODIR}/efi.img fi @@ -206,7 +207,7 @@ build_hddimg() { syslinux_hddimg_populate ${HDDDIR} fi if [ "${EFI}" = "1" ]; then - grubefi_hddimg_populate ${HDDDIR} + efi_hddimg_populate ${HDDDIR} fi build_fat_img ${HDDDIR} ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.hddimg @@ -227,7 +228,7 @@ python do_bootimg() { if d.getVar("PCBIOS", True) == "1": bb.build.exec_func('build_syslinux_cfg', d) if d.getVar("EFI", True) == "1": - bb.build.exec_func('build_grub_cfg', d) + bb.build.exec_func('build_efi_cfg', d) bb.build.exec_func('build_hddimg', d) bb.build.exec_func('build_iso', d) } diff --git a/meta/classes/grub-efi.bbclass b/meta/classes/grub-efi.bbclass index 2f00901d049..f71ad27bb0f 100644 --- a/meta/classes/grub-efi.bbclass +++ b/meta/classes/grub-efi.bbclass @@ -26,7 +26,7 @@ GRUB_OPTS ?= "serial --unit=0 --speed=115200 --word=8 --parity=no --stop=1" EFIDIR = "/EFI/BOOT" -grubefi_populate() { +efi_populate() { # DEST must be the root of the image so that EFIDIR is not # nested under a top level directory. DEST=$1 @@ -42,9 +42,9 @@ grubefi_populate() { install -m 0644 ${GRUBCFG} ${DEST}${EFIDIR} } -grubefi_iso_populate() { +efi_iso_populate() { iso_dir=$1 - grubefi_populate $iso_dir + efi_populate $iso_dir # Build a EFI directory to create efi.img mkdir -p ${EFIIMGDIR}/${EFIDIR} cp $iso_dir/${EFIDIR}/* ${EFIIMGDIR}${EFIDIR} @@ -55,11 +55,11 @@ grubefi_iso_populate() { fi } -grubefi_hddimg_populate() { - grubefi_populate $1 +efi_hddimg_populate() { + efi_populate $1 } -python build_grub_cfg() { +python build_efi_cfg() { import sys workdir = d.getVar('WORKDIR', True) From d831cca97816b60ac9671514f2468d69f43d5dfd Mon Sep 17 00:00:00 2001 From: Stefan Stanacar Date: Thu, 6 Mar 2014 19:59:07 +0200 Subject: [PATCH 593/658] classes: Add gummiboot class Adds a gummiboot class similar to grub-efi class and makes the necessary changes so it can be used for live/hddimg images as well. One can set EFI_PROVIDER = "gummiboot" in local.conf to use gummiboot instead of grub-efi. Gummiboot requires some kernel options that are not enabled by default, so one has to build with KERNEL_FEATURES_append = " cfg/efi-ext". The install scripts have been updated too, keeping the old behaviour around, but accounting for the new boot loader config files (if they exist). It can be argued that the installer and bootimg are a bit wierd and not necessarily correct, but I wanted to have the exact same behviour with gummiboot. With the default EFI_PROVIDER = "grub-efi" nothing changes, everthing should be just as before. I've tested live boot, install and normal boot on: - FRI2 - genericx86-64 on NUC with: EFI_PROVIDER = "gummiboot" KERNEL_FEATURES_append = " cfg/efi-ext" in local.conf. (From OE-Core rev: b457e40fc69cc6503dc566f16495f03606e5333b) Signed-off-by: Stefan Stanacar Signed-off-by: Matt Fleming --- meta/classes/gummiboot.bbclass | 114 ++++++++++++++++++ .../initrdscripts/files/init-install-efi.sh | 51 +++++--- 2 files changed, 149 insertions(+), 16 deletions(-) create mode 100644 meta/classes/gummiboot.bbclass diff --git a/meta/classes/gummiboot.bbclass b/meta/classes/gummiboot.bbclass new file mode 100644 index 00000000000..021465201f7 --- /dev/null +++ b/meta/classes/gummiboot.bbclass @@ -0,0 +1,114 @@ +# Copyright (C) 2014 Intel Corporation +# +# Released under the MIT license (see COPYING.MIT) + +# gummiboot.bbclass - equivalent of grub-efi.bbclass +# Set EFI_PROVIDER = "gummiboot" to use gummiboot on your live images instead of grub-efi +# (images built by bootimage.bbclass or boot-directdisk.bbclass) + +do_bootimg[depends] += "gummiboot:do_deploy" +do_bootdirectdisk[depends] += "gummiboot:do_deploy" + +EFIDIR = "/EFI/BOOT" + +GUMMIBOOT_CFG ?= "${S}/loader.conf" +GUMMIBOOT_ENTRIES ?= "" +GUMMIBOOT_TIMEOUT ?= "10" + +efi_populate() { + DEST=$1 + + EFI_IMAGE="gummibootia32.efi" + DEST_EFI_IMAGE="bootia32.efi" + if [ "${TARGET_ARCH}" = "x86_64" ]; then + EFI_IMAGE="gummibootx64.efi" + DEST_EFI_IMAGE="bootx64.efi" + fi + + install -d ${DEST}${EFIDIR} + # gummiboot requires these paths for configuration files + # they are not customizable so no point in new vars + install -d ${DEST}/loader + install -d ${DEST}/loader/entries + install -m 0644 ${DEPLOY_DIR_IMAGE}/${EFI_IMAGE} ${DEST}${EFIDIR}/${DEST_EFI_IMAGE} + install -m 0644 ${GUMMIBOOT_CFG} ${DEST}/loader/loader.conf + for i in ${GUMMIBOOT_ENTRIES}; do + install -m 0644 ${i} ${DEST}/loader/entries + done +} + +efi_iso_populate() { + iso_dir=$1 + efi_populate $iso_dir + mkdir -p ${EFIIMGDIR}/${EFIDIR} + cp $iso_dir/${EFIDIR}/* ${EFIIMGDIR}${EFIDIR} + cp $iso_dir/vmlinuz ${EFIIMGDIR} + echo "${DEST_EFI_IMAGE}" > ${EFIIMGDIR}/startup.nsh + if [ -f "$iso_dir/initrd" ] ; then + cp $iso_dir/initrd ${EFIIMGDIR} + fi +} + +efi_hddimg_populate() { + efi_populate $1 +} + +python build_efi_cfg() { + s = d.getVar("S", True) + labels = d.getVar('LABELS', True) + if not labels: + bb.debug(1, "LABELS not defined, nothing to do") + return + + if labels == []: + bb.debug(1, "No labels, nothing to do") + return + + cfile = d.getVar('GUMMIBOOT_CFG', True) + try: + cfgfile = open(cfile, 'w') + except OSError: + raise bb.build.funcFailed('Unable to open %s' % (cfile)) + + cfgfile.write('# Automatically created by OE\n') + cfgfile.write('default %s\n' % (labels.split()[0])) + timeout = d.getVar('GUMMIBOOT_TIMEOUT', True) + if timeout: + cfgfile.write('timeout %s\n' % timeout) + else: + cfgfile.write('timeout 10\n') + cfgfile.close() + + for label in labels.split(): + localdata = d.createCopy() + + overrides = localdata.getVar('OVERRIDES', True) + if not overrides: + raise bb.build.FuncFailed('OVERRIDES not defined') + + entryfile = "%s/%s.conf" % (s, label) + d.appendVar("GUMMIBOOT_ENTRIES", " " + entryfile) + try: + entrycfg = open(entryfile, "w") + except OSError: + raise bb.build.funcFailed('Unable to open %s' % (entryfile)) + localdata.setVar('OVERRIDES', label + ':' + overrides) + bb.data.update_data(localdata) + + entrycfg.write('title %s\n' % label) + entrycfg.write('linux /vmlinuz\n') + + append = localdata.getVar('APPEND', True) + initrd = localdata.getVar('INITRD', True) + + if initrd: + entrycfg.write('initrd /initrd\n') + lb = label + if label == "install": + lb = "install-efi" + entrycfg.write('options LABEL=%s ' % lb) + if append: + entrycfg.write('%s' % append) + entrycfg.write('\n') + entrycfg.close() +} diff --git a/meta/recipes-core/initrdscripts/files/init-install-efi.sh b/meta/recipes-core/initrdscripts/files/init-install-efi.sh index 9846637316f..ed3221b0a6f 100644 --- a/meta/recipes-core/initrdscripts/files/init-install-efi.sh +++ b/meta/recipes-core/initrdscripts/files/init-install-efi.sh @@ -104,6 +104,7 @@ parted /dev/${device} mklabel gpt echo "Creating boot partition on $bootfs" parted /dev/${device} mkpart primary 0% $boot_size +parted /dev/${device} set 1 boot on echo "Creating rootfs partition on $rootfs" parted /dev/${device} mkpart primary $rootfs_start $rootfs_end @@ -149,23 +150,41 @@ mount $bootfs /ssd EFIDIR="/ssd/EFI/BOOT" mkdir -p $EFIDIR -GRUBCFG="$EFIDIR/grub.cfg" - cp /media/$1/vmlinuz /ssd -# Copy the efi loader and config (booti*.efi and grub.cfg) -cp /media/$1/EFI/BOOT/* $EFIDIR - -# Update grub config for the installed image -# Delete the install entry -sed -i "/menuentry 'install'/,/^}/d" $GRUBCFG -# Delete the initrd lines -sed -i "/initrd /d" $GRUBCFG -# Delete any LABEL= strings -sed -i "s/ LABEL=[^ ]*/ /" $GRUBCFG -# Delete any root= strings -sed -i "s/ root=[^ ]*/ /" $GRUBCFG -# Add the root= and other standard boot options -sed -i "s@linux /vmlinuz *@linux /vmlinuz root=$rootfs rw $rootwait quiet @" $GRUBCFG +# Copy the efi loader +cp /media/$1/EFI/BOOT/*.efi $EFIDIR + +if [ -f /media/$1/EFI/BOOT/grub.cfg ]; then + GRUBCFG="$EFIDIR/grub.cfg" + cp /media/$1/EFI/BOOT/grub.cfg $GRUBCFG + # Update grub config for the installed image + # Delete the install entry + sed -i "/menuentry 'install'/,/^}/d" $GRUBCFG + # Delete the initrd lines + sed -i "/initrd /d" $GRUBCFG + # Delete any LABEL= strings + sed -i "s/ LABEL=[^ ]*/ /" $GRUBCFG + # Delete any root= strings + sed -i "s/ root=[^ ]*/ /" $GRUBCFG + # Add the root= and other standard boot options + sed -i "s@linux /vmlinuz *@linux /vmlinuz root=$rootfs rw $rootwait quiet @" $GRUBCFG +fi + +if [ -d /media/$1/loader ]; then + GUMMIBOOT_CFGS="/ssd/loader/entries/*.conf" + # copy config files for gummiboot + cp -dr /media/$1/loader /ssd + # delete the install entry + rm -f /ssd/loader/entries/install.conf + # delete the initrd lines + sed -i "/initrd /d" $GUMMIBOOT_CFGS + # delete any LABEL= strings + sed -i "s/ LABEL=[^ ]*/ /" $GUMMIBOOT_CFGS + # delete any root= strings + sed -i "s/ root=[^ ]*/ /" $GUMMIBOOT_CFGS + # add the root= and other standard boot options + sed -i "s@options *@options root=$rootfs rw $rootwait quiet @" $GUMMIBOOT_CFGS +fi umount /ssd sync From fe5c35743197c6bd4255fca9c1318c060a542e94 Mon Sep 17 00:00:00 2001 From: Matt Fleming Date: Wed, 7 May 2014 14:22:36 +0100 Subject: [PATCH 594/658] recipes-bsp: Add efilinux recipe efilinux is a minimal reference UEFI bootloader. It doesn't include graphics or a complex configuration syntax, just the bear minimum necessary to boot a Linux kernel. Signed-off-by: Matt Fleming --- meta-luv/recipes-bsp/efilinux/efilinux_1.1.bb | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 meta-luv/recipes-bsp/efilinux/efilinux_1.1.bb diff --git a/meta-luv/recipes-bsp/efilinux/efilinux_1.1.bb b/meta-luv/recipes-bsp/efilinux/efilinux_1.1.bb new file mode 100644 index 00000000000..3978500cf4e --- /dev/null +++ b/meta-luv/recipes-bsp/efilinux/efilinux_1.1.bb @@ -0,0 +1,27 @@ +SUMMARY = "A small BSD-licensed reference UEFI OS loader" +SECTION = "bootloaders" + +LICENSE = "BSD" +LIC_FILES_CHKSUM = "file://README;md5=6b473c0ed2b77b2aecb3251a67a236e1" + +SRC_URI = "https://www.kernel.org/pub/linux/utils/boot/efilinux/efilinux-${PV}.tar.gz" + +SRC_URI[md5sum] = "07de903ff6c6b2916ecad091f7be9e2a" +SRC_URI[sha256sum] = "fb294a78acfed1fbd48a1f197a53d263049eaf8de40399fbc821d36dca9fd4cb" + +DEPENDS = "gnu-efi" +inherit deploy + +def gnu_efi_arch(d): + import re + tarch = d.getVar("TARGET_ARCH", True) + if re.match("i[3456789]86", tarch): + return "ia32" + return tarch + +EXTRA_OEMAKE = "'ARCH=${@gnu_efi_arch(d)}' 'LIBDIR=${STAGING_LIBDIR}' 'INCDIR=${STAGING_INCDIR}'" + +do_deploy () { + install ${B}/efilinux.efi ${DEPLOYDIR} +} +addtask deploy before do_build after do_compile From 10fdd626bb7856b349cbae4684304ad862763327 Mon Sep 17 00:00:00 2001 From: Matt Fleming Date: Tue, 27 May 2014 20:58:06 +0100 Subject: [PATCH 595/658] iasl: New recipe for ACPICA toolchain Import iasl recipe from the meta-virtualization layer. This recipe is required for ovmf, which is currently relying on the host's installed iasl package. Signed-off-by: Matt Fleming --- .../recipes-extended/iasl/iasl_20120215.bb | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 meta-luv/recipes-extended/iasl/iasl_20120215.bb diff --git a/meta-luv/recipes-extended/iasl/iasl_20120215.bb b/meta-luv/recipes-extended/iasl/iasl_20120215.bb new file mode 100644 index 00000000000..a14d2ecd6b9 --- /dev/null +++ b/meta-luv/recipes-extended/iasl/iasl_20120215.bb @@ -0,0 +1,27 @@ +DESCRIPTION = "This is a cross development C compiler, assembler and linker environment for the production of 8086 executables (Optionally MSDOS COM)" +HOMEPAGE = "http://www.acpica.org/" +LICENSE = "Intel-ACPI" +LIC_FILES_CHKSUM = "file://asldefine.h;endline=115;md5=d4d7cf809b8b5e03131327b3f718e8f0" +SECTION = "console/tools" +PR="r1" + +DEPENDS="flex-native bison-native" + +SRC_URI="https://acpica.org/sites/acpica/files/acpica-unix-${PV}.tar.gz" + +SRC_URI[md5sum] = "324c89e5bb9002e2711e0494290ceacc" +SRC_URI[sha256sum] = "b2b497415f29ddbefe7be8b9429b62c1f1f6e1ec11456928e4e7da86578e5b8d" + +S="${WORKDIR}/acpica-unix-${PV}/source/compiler" + +NATIVE_INSTALL_WORKS = "1" +BBCLASSEXTEND = "native" + +do_compile() { + CFLAGS="-Wno-error=redundant-decls" $MAKE +} + +do_install() { + mkdir -p ${D}${prefix}/bin + cp ${S}/iasl ${D}${prefix}/bin +} From d01f743639e41eabdf382721b6dfa6ac794da910 Mon Sep 17 00:00:00 2001 From: Matt Fleming Date: Tue, 27 May 2014 22:16:13 +0100 Subject: [PATCH 596/658] ovmf: Add iasl as a native dependency Now that we've got a recipe for iasl add it as an explicit dependency for ovmf. Previously the host system was required to have the iasl package installed, which isn't very clean as our build should be completely self-contained and not using the host's packages. Signed-off-by: Matt Fleming --- meta-luv/recipes-core/ovmf/ovmf_git.bb | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/meta-luv/recipes-core/ovmf/ovmf_git.bb b/meta-luv/recipes-core/ovmf/ovmf_git.bb index dc0e5b0c0cb..8e75ef441f0 100644 --- a/meta-luv/recipes-core/ovmf/ovmf_git.bb +++ b/meta-luv/recipes-core/ovmf/ovmf_git.bb @@ -14,11 +14,19 @@ BBCLASSEXTEND = "native nativesdk" S = "${WORKDIR}/git" -DEPENDS="util-linux" +DEPENDS="util-linux-native iasl-native" # OVMF has trouble building with the default optimization of -O2. BUILD_OPTIMIZATION="-pipe" +do_patch_append() { + bb.build.exec_func('do_fix_iasl', d) +} + +do_fix_iasl() { + sed -i -e 's#/usr/bin/iasl#${STAGING_BINDIR_NATIVE}/iasl#' ${S}/BaseTools/Conf/tools_def.template +} + do_compile() { export LFLAGS="${LDFLAGS}" ${S}/OvmfPkg/build.sh -a X64 -b RELEASE From 59759489bf43931d3cecc8964171b6ba246ae7c8 Mon Sep 17 00:00:00 2001 From: Matt Fleming Date: Wed, 4 Jun 2014 16:54:54 +0100 Subject: [PATCH 597/658] generate-manifest-2.7.py: Add importlib importlib isn't currently included in any of the python packages, so create a new one for recipes that require it. Cc: Paul Eggleton Signed-off-by: Matt Fleming --- .../recipes-devtools/python/python-2.7-manifest.inc | 13 ++++++++----- scripts/contrib/python/generate-manifest-2.7.py | 3 +++ 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/meta/recipes-devtools/python/python-2.7-manifest.inc b/meta/recipes-devtools/python/python-2.7-manifest.inc index 6d3a9e6c041..94a2e02de1f 100644 --- a/meta/recipes-devtools/python/python-2.7-manifest.inc +++ b/meta/recipes-devtools/python/python-2.7-manifest.inc @@ -5,9 +5,9 @@ -PROVIDES+="${PN}-2to3 ${PN}-audio ${PN}-bsddb ${PN}-codecs ${PN}-compile ${PN}-compiler ${PN}-compression ${PN}-core ${PN}-crypt ${PN}-ctypes ${PN}-curses ${PN}-datetime ${PN}-db ${PN}-debugger ${PN}-dev ${PN}-difflib ${PN}-distutils ${PN}-distutils-staticdev ${PN}-doctest ${PN}-elementtree ${PN}-email ${PN}-fcntl ${PN}-gdbm ${PN}-hotshot ${PN}-html ${PN}-idle ${PN}-image ${PN}-io ${PN}-json ${PN}-lang ${PN}-logging ${PN}-mailbox ${PN}-math ${PN}-mime ${PN}-mmap ${PN}-multiprocessing ${PN}-netclient ${PN}-netserver ${PN}-numbers ${PN}-pickle ${PN}-pkgutil ${PN}-pprint ${PN}-profile ${PN}-pydoc ${PN}-re ${PN}-readline ${PN}-resource ${PN}-robotparser ${PN}-shell ${PN}-smtpd ${PN}-sqlite3 ${PN}-sqlite3-tests ${PN}-stringold ${PN}-subprocess ${PN}-syslog ${PN}-terminal ${PN}-tests ${PN}-textutils ${PN}-threading ${PN}-tkinter ${PN}-unittest ${PN}-unixadmin ${PN}-xml ${PN}-xmlrpc ${PN}-zlib " +PROVIDES+="${PN}-2to3 ${PN}-audio ${PN}-bsddb ${PN}-codecs ${PN}-compile ${PN}-compiler ${PN}-compression ${PN}-core ${PN}-crypt ${PN}-ctypes ${PN}-curses ${PN}-datetime ${PN}-db ${PN}-debugger ${PN}-dev ${PN}-difflib ${PN}-distutils ${PN}-distutils-staticdev ${PN}-doctest ${PN}-elementtree ${PN}-email ${PN}-fcntl ${PN}-gdbm ${PN}-hotshot ${PN}-html ${PN}-idle ${PN}-image ${PN}-importlib ${PN}-io ${PN}-json ${PN}-lang ${PN}-logging ${PN}-mailbox ${PN}-math ${PN}-mime ${PN}-mmap ${PN}-multiprocessing ${PN}-netclient ${PN}-netserver ${PN}-numbers ${PN}-pickle ${PN}-pkgutil ${PN}-pprint ${PN}-profile ${PN}-pydoc ${PN}-re ${PN}-readline ${PN}-resource ${PN}-robotparser ${PN}-shell ${PN}-smtpd ${PN}-sqlite3 ${PN}-sqlite3-tests ${PN}-stringold ${PN}-subprocess ${PN}-syslog ${PN}-terminal ${PN}-tests ${PN}-textutils ${PN}-threading ${PN}-tkinter ${PN}-unittest ${PN}-unixadmin ${PN}-xml ${PN}-xmlrpc ${PN}-zlib " -PACKAGES="${PN}-dbg ${PN}-2to3 ${PN}-audio ${PN}-bsddb ${PN}-codecs ${PN}-compile ${PN}-compiler ${PN}-compression ${PN}-core ${PN}-crypt ${PN}-ctypes ${PN}-curses ${PN}-datetime ${PN}-db ${PN}-debugger ${PN}-dev ${PN}-difflib ${PN}-distutils-staticdev ${PN}-distutils ${PN}-doctest ${PN}-elementtree ${PN}-email ${PN}-fcntl ${PN}-gdbm ${PN}-hotshot ${PN}-html ${PN}-idle ${PN}-image ${PN}-io ${PN}-json ${PN}-lang ${PN}-logging ${PN}-mailbox ${PN}-math ${PN}-mime ${PN}-mmap ${PN}-multiprocessing ${PN}-netclient ${PN}-netserver ${PN}-numbers ${PN}-pickle ${PN}-pkgutil ${PN}-pprint ${PN}-profile ${PN}-pydoc ${PN}-re ${PN}-readline ${PN}-resource ${PN}-robotparser ${PN}-shell ${PN}-smtpd ${PN}-sqlite3 ${PN}-sqlite3-tests ${PN}-stringold ${PN}-subprocess ${PN}-syslog ${PN}-terminal ${PN}-tests ${PN}-textutils ${PN}-threading ${PN}-tkinter ${PN}-unittest ${PN}-unixadmin ${PN}-xml ${PN}-xmlrpc ${PN}-zlib ${PN}-modules" +PACKAGES="${PN}-dbg ${PN}-2to3 ${PN}-audio ${PN}-bsddb ${PN}-codecs ${PN}-compile ${PN}-compiler ${PN}-compression ${PN}-core ${PN}-crypt ${PN}-ctypes ${PN}-curses ${PN}-datetime ${PN}-db ${PN}-debugger ${PN}-dev ${PN}-difflib ${PN}-distutils-staticdev ${PN}-distutils ${PN}-doctest ${PN}-elementtree ${PN}-email ${PN}-fcntl ${PN}-gdbm ${PN}-hotshot ${PN}-html ${PN}-idle ${PN}-image ${PN}-importlib ${PN}-io ${PN}-json ${PN}-lang ${PN}-logging ${PN}-mailbox ${PN}-math ${PN}-mime ${PN}-mmap ${PN}-multiprocessing ${PN}-netclient ${PN}-netserver ${PN}-numbers ${PN}-pickle ${PN}-pkgutil ${PN}-pprint ${PN}-profile ${PN}-pydoc ${PN}-re ${PN}-readline ${PN}-resource ${PN}-robotparser ${PN}-shell ${PN}-smtpd ${PN}-sqlite3 ${PN}-sqlite3-tests ${PN}-stringold ${PN}-subprocess ${PN}-syslog ${PN}-terminal ${PN}-tests ${PN}-textutils ${PN}-threading ${PN}-tkinter ${PN}-unittest ${PN}-unixadmin ${PN}-xml ${PN}-xmlrpc ${PN}-zlib ${PN}-modules" DESCRIPTION_${PN}-2to3="Python Automated Python 2 to 3 code translation" RDEPENDS_${PN}-2to3="${PN}-core" @@ -39,8 +39,7 @@ FILES_${PN}-compression="${libdir}/python2.7/gzip.* ${libdir}/python2.7/zipfile. DESCRIPTION_${PN}-core="Python Interpreter and core modules (needed!)" RDEPENDS_${PN}-core="${PN}-lang ${PN}-re" -FILES_${PN}-core="${libdir}/python2.7/__future__.* ${libdir}/python2.7/_abcoll.* ${libdir}/python2.7/abc.* ${libdir}/python2.7/copy.* ${libdir}/python2.7/copy_reg.* ${libdir}/python2.7/ConfigParser.* ${libdir}/python2.7/genericpath.* ${libdir}/python2.7/getopt.* ${libdir}/python2.7/linecache.* ${libdir}/python2.7/new.* ${libdir}/python2.7/os.* ${libdir}/python2.7/posixpath.* ${libdir}/python2.7/struct.* ${libdir}/python2.7/warnings.* ${libdir}/python2.7/site.* ${libdir}/python2.7/stat.* ${libdir}/python2.7/UserDict.* ${libdir}/python2.7/UserList.* ${libdir}/python2.7/UserString.* ${libdir}/python2.7/lib-dynload/binascii.so ${libdir}/python2.7/lib-dynload/_struct.so ${libdir}/python2.7/lib-dynload/time.so ${libdir}/python2.7/lib-dynload/xreadlines.so \ -${libdir}/python2.7/types.* ${libdir}/python2.7/platform.* ${bindir}/python* ${libdir}/python2.7/_weakrefset.* ${libdir}/python2.7/sysconfig.* ${libdir}/python2.7/config/Makefile ${includedir}/python${PYTHON_MAJMIN}/pyconfig*.h ${libdir}/python${PYTHON_MAJMIN}/sitecustomize.py " +FILES_${PN}-core="${libdir}/python2.7/__future__.* ${libdir}/python2.7/_abcoll.* ${libdir}/python2.7/abc.* ${libdir}/python2.7/copy.* ${libdir}/python2.7/copy_reg.* ${libdir}/python2.7/ConfigParser.* ${libdir}/python2.7/genericpath.* ${libdir}/python2.7/getopt.* ${libdir}/python2.7/linecache.* ${libdir}/python2.7/new.* ${libdir}/python2.7/os.* ${libdir}/python2.7/posixpath.* ${libdir}/python2.7/struct.* ${libdir}/python2.7/warnings.* ${libdir}/python2.7/site.* ${libdir}/python2.7/stat.* ${libdir}/python2.7/UserDict.* ${libdir}/python2.7/UserList.* ${libdir}/python2.7/UserString.* ${libdir}/python2.7/lib-dynload/binascii.so ${libdir}/python2.7/lib-dynload/_struct.so ${libdir}/python2.7/lib-dynload/time.so ${libdir}/python2.7/lib-dynload/xreadlines.so ${libdir}/python2.7/types.* ${libdir}/python2.7/platform.* ${bindir}/python* ${libdir}/python2.7/_weakrefset.* ${libdir}/python2.7/sysconfig.* ${libdir}/python2.7/config/Makefile ${includedir}/python${PYTHON_MAJMIN}/pyconfig*.h ${libdir}/python${PYTHON_MAJMIN}/sitecustomize.py " DESCRIPTION_${PN}-crypt="Python Basic Cryptographic and Hashing Support" RDEPENDS_${PN}-crypt="${PN}-core" @@ -118,6 +117,10 @@ DESCRIPTION_${PN}-image="Python Graphical Image Handling" RDEPENDS_${PN}-image="${PN}-core" FILES_${PN}-image="${libdir}/python2.7/colorsys.* ${libdir}/python2.7/imghdr.* ${libdir}/python2.7/lib-dynload/imageop.so ${libdir}/python2.7/lib-dynload/rgbimg.so " +DESCRIPTION_${PN}-importlib="Python import implementation library" +RDEPENDS_${PN}-importlib="${PN}-core" +FILES_${PN}-importlib="${libdir}/python2.7/importlib " + DESCRIPTION_${PN}-io="Python Low-Level I/O" RDEPENDS_${PN}-io="${PN}-core ${PN}-math ${PN}-textutils" FILES_${PN}-io="${libdir}/python2.7/lib-dynload/_socket.so ${libdir}/python2.7/lib-dynload/_io.so ${libdir}/python2.7/lib-dynload/_ssl.so ${libdir}/python2.7/lib-dynload/select.so ${libdir}/python2.7/lib-dynload/termios.so ${libdir}/python2.7/lib-dynload/cStringIO.so ${libdir}/python2.7/pipes.* ${libdir}/python2.7/socket.* ${libdir}/python2.7/ssl.* ${libdir}/python2.7/tempfile.* ${libdir}/python2.7/StringIO.* ${libdir}/python2.7/io.* ${libdir}/python2.7/_pyio.* " @@ -271,7 +274,7 @@ RDEPENDS_${PN}-zlib="${PN}-core" FILES_${PN}-zlib="${libdir}/python2.7/lib-dynload/zlib.so " DESCRIPTION_${PN}-modules="All Python modules" -RDEPENDS_${PN}-modules="${PN}-2to3 ${PN}-audio ${PN}-bsddb ${PN}-codecs ${PN}-compile ${PN}-compiler ${PN}-compression ${PN}-core ${PN}-crypt ${PN}-ctypes ${PN}-curses ${PN}-datetime ${PN}-db ${PN}-debugger ${PN}-difflib ${PN}-distutils ${PN}-doctest ${PN}-elementtree ${PN}-email ${PN}-fcntl ${PN}-gdbm ${PN}-hotshot ${PN}-html ${PN}-idle ${PN}-image ${PN}-io ${PN}-json ${PN}-lang ${PN}-logging ${PN}-mailbox ${PN}-math ${PN}-mime ${PN}-mmap ${PN}-multiprocessing ${PN}-netclient ${PN}-netserver ${PN}-numbers ${PN}-pickle ${PN}-pkgutil ${PN}-pprint ${PN}-profile ${PN}-pydoc ${PN}-re ${PN}-readline ${PN}-resource ${PN}-robotparser ${PN}-shell ${PN}-smtpd ${PN}-sqlite3 ${PN}-sqlite3-tests ${PN}-stringold ${PN}-subprocess ${PN}-syslog ${PN}-terminal ${PN}-tests ${PN}-textutils ${PN}-threading ${PN}-tkinter ${PN}-unittest ${PN}-unixadmin ${PN}-xml ${PN}-xmlrpc ${PN}-zlib " +RDEPENDS_${PN}-modules="${PN}-2to3 ${PN}-audio ${PN}-bsddb ${PN}-codecs ${PN}-compile ${PN}-compiler ${PN}-compression ${PN}-core ${PN}-crypt ${PN}-ctypes ${PN}-curses ${PN}-datetime ${PN}-db ${PN}-debugger ${PN}-difflib ${PN}-distutils ${PN}-doctest ${PN}-elementtree ${PN}-email ${PN}-fcntl ${PN}-gdbm ${PN}-hotshot ${PN}-html ${PN}-idle ${PN}-image ${PN}-importlib ${PN}-io ${PN}-json ${PN}-lang ${PN}-logging ${PN}-mailbox ${PN}-math ${PN}-mime ${PN}-mmap ${PN}-multiprocessing ${PN}-netclient ${PN}-netserver ${PN}-numbers ${PN}-pickle ${PN}-pkgutil ${PN}-pprint ${PN}-profile ${PN}-pydoc ${PN}-re ${PN}-readline ${PN}-resource ${PN}-robotparser ${PN}-shell ${PN}-smtpd ${PN}-sqlite3 ${PN}-sqlite3-tests ${PN}-stringold ${PN}-subprocess ${PN}-syslog ${PN}-terminal ${PN}-tests ${PN}-textutils ${PN}-threading ${PN}-tkinter ${PN}-unittest ${PN}-unixadmin ${PN}-xml ${PN}-xmlrpc ${PN}-zlib " ALLOW_EMPTY_${PN}-modules = "1" diff --git a/scripts/contrib/python/generate-manifest-2.7.py b/scripts/contrib/python/generate-manifest-2.7.py index 124a1a42caa..37fe4731cd5 100755 --- a/scripts/contrib/python/generate-manifest-2.7.py +++ b/scripts/contrib/python/generate-manifest-2.7.py @@ -266,6 +266,9 @@ def make( self ): m.addPackage( "${PN}-html", "Python HTML Processing", "${PN}-core", "formatter.* htmlentitydefs.* htmllib.* markupbase.* sgmllib.* HTMLParser.* " ) + m.addPackage( "${PN}-importlib", "Python import implementation library", "${PN}-core", + "importlib" ) + m.addPackage( "${PN}-gdbm", "Python GNU Database Support", "${PN}-core", "lib-dynload/gdbm.so" ) From 03307018fbc4fdf61461d48b68c25f9daf80490b Mon Sep 17 00:00:00 2001 From: Matt Fleming Date: Thu, 29 May 2014 11:18:29 +0100 Subject: [PATCH 598/658] chipsec: Add recipe for CHIPSEC v1.1.0 CHIPSEC is a platform security assessment framework for analyzing the security of PC platforms. It includes a number of tests and also provides forensic capabilities for firmware. Of particular use are the UEFI secure boot variable tests and BIOS flash write-protect tests. Signed-off-by: Matt Fleming --- ...01-helper-linux-Use-CC-instead-of-cc.patch | 35 +++++++++ ...lper-linux-Allow-INC-to-be-overidden.patch | 26 +++++++ ...Remove-absolute-reference-to-python-.patch | 29 +++++++ ...lete-Windows-drivers-from-data_files.patch | 30 ++++++++ meta-luv/recipes-core/chipsec/chipsec_git.bb | 77 +++++++++++++++++++ 5 files changed, 197 insertions(+) create mode 100644 meta-luv/recipes-core/chipsec/chipsec/0001-helper-linux-Use-CC-instead-of-cc.patch create mode 100644 meta-luv/recipes-core/chipsec/chipsec/0002-helper-linux-Allow-INC-to-be-overidden.patch create mode 100644 meta-luv/recipes-core/chipsec/chipsec/0003-chipsec_main.py-Remove-absolute-reference-to-python-.patch create mode 100644 meta-luv/recipes-core/chipsec/chipsec/0005-tool-setup.py-Delete-Windows-drivers-from-data_files.patch create mode 100644 meta-luv/recipes-core/chipsec/chipsec_git.bb diff --git a/meta-luv/recipes-core/chipsec/chipsec/0001-helper-linux-Use-CC-instead-of-cc.patch b/meta-luv/recipes-core/chipsec/chipsec/0001-helper-linux-Use-CC-instead-of-cc.patch new file mode 100644 index 00000000000..5da85d05c06 --- /dev/null +++ b/meta-luv/recipes-core/chipsec/chipsec/0001-helper-linux-Use-CC-instead-of-cc.patch @@ -0,0 +1,35 @@ +From f9632b03227ad8d5bd3ce6545ad44f7ea31dccd2 Mon Sep 17 00:00:00 2001 +From: Matt Fleming +Date: Wed, 28 May 2014 14:48:01 +0100 +Subject: [PATCH 1/5] helper/linux: Use $(CC) instead of 'cc' + +In order to compile chipsec for a non-native toolchain we need to use a +level of indirection and reference $(CC) instead of 'cc'. + +By default there's no change, and things should work as before. But now +it's also possible for users to specify CC= on the command line to point +to a non-native compiler. + +Signed-off-by: Matt Fleming +--- + source/tool/chipsec/helper/linux/Makefile | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/source/tool/chipsec/helper/linux/Makefile b/source/tool/chipsec/helper/linux/Makefile +index 2987d02..3a5ed1c 100644 +--- a/source/tool/chipsec/helper/linux/Makefile ++++ b/source/tool/chipsec/helper/linux/Makefile +@@ -1,8 +1,8 @@ + INC=-I/usr/include/python2.7 + + cores: +- cc $(INC) -c -fPIC cores.c -o cores.o +- cc cores.o -shared -o cores.so ++ $(CC) $(INC) -c -fPIC cores.c -o cores.o ++ $(CC) cores.o -shared -o cores.so + + clean: + rm -f *.o *.so +-- +1.9.0 + diff --git a/meta-luv/recipes-core/chipsec/chipsec/0002-helper-linux-Allow-INC-to-be-overidden.patch b/meta-luv/recipes-core/chipsec/chipsec/0002-helper-linux-Allow-INC-to-be-overidden.patch new file mode 100644 index 00000000000..083e0f700e0 --- /dev/null +++ b/meta-luv/recipes-core/chipsec/chipsec/0002-helper-linux-Allow-INC-to-be-overidden.patch @@ -0,0 +1,26 @@ +From eaf6db2d55bb1b404bcf8ad5bbbe8e145195bf6b Mon Sep 17 00:00:00 2001 +From: Matt Fleming +Date: Wed, 28 May 2014 15:08:39 +0100 +Subject: [PATCH 2/5] helper/linux: Allow $INC to be overidden + +When compiling chipsec for a target other than the host on which we're +doing the compiling we need to be able to override $INC. + +Signed-off-by: Matt Fleming +--- + source/tool/chipsec/helper/linux/Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/source/tool/chipsec/helper/linux/Makefile b/source/tool/chipsec/helper/linux/Makefile +index 3a5ed1c..5d925d6 100644 +--- a/source/tool/chipsec/helper/linux/Makefile ++++ b/source/tool/chipsec/helper/linux/Makefile +@@ -1,4 +1,4 @@ +-INC=-I/usr/include/python2.7 ++INC ?= -I/usr/include/python2.7 + + cores: + $(CC) $(INC) -c -fPIC cores.c -o cores.o +-- +1.9.0 + diff --git a/meta-luv/recipes-core/chipsec/chipsec/0003-chipsec_main.py-Remove-absolute-reference-to-python-.patch b/meta-luv/recipes-core/chipsec/chipsec/0003-chipsec_main.py-Remove-absolute-reference-to-python-.patch new file mode 100644 index 00000000000..de9aa34f895 --- /dev/null +++ b/meta-luv/recipes-core/chipsec/chipsec/0003-chipsec_main.py-Remove-absolute-reference-to-python-.patch @@ -0,0 +1,29 @@ +From 443e3b1f958438979d7b5665ec6a0488625819ef Mon Sep 17 00:00:00 2001 +From: Matt Fleming +Date: Mon, 2 Jun 2014 11:18:54 +0100 +Subject: [PATCH 3/5] chipsec_main.py: Remove absolute reference to python + executable + +The canonical way to use shebang for python scripts is to use env(1) +which will automatically find the python interpreter in the user's +$PATH, rather than hard-coding an absolute path that may not exist for +all systems. + +Signed-off-by: Matt Fleming +--- + source/tool/chipsec_main.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/source/tool/chipsec_main.py b/source/tool/chipsec_main.py +index 184b4b7..3c3581c 100644 +--- a/source/tool/chipsec_main.py ++++ b/source/tool/chipsec_main.py +@@ -1,4 +1,4 @@ +-#!/usr/local/bin/python ++#!/usr/bin/env python + #CHIPSEC: Platform Security Assessment Framework + #Copyright (c) 2010-2014, Intel Corporation + # +-- +1.9.0 + diff --git a/meta-luv/recipes-core/chipsec/chipsec/0005-tool-setup.py-Delete-Windows-drivers-from-data_files.patch b/meta-luv/recipes-core/chipsec/chipsec/0005-tool-setup.py-Delete-Windows-drivers-from-data_files.patch new file mode 100644 index 00000000000..36314481459 --- /dev/null +++ b/meta-luv/recipes-core/chipsec/chipsec/0005-tool-setup.py-Delete-Windows-drivers-from-data_files.patch @@ -0,0 +1,30 @@ +From 5f5b13a803e5092cc03ff59eddeb795ecaf5a6a9 Mon Sep 17 00:00:00 2001 +From: Matt Fleming +Date: Mon, 2 Jun 2014 11:22:01 +0100 +Subject: [PATCH 5/5] tool/setup.py: Delete Windows drivers in data_files + +We obviously don't build those drivers on Linux, so remove them. To fix +this properly would require some means of telling setup.py which +platform we're building for, not which platform we're currently running +on. + +Signed-off-by: Matt Fleming +--- + source/tool/setup.py | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/source/tool/setup.py b/source/tool/setup.py +index f4087ce..f1e2c47 100644 +--- a/source/tool/setup.py ++++ b/source/tool/setup.py +@@ -74,7 +74,6 @@ setup( + author_email = '', + url = 'https://github.com/chipsec/chipsec', + +- data_files = data_files, + packages = mypackages + + ) +-- +1.9.0 + diff --git a/meta-luv/recipes-core/chipsec/chipsec_git.bb b/meta-luv/recipes-core/chipsec/chipsec_git.bb new file mode 100644 index 00000000000..0974545a042 --- /dev/null +++ b/meta-luv/recipes-core/chipsec/chipsec_git.bb @@ -0,0 +1,77 @@ +SUMMARY = "CHIPSEC: Platform Security Assessment Framework" +DESCRIPTION = "CHIPSEC is a framework for analyzing security of PC \ +platforms including hardware, system firmware including BIOS/UEFI \ +and the configuration of platform components." + +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://LICENSE;md5=8c16666ae6c159876a0ba63099614381" + +SRC_URI = "git://github.com/chipsec/chipsec.git \ + file://0001-helper-linux-Use-CC-instead-of-cc.patch \ + file://0002-helper-linux-Allow-INC-to-be-overidden.patch \ + file://0003-chipsec_main.py-Remove-absolute-reference-to-python-.patch \ + file://0005-tool-setup.py-Delete-Windows-drivers-from-data_files.patch" + +SRCREV="v1.1.0" + +DEPENDS = "virtual/kernel python-core" +RDEPENDS_${PN} = "python python-shell python-stringold python-xml \ + python-ctypes python-fcntl python-importlib" + +inherit module-base +inherit python-dir +inherit distutils + +S = "${WORKDIR}/git" + +export INC = "-I${STAGING_INCDIR}/${PYTHON_DIR}" + +fix_mod_path() { + sed -i -e "s:^INSTALL_MOD_PATH_PREFIX = .*:INSTALL_MOD_PATH_PREFIX = \"${PYTHON_SITEPACKAGES_DIR}\":" ${S}/source/tool/chipsec_main.py +} + +do_patch_append() { + bb.build.exec_func('fix_mod_path', d) +} + +do_compile_prepend() { + cd ${S}/source/tool +} + +do_compile_append() { + unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS + + oe_runmake KERNEL_SRC_DIR=${STAGING_KERNEL_DIR} \ + KERNEL_VERSION=${KERNEL_VERSION} \ + CC="${KERNEL_CC}" LD="${KERNEL_LD}" \ + AR="${KERNEL_AR}" -C ${STAGING_KERNEL_DIR} \ + scripts + + oe_runmake KERNEL_SRC_DIR=${STAGING_KERNEL_DIR} \ + KERNEL_VERSION=${KERNEL_VERSION} \ + CC="${KERNEL_CC}" LD="${KERNEL_LD}" \ + AR="${KERNEL_AR}" INC="${INC}" -C ${S}/source/drivers/linux +} + +do_install_prepend() { + cd ${S}/source/tool +} + +do_install_append() { + unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS + + # Install the main python script + install -d ${D}${bindir} + install -m 0755 ${S}/source/tool/chipsec_main.py \ + ${D}${bindir}/chipsec + + # Install the kernel driver + oe_runmake DEPMOD=echo INSTALL_MOD_PATH="${D}" \ + KERNEL_SRC=${STAGING_KERNEL_DIR} \ + CC="${KERNEL_CC}" LD="${KERNEL_LD}" \ + -C ${STAGING_KERNEL_DIR} \ + M="${S}/source/drivers/linux" \ + modules_install +} + +FILES_${PN} += "/lib/modules/${KERNEL_VERSION}/extra/chipsec.ko" From 95ebdab5f4c4fa8b14e0ce2c1c4de1e2420a097c Mon Sep 17 00:00:00 2001 From: Matt Fleming Date: Wed, 4 Jun 2014 13:14:04 +0100 Subject: [PATCH 599/658] chipsec: Enable luv test automatic execution Integrate chipsec into the test manager infrastructure and add a parser to capture test results and write them to stdout in the luv-test-manager compatible format. Signed-off-by: Matt Fleming --- meta-luv/recipes-core/chipsec/chipsec/chipsec | 14 ++++++++ .../chipsec/chipsec/luv-parser-chipsec | 32 +++++++++++++++++++ meta-luv/recipes-core/chipsec/chipsec_git.bb | 11 ++++--- 3 files changed, 53 insertions(+), 4 deletions(-) create mode 100644 meta-luv/recipes-core/chipsec/chipsec/chipsec create mode 100644 meta-luv/recipes-core/chipsec/chipsec/luv-parser-chipsec diff --git a/meta-luv/recipes-core/chipsec/chipsec/chipsec b/meta-luv/recipes-core/chipsec/chipsec/chipsec new file mode 100644 index 00000000000..888df89b79e --- /dev/null +++ b/meta-luv/recipes-core/chipsec/chipsec/chipsec @@ -0,0 +1,14 @@ +#!/bin/sh +# +# Copyright (C) 2014 Intel Corporation +# +# Load the CHIPSEC kernel module and invoke the chipsec main file. + +modprobe -q chipsec +if [ $? -ne 0 ]; then + exit 1 +fi + +# The below is replaced with the python site packages path during +# do_patch(). +python PYTHONPATH/chipsec_main.py -i -v diff --git a/meta-luv/recipes-core/chipsec/chipsec/luv-parser-chipsec b/meta-luv/recipes-core/chipsec/chipsec/luv-parser-chipsec new file mode 100644 index 00000000000..a91067abb17 --- /dev/null +++ b/meta-luv/recipes-core/chipsec/chipsec/luv-parser-chipsec @@ -0,0 +1,32 @@ +#!/bin/sh +# +# Parse the output of chipsec and write a luv-test-manager compatible +# log to stdout. + +awk ' /\[\+\] imported/ { + test_strs[$3] = 1; +} + +/\[\*\] SKIPPED/ { + if (test_strs[$3]) { + printf("1.0 chipsec %s RESULT 0 0 0 0 1\n", $3); + } +} + +/^ERROR/ { + if (test_strs[$2]) { + printf("1.0 chipsec %s RESULT 0 0 0 1 0\n", $2); + } +} + +/\[\-\] FAILED/ { + if (test_strs[$3]) { + printf("1.0 chipsec %s RESULT 0 1 0 0 0\n", $3); + } +} + +/\[\+\] PASSED/ { + if (test_strs[$3]) { + printf("1.0 chipsec %s RESULT 1 0 0 0 0\n", $3); + } +}' diff --git a/meta-luv/recipes-core/chipsec/chipsec_git.bb b/meta-luv/recipes-core/chipsec/chipsec_git.bb index 0974545a042..c344921d7cd 100644 --- a/meta-luv/recipes-core/chipsec/chipsec_git.bb +++ b/meta-luv/recipes-core/chipsec/chipsec_git.bb @@ -10,7 +10,8 @@ SRC_URI = "git://github.com/chipsec/chipsec.git \ file://0001-helper-linux-Use-CC-instead-of-cc.patch \ file://0002-helper-linux-Allow-INC-to-be-overidden.patch \ file://0003-chipsec_main.py-Remove-absolute-reference-to-python-.patch \ - file://0005-tool-setup.py-Delete-Windows-drivers-from-data_files.patch" + file://0005-tool-setup.py-Delete-Windows-drivers-from-data_files.patch \ + file://chipsec file://luv-parser-chipsec" SRCREV="v1.1.0" @@ -21,6 +22,7 @@ RDEPENDS_${PN} = "python python-shell python-stringold python-xml \ inherit module-base inherit python-dir inherit distutils +inherit luv-test S = "${WORKDIR}/git" @@ -28,6 +30,7 @@ export INC = "-I${STAGING_INCDIR}/${PYTHON_DIR}" fix_mod_path() { sed -i -e "s:^INSTALL_MOD_PATH_PREFIX = .*:INSTALL_MOD_PATH_PREFIX = \"${PYTHON_SITEPACKAGES_DIR}\":" ${S}/source/tool/chipsec_main.py + sed -i -e "s:PYTHONPATH:${PYTHON_SITEPACKAGES_DIR}:" ${WORKDIR}/chipsec } do_patch_append() { @@ -60,10 +63,8 @@ do_install_prepend() { do_install_append() { unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS - # Install the main python script install -d ${D}${bindir} - install -m 0755 ${S}/source/tool/chipsec_main.py \ - ${D}${bindir}/chipsec + install -m 0755 ${WORKDIR}/chipsec ${D}${bindir} # Install the kernel driver oe_runmake DEPMOD=echo INSTALL_MOD_PATH="${D}" \ @@ -74,4 +75,6 @@ do_install_append() { modules_install } +LUV_TEST_LOG_PARSER="luv-parser-chipsec" + FILES_${PN} += "/lib/modules/${KERNEL_VERSION}/extra/chipsec.ko" From 69acda4b24a4a5008c20395b266f06d0d58794db Mon Sep 17 00:00:00 2001 From: Matt Fleming Date: Wed, 4 Jun 2014 15:49:29 +0100 Subject: [PATCH 600/658] luv-test: Add auto-generated test files to FILES_${PN} Instead of managing our own luv package just add the auto-generated files to FILES_${PN} to avoid QA warnings. In the future we could do our own luv package, but let's keep thing simple for now. Signed-off-by: Matt Fleming --- meta-luv/classes/luv-test.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-luv/classes/luv-test.bbclass b/meta-luv/classes/luv-test.bbclass index cdd1d341dec..dc20978296d 100644 --- a/meta-luv/classes/luv-test.bbclass +++ b/meta-luv/classes/luv-test.bbclass @@ -12,7 +12,7 @@ LUV_TEST_LOG_PARSER = "" RUNNER_PATH = "${sysconfdir}/luv/tests" PARSER_PATH = "${sysconfdir}/luv/parsers" -FILES_${PN}-luv = "${RUNNER_PATH}/${PN} ${PARSER_PATH}/${PN}" +FILES_${PN} += "${RUNNER_PATH}/${PN} ${PARSER_PATH}/${PN}" do_install_runner() { runner_dir="${D}${RUNNER_PATH}" From fcdb6a8c43159704ba16fe1c56a045fa53053180 Mon Sep 17 00:00:00 2001 From: Matt Fleming Date: Wed, 4 Jun 2014 11:26:14 +0100 Subject: [PATCH 601/658] core-image-efi-initramfs: Add chipsec test Include the chipsec test suite in this image. Signed-off-by: Matt Fleming --- meta-luv/recipes-core/images/core-image-efi-initramfs.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-luv/recipes-core/images/core-image-efi-initramfs.bb b/meta-luv/recipes-core/images/core-image-efi-initramfs.bb index 8b244c9ecba..fa61cc382ad 100644 --- a/meta-luv/recipes-core/images/core-image-efi-initramfs.bb +++ b/meta-luv/recipes-core/images/core-image-efi-initramfs.bb @@ -7,7 +7,7 @@ IMAGE_INSTALL = "\ kexec-tools kernel-image fwts bash coreutils gawk grep util-linux-agetty \ util-linux-mount util-linux-umount kmod sed tar net-tools \ shadow util-linux procps efivarfs-test \ - psplash \ + psplash chipsec \ " export IMAGE_BASENAME = "core-image-efi-initramfs" From dc0b955bb25aa92e61c2f330d63d6908548c9b64 Mon Sep 17 00:00:00 2001 From: Ricardo Neri Date: Tue, 3 Jun 2014 18:10:19 -0700 Subject: [PATCH 602/658] bootimg.bbclass: Add parameter to specify HDDIMG volume ID Users and children of the bootimg class may need to specify at build time the volume ID of the HDDIMG vfat partition. An example of this may be when at runtime the partition is uniquely identified by the volume ID. The HDDIMG_ID is expected to be provided externally. If the variable is not set, mkdosfs will use the default volume-id. Signed-off-by: Ricardo Neri --- meta/classes/bootimg.bbclass | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/meta/classes/bootimg.bbclass b/meta/classes/bootimg.bbclass index 61b62d40b62..a2adfb55227 100644 --- a/meta/classes/bootimg.bbclass +++ b/meta/classes/bootimg.bbclass @@ -22,6 +22,7 @@ # ${COMPRESSISO} - Transparent compress ISO, reduce size ~40% if set to 1 # ${NOISO} - skip building the ISO image if set to 1 # ${NOHDD} - skip building the HDD image if set to 1 +# ${HDDIMG_ID} - FAT image volume-id # ${ROOTFS} - indicates a filesystem image to include as the root filesystem (optional) do_bootimg[depends] += "dosfstools-native:do_populate_sysroot \ @@ -193,7 +194,14 @@ build_fat_img() { FATSIZE="-F 32" fi - mkdosfs ${FATSIZE} -n ${BOOTIMG_VOLUME_ID} -S 512 -C ${FATIMG} ${BLOCKS} + if [ -z "${HDDIMG_ID}" ]; then + mkdosfs ${FATSIZE} -n ${BOOTIMG_VOLUME_ID} -S 512 -C ${FATIMG} \ + ${BLOCKS} + else + mkdosfs ${FATSIZE} -n ${BOOTIMG_VOLUME_ID} -S 512 -C ${FATIMG} \ + ${BLOCKS} -i ${HDDIMG_ID} + fi + # Copy FATSOURCEDIR recursively into the image file directly mcopy -i ${FATIMG} -s ${FATSOURCEDIR}/* ::/ } From dba2b75ab68baa0eb973cfa5f70d1670f7ccc73a Mon Sep 17 00:00:00 2001 From: Ricardo Neri Date: Tue, 3 Jun 2014 18:19:06 -0700 Subject: [PATCH 603/658] luv-live-image: Set the volume-id for the boot vfat partition In order to uniquely identify the partition at runtime, specify a known volume-id. Signed-off-by: Ricardo Neri --- meta-luv/recipes-core/images/luv-live-image.bb | 1 + 1 file changed, 1 insertion(+) diff --git a/meta-luv/recipes-core/images/luv-live-image.bb b/meta-luv/recipes-core/images/luv-live-image.bb index db9f843476f..b2171d2f981 100644 --- a/meta-luv/recipes-core/images/luv-live-image.bb +++ b/meta-luv/recipes-core/images/luv-live-image.bb @@ -4,6 +4,7 @@ LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3 DEPENDS_${PN} = "grub-efi" HDDDIR = "${S}/hddimg" +HDDIMG_ID = "423cc2c8" LABELS = "luv" INITRD_IMAGE = "core-image-efi-initramfs" From b29ec23f97222a7f010154a5fa5733291a614dea Mon Sep 17 00:00:00 2001 From: Ricardo Neri Date: Wed, 4 Jun 2014 17:41:56 -0700 Subject: [PATCH 604/658] luv-live-image: Append kernel parameter for handling crashes Add the crashkernel parameter to indicate the kernel to reserve memory for the kernel and initrd images that will be used in the event of a crash. Currently our vmlinux binary created from piggy.o is ~80MB and the initrd image is ~30MB. This could be accomodated on 128MB. Space is doubled to allow for future growth. Signed-off-by: Ricardo Neri --- meta-luv/recipes-core/images/luv-live-image.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-luv/recipes-core/images/luv-live-image.bb b/meta-luv/recipes-core/images/luv-live-image.bb index b2171d2f981..ebb12d087a1 100644 --- a/meta-luv/recipes-core/images/luv-live-image.bb +++ b/meta-luv/recipes-core/images/luv-live-image.bb @@ -10,7 +10,7 @@ LABELS = "luv" INITRD_IMAGE = "core-image-efi-initramfs" INITRD = "${DEPLOY_DIR_IMAGE}/${INITRD_IMAGE}-${MACHINE}.cpio.gz" MACHINE_FEATURES += "efi" -APPEND = "quiet" +APPEND = "quiet crashkernel=256M" GRUB_TIMEOUT = "2" From 633e087c890c9e820e11dc55b320943123a975a3 Mon Sep 17 00:00:00 2001 From: Ricardo Neri Date: Thu, 5 Jun 2014 17:02:10 -0700 Subject: [PATCH 605/658] linux-yocto-efi-test: Enable kernel debug info In order to provide more useful information in case of a kernel crash, compile the kernel with debug info. Even though the kernel proper will increase it size significantly (~7-fold), the debug information will be valuable for analysis. Signed-off-by: Ricardo Neri --- meta-luv/recipes-kernel/linux/linux-yocto-efi-test/defconfig | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/meta-luv/recipes-kernel/linux/linux-yocto-efi-test/defconfig b/meta-luv/recipes-kernel/linux/linux-yocto-efi-test/defconfig index edbb72016c5..03621e7e347 100644 --- a/meta-luv/recipes-kernel/linux/linux-yocto-efi-test/defconfig +++ b/meta-luv/recipes-kernel/linux/linux-yocto-efi-test/defconfig @@ -3082,7 +3082,8 @@ CONFIG_DEFAULT_MESSAGE_LOGLEVEL=4 # # Compile-time checks and compiler options # -# CONFIG_DEBUG_INFO is not set +CONFIG_DEBUG_INFO=y +# CONFIG_DEBUG_INFO_REDUCED is not set # CONFIG_ENABLE_WARN_DEPRECATED is not set CONFIG_ENABLE_MUST_CHECK=y CONFIG_FRAME_WARN=2048 From 311e78cb7855c5c7e064308bb497a975187258db Mon Sep 17 00:00:00 2001 From: Ricardo Neri Date: Fri, 6 Jun 2014 10:25:55 -0700 Subject: [PATCH 606/658] initscritpts: Add a crash handler LuvOS is used to validate UEFI firmware implementations. Such implemen- tations may be at different levels of maturity. Thus, they could pose stability threats to the Linx kernel. It could also be possibly that the kernel itself may have an undiscovered bug. The crash handler aims to handle such situations in a gracefully manner. During a regular boot, at runlevel 5, the handler uses kexec to prepare the system for an eventual crash so that the system can be rebooted to a usable state. In such recovery boot, memory dumps can be made to perform analyses on what caused the crash. Signed-off-by: Ricardo Neri --- .../initscripts/initscripts/luv-crash-handler | 52 +++++++++++++++++++ .../initscripts/initscripts_1.0.bbappend | 8 ++- 2 files changed, 59 insertions(+), 1 deletion(-) create mode 100644 meta-luv/recipes-core/initscripts/initscripts/luv-crash-handler diff --git a/meta-luv/recipes-core/initscripts/initscripts/luv-crash-handler b/meta-luv/recipes-core/initscripts/initscripts/luv-crash-handler new file mode 100644 index 00000000000..41c7a7ec5d6 --- /dev/null +++ b/meta-luv/recipes-core/initscripts/initscripts/luv-crash-handler @@ -0,0 +1,52 @@ +# +# Copyright 2014 Intel Corporation; author Ricardo Neri +# +# The crash handler provides a safety net to LuvOS in case there is a kernel +# crash while running the tests. It will make preparations to reboot the +# system with kexec and dump all the available crash information in the +# recovery boot. + +# In regular boot, we prepare the recovery kernel and initrd image. These images +# are obtained from a disk partition identified by its UUID. Behavior changes +# according to the runlevel. + +FIFO="/mnt/.psplash/psplash_fifo" +psplash_write() { + if [ -e $FIFO ]; then + echo $1 > $FIFO + fi +} + +runl=`runlevel` +# If we are in runlevel 5, we are on a regular boot and we only have to +# prepare everything in case there is a kernel crash in the future. +if [[ $runl == *5* ]]; then + # Not all disks may be ready to mount at this moment. + # Thus, we need to wait for them. + psplash_write "MSG Preparing crash handler..." + for n in 0 25 50 75 100 + do + psplash_write "PROGRESS $n" + sleep 1 + done + + LUV_BOOT_PARTITION=/mnt/boot/ + LUV_BOOT_PARTITION_UUID=423C-C2C8 + LUV_DISK_DEVICE=/dev/disk/by-uuid/${LUV_BOOT_PARTITION_UUID} + + mkdir -p ${LUV_BOOT_PARTITION} + if [ $? -eq 0 ]; then + mount ${LUV_DISK_DEVICE} ${LUV_BOOT_PARTITION} + if [ $? -eq 0 ]; then + kexec -p --initrd=${LUV_BOOT_PARTITION}initrd --append="noluv 3 \ + irqpoll maxcpus=1 reset_devices" ${LUV_BOOT_PARTITION}vmlinuz + umount ${LUV_BOOT_PARTITION} + fi + fi +fi + +# If we are in runlevel 3, we just recovered from a crash. We need to dump +# the /proc/vmcore file. +if [[ $runl == *3* ]]; then + echo Please copy the file /proc/vmcore to your non-volatile media. +fi diff --git a/meta-luv/recipes-core/initscripts/initscripts_1.0.bbappend b/meta-luv/recipes-core/initscripts/initscripts_1.0.bbappend index cf10c8e2c82..871fadb3e48 100644 --- a/meta-luv/recipes-core/initscripts/initscripts_1.0.bbappend +++ b/meta-luv/recipes-core/initscripts/initscripts_1.0.bbappend @@ -1,6 +1,7 @@ FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" -SRC_URI += "file://luv-test-manager file://luv-test-parser" +SRC_URI += "file://luv-test-manager file://luv-test-parser \ + file://luv-crash-handler" do_install_append() { install -m 755 ${WORKDIR}/luv-test-manager ${D}${sysconfdir}/init.d/ @@ -13,4 +14,9 @@ do_install_append() { install -m 755 ${WORKDIR}/luv-test-parser \ ${D}${sysconfdir}/luv/parsers/test-manager + + install -m 755 ${WORKDIR}/luv-crash-handler ${D}${sysconfdir}/init.d/ + + # Create runlevel link for the crash handler + update-rc.d -r ${D} luv-crash-handler start 98 3 5 . } From af66ed38bad4337c1a639a8932733b2e7eddea12 Mon Sep 17 00:00:00 2001 From: Matt Fleming Date: Sat, 7 Jun 2014 14:14:46 +0100 Subject: [PATCH 607/658] Revert "core-image-efi-initramfs: Add chipsec test" This reverts commit fcdb6a8c43159704ba16fe1c56a045fa53053180. The chipsec tests cause one of my test machines to lockup. It's highly likely that other people will experience similar issues. The fact that the tests cause lockup isn't the biggest problem, it's that there's absolutely zero diagnostic information provided to the user, so they've no data to report other than "my machine freezes". Disable the tests for now until we can provide useful ways of diagnosing lockups. Signed-off-by: Matt Fleming --- meta-luv/recipes-core/images/core-image-efi-initramfs.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-luv/recipes-core/images/core-image-efi-initramfs.bb b/meta-luv/recipes-core/images/core-image-efi-initramfs.bb index fa61cc382ad..8b244c9ecba 100644 --- a/meta-luv/recipes-core/images/core-image-efi-initramfs.bb +++ b/meta-luv/recipes-core/images/core-image-efi-initramfs.bb @@ -7,7 +7,7 @@ IMAGE_INSTALL = "\ kexec-tools kernel-image fwts bash coreutils gawk grep util-linux-agetty \ util-linux-mount util-linux-umount kmod sed tar net-tools \ shadow util-linux procps efivarfs-test \ - psplash chipsec \ + psplash \ " export IMAGE_BASENAME = "core-image-efi-initramfs" From ee3e1313cde477bc3fb1b7f3b8280534f8f4aded Mon Sep 17 00:00:00 2001 From: Rakesh Seethamsetty Date: Mon, 30 Jun 2014 21:17:18 -0700 Subject: [PATCH 608/658] recipes-bsp: Add biosbits recipe This recipe will help to run the bios tests suites, supported by biosbits in auto mode, the recipe also contains a configuration file which allows the tests to run in automated mode. Signed-off-by: Rakesh Seethamsetty Signed-off-by: Matt Fleming --- meta-luv/recipes-bsp/bits/bits.bb | 67 +++++++++++++++++++++ meta-luv/recipes-bsp/bits/bits/bits-cfg.txt | 3 + 2 files changed, 70 insertions(+) create mode 100644 meta-luv/recipes-bsp/bits/bits.bb create mode 100644 meta-luv/recipes-bsp/bits/bits/bits-cfg.txt diff --git a/meta-luv/recipes-bsp/bits/bits.bb b/meta-luv/recipes-bsp/bits/bits.bb new file mode 100644 index 00000000000..6d4223b4fdc --- /dev/null +++ b/meta-luv/recipes-bsp/bits/bits.bb @@ -0,0 +1,67 @@ + +SUMMARY = "BIOSBits is a test suite that runs UEFI BIOS tests." + +DESCRIPTION = " The Intel BIOS Implementation Test Suite (BITS) provides a bootable \ +pre-OS environment for testing BIOSes and in particular their initialization \ +of Intel processors, hardware, and technologies. BITS can verify your BIOS \ +against many Intel recommendations. In addition, BITS includes Intel's \ +official reference code as provided to BIOS, which you can use to override \ +your BIOS's hardware initialization with a known-good configuration, and then boot an OS." + +# Home Page +HOMEPAGE = "http://biosbits.org/" + +#License +LICENSE = "GPLv3" +LIC_FILES_CHKSUM = "file://boot/COPYING;md5=71a9ec458a3c65c2bfb461b227ef3049" + +PV="1084" + +inherit autotools +inherit deploy + +#Pointing to the source bios bits +SRC_URI = "http://biosbits.org/downloads/${BPN}-${PV}.zip \ + file://bits-cfg.txt \ + " + +SRC_URI[md5sum] = "57e1b689264ea80f78353519eece0c92" +SRC_URI[sha256sum] = "7905ff96be93d725544d0040e425c42f9c05580db3c272f11cff75b9aa89d430" + +S = "${WORKDIR}/bits-1084" + +EXTRA_OECONF = "--disable-manpages --with-efi-includedir=${STAGING_INCDIR} \ + --with-efi-ldsdir=${STAGING_LIBDIR} \ + --with-efi-libdir=${STAGING_LIBDIR}" + + +COMPATIBLE_HOST = '(x86_64.*|i.86.*)-(linux|freebsd.*)' + +# Determine the target arch for the bios modules before the native class +# clobbers TARGET_ARCH. + +ORIG_TARGET_ARCH := "${TARGET_ARCH}" +python __anonymous () { + import re + target = d.getVar('ORIG_TARGET_ARCH', True) + if target == "x86_64": + bitstarget = 'x86_64' + elif re.match('i.86', target): + bitstarget = 'i386' + else: + raise bb.parse.SkipPackage("bios-efi is incompatible with target %s" % target) + +} + +do_deploy() { + + install -d ${DEPLOYDIR}/bits + + cp -r ${B}/boot/ ${DEPLOYDIR}/bits/ +} + + +addtask deploy before do_build after do_compile + +do_install[noexec] = "1" +do_populate_sysroot[noexec] = "1" diff --git a/meta-luv/recipes-bsp/bits/bits/bits-cfg.txt b/meta-luv/recipes-bsp/bits/bits/bits-cfg.txt new file mode 100644 index 00000000000..8d10d9a4822 --- /dev/null +++ b/meta-luv/recipes-bsp/bits/bits/bits-cfg.txt @@ -0,0 +1,3 @@ + +#Enabling auto mode +batch = test acpi smbios From ce0a5fb829eea63fdf546dde26226b62f0a8ec5f Mon Sep 17 00:00:00 2001 From: Ricardo Neri Date: Fri, 11 Jul 2014 18:32:59 -0700 Subject: [PATCH 609/658] kexec-tools: Remove unneeded patches All these patches have been merged into the most recent version of kexec-tools. Thus, we do not need them anymore. Signed-off-by: Ricardo Neri Signed-off-by: Matt Fleming --- .../kexec/kexec-tools/0001-build-fix.patch | 36 --- .../0002-add-function-getbootparam.patch | 96 ------ .../kexec/kexec-tools/0003-add-efi-info.patch | 133 --------- .../0004-passing-efi-related-data.patch | 279 ------------------ .../recipes-kernel/kexec/kexec-tools_git.bb | 28 -- 5 files changed, 572 deletions(-) delete mode 100644 meta-luv/recipes-kernel/kexec/kexec-tools/0001-build-fix.patch delete mode 100644 meta-luv/recipes-kernel/kexec/kexec-tools/0002-add-function-getbootparam.patch delete mode 100644 meta-luv/recipes-kernel/kexec/kexec-tools/0003-add-efi-info.patch delete mode 100644 meta-luv/recipes-kernel/kexec/kexec-tools/0004-passing-efi-related-data.patch delete mode 100644 meta-luv/recipes-kernel/kexec/kexec-tools_git.bb diff --git a/meta-luv/recipes-kernel/kexec/kexec-tools/0001-build-fix.patch b/meta-luv/recipes-kernel/kexec/kexec-tools/0001-build-fix.patch deleted file mode 100644 index f34bed2a33e..00000000000 --- a/meta-luv/recipes-kernel/kexec/kexec-tools/0001-build-fix.patch +++ /dev/null @@ -1,36 +0,0 @@ -From: Dave Young -To: kexec@lists.infradead.org -Cc: linux-efi@vger.kernel.org, x86@kernel.org, mjg59@srcf.ucam.org, - hpa@zytor.com, James.Bottomley@HansenPartnership.com, vgoyal@redhat.com, - ebiederm@xmission.com, horms@verge.net.au, bp@alien8.de, greg@kroah.com, - matt@console-pimps.org, toshi.kani@hp.com -Subject: [PATCH v4 1/4] build fix: include x86-linux.h in x86-linux-setup.h -Date: Fri, 20 Dec 2013 18:05:44 +0800 -MIME-Version: 1.0 -Content-Transfer-Encoding: 8bit -Content-Type: text/plain; charset=utf-8 - -There's build warnings about using struct x86_linux_param_header * -in x86-linux-setup.h, it is declared in x86-linux.h - -Fix it by include x86-linux.h in x86-linux-setup.h - -Signed-off-by: Dave Young ---- - kexec/arch/i386/x86-linux-setup.h | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/kexec/arch/i386/x86-linux-setup.h b/kexec/arch/i386/x86-linux-setup.h -index 09aed4d..2afe97c 100644 ---- a/kexec/arch/i386/x86-linux-setup.h -+++ b/kexec/arch/i386/x86-linux-setup.h -@@ -1,5 +1,6 @@ - #ifndef X86_LINUX_SETUP_H - #define X86_LINUX_SETUP_H -+#include - - void init_linux_parameters(struct x86_linux_param_header *real_mode); - void setup_linux_bootloader_parameters_high( --- -1.8.3.1 - diff --git a/meta-luv/recipes-kernel/kexec/kexec-tools/0002-add-function-getbootparam.patch b/meta-luv/recipes-kernel/kexec/kexec-tools/0002-add-function-getbootparam.patch deleted file mode 100644 index 65010e75cd3..00000000000 --- a/meta-luv/recipes-kernel/kexec/kexec-tools/0002-add-function-getbootparam.patch +++ /dev/null @@ -1,96 +0,0 @@ -From: Dave Young -To: kexec@lists.infradead.org -Cc: linux-efi@vger.kernel.org, x86@kernel.org, mjg59@srcf.ucam.org, - hpa@zytor.com, James.Bottomley@HansenPartnership.com, vgoyal@redhat.com, - ebiederm@xmission.com, horms@verge.net.au, bp@alien8.de, greg@kroah.com, - matt@console-pimps.org, toshi.kani@hp.com -Subject: [PATCH v4 2/4] Add function get_bootparam -Date: Fri, 20 Dec 2013 18:05:45 +0800 -MIME-Version: 1.0 -Content-Transfer-Encoding: 8bit -Content-Type: text/plain; charset=utf-8 - -Not only setup_subarch will get data from debugfs file -boot_params/data, later code for adding efi_info will -also need do same thing. Thus add a common function here -for later use. - -v1->v2: make get_bootparam() static -v2->v3: return error code when get_bootparam fails because - later patch to collect efi runtime maps will not - necessary if get_bootparam fails. - switch to use /sys/kernel/boot_params if possible. - return error code for later use in setup_efi_info. - -Signed-off-by: Dave Young ---- - kexec/arch/i386/x86-linux-setup.c | 42 +++++++++++++++++++++++++++++---------- - 1 file changed, 31 insertions(+), 11 deletions(-) - -diff --git a/kexec/arch/i386/x86-linux-setup.c b/kexec/arch/i386/x86-linux-setup.c -index 454fad6..7b4c65d 100644 ---- a/kexec/arch/i386/x86-linux-setup.c -+++ b/kexec/arch/i386/x86-linux-setup.c -@@ -436,28 +436,48 @@ char *find_mnt_by_fsname(char *fsname) - return mntdir; - } - --void setup_subarch(struct x86_linux_param_header *real_mode) -+static int get_bootparam(void *buf, off_t offset, size_t size) - { - int data_file; -- const off_t offset = offsetof(typeof(*real_mode), hardware_subarch); -- char *debugfs_mnt; -+ char *debugfs_mnt, *sysfs_mnt; - char filename[PATH_MAX]; -+ int err, has_sysfs_params = 0; -+ -+ sysfs_mnt = find_mnt_by_fsname("sysfs"); -+ if (sysfs_mnt) { -+ snprintf(filename, PATH_MAX, "%s/%s", sysfs_mnt, -+ "kernel/boot_params/data"); -+ free(sysfs_mnt); -+ err = access(filename, F_OK); -+ if (!err) -+ has_sysfs_params = 1; -+ } - -- debugfs_mnt = find_mnt_by_fsname("debugfs"); -- if (!debugfs_mnt) -- return; -- snprintf(filename, PATH_MAX, "%s/%s", debugfs_mnt, "boot_params/data"); -- filename[PATH_MAX-1] = 0; -- free(debugfs_mnt); -+ if (!has_sysfs_params) { -+ debugfs_mnt = find_mnt_by_fsname("debugfs"); -+ if (!debugfs_mnt) -+ return 1; -+ snprintf(filename, PATH_MAX, "%s/%s", debugfs_mnt, -+ "boot_params/data"); -+ free(debugfs_mnt); -+ } - - data_file = open(filename, O_RDONLY); - if (data_file < 0) -- return; -+ return 1; - if (lseek(data_file, offset, SEEK_SET) < 0) - goto close; -- read(data_file, &real_mode->hardware_subarch, sizeof(uint32_t)); -+ read(data_file, buf, size); - close: - close(data_file); -+ return 0; -+} -+ -+void setup_subarch(struct x86_linux_param_header *real_mode) -+{ -+ off_t offset = offsetof(typeof(*real_mode), hardware_subarch); -+ -+ get_bootparam(&real_mode->hardware_subarch, offset, sizeof(uint32_t)); - } - - void setup_linux_system_parameters(struct kexec_info *info, --- -1.8.3.1 - diff --git a/meta-luv/recipes-kernel/kexec/kexec-tools/0003-add-efi-info.patch b/meta-luv/recipes-kernel/kexec/kexec-tools/0003-add-efi-info.patch deleted file mode 100644 index b2a339f7546..00000000000 --- a/meta-luv/recipes-kernel/kexec/kexec-tools/0003-add-efi-info.patch +++ /dev/null @@ -1,133 +0,0 @@ -From: Dave Young -To: kexec@lists.infradead.org -Cc: linux-efi@vger.kernel.org, x86@kernel.org, mjg59@srcf.ucam.org, - hpa@zytor.com, James.Bottomley@HansenPartnership.com, vgoyal@redhat.com, - ebiederm@xmission.com, horms@verge.net.au, bp@alien8.de, greg@kroah.com, - matt@console-pimps.org, toshi.kani@hp.com -Subject: [PATCH v4 3/4] Add efi_info in x86 setup header -Date: Fri, 20 Dec 2013 18:05:46 +0800 -MIME-Version: 1.0 -Content-Transfer-Encoding: 8bit -Content-Type: text/plain; charset=utf-8 - -For supporting efi runtime on kexec kernel we need to -fill the efi_info struct in setup_header. I just get -the info in kernel exported boot_params data in debugfs. - -v1->v2: -update comment for offset of reserved4_1[] in x87_linux_param_header -Address comment from mjg59: do not break old kernel when use newer kexec-tools. - add checking for xloadflags bit 4 XLF_EFI_KEXEC. Only fill - efi_info and pass acpi_rsdp when the kexec kernel support efi boot. -coding style fix, change internal function to be static - -Signed-off-by: Dave Young ---- - include/x86/x86-linux.h | 3 ++- - kexec/arch/i386/crashdump-x86.c | 4 +++- - kexec/arch/i386/x86-linux-setup.c | 9 +++++++++ - kexec/arch/i386/x86-linux-setup.h | 1 + - kexec/arch/x86_64/kexec-bzImage64.c | 6 ++++++ - 5 files changed, 21 insertions(+), 2 deletions(-) - -diff --git a/include/x86/x86-linux.h b/include/x86/x86-linux.h -index c41e5f2..50c7324 100644 ---- a/include/x86/x86-linux.h -+++ b/include/x86/x86-linux.h -@@ -113,7 +113,8 @@ struct x86_linux_param_header { - uint32_t ext_ramdisk_image; /* 0xc0 */ - uint32_t ext_ramdisk_size; /* 0xc4 */ - uint32_t ext_cmd_line_ptr; /* 0xc8 */ -- uint8_t reserved4_1[0x1e0 - 0xcc]; /* 0xcc */ -+ uint8_t reserved4_1[0x1c0 - 0xcc]; /* 0xe4 */ -+ uint8_t efi_info[32]; /* 0x1c0 */ - uint32_t alt_mem_k; /* 0x1e0 */ - uint8_t reserved5[4]; /* 0x1e4 */ - uint8_t e820_map_nr; /* 0x1e8 */ -diff --git a/kexec/arch/i386/crashdump-x86.c b/kexec/arch/i386/crashdump-x86.c -index ca98165..53bd077 100644 ---- a/kexec/arch/i386/crashdump-x86.c -+++ b/kexec/arch/i386/crashdump-x86.c -@@ -41,6 +41,7 @@ - #include "../../crashdump.h" - #include "kexec-x86.h" - #include "crashdump-x86.h" -+#include "x86-linux-setup.h" - - #ifdef HAVE_LIBXENCTRL - #include -@@ -935,7 +936,8 @@ int load_crashdump_segments(struct kexec_info *info, char* mod_cmdline, - if (delete_memmap(memmap_p, elfcorehdr, memsz) < 0) - return -1; - cmdline_add_memmap(mod_cmdline, memmap_p); -- cmdline_add_efi(mod_cmdline); -+ if (!bzImage_support_efi_boot) -+ cmdline_add_efi(mod_cmdline); - cmdline_add_elfcorehdr(mod_cmdline, elfcorehdr); - - /* Inform second kernel about the presence of ACPI tables. */ -diff --git a/kexec/arch/i386/x86-linux-setup.c b/kexec/arch/i386/x86-linux-setup.c -index 7b4c65d..38bd9dd 100644 ---- a/kexec/arch/i386/x86-linux-setup.c -+++ b/kexec/arch/i386/x86-linux-setup.c -@@ -480,6 +480,13 @@ void setup_subarch(struct x86_linux_param_header *real_mode) - get_bootparam(&real_mode->hardware_subarch, offset, sizeof(uint32_t)); - } - -+static void setup_efi_info(struct x86_linux_param_header *real_mode) -+{ -+ off_t offset = offsetof(typeof(*real_mode), efi_info); -+ -+ get_bootparam(&real_mode->efi_info, offset, 32); -+} -+ - void setup_linux_system_parameters(struct kexec_info *info, - struct x86_linux_param_header *real_mode) - { -@@ -489,6 +496,8 @@ void setup_linux_system_parameters(struct kexec_info *info, - - /* get subarch from running kernel */ - setup_subarch(real_mode); -+ if (bzImage_support_efi_boot) -+ setup_efi_info(real_mode); - - /* Default screen size */ - real_mode->orig_x = 0; -diff --git a/kexec/arch/i386/x86-linux-setup.h b/kexec/arch/i386/x86-linux-setup.h -index 2afe97c..6fb84b4 100644 ---- a/kexec/arch/i386/x86-linux-setup.h -+++ b/kexec/arch/i386/x86-linux-setup.h -@@ -29,5 +29,6 @@ void setup_linux_system_parameters(struct kexec_info *info, - - /* command line parameter may be appended by purgatory */ - #define PURGATORY_CMDLINE_SIZE 64 -+extern int bzImage_support_efi_boot; - - #endif /* X86_LINUX_SETUP_H */ -diff --git a/kexec/arch/x86_64/kexec-bzImage64.c b/kexec/arch/x86_64/kexec-bzImage64.c -index a7b9f15..1983bcf 100644 ---- a/kexec/arch/x86_64/kexec-bzImage64.c -+++ b/kexec/arch/x86_64/kexec-bzImage64.c -@@ -42,6 +42,7 @@ - #include - - static const int probe_debug = 0; -+int bzImage_support_efi_boot; - - int bzImage64_probe(const char *buf, off_t len) - { -@@ -82,6 +83,11 @@ int bzImage64_probe(const char *buf, off_t len) - /* Must be KERNEL_64 and CAN_BE_LOADED_ABOVE_4G */ - return -1; - } -+ -+#define XLF_EFI_KEXEC (1 << 4) -+ if ((header->xloadflags & XLF_EFI_KEXEC) == XLF_EFI_KEXEC) -+ bzImage_support_efi_boot = 1; -+ - /* I've got a relocatable bzImage64 */ - if (probe_debug) - fprintf(stderr, "It's a relocatable bzImage64\n"); --- -1.8.3.1 - diff --git a/meta-luv/recipes-kernel/kexec/kexec-tools/0004-passing-efi-related-data.patch b/meta-luv/recipes-kernel/kexec/kexec-tools/0004-passing-efi-related-data.patch deleted file mode 100644 index e264da9ef92..00000000000 --- a/meta-luv/recipes-kernel/kexec/kexec-tools/0004-passing-efi-related-data.patch +++ /dev/null @@ -1,279 +0,0 @@ -From: Dave Young -To: kexec@lists.infradead.org -Cc: linux-efi@vger.kernel.org, x86@kernel.org, mjg59@srcf.ucam.org, - hpa@zytor.com, James.Bottomley@HansenPartnership.com, vgoyal@redhat.com, - ebiederm@xmission.com, horms@verge.net.au, bp@alien8.de, greg@kroah.com, - matt@console-pimps.org, toshi.kani@hp.com -Subject: [PATCH v4 4/4] Passing efi related data via setup_data -Date: Fri, 20 Dec 2013 18:05:47 +0800 -MIME-Version: 1.0 -Content-Transfer-Encoding: 8bit -Content-Type: text/plain; charset=utf-8 - -For supporting efi runtime, several efi physical addresses -fw_vendor, runtime, config tables, smbios and the whole runtime -mapping info need to be used in kexec kernel. Thus introduce -setup_data struct for passing these data. - -collect the varialbes from /sys/firmware/efi/systab and -/sys/firmware/efi/runtime-map - -Tested on qemu+ovmf, dell laptop, lenovo laptop and HP workstation. - -v1->v2: -HPA: use uint*_t instead of __uint*_t -Simon: indention fix; fix a memory leak -move offset change update to previous patch in setup header -only passing setup_data when the bzImage support efi boot -Vivek: export a value in bzImage probe so it can be used - to check if we should pass acpi_rsdp. -coding style - -v2->v3: -code cleanup -bail out if efi mm desc_version != 1 -bhe: define macro for SETUP_EFI - break loop if find matched string in systab. - -v3->v4: -patch04: - update memmap in efi_info to the saved runtime map - So kernel side can iterate them as normal boot. - -Signed-off-by: Dave Young ---- - kexec/arch/i386/x86-linux-setup.c | 201 +++++++++++++++++++++++++++++++++++++- - 1 file changed, 198 insertions(+), 3 deletions(-) - -diff --git a/kexec/arch/i386/x86-linux-setup.c b/kexec/arch/i386/x86-linux-setup.c -index 38bd9dd..b8000b2 100644 ---- a/kexec/arch/i386/x86-linux-setup.c -+++ b/kexec/arch/i386/x86-linux-setup.c -@@ -36,6 +36,8 @@ - #include "x86-linux-setup.h" - #include "../../kexec/kexec-syscall.h" - -+#define SETUP_EFI 4 -+ - void init_linux_parameters(struct x86_linux_param_header *real_mode) - { - /* Fill in the values that are usually provided by the kernel. */ -@@ -480,11 +482,204 @@ void setup_subarch(struct x86_linux_param_header *real_mode) - get_bootparam(&real_mode->hardware_subarch, offset, sizeof(uint32_t)); - } - --static void setup_efi_info(struct x86_linux_param_header *real_mode) -+struct efi_mem_descriptor { -+ uint32_t type; -+ uint32_t pad; -+ uint64_t phys_addr; -+ uint64_t virt_addr; -+ uint64_t num_pages; -+ uint64_t attribute; -+}; -+ -+struct efi_setup_data { -+ uint64_t fw_vendor; -+ uint64_t runtime; -+ uint64_t tables; -+ uint64_t smbios; -+ uint64_t reserved[8]; -+ struct efi_mem_descriptor map[0]; -+}; -+ -+struct setup_data { -+ uint64_t next; -+ uint32_t type; -+ uint32_t len; -+ uint8_t data[0]; -+} __attribute__((packed)); -+ -+static int __get_efi_value(char *line, const char *pattern, uint64_t *val) -+{ -+ char *s, *end; -+ s = strstr(line, pattern); -+ if (s) -+ *val = strtoull(s + strlen(pattern), &end, 16); -+ -+ if (!s || *val == ULONG_MAX) -+ return 1; -+ return 0; -+} -+ -+static void _get_efi_value(const char *filename, -+ const char *pattern, uint64_t *val) - { -+ FILE *fp; -+ char line[1024]; -+ int ret; -+ -+ fp = fopen(filename, "r"); -+ if (!fp) -+ return; -+ -+ while (fgets(line, sizeof(line), fp) != 0) { -+ ret = __get_efi_value(line, pattern, val); -+ if (!ret) -+ break; -+ } -+ -+ fclose(fp); -+} -+ -+static void get_efi_values(struct efi_setup_data *esd) -+{ -+ _get_efi_value("/sys/firmware/efi/systab", "SMBIOS=0x", -+ &esd->smbios); -+ _get_efi_value("/sys/firmware/efi/fw_vendor", "0x", -+ &esd->fw_vendor); -+ _get_efi_value("/sys/firmware/efi/runtime", "0x", -+ &esd->runtime); -+ _get_efi_value("/sys/firmware/efi/config_table", "0x", -+ &esd->tables); -+} -+ -+static int get_efi_runtime_map(struct efi_setup_data **esd) -+{ -+ DIR *dirp; -+ struct dirent *entry; -+ char filename[1024]; -+ struct efi_mem_descriptor md; -+ int nr_maps = 0; -+ -+ dirp = opendir("/sys/firmware/efi/runtime-map"); -+ if (!dirp) -+ return 0; -+ while ((entry = readdir(dirp)) != NULL) { -+ sprintf(filename, -+ "/sys/firmware/efi/runtime-map/%s", -+ (char *)entry->d_name); -+ if (*entry->d_name == '.') -+ continue; -+ file_scanf(filename, "type", "0x%x", (unsigned int *)&md.type); -+ file_scanf(filename, "phys_addr", "0x%llx", -+ (unsigned long long *)&md.phys_addr); -+ file_scanf(filename, "virt_addr", "0x%llx", -+ (unsigned long long *)&md.virt_addr); -+ file_scanf(filename, "num_pages", "0x%llx", -+ (unsigned long long *)&md.num_pages); -+ file_scanf(filename, "attribute", "0x%llx", -+ (unsigned long long *)&md.attribute); -+ *esd = realloc(*esd, sizeof(struct efi_setup_data) + -+ (nr_maps + 1) * sizeof(struct efi_mem_descriptor)); -+ *((*esd)->map + nr_maps) = md; -+ nr_maps++; -+ } -+ -+ closedir(dirp); -+ return nr_maps; -+} -+ -+struct efi_info { -+ uint32_t efi_loader_signature; -+ uint32_t efi_systab; -+ uint32_t efi_memdesc_size; -+ uint32_t efi_memdesc_version; -+ uint32_t efi_memmap; -+ uint32_t efi_memmap_size; -+ uint32_t efi_systab_hi; -+ uint32_t efi_memmap_hi; -+}; -+ -+ -+static int setup_efi_setup_data(struct kexec_info *info, -+ struct x86_linux_param_header *real_mode) -+{ -+ int nr_maps; -+ int64_t setup_data_paddr; -+ struct setup_data *sd; -+ struct efi_setup_data *esd; -+ int size, sdsize; -+ int has_efi = 0; -+ struct efi_info *ei = (struct efi_info *)real_mode->efi_info; -+ -+ has_efi = access("/sys/firmware/efi/systab", F_OK); -+ if (has_efi < 0) -+ return 1; -+ -+ esd = malloc(sizeof(struct efi_setup_data)); -+ if (!esd) -+ return 1; -+ memset(esd, 0, sizeof(struct efi_setup_data)); -+ get_efi_values(esd); -+ nr_maps = get_efi_runtime_map(&esd); -+ if (!nr_maps) { -+ free(esd); -+ return 1; -+ } -+ size = nr_maps * sizeof(struct efi_mem_descriptor) + -+ sizeof(struct efi_setup_data); -+ sd = malloc(sizeof(struct setup_data) + size); -+ if (!sd) { -+ free(esd); -+ return 1; -+ } -+ -+ memset(sd, 0, sizeof(struct setup_data) + size); -+ sd->next = 0; -+ sd->type = SETUP_EFI; -+ sd->len = size; -+ memcpy(sd->data, esd, size); -+ free(esd); -+ sdsize = sd->len + sizeof(struct setup_data); -+ setup_data_paddr = add_buffer(info, sd, sdsize, sdsize, getpagesize(), -+ 0x100000, ULONG_MAX, INT_MAX); -+ -+ real_mode->setup_data = setup_data_paddr; -+ -+ ei->efi_memmap = real_mode->setup_data + sizeof(struct setup_data) + -+ sizeof(struct efi_setup_data); -+ ei->efi_memmap_size = nr_maps * sizeof(struct efi_mem_descriptor); -+ ei->efi_memdesc_size = sizeof(struct efi_mem_descriptor); -+ -+ return 0; -+} -+ -+static int -+get_efi_mem_desc_version(struct x86_linux_param_header *real_mode) -+{ -+ struct efi_info *ei = (struct efi_info *)real_mode->efi_info; -+ -+ return ei->efi_memdesc_version; -+} -+ -+static void setup_efi_info(struct kexec_info *info, -+ struct x86_linux_param_header *real_mode) -+{ -+ int ret, desc_version; - off_t offset = offsetof(typeof(*real_mode), efi_info); - -- get_bootparam(&real_mode->efi_info, offset, 32); -+ ret = get_bootparam(&real_mode->efi_info, offset, 32); -+ if (ret) -+ return; -+ desc_version = get_efi_mem_desc_version(real_mode); -+ if (desc_version != 1) { -+ fprintf(stderr, -+ "efi memory descriptor version %d is not supported!\n", -+ desc_version); -+ memset(&real_mode->efi_info, 0, 32); -+ return; -+ } -+ ret = setup_efi_setup_data(info, real_mode); -+ if (ret) -+ memset(&real_mode->efi_info, 0, 32); - } - - void setup_linux_system_parameters(struct kexec_info *info, -@@ -497,7 +692,7 @@ void setup_linux_system_parameters(struct kexec_info *info, - /* get subarch from running kernel */ - setup_subarch(real_mode); - if (bzImage_support_efi_boot) -- setup_efi_info(real_mode); -+ setup_efi_info(info, real_mode); - - /* Default screen size */ - real_mode->orig_x = 0; --- -1.8.3.1 - diff --git a/meta-luv/recipes-kernel/kexec/kexec-tools_git.bb b/meta-luv/recipes-kernel/kexec/kexec-tools_git.bb deleted file mode 100644 index 9bb51213846..00000000000 --- a/meta-luv/recipes-kernel/kexec/kexec-tools_git.bb +++ /dev/null @@ -1,28 +0,0 @@ -# Should really try and find some way to share this. - -SUMMARY = "Kexec fast reboot tools" -DESCRIPTION = "Kexec is a fast reboot feature that lets you reboot to a new Linux kernel" -AUTHOR = "Eric Biederman" -HOMEPAGE = "http://kernel.org/pub/linux/utils/kernel/kexec/" -SECTION = "kernel/userland" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=ea5bed2f60d357618ca161ad539f7c0a \ - file://kexec/kexec.c;beginline=1;endline=20;md5=af10f6ae4a8715965e648aa687ad3e09" -DEPENDS = "zlib xz" - -SRC_URI = "git://git.kernel.org/pub/scm/utils/kernel/kexec/kexec-tools.git;protocol=git" - -SRCREV="${AUTOREV}" - -S = "${WORKDIR}/git" - -inherit autotools - -#COMPATIBLE_HOST = '(x86_64.*|i.86.*|arm.*|powerpc.*|mips.*)-(linux|freebsd.*)' - -PACKAGES += "kexec kdump" - -FILES_kexec = "${sbindir}/kexec" -FILES_kdump = "${sbindir}/kdump" - -INSANE_SKIP_${PN} = "arch" From d19c37c16ffc5d883f5805141bd9e48eac161e28 Mon Sep 17 00:00:00 2001 From: Ricardo Neri Date: Fri, 11 Jul 2014 18:34:00 -0700 Subject: [PATCH 610/658] kexec-tools: Update to 2.0.7 Due to the following change in the Linux kernel, commit 62e32ac3505a0cab1c5ef8ea2c0eab3b26ed855f Author: Joe Perches Date: Wed Jul 31 13:53:47 2013 -0700 printk: rename struct log to struct printk_log Only version 2.0.7 or later of vmcore-dmesg may be used correctly parse the dmesg buffer. Thus, in order to have tighter control on the version, use a recipe that explicitly selects the desired version. Signed-off-by: Ricardo Neri Signed-off-by: Matt Fleming --- .../kexec/{kexec-tools_2.0.4.bb => kexec-tools_2.0.7.bb} | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) rename meta/recipes-kernel/kexec/{kexec-tools_2.0.4.bb => kexec-tools_2.0.7.bb} (57%) diff --git a/meta/recipes-kernel/kexec/kexec-tools_2.0.4.bb b/meta/recipes-kernel/kexec/kexec-tools_2.0.7.bb similarity index 57% rename from meta/recipes-kernel/kexec/kexec-tools_2.0.4.bb rename to meta/recipes-kernel/kexec/kexec-tools_2.0.7.bb index de44cf0c74a..6ab60ab9b1a 100644 --- a/meta/recipes-kernel/kexec/kexec-tools_2.0.4.bb +++ b/meta/recipes-kernel/kexec/kexec-tools_2.0.7.bb @@ -2,8 +2,8 @@ require kexec-tools.inc export LDFLAGS = "-L${STAGING_LIBDIR}" EXTRA_OECONF = " --with-zlib=yes" -SRC_URI[md5sum] = "b9f2a3ba0ba9c78625ee7a50532500d8" -SRC_URI[sha256sum] = "6ba1872c58434b8e92506ff515c7ef64555671af54097bae51b833bda3f5126c" +SRC_URI[md5sum] = "2309ba43981cb6d39d07ac3a9aac30ab" +SRC_URI[sha256sum] = "dde5c38be39882c6c91f0129647349c4e1943b077d3020af1970b481ee954eb0" PACKAGES =+ "kexec kdump" From 4b3f5218272c73da5ed6603c62547a99de0a56dd Mon Sep 17 00:00:00 2001 From: Ricardo Neri Date: Fri, 11 Jul 2014 18:26:43 -0700 Subject: [PATCH 611/658] kexec-tools: Create separate package for vmcore-dmesg The kexec-tools recipe specifies separate packages for kexec and kdump. Thus, it follows that a separate package needs to be used to install vmcore-dmesg correctly. Signed-off-by: Ricardo Neri Signed-off-by: Matt Fleming --- meta/recipes-kernel/kexec/kexec-tools_2.0.7.bb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/meta/recipes-kernel/kexec/kexec-tools_2.0.7.bb b/meta/recipes-kernel/kexec/kexec-tools_2.0.7.bb index 6ab60ab9b1a..0ac5e5f98c7 100644 --- a/meta/recipes-kernel/kexec/kexec-tools_2.0.7.bb +++ b/meta/recipes-kernel/kexec/kexec-tools_2.0.7.bb @@ -5,7 +5,8 @@ EXTRA_OECONF = " --with-zlib=yes" SRC_URI[md5sum] = "2309ba43981cb6d39d07ac3a9aac30ab" SRC_URI[sha256sum] = "dde5c38be39882c6c91f0129647349c4e1943b077d3020af1970b481ee954eb0" -PACKAGES =+ "kexec kdump" +PACKAGES =+ "kexec kdump vmcore-dmesg" FILES_kexec = "${sbindir}/kexec" FILES_kdump = "${sbindir}/kdump" +FILES_vmcore-dmesg = "${sbindir}/vmcore-dmesg" From bd813c3bbf7b1df4bfdd1eee73df8f6bd4e9d043 Mon Sep 17 00:00:00 2001 From: Ricardo Neri Date: Mon, 23 Jun 2014 16:14:33 -0700 Subject: [PATCH 612/658] core-image-efi-initramfs: Explicitly install kexec and vmcore-dmesg Change commit 0c91196fcbb953393b3e2f5623b1edc5b40aa445 Author: Andrea Adami Date: Mon Jan 9 23:46:13 2012 +0100 explicitly splits the packages for kexec and kdump. Thus, rather than generically install kexec-tools. State explicitly which tools need to be installed. kexec is needed to reboot a Linux kernel from Linux. vmcore-dmesg is needed to extract the dmesg buffer from the /proc/vmcore dump file. Signed-off-by: Ricardo Neri Signed-off-by: Matt Fleming --- meta-luv/recipes-core/images/core-image-efi-initramfs.bb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta-luv/recipes-core/images/core-image-efi-initramfs.bb b/meta-luv/recipes-core/images/core-image-efi-initramfs.bb index 8b244c9ecba..d1e266a0ba3 100644 --- a/meta-luv/recipes-core/images/core-image-efi-initramfs.bb +++ b/meta-luv/recipes-core/images/core-image-efi-initramfs.bb @@ -4,10 +4,10 @@ EFI tests." IMAGE_INSTALL = "\ base-files base-passwd netbase udev sysvinit initscripts keymaps \ - kexec-tools kernel-image fwts bash coreutils gawk grep util-linux-agetty \ + kernel-image fwts bash coreutils gawk grep util-linux-agetty \ util-linux-mount util-linux-umount kmod sed tar net-tools \ shadow util-linux procps efivarfs-test \ - psplash \ + psplash kexec vmcore-dmesg \ " export IMAGE_BASENAME = "core-image-efi-initramfs" From f402f47dab586dfd427a58797e265fce8e26e8fe Mon Sep 17 00:00:00 2001 From: Ricardo Neri Date: Mon, 23 Jun 2014 16:29:21 -0700 Subject: [PATCH 613/658] luv-test-manager: Remove waiting time for removable media The waiting is done already by the luv-crash-handler. Thus, there is not need to repeat the waiting here. Signed-off-by: Ricardo Neri Signed-off-by: Matt Fleming --- .../initscripts/initscripts/luv-test-manager | 9 --------- 1 file changed, 9 deletions(-) diff --git a/meta-luv/recipes-core/initscripts/initscripts/luv-test-manager b/meta-luv/recipes-core/initscripts/initscripts/luv-test-manager index fe39a9ed28d..a31e6b21a94 100644 --- a/meta-luv/recipes-core/initscripts/initscripts/luv-test-manager +++ b/meta-luv/recipes-core/initscripts/initscripts/luv-test-manager @@ -28,15 +28,6 @@ LUV_DISK_DEVICE=/dev/disk/by-uuid/${LUV_PARTITION_UUID} mkdir -p ${LUV_STORAGE} if [ $? -eq 0 ]; then - # Not all disks may be ready to mount at this moment. - # Thus, we need to wait for them. - psplash_write "MSG Preparing test setup..." - for n in 0 25 50 75 100 - do - psplash_write "PROGRESS $n" - sleep 1 - done - mount ${LUV_DISK_DEVICE} ${LUV_STORAGE} if [ $? -eq 0 ]; then LUV_SAVE_RESULTS_DIR=${LUV_STORAGE}luv-results/ From aa0e5c24330d155be9f5ecc5fd5eb76123a0e6cf Mon Sep 17 00:00:00 2001 From: Ricardo Neri Date: Tue, 24 Jun 2014 15:12:49 -0700 Subject: [PATCH 614/658] luv-crash-handler: Save dmesg buffer to non-volatile media The dmesg buffer can provide valuable information to determine the causes of a kernel crash. When the systems boots to runlevel 3, the luv-crash-handler uses vmcore-dmesg to recover the dmesg buffer from the vmcore dump and saves it to the LuvOS test results partition. This information can then be sent to the developers to investigate further on the causes of the crash. Signed-off-by: Ricardo Neri Signed-off-by: Matt Fleming --- .../initscripts/initscripts/luv-crash-handler | 47 ++++++++++++++++++- 1 file changed, 46 insertions(+), 1 deletion(-) diff --git a/meta-luv/recipes-core/initscripts/initscripts/luv-crash-handler b/meta-luv/recipes-core/initscripts/initscripts/luv-crash-handler index 41c7a7ec5d6..fe343d8be3a 100644 --- a/meta-luv/recipes-core/initscripts/initscripts/luv-crash-handler +++ b/meta-luv/recipes-core/initscripts/initscripts/luv-crash-handler @@ -48,5 +48,50 @@ fi # If we are in runlevel 3, we just recovered from a crash. We need to dump # the /proc/vmcore file. if [[ $runl == *3* ]]; then - echo Please copy the file /proc/vmcore to your non-volatile media. + + LUV_STORAGE=/mnt/luv-storage/ + LUV_PARTITION_UUID=05D6-1523 + LUV_DISK_DEVICE=/dev/disk/by-uuid/${LUV_PARTITION_UUID} + LUV_DEBUG_DIR=${LUV_STORAGE}luv-debug/ + LUV_DEBUG_FILE=luv-debug.log + LUV_README_FILE=README.txt + + LUV_DEBUG_README=" + Oops. It looks like the system crashed while running the tests. We can + help to determine what went wrong. Along with this file, you will see a + ${LUV_DEBUG_FILE} file. Please report your crash to luv@lists.01.org or + submit a bug report on https://github.com/01org/luv-yocto/issues. In either + case, please submit the contents of ${LUV_DEBUG_FILE}." + + psplash_write "MSG Recovery Boot. Saving debug info..." + + mkdir -p ${LUV_STORAGE} + if [ $? -eq 0 ]; then + + mount ${LUV_DISK_DEVICE} ${LUV_STORAGE} + if [ $? -eq 0 ]; then + + mkdir -p ${LUV_DEBUG_DIR} + if [ $? -eq 0 ]; then + vmcore-dmesg /proc/vmcore > ${LUV_DEBUG_DIR}${LUV_DEBUG_FILE} + echo ${LUV_DEBUG_README} > ${LUV_DEBUG_DIR}${LUV_README_FILE} + fi + fi + fi + + if [ -f ${LUV_DEBUG_DIR}${LUV_DEBUG_FILE} ]; then + psplash_write "MSG Recovery boot. Debug info saved on your non-volatile media. + You may safely remove it." + else + psplash_write "MSG Recovery boot. Could not save debug info." + fi + + mountpoint -q ${LUV_STORAGE} + [ $? -eq 0 ] && umount ${LUV_STORAGE} + + psplash_write "DONE" + + # umount to prevent rc from quitting psplash + umount -l /mnt/.psplash + fi From 0ea780031ec0557bf823c02d2f320632f494f482 Mon Sep 17 00:00:00 2001 From: Matt Fleming Date: Tue, 17 Jun 2014 11:03:30 +0100 Subject: [PATCH 615/658] ovmf: Explicitly enforce toolchain variables edk2 does not lend itself to cross-compiling in any form. Instead of trying to play nice and override ${CC}, etc via the usual methods, just write our toolchain variables directly in the necessary Makefiles. The upside is that we get to drop a couple of patches we were carrying. The downside is that this is a terrible hack and will likely break when we move forward to newer edk2 versions. Until such time that BaseTools supports proper configuration of a build toolchain, this is the best we can do. Cc: Ricardo Neri Signed-off-by: Matt Fleming --- ...0001-BaseTools-Don-t-override-CFLAGS.patch | 31 ------------ ...ce-tools-variables-to-host-toolchain.patch | 48 +++++++++++++++++++ ...0002-BaseTools-Don-t-override-LFLAGS.patch | 30 ------------ meta-luv/recipes-core/ovmf/ovmf_git.bb | 16 +++++-- 4 files changed, 59 insertions(+), 66 deletions(-) delete mode 100644 meta-luv/recipes-core/ovmf/ovmf/0001-BaseTools-Don-t-override-CFLAGS.patch create mode 100644 meta-luv/recipes-core/ovmf/ovmf/0001-BaseTools-Force-tools-variables-to-host-toolchain.patch delete mode 100644 meta-luv/recipes-core/ovmf/ovmf/0002-BaseTools-Don-t-override-LFLAGS.patch diff --git a/meta-luv/recipes-core/ovmf/ovmf/0001-BaseTools-Don-t-override-CFLAGS.patch b/meta-luv/recipes-core/ovmf/ovmf/0001-BaseTools-Don-t-override-CFLAGS.patch deleted file mode 100644 index 96c35188cb0..00000000000 --- a/meta-luv/recipes-core/ovmf/ovmf/0001-BaseTools-Don-t-override-CFLAGS.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 178e4cdbdab49fbf82bc59c6d99bf8a41f0f34ca Mon Sep 17 00:00:00 2001 -From: Matt Fleming -Date: Thu, 20 Feb 2014 12:51:05 +0000 -Subject: [PATCH] BaseTools: Don't override CFLAGS - -It's generally useful for $(CFLAGS) to be set on the command line or by other -Makefiles, and trashing the existing value is bad practice. - -Insted append necessary flags to $(CFLAGS). - -Signed-off-by: Matt Fleming ---- - BaseTools/Source/C/Makefiles/header.makefile | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/BaseTools/Source/C/Makefiles/header.makefile b/BaseTools/Source/C/Makefiles/header.makefile -index 6895f98..df79d40 100644 ---- a/BaseTools/Source/C/Makefiles/header.makefile -+++ b/BaseTools/Source/C/Makefiles/header.makefile -@@ -41,7 +41,7 @@ endif - - INCLUDE = $(TOOL_INCLUDE) -I $(MAKEROOT) -I $(MAKEROOT)/Include/Common -I $(MAKEROOT)/Include/ -I $(MAKEROOT)/Include/IndustryStandard -I $(MAKEROOT)/Common/ -I .. -I . $(ARCH_INCLUDE) - CPPFLAGS = $(INCLUDE) --CFLAGS = -MD -fshort-wchar -fno-strict-aliasing -fno-merge-constants -nostdlib -Wall -Werror -c -g -+CFLAGS += -MD -fshort-wchar -fno-strict-aliasing -fno-merge-constants -nostdlib -Wall -Werror -c -g - LFLAGS = - - ifeq ($(ARCH), IA32) --- -1.8.3.2 - diff --git a/meta-luv/recipes-core/ovmf/ovmf/0001-BaseTools-Force-tools-variables-to-host-toolchain.patch b/meta-luv/recipes-core/ovmf/ovmf/0001-BaseTools-Force-tools-variables-to-host-toolchain.patch new file mode 100644 index 00000000000..c0cc6333401 --- /dev/null +++ b/meta-luv/recipes-core/ovmf/ovmf/0001-BaseTools-Force-tools-variables-to-host-toolchain.patch @@ -0,0 +1,48 @@ +From 6e24bde1979c2d7149b37d142fb882dfde0e9770 Mon Sep 17 00:00:00 2001 +From: Matt Fleming +Date: Fri, 27 Jun 2014 11:12:18 +0100 +Subject: [PATCH] BaseTools: Force tools variables to host toolchain + +Signed-off-by: Matt Fleming +--- + BaseTools/Source/C/Makefiles/app.makefile | 7 +++++++ + BaseTools/Source/C/VfrCompile/GNUmakefile | 5 +++++ + 2 files changed, 12 insertions(+) + +diff --git a/BaseTools/Source/C/Makefiles/app.makefile b/BaseTools/Source/C/Makefiles/app.makefile +index 19269a1..62aad0f 100644 +--- a/BaseTools/Source/C/Makefiles/app.makefile ++++ b/BaseTools/Source/C/Makefiles/app.makefile +@@ -16,6 +16,13 @@ include $(MAKEROOT)/Makefiles/header.makefile + + APPLICATION = $(MAKEROOT)/bin/$(APPNAME) + ++CC = gcc ++CXX = g++ ++AS = gcc ++AR = ar ++LD = ld ++LINKER = $(CC) ++ + .PHONY:all + all: $(MAKEROOT)/bin $(APPLICATION) + +diff --git a/BaseTools/Source/C/VfrCompile/GNUmakefile b/BaseTools/Source/C/VfrCompile/GNUmakefile +index 82005e1..5ac5f7e 100644 +--- a/BaseTools/Source/C/VfrCompile/GNUmakefile ++++ b/BaseTools/Source/C/VfrCompile/GNUmakefile +@@ -26,6 +26,11 @@ OBJECTS = AParser.o DLexerBase.o ATokenBuffer.o EfiVfrParser.o VfrLexer.o VfrSyn + + VFR_CPPFLAGS = -DPCCTS_USE_NAMESPACE_STD $(CPPFLAGS) + ++CC = gcc ++CXX = g++ ++AS = gcc ++AR = ar ++LD = ld + LINKER = $(CXX) + + EXTRA_CLEAN_OBJECTS = EfiVfrParser.cpp EfiVfrParser.h VfrParser.dlg VfrTokens.h VfrLexer.cpp VfrLexer.h VfrSyntax.cpp tokens.h +-- +1.9.0 + diff --git a/meta-luv/recipes-core/ovmf/ovmf/0002-BaseTools-Don-t-override-LFLAGS.patch b/meta-luv/recipes-core/ovmf/ovmf/0002-BaseTools-Don-t-override-LFLAGS.patch deleted file mode 100644 index b5549ab2efa..00000000000 --- a/meta-luv/recipes-core/ovmf/ovmf/0002-BaseTools-Don-t-override-LFLAGS.patch +++ /dev/null @@ -1,30 +0,0 @@ -From a4e8bcb3e4f01c41cc8257112e77b81615787b36 Mon Sep 17 00:00:00 2001 -From: Matt Fleming -Date: Thu, 20 Feb 2014 12:59:43 +0000 -Subject: [PATCH 2/2] BaseTools: Don't override LFLAGS - -The linker flags may need to be customized and the usual way to do this -is from the command line. Unfortunately, it's not possible currently -because the LFLAGS assignment in header.makefile trashes any inherited -value. - -Use a conditional assignment instead. - -Signed-off-by: Matt Fleming - -diff --git a/BaseTools/Source/C/Makefiles/header.makefile b/BaseTools/Source/C/Makefiles/header.makefile -index df79d40..4b13b43 100644 ---- a/BaseTools/Source/C/Makefiles/header.makefile -+++ b/BaseTools/Source/C/Makefiles/header.makefile -@@ -42,7 +42,7 @@ endif - INCLUDE = $(TOOL_INCLUDE) -I $(MAKEROOT) -I $(MAKEROOT)/Include/Common -I $(MAKEROOT)/Include/ -I $(MAKEROOT)/Include/IndustryStandard -I $(MAKEROOT)/Common/ -I .. -I . $(ARCH_INCLUDE) - CPPFLAGS = $(INCLUDE) - CFLAGS += -MD -fshort-wchar -fno-strict-aliasing -fno-merge-constants -nostdlib -Wall -Werror -c -g --LFLAGS = -+LFLAGS ?= - - ifeq ($(ARCH), IA32) - # --- -1.8.3.2 - diff --git a/meta-luv/recipes-core/ovmf/ovmf_git.bb b/meta-luv/recipes-core/ovmf/ovmf_git.bb index 8e75ef441f0..8e4a8cf6912 100644 --- a/meta-luv/recipes-core/ovmf/ovmf_git.bb +++ b/meta-luv/recipes-core/ovmf/ovmf_git.bb @@ -4,14 +4,10 @@ LICENSE = "BSD" LIC_FILES_CHKSUM = "file://OvmfPkg/License.txt;md5=ffd52cf9a8e0e036b9a61a0de2dc87ed" SRC_URI = "git://github.com/tianocore/edk2.git;branch=master \ - file://0001-BaseTools-Don-t-override-CFLAGS.patch \ - file://0002-BaseTools-Don-t-override-LFLAGS.patch" + file://0001-BaseTools-Force-tools-variables-to-host-toolchain.patch" SRCREV="cd9944d72a2b51004efecdcf024a173721f1b3d1" -inherit native -BBCLASSEXTEND = "native nativesdk" - S = "${WORKDIR}/git" DEPENDS="util-linux-native iasl-native" @@ -21,12 +17,22 @@ BUILD_OPTIMIZATION="-pipe" do_patch_append() { bb.build.exec_func('do_fix_iasl', d) + bb.build.exec_func('do_fix_toolchain', d) } do_fix_iasl() { sed -i -e 's#/usr/bin/iasl#${STAGING_BINDIR_NATIVE}/iasl#' ${S}/BaseTools/Conf/tools_def.template } +do_fix_toolchain(){ + sed -i -e 's#DEF(ELFGCC_BIN)/#${TARGET_PREFIX}#' ${S}/BaseTools/Conf/tools_def.template + sed -i -e 's#DEF(GCC.*PREFIX)#${TARGET_PREFIX}#' ${S}/BaseTools/Conf/tools_def.template + sed -i -e "s#^LINKER\(.*\)#LINKER\1\nLFLAGS += ${BUILD_LDFLAGS}#" ${S}/BaseTools/Source/C/Makefiles/app.makefile + sed -i -e "s#^LINKER\(.*\)#LINKER\1\nCFLAGS += ${BUILD_CFLAGS}#" ${S}/BaseTools/Source/C/Makefiles/app.makefile + sed -i -e "s#^LINKER\(.*\)#LINKER\1\nLFLAGS += ${BUILD_LDFLAGS}#" ${S}/BaseTools/Source/C/VfrCompile/GNUmakefile + sed -i -e "s#^LINKER\(.*\)#LINKER\1\nCFLAGS += ${BUILD_CFLAGS}#" ${S}/BaseTools/Source/C/VfrCompile/GNUmakefile +} + do_compile() { export LFLAGS="${LDFLAGS}" ${S}/OvmfPkg/build.sh -a X64 -b RELEASE From 9fd5abe95cd8626b5a3343fc499476ddb8ada7d6 Mon Sep 17 00:00:00 2001 From: Matt Fleming Date: Fri, 27 Jun 2014 14:10:07 +0100 Subject: [PATCH 616/658] ovmf: Pass gcc version to build.sh The build.sh build script in OvmfPkg allows us to optionally specify a toolchain identifer, which we're currently not doing. By not passing a toolchain ID directly build.sh invokes the build machine's compiler to figure it out. The important point in all of this is that the version identifier is used in the ovmf build path, which means that if build machine's compiler is upgraded/downgraded we can end up with multiple ovmf build directories. Pass the target's gcc version to build.sh instead. Reported-by: Ricardo Neri Signed-off-by: Matt Fleming --- meta-luv/recipes-core/ovmf/ovmf_git.bb | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/meta-luv/recipes-core/ovmf/ovmf_git.bb b/meta-luv/recipes-core/ovmf/ovmf_git.bb index 8e4a8cf6912..0ada95eea5a 100644 --- a/meta-luv/recipes-core/ovmf/ovmf_git.bb +++ b/meta-luv/recipes-core/ovmf/ovmf_git.bb @@ -33,13 +33,16 @@ do_fix_toolchain(){ sed -i -e "s#^LINKER\(.*\)#LINKER\1\nCFLAGS += ${BUILD_CFLAGS}#" ${S}/BaseTools/Source/C/VfrCompile/GNUmakefile } +GCC_VER="$(${CC} -v 2>&1 | tail -n1 | awk '{print $3}' | awk -F. '{print $1$2}')" + do_compile() { export LFLAGS="${LDFLAGS}" - ${S}/OvmfPkg/build.sh -a X64 -b RELEASE + ${S}/OvmfPkg/build.sh -a X64 -b RELEASE -t GCC${GCC_VER} } do_install() { install -d ${D}${datadir}/ovmf - install -m 0755 `find ${S}/Build -name OVMF.fd` \ + build_dir="${S}/Build/OvmfX64/RELEASE_GCC${GCC_VER}" + install -m 0755 ${build_dir}/FV/OVMF.fd \ ${D}${datadir}/ovmf/bios.bin } From f147459e413c8b437076a6fc21a4ca8e4a3963fc Mon Sep 17 00:00:00 2001 From: Matt Fleming Date: Fri, 27 Jun 2014 14:12:16 +0100 Subject: [PATCH 617/658] qemu: Use non-native package of ovmf Technically the bios used by qemu isn't a native package, so we shouldn't depend on it. Instead require the regular version of ovmf. Cc: Ricardo Neri Signed-off-by: Matt Fleming --- meta-luv/recipes-devtools/qemu/qemu_1.5.0.bbappend | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-luv/recipes-devtools/qemu/qemu_1.5.0.bbappend b/meta-luv/recipes-devtools/qemu/qemu_1.5.0.bbappend index e4eec8c00c9..abd97d6b082 100644 --- a/meta-luv/recipes-devtools/qemu/qemu_1.5.0.bbappend +++ b/meta-luv/recipes-devtools/qemu/qemu_1.5.0.bbappend @@ -1 +1 @@ -DEPENDS_append_class-native = " ovmf-native" +DEPENDS_append_class-native = " ovmf" From 876c9ebd7f39f6126c8d764cb75bd4107f517e56 Mon Sep 17 00:00:00 2001 From: Pradeep Gaddam Date: Tue, 8 Jul 2014 20:28:22 -0700 Subject: [PATCH 618/658] grub: Enable efinet and tftp module for PXE boot In order to enable netbooting and transfer of required files using tftp, efinet and tftp modules are required. Signed-off-by: Pradeep Gaddam Signed-off-by: Matt Fleming --- meta-luv/recipes-bsp/grub/grub-efi-native_2.00.bbappend | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-luv/recipes-bsp/grub/grub-efi-native_2.00.bbappend b/meta-luv/recipes-bsp/grub/grub-efi-native_2.00.bbappend index ea96a5a519b..58016a757d6 100644 --- a/meta-luv/recipes-bsp/grub/grub-efi-native_2.00.bbappend +++ b/meta-luv/recipes-bsp/grub/grub-efi-native_2.00.bbappend @@ -4,5 +4,5 @@ do_mkimage() { ./grub-mkimage -c ../cfg -p /EFI/BOOT -d ./grub-core/ \ -O ${GRUB_TARGET}-efi -o ./${GRUB_IMAGE} \ boot linux ext2 fat serial part_msdos part_gpt \ - normal efi_gop iso9660 search all_video + normal efi_gop iso9660 search efinet tftp all_video } From 956b782e99313114f80ddbfcd17d6beaeca87e3e Mon Sep 17 00:00:00 2001 From: Pradeep Gaddam Date: Tue, 8 Jul 2014 21:05:32 -0700 Subject: [PATCH 619/658] grub: Modified efinet.c and tftp.c files to fix netbooting issues on uefi BIOS efinet.c - Changed this file to not give up on sending packets in the network immediately when sending the packet fails. The change was to make few more attempts to send packet out into network. tftp.c - Increased the Block size of tftp packet to decrease the time to boot as on qemu it is taking a lot of time to load all required files. I cherry picked these changes from the following link : http://lists.gnu.org/archive/html/grub-devel/2012-04/txtcxcL7X6prZ.txt Signed-off-by: Pradeep Gaddam Signed-off-by: Matt Fleming --- .../grub/files/grub-efinet-tftp.patch | 173 ++++++++++++++++++ meta/recipes-bsp/grub/grub-efi-native_2.00.bb | 1 + 2 files changed, 174 insertions(+) create mode 100644 meta/recipes-bsp/grub/files/grub-efinet-tftp.patch diff --git a/meta/recipes-bsp/grub/files/grub-efinet-tftp.patch b/meta/recipes-bsp/grub/files/grub-efinet-tftp.patch new file mode 100644 index 00000000000..bfdbbbce448 --- /dev/null +++ b/meta/recipes-bsp/grub/files/grub-efinet-tftp.patch @@ -0,0 +1,173 @@ +diff -Naurp grub-2.00.orig/grub-core/net/drivers/efi/efinet.c grub-2.00/grub-core/net/drivers/efi/efinet.c +--- grub-2.00.orig/grub-core/net/drivers/efi/efinet.c 2012-06-19 02:27:47.000000000 -0700 ++++ grub-2.00/grub-core/net/drivers/efi/efinet.c 2014-07-03 22:37:24.648094324 -0700 +@@ -36,38 +36,55 @@ send_card_buffer (struct grub_net_card * + { + grub_efi_status_t st; + grub_efi_simple_network_t *net = dev->efi_net; +- grub_uint64_t limit_time = grub_get_time_ms () + 4000; +- grub_size_t len; ++ grub_uint32_t int_status; ++ int i; + +- if (dev->txbusy) +- while (1) +- { +- void *txbuf = NULL; +- st = efi_call_3 (net->get_status, net, 0, &txbuf); +- if (st != GRUB_EFI_SUCCESS) +- return grub_error (GRUB_ERR_IO, +- N_("couldn't send network packet")); +- if (txbuf == dev->txbuf) +- { +- dev->txbusy = 0; +- break; +- } +- if (limit_time < grub_get_time_ms ()) +- return grub_error (GRUB_ERR_TIMEOUT, N_("couldn't send network packet")); +- } +- +- len = (pack->tail - pack->data); +- if (len > dev->mtu) +- len = dev->mtu; +- +- grub_memcpy (dev->txbuf, pack->data, len); +- +- st = efi_call_7 (net->transmit, net, 0, len, +- dev->txbuf, NULL, NULL, NULL); +- if (st != GRUB_EFI_SUCCESS) +- return grub_error (GRUB_ERR_IO, N_("couldn't send network packet")); +- dev->txbusy = 1; +- return GRUB_ERR_NONE; ++ for (i = 0; i < 3; i++) ++ { ++ grub_uint64_t limit_time; ++ ++ efi_call_3 (net->get_status, net, &int_status, 0); ++ ++ limit_time = grub_get_time_ms () + 5; ++ for (;;) ++ { ++ st = efi_call_7 (net->transmit, net, 0, (pack->tail - pack->data), ++ pack->data, NULL, NULL, NULL); ++ if (st != GRUB_EFI_NOT_READY) ++ break; ++ ++ if (limit_time < grub_get_time_ms ()) ++ { ++ st = GRUB_EFI_TIMEOUT; ++ break; ++ } ++ } ++ ++ if (st) ++ goto quit; ++ ++ void *txbuf = NULL; ++ limit_time = grub_get_time_ms () + 5; ++ for (;;) ++ { ++ st = efi_call_3 (net->get_status, net, &int_status, &txbuf); ++ ++ if (txbuf != NULL) ++ break; ++ ++ if (limit_time < grub_get_time_ms ()) ++ { ++ st = GRUB_EFI_TIMEOUT; ++ break; ++ } ++ } ++ ++ quit: ++ if (st != GRUB_EFI_TIMEOUT) ++ break; ++ } ++ ++ return st; + } + + static struct grub_net_buff * +diff -Naurp grub-2.00.orig/grub-core/net/tftp.c grub-2.00/grub-core/net/tftp.c +--- grub-2.00.orig/grub-core/net/tftp.c 2012-06-22 08:42:07.000000000 -0700 ++++ grub-2.00/grub-core/net/tftp.c 2014-07-03 22:34:35.000085875 -0700 +@@ -27,6 +27,7 @@ + #include + #include + #include ++#include + + GRUB_MOD_LICENSE ("GPLv3+"); + +@@ -143,7 +144,7 @@ ack (tftp_data_t data, grub_uint16_t blo + + tftph_ack = (struct tftphdr *) nb_ack.data; + tftph_ack->opcode = grub_cpu_to_be16 (TFTP_ACK); +- tftph_ack->u.ack.block = block; ++ tftph_ack->u.ack.block = grub_cpu_to_be16 (block); + + err = grub_net_send_udp_packet (data->sock, &nb_ack); + if (err) +@@ -162,8 +163,8 @@ tftp_receive (grub_net_udp_socket_t sock + tftp_data_t data = file->data; + grub_err_t err; + grub_uint8_t *ptr; +- +- if (nb->tail - nb->data < (grub_ssize_t) sizeof (tftph->opcode)) ++ ++if (nb->tail - nb->data < (grub_ssize_t) sizeof (tftph->opcode)) + { + grub_dprintf ("tftp", "TFTP packet too small\n"); + return GRUB_ERR_NONE; +@@ -223,9 +224,9 @@ tftp_receive (grub_net_udp_socket_t sock + unsigned size; + + grub_priority_queue_pop (data->pq); +- +- if (file->device->net->packs.count < 50) +- err = ack (data, tftph->u.data.block); ++ ++ if (file->device->net->packs.count < 50) ++ err = ack (data, data->block + 1); + else + { + file->device->net->stall = 1; +@@ -304,6 +305,7 @@ tftp_open (struct grub_file *file, const + grub_err_t err; + grub_uint8_t *nbd; + grub_net_network_level_address_t addr; ++ const char *block_size; + + data = grub_zalloc (sizeof (*data)); + if (!data) +@@ -335,11 +337,14 @@ tftp_open (struct grub_file *file, const + grub_strcpy (rrq, "blksize"); + rrqlen += grub_strlen ("blksize") + 1; + rrq += grub_strlen ("blksize") + 1; +- +- grub_strcpy (rrq, "1024"); +- rrqlen += grub_strlen ("1024") + 1; +- rrq += grub_strlen ("1024") + 1; +- ++ ++ block_size = grub_env_get ("tftp_block_size"); ++ if (block_size == NULL) ++ block_size = "8192"; ++ grub_strcpy (rrq, block_size); ++ rrqlen += grub_strlen (block_size) + 1; ++ rrq += grub_strlen (block_size) + 1; ++ + grub_strcpy (rrq, "tsize"); + rrqlen += grub_strlen ("tsize") + 1; + rrq += grub_strlen ("tsize") + 1; +diff -Naurp grub-2.00.orig/include/grub/net.h grub-2.00/include/grub/net.h +--- grub-2.00.orig/include/grub/net.h 2012-06-22 04:46:25.000000000 -0700 ++++ grub-2.00/include/grub/net.h 2014-06-07 00:32:42.000000000 -0700 +@@ -139,6 +139,7 @@ struct grub_net_card + { + struct grub_efi_simple_network *efi_net; + grub_efi_handle_t efi_handle; ++ grub_size_t last_pkt_size; + }; + #endif + void *data; diff --git a/meta/recipes-bsp/grub/grub-efi-native_2.00.bb b/meta/recipes-bsp/grub/grub-efi-native_2.00.bb index 04973b524fc..c67aec1d46a 100644 --- a/meta/recipes-bsp/grub/grub-efi-native_2.00.bb +++ b/meta/recipes-bsp/grub/grub-efi-native_2.00.bb @@ -31,6 +31,7 @@ SRC_URI = "ftp://ftp.gnu.org/gnu/grub/grub-${PV}.tar.gz \ file://grub-no-unused-result.patch \ file://grub-2.00-ignore-gnulib-gets-stupidity.patch \ file://fix-issue-with-flex-2.5.37.patch \ + file://grub-efinet-tftp.patch \ " SRC_URI[md5sum] = "e927540b6eda8b024fb0391eeaa4091c" SRC_URI[sha256sum] = "65b39a0558f8c802209c574f4d02ca263a804e8a564bc6caf1cd0fd3b3cc11e3" From 1745992e152c5d17cce46fb6835ac6b723132555 Mon Sep 17 00:00:00 2001 From: Matt Fleming Date: Wed, 16 Jul 2014 20:47:50 +0100 Subject: [PATCH 620/658] runqemu: Search in $MACHINE sysroot for bios commit "runqemu: Add option for custom BIOS directory" added a biosdir="" option to runqemu which provides a shortcut for specifying a path to a custom qemu bios (indirectly via qemu's -L option). However, biosdir="" searches in $OE_NATIVE_SYSROOT for bios.bin, meaning that the qemu bios recipe must be built as a native recipe. Arguably all qemu firmware should be built as non-native because they're not executed directly by the build machine. Switch biosdir="" to search in $OE_TMPDIR/sysroots/$MACHINE, which is the location of non-native files. Cc: Ricardo Neri Signed-off-by: Matt Fleming --- scripts/runqemu | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/scripts/runqemu b/scripts/runqemu index b1d2d1abd4b..01dacf83aa9 100755 --- a/scripts/runqemu +++ b/scripts/runqemu @@ -391,6 +391,8 @@ setup_sysroot() { OECORE_NATIVE_SYSROOT=$OE_TMPDIR/sysroots/$BUILD_SYS fi + + OECORE_MACHINE_SYSROOT=$OE_TMPDIR/sysroots/$MACHINE } # Locate a rootfs image to boot which matches our expected @@ -494,13 +496,13 @@ fi # Specify directory for BIOS, VGA BIOS and keymaps if [ ! -z "$CUSTOMBIOSDIR" ]; then - if [ -d "$OECORE_NATIVE_SYSROOT/$CUSTOMBIOSDIR" ]; then - echo "Assuming biosdir is $OECORE_NATIVE_SYSROOT/$CUSTOMBIOSDIR" - SCRIPT_QEMU_OPT="$SCRIPT_QEMU_OPT -L $OECORE_NATIVE_SYSROOT/$CUSTOMBIOSDIR" + if [ -d "$OECORE_MACHINE_SYSROOT/$CUSTOMBIOSDIR" ]; then + echo "Assuming biosdir is $OECORE_MACHINE_SYSROOT/$CUSTOMBIOSDIR" + SCRIPT_QEMU_OPT="$SCRIPT_QEMU_OPT -L $OECORE_MACHINE_SYSROOT/$CUSTOMBIOSDIR" else if [ ! -d "$CUSTOMBIOSDIR" ]; then echo "Custom BIOS directory not found. Tried: $CUSTOMBIOSDIR" - echo "and $OECORE_NATIVE_SYSROOT/$CUSTOMBIOSDIR" + echo "and $OECORE_MACHINE_SYSROOT/$CUSTOMBIOSDIR" exit 1; fi echo "Assuming biosdir is $CUSTOMBIOSDIR" From 79871094f49fe177c82001b5d9188a20fe52efbb Mon Sep 17 00:00:00 2001 From: Max Eliaser Date: Wed, 30 Jul 2014 14:01:35 -0700 Subject: [PATCH 621/658] runqemu: don't use qemu -vga vmware when using OVMF BIOS The OVMF BIOS seems to prefer the defautl Cirrus emulated VGA adaptor, otherwise the QEMU window just shows a blank screen. NOTE: OVMF is detected simply by looking for the substring "ovmf" in the biosdir argument to runqemu. This is, of course, not a robust test, but it works well enough if you're just using the ovmf recipe in meta-luv. Signed-off-by: Max Eliaser Signed-off-by: Matt Fleming --- scripts/runqemu | 7 +++++++ scripts/runqemu-internal | 12 +++++++++--- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/scripts/runqemu b/scripts/runqemu index 01dacf83aa9..3795ce98a77 100755 --- a/scripts/runqemu +++ b/scripts/runqemu @@ -494,6 +494,8 @@ if [ ! -f "$INTERNAL_SCRIPT" -o ! -r "$INTERNAL_SCRIPT" ]; then INTERNAL_SCRIPT=`which runqemu-internal` fi +OVERRIDE_VGA="true" + # Specify directory for BIOS, VGA BIOS and keymaps if [ ! -z "$CUSTOMBIOSDIR" ]; then if [ -d "$OECORE_MACHINE_SYSROOT/$CUSTOMBIOSDIR" ]; then @@ -508,6 +510,11 @@ if [ ! -z "$CUSTOMBIOSDIR" ]; then echo "Assuming biosdir is $CUSTOMBIOSDIR" SCRIPT_QEMU_OPT="$SCRIPT_QEMU_OPT -L $CUSTOMBIOSDIR" fi + # HACK: OVMF + -vga vmware = blank screen + if echo $CUSTOMBIOSDIR | grep -i ovmf > /dev/null; then + echo "OVMF BIOS detected, default VGA adapter forced." + OVERRIDE_VGA="false" + fi fi . $INTERNAL_SCRIPT diff --git a/scripts/runqemu-internal b/scripts/runqemu-internal index dab90d0c86b..86937e20140 100755 --- a/scripts/runqemu-internal +++ b/scripts/runqemu-internal @@ -357,7 +357,9 @@ fi if [ "$MACHINE" = "qemux86" ]; then QEMU=qemu-system-i386 - QEMU_UI_OPTIONS="$QEMU_UI_OPTIONS -vga vmware" + if $OVERRIDE_VGA; then + QEMU_UI_OPTIONS="$QEMU_UI_OPTIONS -vga vmware" + fi if [ "${FSTYPE:0:3}" = "ext" -o "$FSTYPE" = "btrfs" ]; then KERNCMDLINE="vga=0 uvesafb.mode_option=640x480-32 root=$DROOT rw mem=$QEMU_MEMORY $KERNEL_NETWORK_CMD" QEMUOPTIONS="$QEMU_NETWORK_CMD $ROOTFS_OPTIONS $QEMU_UI_OPTIONS" @@ -381,7 +383,9 @@ fi if [ "$MACHINE" = "qemux86-64" ]; then QEMU=qemu-system-x86_64 - QEMU_UI_OPTIONS="$QEMU_UI_OPTIONS -vga vmware" + if $OVERRIDE_VGA; then + QEMU_UI_OPTIONS="$QEMU_UI_OPTIONS -vga vmware" + fi if [ "${FSTYPE:0:3}" = "ext" -o "$FSTYPE" = "btrfs" ]; then KERNCMDLINE="vga=0 uvesafb.mode_option=640x480-32 root=$DROOT rw mem=$QEMU_MEMORY $KERNEL_NETWORK_CMD" QEMUOPTIONS="$QEMU_NETWORK_CMD $ROOTFS_OPTIONS $QEMU_UI_OPTIONS" @@ -427,7 +431,9 @@ if [ "$MACHINE" = "qemumips" -o "$MACHINE" = "qemumipsel" -o "$MACHINE" = "qemum qemumips64) QEMU=qemu-system-mips64 ;; esac MACHINE_SUBTYPE=malta - QEMU_UI_OPTIONS="-vga cirrus $QEMU_UI_OPTIONS" + if $OVERRIDE_VGA; then + QEMU_UI_OPTIONS="-vga cirrus $QEMU_UI_OPTIONS" + fi if [ "${FSTYPE:0:3}" = "ext" -o "$FSTYPE" = "btrfs" ]; then #KERNCMDLINE="root=/dev/hda console=ttyS0 console=tty0 $KERNEL_NETWORK_CMD mem=$QEMU_MEMORY" KERNCMDLINE="root=/dev/hda rw console=ttyS0 console=tty $KERNEL_NETWORK_CMD mem=$QEMU_MEMORY" From 3256099803cfc53e45864db88070d7e8f07607a1 Mon Sep 17 00:00:00 2001 From: Max Eliaser Date: Wed, 30 Jul 2014 14:03:53 -0700 Subject: [PATCH 622/658] meta-luv: ovmf: only permit x86 and x86_64 target architectures for OVMF While EDK2 has many components that support ARM, OVMF is not one of them. This should be reflected in the BitBake recipe for OVMF. This is accomplished by adding a COMPATIBLE_HOST annotation to ovmf_git.bb. Signed-off-by: Max Eliaser Signed-off-by: Matt Fleming --- meta-luv/recipes-core/ovmf/ovmf_git.bb | 3 +++ 1 file changed, 3 insertions(+) diff --git a/meta-luv/recipes-core/ovmf/ovmf_git.bb b/meta-luv/recipes-core/ovmf/ovmf_git.bb index 0ada95eea5a..ccf6fb05d09 100644 --- a/meta-luv/recipes-core/ovmf/ovmf_git.bb +++ b/meta-luv/recipes-core/ovmf/ovmf_git.bb @@ -15,6 +15,9 @@ DEPENDS="util-linux-native iasl-native" # OVMF has trouble building with the default optimization of -O2. BUILD_OPTIMIZATION="-pipe" +# OVMF supports IA only, although it could conceivably support ARM someday. +COMPATIBLE_HOST='(i.86|x86_64).*' + do_patch_append() { bb.build.exec_func('do_fix_iasl', d) bb.build.exec_func('do_fix_toolchain', d) From 670d2f11f7e3ac171e751e2bee8768c65f98255f Mon Sep 17 00:00:00 2001 From: Max Eliaser Date: Wed, 30 Jul 2014 14:06:19 -0700 Subject: [PATCH 623/658] meta-luv: ovmf: generate 32-bit firmware images when appropriate This fixes an issue where the OVMF recipe always built an x86_64 firmware regardless of the target architecture or target machine. This issue manifested itself when qemu-system-i386 was used on an OVMF firmware image-- QEMU would exit immediately rather than proceeding with the boot process. The x86_64 firmware was unaffected by this issue. Signed-off-by: Max Eliaser Signed-off-by: Matt Fleming --- meta-luv/recipes-core/ovmf/ovmf_git.bb | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/meta-luv/recipes-core/ovmf/ovmf_git.bb b/meta-luv/recipes-core/ovmf/ovmf_git.bb index ccf6fb05d09..b2bbe88de9f 100644 --- a/meta-luv/recipes-core/ovmf/ovmf_git.bb +++ b/meta-luv/recipes-core/ovmf/ovmf_git.bb @@ -40,12 +40,20 @@ GCC_VER="$(${CC} -v 2>&1 | tail -n1 | awk '{print $3}' | awk -F. '{print $1$2}') do_compile() { export LFLAGS="${LDFLAGS}" - ${S}/OvmfPkg/build.sh -a X64 -b RELEASE -t GCC${GCC_VER} + OVMF_ARCH="X64" + if [ "${TARGET_ARCH}" != "x86_64" ] ; then + OVMF_ARCH="IA32" + fi + ${S}/OvmfPkg/build.sh -a $OVMF_ARCH -b RELEASE -t GCC${GCC_VER} } do_install() { + OVMF_DIR_SUFFIX="X64" + if [ "${TARGET_ARCH}" != "x86_64" ] ; then + OVMF_DIR_SUFFIX="Ia32" # Note the different capitalization + fi install -d ${D}${datadir}/ovmf - build_dir="${S}/Build/OvmfX64/RELEASE_GCC${GCC_VER}" + build_dir="${S}/Build/Ovmf$OVMF_DIR_SUFFIX/RELEASE_GCC${GCC_VER}" install -m 0755 ${build_dir}/FV/OVMF.fd \ ${D}${datadir}/ovmf/bios.bin } From dac991992de8d6a57de26e3074e9af8caff00f3a Mon Sep 17 00:00:00 2001 From: Max Eliaser Date: Thu, 31 Jul 2014 12:45:35 -0700 Subject: [PATCH 624/658] meta-luv: ovmf: bump SVN revision for OVMF to 15699 This SVN revision has a fix for build failures under GCC 4.9 for x86_64 targets. This will ease eventual upstreaming of the OVMF recipe to Yocto master, which uses GCC 4.9. The bug is described on the EDK2 mailing list here: http://www.mail-archive.com/edk2-devel@lists.sourceforge.net/msg07451.html GCC 4.9 changed an alignment from 32 bytes to 64 bytes when building for a 64- bit target, whereas OVMF was built with the expectation that the alignment would be 32 bytes. This mismatch caused a build failure that looked like this: GenFw: ERROR 3000: Invalid Unsupported section alignment. SVN revision 15699 of EDK2 includes a fix for this issue by the upstream EDK2 developers. When compiling with GCC 4.9 for a 64-bit target, the build OVMF build configuration now anticipates a 64-byte alignment. Signed-off-by: Max Eliaser Signed-off-by: Matt Fleming --- meta-luv/recipes-core/ovmf/ovmf_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-luv/recipes-core/ovmf/ovmf_git.bb b/meta-luv/recipes-core/ovmf/ovmf_git.bb index b2bbe88de9f..7afd69581e8 100644 --- a/meta-luv/recipes-core/ovmf/ovmf_git.bb +++ b/meta-luv/recipes-core/ovmf/ovmf_git.bb @@ -6,7 +6,7 @@ LIC_FILES_CHKSUM = "file://OvmfPkg/License.txt;md5=ffd52cf9a8e0e036b9a61a0de2dc8 SRC_URI = "git://github.com/tianocore/edk2.git;branch=master \ file://0001-BaseTools-Force-tools-variables-to-host-toolchain.patch" -SRCREV="cd9944d72a2b51004efecdcf024a173721f1b3d1" +SRCREV="dc4ad1532e59fd1a185d6b90d1c2a92cf8713f40" S = "${WORKDIR}/git" From c2268a9b23a9048bad20405029061ddf40e7554e Mon Sep 17 00:00:00 2001 From: Pradeep Gaddam Date: Fri, 15 Aug 2014 06:55:39 +0000 Subject: [PATCH 625/658] fwts: Copied the structure from userland locally in kernel space When we have structures that contain pointers, we cannot just do double dereference on it as in struct->pointer->value. This will end up as a Page Fault. To fix this problem, I changed efi_runtime kernel module to first fetch the entire structure into a local copy on stack and use that to reference the other data members of the struct. Signed-off-by: Pradeep Gaddam Signed-off-by: Matt Fleming --- ...ntime-donot-dereference-user-address.patch | 145 ++++++++++++++++++ meta-luv/recipes-core/fwts/fwts_git.bb | 1 + 2 files changed, 146 insertions(+) create mode 100644 meta-luv/recipes-core/fwts/fwts/0005-efi_runtime-donot-dereference-user-address.patch diff --git a/meta-luv/recipes-core/fwts/fwts/0005-efi_runtime-donot-dereference-user-address.patch b/meta-luv/recipes-core/fwts/fwts/0005-efi_runtime-donot-dereference-user-address.patch new file mode 100644 index 00000000000..b62113e5c74 --- /dev/null +++ b/meta-luv/recipes-core/fwts/fwts/0005-efi_runtime-donot-dereference-user-address.patch @@ -0,0 +1,145 @@ +diff -Nurp a/efi_runtime/efi_runtime.c b/efi_runtime/efi_runtime.c +--- a/efi_runtime/efi_runtime.c 2014-07-27 00:43:39.263763036 -0700 ++++ b/efi_runtime/efi_runtime.c 2014-08-14 23:12:47.746531304 -0700 +@@ -304,52 +304,60 @@ static long efi_runtime_set_variable(uns + static long efi_runtime_get_time(unsigned long arg) + { + struct efi_gettime __user *pgettime; ++ struct efi_gettime pgettime_local; ++ EFI_TIME_CAPABILITIES __user *cap_local; + efi_status_t status; + efi_time_cap_t cap; + efi_time_t eft; + + status = efi.get_time(&eft, &cap); + pgettime = (struct efi_gettime __user *)arg; +- if (put_user(status, pgettime->status)) ++ if (copy_from_user(&pgettime_local, pgettime, sizeof(pgettime_local))) ++ return -EFAULT; ++ ++ cap_local = (EFI_TIME_CAPABILITIES *)pgettime_local.Capabilities; ++ if (put_user(status, pgettime_local.status)) + return -EFAULT; + if (status != EFI_SUCCESS) { + printk(KERN_ERR "efitime: can't read time\n"); + return -EINVAL; + } +- if (put_user(cap.resolution, +- &pgettime->Capabilities->Resolution) || +- put_user(cap.accuracy, +- &pgettime->Capabilities->Accuracy) || +- put_user(cap.sets_to_zero, +- &pgettime->Capabilities->SetsToZero)) ++ if (put_user(cap.resolution, ++ &(cap_local->Resolution)) || ++ put_user(cap.accuracy, &(cap_local->Accuracy)) || ++ put_user(cap.sets_to_zero,&(cap_local->SetsToZero))) + return -EFAULT; +- return copy_to_user(pgettime->Time, &eft, ++ return copy_to_user(pgettime_local.Time, &eft, + sizeof(EFI_TIME)) ? -EFAULT : 0; + } + + static long efi_runtime_set_time(unsigned long arg) + { + struct efi_settime __user *psettime; ++ struct efi_settime psettime_local; + efi_status_t status; + EFI_TIME efi_time; + efi_time_t eft; + + psettime = (struct efi_settime __user *)arg; +- if (copy_from_user(&efi_time, psettime->Time, ++ if (copy_from_user(&psettime_local, psettime, sizeof(psettime_local))) ++ return -EFAULT; ++ if (copy_from_user(&efi_time, psettime_local.Time, + sizeof(EFI_TIME))) + return -EFAULT; + convert_to_efi_time(&eft, &efi_time); + status = efi.set_time(&eft); + +- if (put_user(status, psettime->status)) ++ if (put_user(status, psettime_local.status)) + return -EFAULT; +- +- return status == EFI_SUCCESS ? 0 : -EINVAL; ++ ++ return status == EFI_SUCCESS ? 0 : -EINVAL; + } + + static long efi_runtime_get_waketime(unsigned long arg) + { + struct efi_getwakeuptime __user *pgetwakeuptime; ++ struct efi_getwakeuptime pgetwakeuptime_local; + unsigned char enabled, pending; + efi_status_t status; + EFI_TIME efi_time; +@@ -357,47 +365,49 @@ static long efi_runtime_get_waketime(uns + + status = efi.get_wakeup_time((efi_bool_t *)&enabled, + (efi_bool_t *)&pending, &eft); +- ++ + pgetwakeuptime = (struct efi_getwakeuptime __user *)arg; +- +- if (put_user(status, pgetwakeuptime->status)) ++ ++ if (copy_from_user(&pgetwakeuptime_local, pgetwakeuptime, sizeof(pgetwakeuptime_local))) ++ return -EFAULT; ++ if (put_user(status, pgetwakeuptime_local.status)) + return -EFAULT; + if (status != EFI_SUCCESS) + return -EINVAL; +- +- if (put_user(enabled, pgetwakeuptime->Enabled) || +- put_user(pending, pgetwakeuptime->Pending)) ++ if (put_user(enabled, pgetwakeuptime_local.Enabled) || ++ put_user(pending, pgetwakeuptime_local.Pending)) + return -EFAULT; +- + convert_from_efi_time(&eft, &efi_time); +- +- return copy_to_user(pgetwakeuptime->Time, &efi_time, ++ ++ return copy_to_user(pgetwakeuptime_local.Time, &efi_time, + sizeof(EFI_TIME)) ? -EFAULT : 0; + } + + static long efi_runtime_set_waketime(unsigned long arg) + { + struct efi_setwakeuptime __user *psetwakeuptime; ++ struct efi_setwakeuptime psetwakeuptime_local; + unsigned char enabled; + efi_status_t status; + EFI_TIME efi_time; + efi_time_t eft; + + psetwakeuptime = (struct efi_setwakeuptime __user *)arg; +- +- if (get_user(enabled, &psetwakeuptime->Enabled) || +- copy_from_user(&efi_time, +- psetwakeuptime->Time, +- sizeof(EFI_TIME))) ++ ++ if (copy_from_user(&psetwakeuptime_local, psetwakeuptime, sizeof(psetwakeuptime_local))) + return -EFAULT; +- ++ ++ if (get_user(enabled, &(psetwakeuptime_local.Enabled)) || ++ copy_from_user(&efi_time, psetwakeuptime_local.Time, sizeof(EFI_TIME))) ++ return -EFAULT; ++ + convert_to_efi_time(&eft, &efi_time); +- ++ + status = efi.set_wakeup_time(enabled, &eft); +- +- if (put_user(status, psetwakeuptime->status)) ++ ++ if (put_user(status, psetwakeuptime_local.status)) + return -EFAULT; +- ++ + return status == EFI_SUCCESS ? 0 : -EINVAL; + } + diff --git a/meta-luv/recipes-core/fwts/fwts_git.bb b/meta-luv/recipes-core/fwts/fwts_git.bb index e07e9766015..a86b0eeb6ec 100644 --- a/meta-luv/recipes-core/fwts/fwts_git.bb +++ b/meta-luv/recipes-core/fwts/fwts_git.bb @@ -13,6 +13,7 @@ SRC_URI = "git://kernel.ubuntu.com/hwe/fwts.git \ file://0002-efi_runtime-Refactor-ioctl-code-into-helper-function.patch \ file://0003-efi_runtime-Group-kernel-version-dependent-functions.patch \ file://0004-efi_runtime-Do-not-pass-user-addresses-to-firmware.patch \ + file://0005-efi_runtime-donot-dereference-user-address.patch \ " S = "${WORKDIR}/git" From c3bc00e2c7b42a9966a772001ffd61c73656b05f Mon Sep 17 00:00:00 2001 From: Matt Fleming Date: Wed, 20 Aug 2014 11:51:17 +0100 Subject: [PATCH 626/658] linux-yocto-efi-test: Update defconfig for v3.15 Using the default values. Signed-off-by: Matt Fleming --- .../linux/linux-yocto-efi-test/defconfig | 215 +++++++++++------- 1 file changed, 138 insertions(+), 77 deletions(-) diff --git a/meta-luv/recipes-kernel/linux/linux-yocto-efi-test/defconfig b/meta-luv/recipes-kernel/linux/linux-yocto-efi-test/defconfig index 03621e7e347..7ed3acf8d83 100644 --- a/meta-luv/recipes-kernel/linux/linux-yocto-efi-test/defconfig +++ b/meta-luv/recipes-kernel/linux/linux-yocto-efi-test/defconfig @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/x86 3.13.0 Kernel Configuration +# Linux/x86 3.15.0 Kernel Configuration # CONFIG_64BIT=y CONFIG_X86_64=y @@ -23,7 +23,6 @@ CONFIG_RWSEM_XCHGADD_ALGORITHM=y CONFIG_GENERIC_CALIBRATE_DELAY=y CONFIG_ARCH_HAS_CPU_RELAX=y CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y -CONFIG_ARCH_HAS_CPU_AUTOPROBE=y CONFIG_HAVE_SETUP_PER_CPU_AREA=y CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y @@ -71,7 +70,9 @@ CONFIG_SYSVIPC_SYSCTL=y CONFIG_POSIX_MQUEUE=y CONFIG_POSIX_MQUEUE_SYSCTL=y # CONFIG_FHANDLE is not set +CONFIG_USELIB=y CONFIG_AUDIT=y +CONFIG_HAVE_ARCH_AUDITSYSCALL=y CONFIG_AUDITSYSCALL=y CONFIG_AUDIT_WATCH=y CONFIG_AUDIT_TREE=y @@ -160,7 +161,6 @@ CONFIG_IPC_NS=y # CONFIG_USER_NS is not set CONFIG_PID_NS=y CONFIG_NET_NS=y -# CONFIG_UIDGID_STRICT_TYPE_CHECKS is not set # CONFIG_SCHED_AUTOGROUP is not set # CONFIG_SYSFS_DEPRECATED is not set CONFIG_RELAY=y @@ -180,6 +180,7 @@ CONFIG_SYSCTL_EXCEPTION_TRACE=y CONFIG_HAVE_PCSPKR_PLATFORM=y CONFIG_EXPERT=y CONFIG_UID16=y +CONFIG_SYSFS_SYSCALL=y # CONFIG_SYSCTL_SYSCALL is not set CONFIG_KALLSYMS=y CONFIG_KALLSYMS_ALL=y @@ -211,6 +212,7 @@ CONFIG_SLUB_DEBUG=y CONFIG_SLUB=y # CONFIG_SLOB is not set CONFIG_SLUB_CPU_PARTIAL=y +# CONFIG_SYSTEM_TRUSTED_KEYRING is not set CONFIG_PROFILING=y CONFIG_TRACEPOINTS=y # CONFIG_OPROFILE is not set @@ -219,6 +221,7 @@ CONFIG_OPROFILE_NMI_TIMER=y CONFIG_KPROBES=y # CONFIG_JUMP_LABEL is not set CONFIG_OPTPROBES=y +# CONFIG_UPROBES is not set # CONFIG_HAVE_64BIT_ALIGNED_ACCESS is not set CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y CONFIG_ARCH_USE_BUILTIN_BSWAP=y @@ -248,6 +251,11 @@ CONFIG_ARCH_WANT_COMPAT_IPC_PARSE_VERSION=y CONFIG_ARCH_WANT_OLD_COMPAT_IPC=y CONFIG_HAVE_ARCH_SECCOMP_FILTER=y CONFIG_SECCOMP_FILTER=y +CONFIG_HAVE_CC_STACKPROTECTOR=y +# CONFIG_CC_STACKPROTECTOR is not set +CONFIG_CC_STACKPROTECTOR_NONE=y +# CONFIG_CC_STACKPROTECTOR_REGULAR is not set +# CONFIG_CC_STACKPROTECTOR_STRONG is not set CONFIG_HAVE_CONTEXT_TRACKING=y CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y @@ -266,7 +274,6 @@ CONFIG_COMPAT_OLD_SIGACTION=y CONFIG_SLABINFO=y CONFIG_RT_MUTEXES=y CONFIG_BASE_SMALL=0 -# CONFIG_SYSTEM_TRUSTED_KEYRING is not set CONFIG_MODULES=y # CONFIG_MODULE_FORCE_LOAD is not set CONFIG_MODULE_UNLOAD=y @@ -379,7 +386,6 @@ CONFIG_MICROCODE=y CONFIG_MICROCODE_INTEL=y CONFIG_MICROCODE_AMD=y CONFIG_MICROCODE_OLD_INTERFACE=y -CONFIG_MICROCODE_INTEL_LIB=y CONFIG_MICROCODE_INTEL_EARLY=y CONFIG_MICROCODE_AMD_EARLY=y CONFIG_MICROCODE_EARLY=y @@ -433,6 +439,8 @@ CONFIG_CROSS_MEMORY_ATTACH=y # CONFIG_FRONTSWAP is not set # CONFIG_CMA is not set # CONFIG_ZBUD is not set +# CONFIG_ZSMALLOC is not set +CONFIG_GENERIC_EARLY_IOREMAP=y CONFIG_X86_CHECK_BIOS_CORRUPTION=y CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK=y CONFIG_X86_RESERVE_LOW=64 @@ -444,8 +452,9 @@ CONFIG_ARCH_RANDOM=y CONFIG_X86_SMAP=y CONFIG_EFI=y CONFIG_EFI_STUB=y +# CONFIG_EFI_MIXED is not set +# CONFIG_EFI_BOOT_SERVICES_WARN is not set CONFIG_SECCOMP=y -# CONFIG_CC_STACKPROTECTOR is not set # CONFIG_HZ_100 is not set # CONFIG_HZ_250 is not set # CONFIG_HZ_300 is not set @@ -490,7 +499,7 @@ CONFIG_PM_TRACE_RTC=y # CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set CONFIG_ACPI=y CONFIG_ACPI_SLEEP=y -CONFIG_ACPI_PROCFS=y +# CONFIG_ACPI_PROCFS_POWER is not set # CONFIG_ACPI_EC_DEBUGFS is not set CONFIG_ACPI_AC=y CONFIG_ACPI_BATTERY=y @@ -513,6 +522,7 @@ CONFIG_ACPI_CONTAINER=y # CONFIG_ACPI_HED is not set # CONFIG_ACPI_CUSTOM_METHOD is not set # CONFIG_ACPI_BGRT is not set +# CONFIG_ACPI_REDUCED_HARDWARE_ONLY is not set # CONFIG_ACPI_APEI is not set # CONFIG_ACPI_EXTLOG is not set # CONFIG_SFI is not set @@ -729,6 +739,7 @@ CONFIG_IPV6_NDISC_NODETYPE=y # CONFIG_IPV6_MROUTE is not set CONFIG_NETLABEL=y CONFIG_NETWORK_SECMARK=y +CONFIG_NET_PTP_CLASSIFY=y # CONFIG_NETWORK_PHY_TIMESTAMPING is not set CONFIG_NETFILTER=y # CONFIG_NETFILTER_DEBUG is not set @@ -852,6 +863,8 @@ CONFIG_NET_SCHED=y # CONFIG_NET_SCH_CODEL is not set # CONFIG_NET_SCH_FQ_CODEL is not set # CONFIG_NET_SCH_FQ is not set +# CONFIG_NET_SCH_HHF is not set +# CONFIG_NET_SCH_PIE is not set # CONFIG_NET_SCH_INGRESS is not set # CONFIG_NET_SCH_PLUG is not set @@ -899,7 +912,8 @@ CONFIG_DNS_RESOLVER=y CONFIG_RPS=y CONFIG_RFS_ACCEL=y CONFIG_XPS=y -# CONFIG_NETPRIO_CGROUP is not set +# CONFIG_CGROUP_NET_PRIO is not set +# CONFIG_CGROUP_NET_CLASSID is not set CONFIG_NET_RX_BUSY_POLL=y CONFIG_BQL=y # CONFIG_BPF_JIT is not set @@ -975,6 +989,7 @@ CONFIG_FW_LOADER_USER_HELPER=y CONFIG_DEBUG_DEVRES=y # CONFIG_SYS_HYPERVISOR is not set # CONFIG_GENERIC_CPU_DEVICES is not set +CONFIG_GENERIC_CPU_AUTOPROBE=y CONFIG_DMA_SHARED_BUFFER=y # @@ -1076,6 +1091,8 @@ CONFIG_BLK_DEV_RAM_SIZE=4096 # Intel MIC Card Driver # # CONFIG_INTEL_MIC_CARD is not set +# CONFIG_GENWQE is not set +# CONFIG_ECHO is not set CONFIG_HAVE_IDE=y # CONFIG_IDE is not set @@ -1122,7 +1139,6 @@ CONFIG_ATA=y # CONFIG_ATA_NONSTANDARD is not set CONFIG_ATA_VERBOSE_ERROR=y CONFIG_ATA_ACPI=y -# CONFIG_SATA_ZPODD is not set CONFIG_SATA_PMP=y # @@ -1147,11 +1163,9 @@ CONFIG_ATA_BMDMA=y # SATA SFF controllers with BMDMA # CONFIG_ATA_PIIX=y -# CONFIG_SATA_HIGHBANK is not set # CONFIG_SATA_MV is not set # CONFIG_SATA_NV is not set # CONFIG_SATA_PROMISE is not set -# CONFIG_SATA_RCAR is not set # CONFIG_SATA_SIL is not set # CONFIG_SATA_SIS is not set # CONFIG_SATA_SVW is not set @@ -1164,14 +1178,10 @@ CONFIG_ATA_PIIX=y # # CONFIG_PATA_ALI is not set CONFIG_PATA_AMD=y -# CONFIG_PATA_ARASAN_CF is not set # CONFIG_PATA_ARTOP is not set # CONFIG_PATA_ATIIXP is not set # CONFIG_PATA_ATP867X is not set # CONFIG_PATA_CMD64X is not set -# CONFIG_PATA_CS5520 is not set -# CONFIG_PATA_CS5530 is not set -# CONFIG_PATA_CS5536 is not set # CONFIG_PATA_CYPRESS is not set # CONFIG_PATA_EFAR is not set # CONFIG_PATA_HPT366 is not set @@ -1191,7 +1201,6 @@ CONFIG_PATA_OLDPIIX=y # CONFIG_PATA_PDC_OLD is not set # CONFIG_PATA_RADISYS is not set # CONFIG_PATA_RDC is not set -# CONFIG_PATA_SC1200 is not set CONFIG_PATA_SCH=y # CONFIG_PATA_SERVERWORKS is not set # CONFIG_PATA_SIL680 is not set @@ -1229,12 +1238,14 @@ CONFIG_MD_AUTODETECT=y # CONFIG_MD_MULTIPATH is not set # CONFIG_MD_FAULTY is not set # CONFIG_BCACHE is not set +CONFIG_BLK_DEV_DM_BUILTIN=y CONFIG_BLK_DEV_DM=y # CONFIG_DM_DEBUG is not set # CONFIG_DM_CRYPT is not set # CONFIG_DM_SNAPSHOT is not set # CONFIG_DM_THIN_PROVISIONING is not set # CONFIG_DM_CACHE is not set +# CONFIG_DM_ERA is not set CONFIG_DM_MIRROR=y # CONFIG_DM_LOG_USERSPACE is not set # CONFIG_DM_RAID is not set @@ -1269,7 +1280,6 @@ CONFIG_NET_CORE=y # CONFIG_VXLAN is not set CONFIG_NETCONSOLE=y CONFIG_NETPOLL=y -# CONFIG_NETPOLL_TRAP is not set CONFIG_NET_POLL_CONTROLLER=y # CONFIG_TUN is not set # CONFIG_VETH is not set @@ -1299,6 +1309,7 @@ CONFIG_NET_VENDOR_ADAPTEC=y # CONFIG_ADAPTEC_STARFIRE is not set CONFIG_NET_VENDOR_ALTEON=y # CONFIG_ACENIC is not set +# CONFIG_ALTERA_TSE is not set CONFIG_NET_VENDOR_AMD=y # CONFIG_AMD8111_ETH is not set # CONFIG_PCNET32 is not set @@ -1310,9 +1321,6 @@ CONFIG_NET_VENDOR_ATHEROS=y # CONFIG_ATL1E is not set # CONFIG_ATL1C is not set # CONFIG_ALX is not set -CONFIG_NET_CADENCE=y -# CONFIG_ARM_AT91_ETHER is not set -# CONFIG_MACB is not set CONFIG_NET_VENDOR_BROADCOM=y # CONFIG_B44 is not set # CONFIG_BNX2 is not set @@ -1329,6 +1337,7 @@ CONFIG_NET_VENDOR_CHELSIO=y # CONFIG_CHELSIO_T4VF is not set CONFIG_NET_VENDOR_CISCO=y # CONFIG_ENIC is not set +# CONFIG_CX_ECAT is not set # CONFIG_DNET is not set CONFIG_NET_VENDOR_DEC=y CONFIG_NET_TULIP=y @@ -1361,6 +1370,7 @@ CONFIG_E1000=y # CONFIG_IXGBE is not set # CONFIG_IXGBEVF is not set # CONFIG_I40E is not set +# CONFIG_I40EVF is not set CONFIG_NET_VENDOR_I825XX=y # CONFIG_IP1000 is not set # CONFIG_JME is not set @@ -1410,6 +1420,8 @@ CONFIG_8139TOO_PIO=y # CONFIG_SH_ETH is not set CONFIG_NET_VENDOR_RDC=y # CONFIG_R6040 is not set +CONFIG_NET_VENDOR_SAMSUNG=y +# CONFIG_SXGBE_ETH is not set CONFIG_NET_VENDOR_SEEQ=y CONFIG_NET_VENDOR_SILAN=y # CONFIG_SC92031 is not set @@ -1461,6 +1473,7 @@ CONFIG_PHYLIB=y # CONFIG_VITESSE_PHY is not set # CONFIG_SMSC_PHY is not set # CONFIG_BROADCOM_PHY is not set +# CONFIG_BCM7XXX_PHY is not set # CONFIG_BCM87XX_PHY is not set # CONFIG_ICPLUS_PHY is not set # CONFIG_REALTEK_PHY is not set @@ -1503,6 +1516,7 @@ CONFIG_WLAN=y # CONFIG_ATH_CARDS is not set # CONFIG_B43 is not set # CONFIG_B43LEGACY is not set +# CONFIG_BRCMSMAC is not set # CONFIG_BRCMFMAC is not set # CONFIG_HOSTAP is not set # CONFIG_IPW2100 is not set @@ -1517,12 +1531,14 @@ CONFIG_RTL_CARDS=y # CONFIG_RTL8192SE is not set # CONFIG_RTL8192DE is not set # CONFIG_RTL8723AE is not set +# CONFIG_RTL8723BE is not set # CONFIG_RTL8188EE is not set # CONFIG_RTL8192CU is not set # CONFIG_WL_TI is not set # CONFIG_ZD1211RW is not set # CONFIG_MWIFIEX is not set # CONFIG_CW1200 is not set +# CONFIG_RSI_91X is not set # # Enable WiMAX (Networking options) to see the WiMAX drivers @@ -1678,6 +1694,7 @@ CONFIG_INPUT_MISC=y # Hardware I/O ports # CONFIG_SERIO=y +CONFIG_ARCH_MIGHT_HAVE_PC_SERIO=y CONFIG_SERIO_I8042=y CONFIG_SERIO_SERPORT=y # CONFIG_SERIO_CT82C710 is not set @@ -1696,6 +1713,7 @@ CONFIG_TTY=y CONFIG_VT=y CONFIG_CONSOLE_TRANSLATIONS=y CONFIG_VT_CONSOLE=y +CONFIG_VT_CONSOLE_SLEEP=y CONFIG_HW_CONSOLE=y CONFIG_VT_HW_CONSOLE_BINDING=y CONFIG_UNIX98_PTYS=y @@ -1744,7 +1762,6 @@ CONFIG_SERIAL_CORE=y CONFIG_SERIAL_CORE_CONSOLE=y # CONFIG_SERIAL_JSM is not set # CONFIG_SERIAL_SCCNXP is not set -# CONFIG_SERIAL_TIMBERDALE is not set # CONFIG_SERIAL_ALTERA_JTAGUART is not set # CONFIG_SERIAL_ALTERA_UART is not set # CONFIG_SERIAL_PCH_UART is not set @@ -1816,6 +1833,7 @@ CONFIG_I2C_I801=y # # I2C system bus drivers (mostly embedded / system-on-chip) # +# CONFIG_I2C_DESIGNWARE_PLATFORM is not set # CONFIG_I2C_DESIGNWARE_PCI is not set # CONFIG_I2C_EG20T is not set # CONFIG_I2C_OCORES is not set @@ -1829,6 +1847,7 @@ CONFIG_I2C_I801=y # # CONFIG_I2C_DIOLAN_U2C is not set # CONFIG_I2C_PARPORT_LIGHT is not set +# CONFIG_I2C_ROBOTFUZZ_OSIF is not set # CONFIG_I2C_TAOS_EVM is not set # CONFIG_I2C_TINY_USB is not set @@ -1840,6 +1859,7 @@ CONFIG_I2C_I801=y # CONFIG_I2C_DEBUG_ALGO is not set # CONFIG_I2C_DEBUG_BUS is not set # CONFIG_SPI is not set +# CONFIG_SPMI is not set # CONFIG_HSI is not set # @@ -1914,6 +1934,7 @@ CONFIG_HWMON=y # CONFIG_SENSORS_K8TEMP is not set # CONFIG_SENSORS_K10TEMP is not set # CONFIG_SENSORS_FAM15H_POWER is not set +# CONFIG_SENSORS_APPLESMC is not set # CONFIG_SENSORS_ASB100 is not set # CONFIG_SENSORS_ATXP1 is not set # CONFIG_SENSORS_DS620 is not set @@ -1923,16 +1944,32 @@ CONFIG_HWMON=y # CONFIG_SENSORS_F71882FG is not set # CONFIG_SENSORS_F75375S is not set # CONFIG_SENSORS_FSCHMD is not set -# CONFIG_SENSORS_G760A is not set -# CONFIG_SENSORS_G762 is not set # CONFIG_SENSORS_GL518SM is not set # CONFIG_SENSORS_GL520SM is not set +# CONFIG_SENSORS_G760A is not set +# CONFIG_SENSORS_G762 is not set # CONFIG_SENSORS_HIH6130 is not set -# CONFIG_SENSORS_HTU21 is not set # CONFIG_SENSORS_CORETEMP is not set # CONFIG_SENSORS_IT87 is not set # CONFIG_SENSORS_JC42 is not set # CONFIG_SENSORS_LINEAGE is not set +# CONFIG_SENSORS_LTC2945 is not set +# CONFIG_SENSORS_LTC4151 is not set +# CONFIG_SENSORS_LTC4215 is not set +# CONFIG_SENSORS_LTC4222 is not set +# CONFIG_SENSORS_LTC4245 is not set +# CONFIG_SENSORS_LTC4260 is not set +# CONFIG_SENSORS_LTC4261 is not set +# CONFIG_SENSORS_MAX16065 is not set +# CONFIG_SENSORS_MAX1619 is not set +# CONFIG_SENSORS_MAX1668 is not set +# CONFIG_SENSORS_MAX197 is not set +# CONFIG_SENSORS_MAX6639 is not set +# CONFIG_SENSORS_MAX6642 is not set +# CONFIG_SENSORS_MAX6650 is not set +# CONFIG_SENSORS_MAX6697 is not set +# CONFIG_SENSORS_HTU21 is not set +# CONFIG_SENSORS_MCP3021 is not set # CONFIG_SENSORS_LM63 is not set # CONFIG_SENSORS_LM73 is not set # CONFIG_SENSORS_LM75 is not set @@ -1945,31 +1982,17 @@ CONFIG_HWMON=y # CONFIG_SENSORS_LM90 is not set # CONFIG_SENSORS_LM92 is not set # CONFIG_SENSORS_LM93 is not set -# CONFIG_SENSORS_LTC4151 is not set -# CONFIG_SENSORS_LTC4215 is not set -# CONFIG_SENSORS_LTC4245 is not set -# CONFIG_SENSORS_LTC4261 is not set # CONFIG_SENSORS_LM95234 is not set # CONFIG_SENSORS_LM95241 is not set # CONFIG_SENSORS_LM95245 is not set -# CONFIG_SENSORS_MAX16065 is not set -# CONFIG_SENSORS_MAX1619 is not set -# CONFIG_SENSORS_MAX1668 is not set -# CONFIG_SENSORS_MAX197 is not set -# CONFIG_SENSORS_MAX6639 is not set -# CONFIG_SENSORS_MAX6642 is not set -# CONFIG_SENSORS_MAX6650 is not set -# CONFIG_SENSORS_MAX6697 is not set -# CONFIG_SENSORS_MCP3021 is not set -# CONFIG_SENSORS_NCT6775 is not set -# CONFIG_SENSORS_NTC_THERMISTOR is not set # CONFIG_SENSORS_PC87360 is not set # CONFIG_SENSORS_PC87427 is not set +# CONFIG_SENSORS_NTC_THERMISTOR is not set +# CONFIG_SENSORS_NCT6775 is not set # CONFIG_SENSORS_PCF8591 is not set # CONFIG_PMBUS is not set # CONFIG_SENSORS_SHT21 is not set # CONFIG_SENSORS_SIS5595 is not set -# CONFIG_SENSORS_SMM665 is not set # CONFIG_SENSORS_DME1737 is not set # CONFIG_SENSORS_EMC1403 is not set # CONFIG_SENSORS_EMC2103 is not set @@ -1980,6 +2003,8 @@ CONFIG_HWMON=y # CONFIG_SENSORS_SCH56XX_COMMON is not set # CONFIG_SENSORS_SCH5627 is not set # CONFIG_SENSORS_SCH5636 is not set +# CONFIG_SENSORS_SMM665 is not set +# CONFIG_SENSORS_ADC128D818 is not set # CONFIG_SENSORS_ADS1015 is not set # CONFIG_SENSORS_ADS7828 is not set # CONFIG_SENSORS_AMC6821 is not set @@ -2002,7 +2027,6 @@ CONFIG_HWMON=y # CONFIG_SENSORS_W83L786NG is not set # CONFIG_SENSORS_W83627HF is not set # CONFIG_SENSORS_W83627EHF is not set -# CONFIG_SENSORS_APPLESMC is not set # # ACPI drivers @@ -2017,10 +2041,10 @@ CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y # CONFIG_THERMAL_GOV_FAIR_SHARE is not set CONFIG_THERMAL_GOV_STEP_WISE=y CONFIG_THERMAL_GOV_USER_SPACE=y -# CONFIG_CPU_THERMAL is not set # CONFIG_THERMAL_EMULATION is not set # CONFIG_INTEL_POWERCLAMP is not set CONFIG_X86_PKG_TEMP_THERMAL=m +# CONFIG_ACPI_INT3403_THERMAL is not set # # Texas Instruments thermal drivers @@ -2033,13 +2057,14 @@ CONFIG_WATCHDOG=y # Watchdog Device Drivers # # CONFIG_SOFT_WATCHDOG is not set +# CONFIG_XILINX_WATCHDOG is not set +# CONFIG_DW_WATCHDOG is not set # CONFIG_ACQUIRE_WDT is not set # CONFIG_ADVANTECH_WDT is not set # CONFIG_ALIM1535_WDT is not set # CONFIG_ALIM7101_WDT is not set # CONFIG_F71808E_WDT is not set # CONFIG_SP5100_TCO is not set -# CONFIG_SC520_WDT is not set # CONFIG_SBC_FITPC2_WATCHDOG is not set # CONFIG_EUROTECH_WDT is not set # CONFIG_IB700_WDT is not set @@ -2098,6 +2123,7 @@ CONFIG_BCMA_POSSIBLE=y # CONFIG_MFD_CS5535 is not set # CONFIG_MFD_AS3711 is not set # CONFIG_PMIC_ADP5520 is not set +# CONFIG_MFD_BCM590XX is not set # CONFIG_MFD_CROS_EC is not set # CONFIG_PMIC_DA903X is not set # CONFIG_MFD_DA9052_I2C is not set @@ -2112,6 +2138,7 @@ CONFIG_BCMA_POSSIBLE=y # CONFIG_MFD_88PM800 is not set # CONFIG_MFD_88PM805 is not set # CONFIG_MFD_88PM860X is not set +# CONFIG_MFD_MAX14577 is not set # CONFIG_MFD_MAX77686 is not set # CONFIG_MFD_MAX77693 is not set # CONFIG_MFD_MAX8907 is not set @@ -2123,6 +2150,7 @@ CONFIG_BCMA_POSSIBLE=y # CONFIG_MFD_PCF50633 is not set # CONFIG_MFD_RDC321X is not set # CONFIG_MFD_RTSX_PCI is not set +# CONFIG_MFD_RTSX_USB is not set # CONFIG_MFD_RC5T583 is not set # CONFIG_MFD_SEC_CORE is not set # CONFIG_MFD_SI476X_CORE is not set @@ -2132,12 +2160,14 @@ CONFIG_BCMA_POSSIBLE=y # CONFIG_MFD_STMPE is not set # CONFIG_MFD_SYSCON is not set # CONFIG_MFD_TI_AM335X_TSCADC is not set +# CONFIG_MFD_LP3943 is not set # CONFIG_MFD_LP8788 is not set # CONFIG_MFD_PALMAS is not set # CONFIG_TPS6105X is not set # CONFIG_TPS6507X is not set # CONFIG_MFD_TPS65090 is not set # CONFIG_MFD_TPS65217 is not set +# CONFIG_MFD_TPS65218 is not set # CONFIG_MFD_TPS6586X is not set # CONFIG_MFD_TPS80031 is not set # CONFIG_TWL4030_CORE is not set @@ -2163,9 +2193,14 @@ CONFIG_AGP_AMD64=y CONFIG_AGP_INTEL=y # CONFIG_AGP_SIS is not set # CONFIG_AGP_VIA is not set +CONFIG_INTEL_GTT=y CONFIG_VGA_ARB=y CONFIG_VGA_ARB_MAX_GPUS=16 # CONFIG_VGA_SWITCHEROO is not set + +# +# Direct Rendering Manager +# CONFIG_DRM=y CONFIG_DRM_KMS_HELPER=y CONFIG_DRM_KMS_FB_HELPER=y @@ -2186,6 +2221,7 @@ CONFIG_DRM_I915=y # CONFIG_DRM_I915_KMS is not set CONFIG_DRM_I915_FBDEV=y # CONFIG_DRM_I915_PRELIMINARY_HW_SUPPORT is not set +# CONFIG_DRM_I915_UMS is not set # CONFIG_DRM_MGA is not set # CONFIG_DRM_SIS is not set # CONFIG_DRM_VIA is not set @@ -2197,13 +2233,16 @@ CONFIG_DRM_I915_FBDEV=y # CONFIG_DRM_MGAG200 is not set # CONFIG_DRM_CIRRUS_QEMU is not set # CONFIG_DRM_QXL is not set -# CONFIG_VGASTATE is not set -CONFIG_VIDEO_OUTPUT_CONTROL=y -CONFIG_HDMI=y +# CONFIG_DRM_BOCHS is not set +# CONFIG_DRM_PTN3460 is not set + +# +# Frame buffer Devices +# CONFIG_FB=y # CONFIG_FIRMWARE_EDID is not set # CONFIG_FB_DDC is not set -# CONFIG_FB_BOOT_VESA_SUPPORT is not set +CONFIG_FB_BOOT_VESA_SUPPORT=y CONFIG_FB_CFB_FILLRECT=y CONFIG_FB_CFB_COPYAREA=y CONFIG_FB_CFB_IMAGEBLIT=y @@ -2234,6 +2273,7 @@ CONFIG_FB_VESA=y CONFIG_FB_EFI=y # CONFIG_FB_N411 is not set # CONFIG_FB_HGA is not set +# CONFIG_FB_OPENCORES is not set # CONFIG_FB_S1D13XXX is not set # CONFIG_FB_NVIDIA is not set # CONFIG_FB_RIVA is not set @@ -2279,6 +2319,8 @@ CONFIG_BACKLIGHT_GENERIC=y # CONFIG_BACKLIGHT_LP855X is not set # CONFIG_BACKLIGHT_LV5207LP is not set # CONFIG_BACKLIGHT_BD6107 is not set +# CONFIG_VGASTATE is not set +CONFIG_HDMI=y # # Console display driver support @@ -2345,8 +2387,6 @@ CONFIG_SND_PCI=y # CONFIG_SND_OXYGEN is not set # CONFIG_SND_CS4281 is not set # CONFIG_SND_CS46XX is not set -# CONFIG_SND_CS5530 is not set -# CONFIG_SND_CS5535AUDIO is not set # CONFIG_SND_CTXFI is not set # CONFIG_SND_DARLA20 is not set # CONFIG_SND_GINA20 is not set @@ -2369,28 +2409,6 @@ CONFIG_SND_PCI=y # CONFIG_SND_ES1938 is not set # CONFIG_SND_ES1968 is not set # CONFIG_SND_FM801 is not set -CONFIG_SND_HDA_INTEL=y -CONFIG_SND_HDA_PREALLOC_SIZE=64 -CONFIG_SND_HDA_HWDEP=y -# CONFIG_SND_HDA_RECONFIG is not set -# CONFIG_SND_HDA_INPUT_BEEP is not set -# CONFIG_SND_HDA_INPUT_JACK is not set -# CONFIG_SND_HDA_PATCH_LOADER is not set -CONFIG_SND_HDA_CODEC_REALTEK=y -CONFIG_SND_HDA_CODEC_ANALOG=y -CONFIG_SND_HDA_CODEC_SIGMATEL=y -CONFIG_SND_HDA_CODEC_VIA=y -CONFIG_SND_HDA_CODEC_HDMI=y -CONFIG_SND_HDA_I915=y -CONFIG_SND_HDA_CODEC_CIRRUS=y -CONFIG_SND_HDA_CODEC_CONEXANT=y -CONFIG_SND_HDA_CODEC_CA0110=y -CONFIG_SND_HDA_CODEC_CA0132=y -# CONFIG_SND_HDA_CODEC_CA0132_DSP is not set -CONFIG_SND_HDA_CODEC_CMEDIA=y -CONFIG_SND_HDA_CODEC_SI3054=y -CONFIG_SND_HDA_GENERIC=y -CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0 # CONFIG_SND_HDSP is not set # CONFIG_SND_HDSPM is not set # CONFIG_SND_ICE1712 is not set @@ -2415,6 +2433,33 @@ CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0 # CONFIG_SND_VIRTUOSO is not set # CONFIG_SND_VX222 is not set # CONFIG_SND_YMFPCI is not set + +# +# HD-Audio +# +CONFIG_SND_HDA=y +CONFIG_SND_HDA_INTEL=y +CONFIG_SND_HDA_PREALLOC_SIZE=64 +CONFIG_SND_HDA_HWDEP=y +# CONFIG_SND_HDA_RECONFIG is not set +# CONFIG_SND_HDA_INPUT_BEEP is not set +# CONFIG_SND_HDA_INPUT_JACK is not set +# CONFIG_SND_HDA_PATCH_LOADER is not set +CONFIG_SND_HDA_CODEC_REALTEK=y +CONFIG_SND_HDA_CODEC_ANALOG=y +CONFIG_SND_HDA_CODEC_SIGMATEL=y +CONFIG_SND_HDA_CODEC_VIA=y +CONFIG_SND_HDA_CODEC_HDMI=y +CONFIG_SND_HDA_I915=y +CONFIG_SND_HDA_CODEC_CIRRUS=y +CONFIG_SND_HDA_CODEC_CONEXANT=y +CONFIG_SND_HDA_CODEC_CA0110=y +CONFIG_SND_HDA_CODEC_CA0132=y +# CONFIG_SND_HDA_CODEC_CA0132_DSP is not set +CONFIG_SND_HDA_CODEC_CMEDIA=y +CONFIG_SND_HDA_CODEC_SI3054=y +CONFIG_SND_HDA_GENERIC=y +CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0 CONFIG_SND_USB=y # CONFIG_SND_USB_AUDIO is not set # CONFIG_SND_USB_UA101 is not set @@ -2586,13 +2631,16 @@ CONFIG_USB_STORAGE=y # CONFIG_USB_STORAGE_KARMA is not set # CONFIG_USB_STORAGE_CYPRESS_ATACB is not set # CONFIG_USB_STORAGE_ENE_UB6250 is not set +# CONFIG_USB_UAS is not set # # USB Imaging devices # # CONFIG_USB_MDC800 is not set # CONFIG_USB_MICROTEK is not set +# CONFIG_USB_MUSB_HDRC is not set # CONFIG_USB_DWC3 is not set +# CONFIG_USB_DWC2 is not set # CONFIG_USB_CHIPIDEA is not set # @@ -2631,6 +2679,7 @@ CONFIG_USB_STORAGE=y # USB Physical Layer drivers # # CONFIG_USB_PHY is not set +# CONFIG_USB_OTG_FSM is not set # CONFIG_NOP_USB_XCEIV is not set # CONFIG_SAMSUNG_USB2PHY is not set # CONFIG_SAMSUNG_USB3PHY is not set @@ -2662,7 +2711,6 @@ CONFIG_LEDS_CLASS=y # CONFIG_LEDS_INTEL_SS4200 is not set # CONFIG_LEDS_TCA6507 is not set # CONFIG_LEDS_LM355x is not set -# CONFIG_LEDS_OT200 is not set # CONFIG_LEDS_BLINKM is not set # @@ -2716,6 +2764,7 @@ CONFIG_RTC_INTF_DEV=y # CONFIG_RTC_DRV_RS5C372 is not set # CONFIG_RTC_DRV_ISL1208 is not set # CONFIG_RTC_DRV_ISL12022 is not set +# CONFIG_RTC_DRV_ISL12057 is not set # CONFIG_RTC_DRV_X1205 is not set # CONFIG_RTC_DRV_PCF2127 is not set # CONFIG_RTC_DRV_PCF8523 is not set @@ -2772,7 +2821,6 @@ CONFIG_DMADEVICES=y # CONFIG_DW_DMAC_CORE is not set # CONFIG_DW_DMAC is not set # CONFIG_DW_DMAC_PCI is not set -# CONFIG_TIMB_DMA is not set # CONFIG_PCH_DMA is not set CONFIG_DMA_ACPI=y # CONFIG_AUXDISPLAY is not set @@ -2797,6 +2845,7 @@ CONFIG_X86_PLATFORM_DEVICES=y # CONFIG_FUJITSU_TABLET is not set # CONFIG_AMILO_RFKILL is not set # CONFIG_HP_ACCEL is not set +# CONFIG_HP_WIRELESS is not set # CONFIG_MSI_LAPTOP is not set # CONFIG_PANASONIC_LAPTOP is not set # CONFIG_COMPAL_LAPTOP is not set @@ -2827,6 +2876,10 @@ CONFIG_EEEPC_LAPTOP=y # CONFIG_CLKEVT_I8253=y CONFIG_CLKBLD_I8253=y +# CONFIG_SH_TIMER_CMT is not set +# CONFIG_SH_TIMER_MTU2 is not set +# CONFIG_SH_TIMER_TMU is not set +# CONFIG_EM_TIMER_STI is not set # CONFIG_MAILBOX is not set CONFIG_IOMMU_API=y CONFIG_IOMMU_SUPPORT=y @@ -2862,8 +2915,9 @@ CONFIG_INTEL_IOMMU_FLOPPY_WA=y # PHY Subsystem # # CONFIG_GENERIC_PHY is not set -# CONFIG_PHY_EXYNOS_MIPI_VIDEO is not set +# CONFIG_PHY_SAMSUNG_USB2 is not set # CONFIG_POWERCAP is not set +# CONFIG_MCB is not set # # Firmware Drivers @@ -2874,6 +2928,7 @@ CONFIG_FIRMWARE_MEMMAP=y # CONFIG_DCDBAS is not set CONFIG_DMIID=y # CONFIG_DMI_SYSFS is not set +CONFIG_DMI_SCAN_MACHINE_NON_EFI_FALLBACK=y # CONFIG_ISCSI_IBFT_FIND is not set # CONFIG_GOOGLE_FIRMWARE is not set @@ -2926,7 +2981,6 @@ CONFIG_QUOTACTL=y CONFIG_QUOTACTL_COMPAT=y CONFIG_AUTOFS4_FS=y # CONFIG_FUSE_FS is not set -CONFIG_GENERIC_ACL=y # # Caches @@ -2959,6 +3013,7 @@ CONFIG_PROC_KCORE=y CONFIG_PROC_VMCORE=y CONFIG_PROC_SYSCTL=y CONFIG_PROC_PAGE_MONITOR=y +CONFIG_KERNFS=y CONFIG_SYSFS=y CONFIG_TMPFS=y CONFIG_TMPFS_POSIX_ACL=y @@ -3135,6 +3190,7 @@ CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=120 CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0 # CONFIG_PANIC_ON_OOPS is not set CONFIG_PANIC_ON_OOPS_VALUE=0 +CONFIG_PANIC_TIMEOUT=0 # CONFIG_SCHED_DEBUG is not set CONFIG_SCHEDSTATS=y CONFIG_TIMER_STATS=y @@ -3154,11 +3210,11 @@ CONFIG_LOCKDEP=y # CONFIG_DEBUG_LOCKDEP is not set CONFIG_DEBUG_ATOMIC_SLEEP=y # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set +# CONFIG_LOCK_TORTURE_TEST is not set CONFIG_TRACE_IRQFLAGS=y CONFIG_STACKTRACE=y # CONFIG_DEBUG_KOBJECT is not set CONFIG_DEBUG_BUGVERBOSE=y -# CONFIG_DEBUG_WRITECOUNT is not set # CONFIG_DEBUG_LIST is not set # CONFIG_DEBUG_SG is not set # CONFIG_DEBUG_NOTIFIERS is not set @@ -3169,6 +3225,7 @@ CONFIG_DEBUG_BUGVERBOSE=y # # CONFIG_PROVE_RCU is not set # CONFIG_SPARSE_RCU_POINTER is not set +# CONFIG_TORTURE_TEST is not set # CONFIG_RCU_TORTURE_TEST is not set CONFIG_RCU_CPU_STALL_TIMEOUT=21 # CONFIG_RCU_CPU_STALL_INFO is not set @@ -3232,6 +3289,8 @@ CONFIG_PROBE_EVENTS=y # CONFIG_TEST_KSTRTOX is not set CONFIG_PROVIDE_OHCI1394_DMA_INIT=y # CONFIG_DMA_API_DEBUG is not set +# CONFIG_TEST_MODULE is not set +# CONFIG_TEST_USER_COPY is not set # CONFIG_SAMPLES is not set CONFIG_HAVE_ARCH_KGDB=y # CONFIG_KGDB is not set @@ -3429,6 +3488,7 @@ CONFIG_CRYPTO_DES=y # CONFIG_CRYPTO_USER_API_SKCIPHER is not set CONFIG_CRYPTO_HW=y # CONFIG_CRYPTO_DEV_PADLOCK is not set +# CONFIG_CRYPTO_DEV_CCP is not set # CONFIG_ASYMMETRIC_KEY_TYPE is not set CONFIG_HAVE_KVM=y CONFIG_VIRTUALIZATION=y @@ -3460,6 +3520,7 @@ CONFIG_CRC32_SLICEBY8=y # CONFIG_CRC7 is not set # CONFIG_LIBCRC32C is not set # CONFIG_CRC8 is not set +# CONFIG_AUDIT_ARCH_COMPAT_GENERIC is not set # CONFIG_RANDOM32_SELFTEST is not set CONFIG_ZLIB_INFLATE=y CONFIG_LZO_COMPRESS=y @@ -3476,7 +3537,7 @@ CONFIG_XZ_DEC_BCJ=y CONFIG_DECOMPRESS_GZIP=y CONFIG_ASSOCIATIVE_ARRAY=y CONFIG_HAS_IOMEM=y -CONFIG_HAS_IOPORT=y +CONFIG_HAS_IOPORT_MAP=y CONFIG_HAS_DMA=y CONFIG_CHECK_SIGNATURE=y CONFIG_CPU_RMAP=y From 69f835c9c1f7b855ab14fdfde99632c6151ea540 Mon Sep 17 00:00:00 2001 From: Matt Fleming Date: Wed, 20 Aug 2014 11:51:58 +0100 Subject: [PATCH 627/658] linux-yocto-efi-test: Enable CONFIG_EFI_BOOT_SERVICES_WARN It's very useful to know if the firmware makes illegal accesses to the EFI boot services regions. Enable CONFIG_EFI_BOOT_SERVICES_WARN which prints a warning if such an access occurs. Signed-off-by: Matt Fleming --- meta-luv/recipes-kernel/linux/linux-yocto-efi-test/defconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-luv/recipes-kernel/linux/linux-yocto-efi-test/defconfig b/meta-luv/recipes-kernel/linux/linux-yocto-efi-test/defconfig index 7ed3acf8d83..e596f8f0033 100644 --- a/meta-luv/recipes-kernel/linux/linux-yocto-efi-test/defconfig +++ b/meta-luv/recipes-kernel/linux/linux-yocto-efi-test/defconfig @@ -453,7 +453,7 @@ CONFIG_X86_SMAP=y CONFIG_EFI=y CONFIG_EFI_STUB=y # CONFIG_EFI_MIXED is not set -# CONFIG_EFI_BOOT_SERVICES_WARN is not set +CONFIG_EFI_BOOT_SERVICES_WARN=y CONFIG_SECCOMP=y # CONFIG_HZ_100 is not set # CONFIG_HZ_250 is not set From 48acdddcfe59412173287e6a68bfc734975b38fa Mon Sep 17 00:00:00 2001 From: Ricardo Neri Date: Wed, 20 Aug 2014 07:59:55 -0700 Subject: [PATCH 628/658] kernel-efi-warnings: Introduce a tool to analyze EFI kernel logs The Linux kernel provides lots of information about its errands with the UEFI firmware at boot time. However, such information is buried inside the dmesg buffer. Automated test resources, such as LuvOS, need automated tools to find, parse and format such information. kernel-efi-warnings rely on the dmesg buffer to find specific expressions. The absence or presence of such expressions are treated as a test pass/fail. For now, the scripts only looks for the warnings that the kernel issues if it detects illegal accesses to the EFI_BOOT_SERVICES_* memory regions. The script is intended to grow as mroe kernel tests become available. Signed-off-by: Ricardo Neri --- .../kernel-efi-warnings/kernel-efi-warnings | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 meta-luv/recipes-core/kernel_efi_warnings/kernel-efi-warnings/kernel-efi-warnings diff --git a/meta-luv/recipes-core/kernel_efi_warnings/kernel-efi-warnings/kernel-efi-warnings b/meta-luv/recipes-core/kernel_efi_warnings/kernel-efi-warnings/kernel-efi-warnings new file mode 100644 index 00000000000..620781a4d31 --- /dev/null +++ b/meta-luv/recipes-core/kernel_efi_warnings/kernel-efi-warnings/kernel-efi-warnings @@ -0,0 +1,28 @@ +#!/bin/sh +# +# Copyright 2014 Intel Corporation; author Ricardo Neri +# +# This script analyzes the dmesg buffer looking for messages generated by the +# kernel that might indicate that it has found potential UEFI firmware bugs. + +# First, check if the dmesg buffer is complete + +dmesg | grep -q "Linux version" +if [ $? -ne 0 ]; then + echo "Warning: Dmesg buffer may have been wrapped around" +fi + + +# Check if the kernel had to fixup page faults caused by the firmware accessing +# BOOT_SERVICES_DATA/CODE memory regions after ExitBootServices() has been called +# kernel message we use to find the illegal accesses: +# efi: Fixing illegal access to BOOT_SERVICES_*. Bug in EFI firmware? + +echo "Test: EFI_BOOT_SERVICES_*_illegal_access" +echo "Description: Check for illegal accesses to BOOT_SERVICES_* memory regions" +dmesg | grep -q "efi: Fixing illegal access to BOOT_SERVICES_\*. Bug in EFI firmware?" +if [ $? -eq 0 ]; then + echo "FAIL: Found illegal accesses to BOOT_SERVICES_* memory" +else + echo "PASS: No illegal access to BOOT_SERVICES_* memory detected" +fi From 78b7391cb9add38373518bb908e5c6653e4cff80 Mon Sep 17 00:00:00 2001 From: Ricardo Neri Date: Wed, 20 Aug 2014 08:01:26 -0700 Subject: [PATCH 629/658] kernel-efi-warnings: Add a luv-parser In order for the LuvOS test manager to take the rest results of kernel-efi-warnings, we need a parser that presents the results in a format that it can understand. Signed-off-by: Ricardo Neri sdfsdf --- .../luv-parser-kernel-efi-warnings | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 meta-luv/recipes-core/kernel_efi_warnings/kernel-efi-warnings/luv-parser-kernel-efi-warnings diff --git a/meta-luv/recipes-core/kernel_efi_warnings/kernel-efi-warnings/luv-parser-kernel-efi-warnings b/meta-luv/recipes-core/kernel_efi_warnings/kernel-efi-warnings/luv-parser-kernel-efi-warnings new file mode 100644 index 00000000000..08c2d905654 --- /dev/null +++ b/meta-luv/recipes-core/kernel_efi_warnings/kernel-efi-warnings/luv-parser-kernel-efi-warnings @@ -0,0 +1,17 @@ +#!/bin/sh +# +# Parse the output of kernel-efi-warnings and write a luv-test-manager +# compatible log to stdout. +awk '/Test:/ { + test=$2 + printf ("1.0 kernel-efi-warnings %s INFO\n", test); + } + + /PASS/ { + printf ("1.0 kernel-efi-warnings %s RESULT 1 0 0 0\n", test); + } + + /FAIL/ { + printf ("1.0 kernel-efi-warnings %s RESULT 0 1 0 0\n", test); + } +' From 49b26dae846f16a9983f050f0cd295264a484a3d Mon Sep 17 00:00:00 2001 From: Ricardo Neri Date: Wed, 20 Aug 2014 08:04:56 -0700 Subject: [PATCH 630/658] kernel-efi-warnings: Add a bitbake recipe Add a recipe to install kernel-efi-warnings. As it inherits from luv-test, it also takes care of installing the luv-parser. Signed-off-by: Ricardo Neri --- .../kernel-efi-warnings_0.1.bb | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 meta-luv/recipes-core/kernel_efi_warnings/kernel-efi-warnings_0.1.bb diff --git a/meta-luv/recipes-core/kernel_efi_warnings/kernel-efi-warnings_0.1.bb b/meta-luv/recipes-core/kernel_efi_warnings/kernel-efi-warnings_0.1.bb new file mode 100644 index 00000000000..f792b61f01f --- /dev/null +++ b/meta-luv/recipes-core/kernel_efi_warnings/kernel-efi-warnings_0.1.bb @@ -0,0 +1,22 @@ +SUMMARY = "Kernel warnings for potential UEFI firmware bugs" +DESCRIPTION = "Simple tool to look for warnings generated by the Linux kernel \ +when it finds potential UEFI firmware bugs" +HOMEPAGE = "https://www.kernel.org/pub/linux/kernel" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6" + +SRC_URI = "file://kernel-efi-warnings \ + file://luv-parser-kernel-efi-warnings \ + " +DEPENDS = "grep" + +inherit luv-test + +do_install() { + install -d ${D}${bindir} + install -m 755 ${WORKDIR}/kernel-efi-warnings ${D}${bindir} +} + +LUV_TEST_LOG_PARSER="luv-parser-kernel-efi-warnings" +LUV_TEST="kernel-efi-warnings" +LUV_TEST_ARGS="" From b2dad418ae282586f13b21b87db2ca97f9403da7 Mon Sep 17 00:00:00 2001 From: Ricardo Neri Date: Wed, 20 Aug 2014 08:08:15 -0700 Subject: [PATCH 631/658] core-image-efi-initramfs: Select kernel-efi-warnings Make sure kernel-efi-warnings is included in the ramfs filesystem. kerne-efi-warnings is a simple script that analyzes the kernel messages to search for warnings that the kernel might issue if/when it finds potential bugs in the UEFI firmware. Signed-off-by: Ricardo Neri --- meta-luv/recipes-core/images/core-image-efi-initramfs.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-luv/recipes-core/images/core-image-efi-initramfs.bb b/meta-luv/recipes-core/images/core-image-efi-initramfs.bb index d1e266a0ba3..c2bbdf6a0b6 100644 --- a/meta-luv/recipes-core/images/core-image-efi-initramfs.bb +++ b/meta-luv/recipes-core/images/core-image-efi-initramfs.bb @@ -7,7 +7,7 @@ IMAGE_INSTALL = "\ kernel-image fwts bash coreutils gawk grep util-linux-agetty \ util-linux-mount util-linux-umount kmod sed tar net-tools \ shadow util-linux procps efivarfs-test \ - psplash kexec vmcore-dmesg \ + psplash kexec vmcore-dmesg kernel-efi-warnings \ " export IMAGE_BASENAME = "core-image-efi-initramfs" From a3cf007f3aa6ae9d06b1d8efe18fcb4745cecff5 Mon Sep 17 00:00:00 2001 From: Matt Fleming Date: Thu, 14 Aug 2014 12:46:46 +0100 Subject: [PATCH 632/658] grub-efi-native: Enable graphics and chainloader modules In order to display images from the boot menu we're going to need to load gfxmenu, gfxterm and other grub modules. Turn them on in our luvOS-specific bbappend. Also include the chainloader module which is how we're going to execute the bits tests. Signed-off-by: Matt Fleming --- meta-luv/recipes-bsp/grub/grub-efi-native_2.00.bbappend | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/meta-luv/recipes-bsp/grub/grub-efi-native_2.00.bbappend b/meta-luv/recipes-bsp/grub/grub-efi-native_2.00.bbappend index 58016a757d6..8d37e64a9e1 100644 --- a/meta-luv/recipes-bsp/grub/grub-efi-native_2.00.bbappend +++ b/meta-luv/recipes-bsp/grub/grub-efi-native_2.00.bbappend @@ -4,5 +4,6 @@ do_mkimage() { ./grub-mkimage -c ../cfg -p /EFI/BOOT -d ./grub-core/ \ -O ${GRUB_TARGET}-efi -o ./${GRUB_IMAGE} \ boot linux ext2 fat serial part_msdos part_gpt \ - normal efi_gop iso9660 search efinet tftp all_video + normal efi_gop iso9660 search efinet tftp all_video chain \ + gfxmenu jpeg gfxterm } From 4ef4395b023072c5a9beffec00617e556498421b Mon Sep 17 00:00:00 2001 From: Matt Fleming Date: Thu, 14 Aug 2014 12:44:29 +0100 Subject: [PATCH 633/658] bits: Install tests and parser bits comes with its own version of the grub bootloader, with custom modules installed as part of the grub image, for example a python module to interpret the python tests. We must install this boot loader alongside our default one, along with the necessary parsers and test runners to extract the results of the bits tests from userland. Signed-off-by: Matt Fleming --- meta-luv/recipes-bsp/bits/bits.bb | 12 +++++++++- .../recipes-bsp/bits/bits/luv-parser-bits | 22 +++++++++++++++++++ meta-luv/recipes-bsp/bits/bits/luv-test-bits | 15 +++++++++++++ .../images/core-image-efi-initramfs.bb | 2 +- .../initscripts/initscripts/luv-test-manager | 13 +++++++++++ 5 files changed, 62 insertions(+), 2 deletions(-) create mode 100644 meta-luv/recipes-bsp/bits/bits/luv-parser-bits create mode 100644 meta-luv/recipes-bsp/bits/bits/luv-test-bits diff --git a/meta-luv/recipes-bsp/bits/bits.bb b/meta-luv/recipes-bsp/bits/bits.bb index 6d4223b4fdc..856a511c828 100644 --- a/meta-luv/recipes-bsp/bits/bits.bb +++ b/meta-luv/recipes-bsp/bits/bits.bb @@ -19,10 +19,13 @@ PV="1084" inherit autotools inherit deploy +inherit luv-test #Pointing to the source bios bits SRC_URI = "http://biosbits.org/downloads/${BPN}-${PV}.zip \ file://bits-cfg.txt \ + file://luv-test-bits \ + file://luv-parser-bits \ " SRC_URI[md5sum] = "57e1b689264ea80f78353519eece0c92" @@ -53,15 +56,22 @@ python __anonymous () { } +LUV_TEST_LOG_PARSER = "luv-parser-bits" + +do_install() { + install -d ${D}/${bindir} + install -m 0755 ${WORKDIR}/luv-test-bits ${D}/${bindir}/bits +} + do_deploy() { install -d ${DEPLOYDIR}/bits cp -r ${B}/boot/ ${DEPLOYDIR}/bits/ + cp -r ${B}/efi ${DEPLOYDIR}/bits/ } addtask deploy before do_build after do_compile -do_install[noexec] = "1" do_populate_sysroot[noexec] = "1" diff --git a/meta-luv/recipes-bsp/bits/bits/luv-parser-bits b/meta-luv/recipes-bsp/bits/bits/luv-parser-bits new file mode 100644 index 00000000000..675b4d8bff7 --- /dev/null +++ b/meta-luv/recipes-bsp/bits/bits/luv-parser-bits @@ -0,0 +1,22 @@ +#!/bin/sh +# +# Parse the output of the BITS tests and write a luv-test-manager +# compatible version to stdout. +# +awk '/\=\=\=/ { + if (test) { + printf "1.0 bits %s RESULT %d %d %d 0\n", test, passes, +fails, skips; + passes = 0; fails = 0; skips =0; + } + + test=$2 +} + +/^Summary/ { + passes += $2 + fails += $4 + + if (!passes && !fails) + skips += 1 +}' diff --git a/meta-luv/recipes-bsp/bits/bits/luv-test-bits b/meta-luv/recipes-bsp/bits/bits/luv-test-bits new file mode 100644 index 00000000000..57141ca5331 --- /dev/null +++ b/meta-luv/recipes-bsp/bits/bits/luv-test-bits @@ -0,0 +1,15 @@ +#!/bin/sh +# +# Check to see whether the BITS tests were run as part of this boot. +# + +EFI_PATH="/mnt/luv-efi" +bits_log=${EFI_PATH}/boot/bits-log.txt + +if [ ! -e $bits_log ]; then + # Nothing to do, no test results. + exit 0 +fi + +cat $bits_log +#rm $bits_log diff --git a/meta-luv/recipes-core/images/core-image-efi-initramfs.bb b/meta-luv/recipes-core/images/core-image-efi-initramfs.bb index c2bbdf6a0b6..a1e2aa14fdf 100644 --- a/meta-luv/recipes-core/images/core-image-efi-initramfs.bb +++ b/meta-luv/recipes-core/images/core-image-efi-initramfs.bb @@ -7,7 +7,7 @@ IMAGE_INSTALL = "\ kernel-image fwts bash coreutils gawk grep util-linux-agetty \ util-linux-mount util-linux-umount kmod sed tar net-tools \ shadow util-linux procps efivarfs-test \ - psplash kexec vmcore-dmesg kernel-efi-warnings \ + psplash kexec vmcore-dmesg kernel-efi-warnings bits \ " export IMAGE_BASENAME = "core-image-efi-initramfs" diff --git a/meta-luv/recipes-core/initscripts/initscripts/luv-test-manager b/meta-luv/recipes-core/initscripts/initscripts/luv-test-manager index a31e6b21a94..4dd908e2ce9 100644 --- a/meta-luv/recipes-core/initscripts/initscripts/luv-test-manager +++ b/meta-luv/recipes-core/initscripts/initscripts/luv-test-manager @@ -40,6 +40,14 @@ if [ $? -eq 0 ]; then fi fi +LUV_EFI_UUID=423C-C2C8 +LUV_EFI=/mnt/luv-efi/ + +mkdir -p ${LUV_EFI} +if [ $? -eq 0 ]; then + mount /dev/disk/by-uuid/${LUV_EFI_UUID} ${LUV_EFI} +fi + psplash_write "MSG Running tests..." cat < Date: Thu, 14 Aug 2014 13:32:02 +0100 Subject: [PATCH 634/658] bits: Add header to config file Without the header the bits runtime complains like so, Traceback (most recent call last): File "", line 1, in File "/boot/python/init.py", line 69, in init bitsconfig.init() File "/boot/python/bitsconfig.py", line 42, in init config.read("/boot/bits-cfg.txt") File "/boot/python/lib/ConfigParser.py", line 305, in read self._read(fp, filename) File "/boot/python/lib/ConfigParser.py", line 512, in _read raise MissingSectionHeaderError(fpname, lineno, line) ConfigParser.MissingSectionHeaderError: File contains no section headers. file: /boot/bits-cfg.txt, line: 3 'batch = test acpi smbios\n' Include a [bits] header and make sure we actually install the config file. Signed-off-by: Matt Fleming --- meta-luv/recipes-bsp/bits/bits.bb | 1 + meta-luv/recipes-bsp/bits/bits/bits-cfg.txt | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/meta-luv/recipes-bsp/bits/bits.bb b/meta-luv/recipes-bsp/bits/bits.bb index 856a511c828..51152ed161c 100644 --- a/meta-luv/recipes-bsp/bits/bits.bb +++ b/meta-luv/recipes-bsp/bits/bits.bb @@ -68,6 +68,7 @@ do_deploy() { install -d ${DEPLOYDIR}/bits cp -r ${B}/boot/ ${DEPLOYDIR}/bits/ + cp ${WORKDIR}/bits-cfg.txt ${DEPLOYDIR}/bits/boot/ cp -r ${B}/efi ${DEPLOYDIR}/bits/ } diff --git a/meta-luv/recipes-bsp/bits/bits/bits-cfg.txt b/meta-luv/recipes-bsp/bits/bits/bits-cfg.txt index 8d10d9a4822..38af95a7dad 100644 --- a/meta-luv/recipes-bsp/bits/bits/bits-cfg.txt +++ b/meta-luv/recipes-bsp/bits/bits/bits-cfg.txt @@ -1,3 +1,3 @@ - +[bits] #Enabling auto mode batch = test acpi smbios From 792bb27ce995453624e4e870939f8b74bf0b75cd Mon Sep 17 00:00:00 2001 From: Matt Fleming Date: Thu, 14 Aug 2014 13:57:26 +0100 Subject: [PATCH 635/658] bits: Return control to bootloader on completion When we've finished running the bits tests we need to return control to the luvOS bootloader, so that we can run further tests, like booting a Linux kernel. Signed-off-by: Matt Fleming --- meta-luv/recipes-bsp/bits/bits.bb | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/meta-luv/recipes-bsp/bits/bits.bb b/meta-luv/recipes-bsp/bits/bits.bb index 51152ed161c..14266b24313 100644 --- a/meta-luv/recipes-bsp/bits/bits.bb +++ b/meta-luv/recipes-bsp/bits/bits.bb @@ -58,6 +58,11 @@ python __anonymous () { LUV_TEST_LOG_PARSER = "luv-parser-bits" +do_configure_prepend() { + # Return control to the main bootloader once complete. + echo "exit" >> ${S}/boot/cfg/init.cfg +} + do_install() { install -d ${D}/${bindir} install -m 0755 ${WORKDIR}/luv-test-bits ${D}/${bindir}/bits From f96dbc5314157b300a0b0eef81b26555e1926cab Mon Sep 17 00:00:00 2001 From: Matt Fleming Date: Thu, 18 Sep 2014 16:01:42 +0100 Subject: [PATCH 636/658] bits: Update checksums for bits-1084 Curiously, the checksums have become invalid for bits-1084.zip. Update them. Signed-off-by: Matt Fleming --- meta-luv/recipes-bsp/bits/bits.bb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta-luv/recipes-bsp/bits/bits.bb b/meta-luv/recipes-bsp/bits/bits.bb index 14266b24313..6f838609753 100644 --- a/meta-luv/recipes-bsp/bits/bits.bb +++ b/meta-luv/recipes-bsp/bits/bits.bb @@ -28,8 +28,8 @@ SRC_URI = "http://biosbits.org/downloads/${BPN}-${PV}.zip \ file://luv-parser-bits \ " -SRC_URI[md5sum] = "57e1b689264ea80f78353519eece0c92" -SRC_URI[sha256sum] = "7905ff96be93d725544d0040e425c42f9c05580db3c272f11cff75b9aa89d430" +SRC_URI[md5sum] = "49c88c1789686b7f387cd5bba3f4b428" +SRC_URI[sha256sum] = "a3b3cd4462384893dcb8692b3e87d60739882d247c5550120487e48ea8d4f3db" S = "${WORKDIR}/bits-1084" From 90eba0717f39975a0e685f6c2c5dbc13235aed22 Mon Sep 17 00:00:00 2001 From: Matt Fleming Date: Thu, 18 Sep 2014 16:07:33 +0100 Subject: [PATCH 637/658] bits: Do not direct output to the screen Doing so will garble any image displayed by the main boot loader. We're directly patching the python code as shipped in the bits release zip file. This means that we need to regenerate the .pyc files, which are required for bits to execute properly. Signed-off-by: Matt Fleming --- meta-luv/recipes-bsp/bits/bits.bb | 16 +++++++ .../bits/bits/0001-only-output-to-log.patch | 47 +++++++++++++++++++ 2 files changed, 63 insertions(+) create mode 100644 meta-luv/recipes-bsp/bits/bits/0001-only-output-to-log.patch diff --git a/meta-luv/recipes-bsp/bits/bits.bb b/meta-luv/recipes-bsp/bits/bits.bb index 6f838609753..1c2359983b9 100644 --- a/meta-luv/recipes-bsp/bits/bits.bb +++ b/meta-luv/recipes-bsp/bits/bits.bb @@ -26,6 +26,7 @@ SRC_URI = "http://biosbits.org/downloads/${BPN}-${PV}.zip \ file://bits-cfg.txt \ file://luv-test-bits \ file://luv-parser-bits \ + file://0001-only-output-to-log.patch;apply=no \ " SRC_URI[md5sum] = "49c88c1789686b7f387cd5bba3f4b428" @@ -61,6 +62,13 @@ LUV_TEST_LOG_PARSER = "luv-parser-bits" do_configure_prepend() { # Return control to the main bootloader once complete. echo "exit" >> ${S}/boot/cfg/init.cfg + + # Allowing the python modules to write to stdout/stderr will corrupt + # the graphics image setup by the bootloader. Instead, redirect + # everything to the log file. The alternative would be to rebuild + # BITS from source and include the gfxmenu and gfxterm grub modules. + + patch -d ${S} -p1 < ${WORKDIR}/0001-only-output-to-log.patch } do_install() { @@ -72,6 +80,14 @@ do_deploy() { install -d ${DEPLOYDIR}/bits + python -m compileall ${B}/boot/python + + # Set the mtime to zero in all bytecode files, since GRUB2 (and thus + # the BITS implementation of fstat) doesn't support mtime. + find ${B}/boot/python -name '*.pyc' | while read bytecode ; do + dd if=/dev/zero of=$bytecode bs=4 count=1 seek=1 conv=notrunc + done + cp -r ${B}/boot/ ${DEPLOYDIR}/bits/ cp ${WORKDIR}/bits-cfg.txt ${DEPLOYDIR}/bits/boot/ cp -r ${B}/efi ${DEPLOYDIR}/bits/ diff --git a/meta-luv/recipes-bsp/bits/bits/0001-only-output-to-log.patch b/meta-luv/recipes-bsp/bits/bits/0001-only-output-to-log.patch new file mode 100644 index 00000000000..46e3e7b22eb --- /dev/null +++ b/meta-luv/recipes-bsp/bits/bits/0001-only-output-to-log.patch @@ -0,0 +1,47 @@ +diff --git a/python/redirect.py b/python/redirect.py +index 6b224a4..98deb26 100644 +--- a/boot/python/redirect.py ++++ b/boot/python/redirect.py +@@ -75,8 +75,10 @@ def redirect(): + _log_header() + _orig_stdout = _sys.stdout + _orig_stderr = _sys.stderr +- _sys.stdout = Tee(_orig_stdout, _log) +- _sys.stderr = Tee(_orig_stderr, _log) ++ #_sys.stdout = Tee(_orig_stdout, _log) ++ #_sys.stderr = Tee(_orig_stderr, _log) ++ _sys.stdout = _log ++ _sys.stderr = _log + + def clear(): + """Clear the log file.""" +@@ -107,8 +109,8 @@ def log(): + global state + saved_state = state + state = LOG_STATE +- with _redirect_stdout(Tee(_orig_stdout, _log)): +- with _redirect_stderr(Tee(_orig_stderr, _log)): ++ with _redirect_stdout(_log): ++ with _redirect_stderr(_log): + yield + state = saved_state + +@@ -119,7 +121,7 @@ def logonly(): + saved_state = state + state = LOGONLY_STATE + with _redirect_stdout(_log): +- with _redirect_stderr(Tee(_orig_stderr, _log)): ++ with _redirect_stderr(_log): + yield + state = saved_state + +@@ -129,7 +131,7 @@ def nolog(): + global state + saved_state = state + state = NOLOG_STATE +- with _redirect_stdout(_orig_stdout): +- with _redirect_stderr(_orig_stderr): ++ with _redirect_stdout(_log): ++ with _redirect_stderr(_log): + yield + state = saved_state From f6a3847175adf40092ac2bd29cf1258cc6a400f9 Mon Sep 17 00:00:00 2001 From: Matt Fleming Date: Thu, 14 Aug 2014 12:48:38 +0100 Subject: [PATCH 638/658] luv-live-image: Add bits as a dependency Signed-off-by: Matt Fleming --- meta-luv/recipes-core/images/luv-live-image.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-luv/recipes-core/images/luv-live-image.bb b/meta-luv/recipes-core/images/luv-live-image.bb index ebb12d087a1..443982d917c 100644 --- a/meta-luv/recipes-core/images/luv-live-image.bb +++ b/meta-luv/recipes-core/images/luv-live-image.bb @@ -1,7 +1,7 @@ LICENSE = "MIT" LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58" -DEPENDS_${PN} = "grub-efi" +DEPENDS_${PN} = "grub-efi bits" HDDDIR = "${S}/hddimg" HDDIMG_ID = "423cc2c8" From 5bee039443b407669f96531b89d0481178a53a49 Mon Sep 17 00:00:00 2001 From: Matt Fleming Date: Thu, 25 Sep 2014 14:50:46 +0100 Subject: [PATCH 639/658] luv-live-image: Include boot loader splash screen Provide a luv splash screen for grub's use, which informs the user that we're currently running boot tests. Signed-off-by: Matt Fleming --- meta-luv/recipes-core/images/luv-live-image.bb | 5 +++++ .../images/luv-live-image/blue-luv.jpg | Bin 0 -> 25997 bytes 2 files changed, 5 insertions(+) create mode 100644 meta-luv/recipes-core/images/luv-live-image/blue-luv.jpg diff --git a/meta-luv/recipes-core/images/luv-live-image.bb b/meta-luv/recipes-core/images/luv-live-image.bb index 443982d917c..b6229013f6d 100644 --- a/meta-luv/recipes-core/images/luv-live-image.bb +++ b/meta-luv/recipes-core/images/luv-live-image.bb @@ -12,10 +12,14 @@ INITRD = "${DEPLOY_DIR_IMAGE}/${INITRD_IMAGE}-${MACHINE}.cpio.gz" MACHINE_FEATURES += "efi" APPEND = "quiet crashkernel=256M" +SPLASH_IMAGE = "blue-luv.jpg" + GRUB_TIMEOUT = "2" inherit bootimg +SRC_URI = "file://blue-luv.jpg" + build_img() { IMG="${DEPLOY_DIR_IMAGE}/${PN}.img" VFAT="${DEPLOY_DIR_IMAGE}/${IMAGE_LINK_NAME}.hddimg" @@ -67,3 +71,4 @@ do_bootimg[depends] += "${INITRD_IMAGE}:do_rootfs" do_bootimg[depends] += "virtual/kernel:do_populate_sysroot" addtask create_img after do_bootimg before do_build +addtask do_unpack before do_build diff --git a/meta-luv/recipes-core/images/luv-live-image/blue-luv.jpg b/meta-luv/recipes-core/images/luv-live-image/blue-luv.jpg new file mode 100644 index 0000000000000000000000000000000000000000..6517ac482f28d81a3b385946b639d2ca3bccc9dc GIT binary patch literal 25997 zcmeFYcT}6nvLG&xGuUPTV=&1xL?e<3B8Tyq90w#J5Xm;lNCr$!2F3}4FkrIDMq~*| zCI|sCXiPL5zhVsuwVJf z`us2F&j|s3Vn27D{oGkIKmc$KaPH!{bLRm63(oy?>GGAU7cZP=k{|sH_?z*$^A|5) zV`XK%a2^0S_tW_c7uhde=J@prr`%00q5BqBZ^=LM_N(CL5mo>xDZ~7eE30mcD60Gp ze(dvt+AnGewF*c~O35ql6BB=+3vqVwO+XX%TwlI=^JRd^f}hFzr}O`51Q#y-bpGPG z%U76GJ$ArP=YG0y{vs1DUAV;L|MvjcFI@ap?h?m+PK!t02{(malz+J_Z|OtjQc%iU zzaPFyQC^Mx>$z@B4oHZ|eMO zYlI9N@K_uC%wXSpO(wpl@)+8>*FL0F({&)teJrd3czqm*N>zu1U1C&$qBW`mOx*mz|s%{5P3GN(} z2_HG8oGQkNCeZ^x|T6odh zSK_;GzaNgirdJ($hBnD0!+?%bc^Ct7F_yi9A-CKy(FNJig+L$<*%lht(ZjVQH}9uM zq2~TB)wXrru^2x|NvGA)=}fEzSk+)-YDwL%d_Sbd>*+fRxiWCwc0bGL!!=zg^9m#F zF?-3NdgAxWFMg}3uQQ)2U)uVJkTIz-c1ua9D=e4tNJ@ShZh^tZzm30Rfh6KX6W$?e zyX}O8T%ci5UWHa%rI=5FF)#;{c&p_30ly-g$nr52Q0q@0S&FTyu^b|H=j8N*ZB2&i z0t|Mwvy3q5o%|&z)CVifraAmqkK14@3l&_{Z;qh}LJHO7pOs`F^QnKHOaJp<*N^|% z;)=J3%1{4I;|o=ZyavoVY7f54u3t7iup%w|+BH?6`H}*FjHe*OGj6Ve&H!xjvyMU& zUmTD24jjAqZq|H3tM?D3d6Sf_?G**TI&zyWglcpb;0Assfw(G)^+jYhoY*abuw48l zS+zny#gVR-)VWK44piE3oj!}BS}!`Vz71?=rG3~xcsLvPt<6~QMgFFrnP;j?=AH2^ zyNDINT(Pz((Uh6~)<%hrMd0FsQYP8n!?WIIcZ|P7!uyiMB*-D(vr?Pb8HizkGQhvIh=g%p?D)J!=jWuW7n#Istv|vm(SX-A|IuRvl{AI zkP${^!%92m_BZ1Gyg|LMdIngH4`;7(n+}QZ=b0*}tff*Tx@*GoES)3#0@vg7wS@=5 zKeP$No&la$$DH~%?XV;*97L=SoB^a7iaWOMOd5ngIbn+-#;?7jp8+&p?O2-_x7#eB zF_Ix@^v(n6fbx@#jPbem;n=HDGe@=!zqhBlr&%7yOruua@J`?@N_r~U$lZRJde}g_ z|2d;I^N*2nvDDB1{HSLY4&%~r`RGYT1-U$GCm@nfNkTbw^S8unRw^52-RtogeO5GYs51C{BI@9012)&?M z7?!cI_>QxZtd3D8fguZ;qP9;9%L+e+we-{&i+D?UJom;3wYCwYI>tVA>Zs}1 zM{pRY=(a9l*VZGxzA(P}y7+Y-3U_OuV4&e%((nDv^9INKea*~o%{jCeZ)GOnDi zd=*LHmdKViN%Wg+C<0NwAi>v>V6>2s_zSFL*M@3?P;ZqJTYaUcgCHxVl&sKk?*Mwk zog`ttx|-;qC0n!q=fwi-pa0F;_P>*VZGQjb%Kwi3PZ*9q1NUE;m<6_nl)o-2&%k>M z-YUoDFP9FD>ph))kL|U6bKloRLDCtQheN**^}5ae8J$q8FO;7E?mw}$Z3J&;PLUA%l?gzz{T9v7@1CP=lVI~lT z7G@GQORjy$7RBcZ@(l(Ko%Wndl6EvBM1YvRV$C+shaJp>c0rGQB3TI$cHXbXlfEn^ zfnDtl)&$)&*RL2hseyr@@?*%?CLkzpR6W$LrkPh^t+D06D03U9Jc}*@8c6_WdIB#X zg;O{sTS`;T0N#cZw|D)pcXfS@I!-)B$Vs7lxfVy}KBbP=ueNWB%yjl0iVQ6>9xPm{ zB#mBQo}cbS?)+3dopuJW(XQYg96lY5I0HZ^hnM$8`w*a*Ht$>{9^Q|ngAjMnmd1M$Urc~Q!gC0ozrg2PBV zFQ_uZ&N@XJ7njGA95(Qorrs*#mg~RN%@wY&dDy4^AY4i^Lapeuw>dt(F4e$cK)-p$ zssH=59Z>M0{346-;D&rgZ2g!stxhcM!AO%F!F7Yjx~1cEPtxoJ?p2zl{%Ey3dQ2eL zwc&~SJ6ct;m2-ajCfM+&YKKF8CpI1E{PbejXt{FC?_Pps{b`yPeKV?AJsRL4Zw-w_ zfQ&jbgQ$2N=)&^78|<38U-Gsu;YN`CRlCs@hJH2Gmmy{B_3s>3Fi~?Zi_uiO9Ey!h z4mk1)5XzqcNiG|;sg3x3-NiRDXA6SevgS^8mK+ZB+a08T@xY?L$+~o+1q5F?(mIosYLpw@{-IbZJ^h#6pbxRCqm{En}jWv zeT2TE(h=w#lN~JzPO?h>?LY&03*)tNC8s@2cVM<9wBOLMR+70NA8?#t#Q!l0E4976KxNhFxn?i(Gu@?a|t|xG35E5l_Oo>QnX( z#|u3n@^M_0tMIJp!Jx_DOv#)1idruCh}>em1$J@g*6Mre zP@2Q|!+y2j2aaO93klC5%c1Z&VP3q?Oh+`89o9U4&7LKB)Y?=9H-s1?^NPPAn4$Ak zK;jkdl$c#vxA-VF@X=NFUHuEd!Acz_mC{{Cmtr5xFhXI ze1$%>5)1hdeeD?N>LMm8Di)ang?+geyHgktwedImKqhrWf<5~~@Wu|_;v6!ls>Tc>SCBdEOc=%wEVN6jkrHKcSBN>H;CYr6As=CHCY z;w~L|LdZd7IxN(dZH~bA`l@Z5B7*2Z;S?3s?`>lHM+Vf^i5XZqRJdo7rS%9svfZf+mFGBgC+i+TwDq} z^0>C{1xl4Ly=7v(3rG~^+pB7DM)9caCy(AWvRXAgey7JW6T9BA@8ZSXI^&e|y`%!N(gtVsu=igNole#RE=rWaH*k71$jPe8sXoGWziQGm%2FI zUK7j`ad$zND=RBE-4X#J?0^1)FW}q_k+*=~{`vHO_)SfGV8|q0W_VTDtr_jw;`*V1 zL33Zy^^W8lE`N2sUW5c2Nm5Htho#WY6^H24X`r2ZGgQS*dbi^b%OrP^U4|_g;i%PJ zqnCDjPVkF^=RFG#B67jSC5-5*wD*>2CAAFYZh;Sbz((_<4<3}_Qc`ZIMWG}8e8+Gm zpnLTuy=bO9$<%nwRWT=fSRhv2bS?;Bs& z@ybZ6fBH?|g^KCe69dzdA(lJR>BU2-E-6#Mhf}{Rz0QD{tw?8X!BalREE|h=R}9^L z)jTj;%2S;bo8+#Pnk~Qx#)BYSw>r`+tSsBj6*Qa@KEnjZlcp5X9z%Mb#ISW?BVg~_ zGCMx|3lOeE;R^y_^qL6sz0&tb9H;yLARoGNE2oAwdEHUjti3-fjmKAQYe{A~-zqpp1F3vwJ34GI zUi7P(+q-!@-g{{Jewl@`wFQj$0dg#OP2X}l`sq~A<@g2k(7?DT;`FxdW<^>PQ#6nW zc{PEEqc`3M1>^V4qN8}9 zthSJ()d$n1Skl0KR*m*&UJ`dWGX^^TVj3}Km>R`bO95kq7O~2kqF>uolVxbm-ik=s7_SPHdsO^R{3W=AIz!O=;>9*{I+4y5eC5mim z9O+IK{p*Sh+B0e7x@$EVyO3^`yi#oiaTUiV;AgIxdqI(PZkigbZcB5^r2TIZ%r`p& z9CW#?P(Koj3Rcct>}W%;r5P#qZzmk+3e>qz>K9Z3NlCn=$sK0oTW2>I zT!i&weTpq^HgPVQ^T`lXM%UIWS2HQ`3=g(pPwYwY>_A9(lNRnrol4e%QBei z{W~sbvtz*)%4lAwtRs&9+F}T`_a;Cc8emM_CVKA69Nds--}{|1=gZV>JJzG228+Y& zQ`Hlitn#*|hXiI#jS~VV=H#Z436;<`7@M8&KB1s3LbR(Bs`+F_Z7Xlbqu9ZnRjabX zumiQF&*gj~c@k>Z>eikshkYOqU=EZeak)v9`H^X( zDBDd{TOlF;?P*7g{wWO->0|jbhi&D}i2TE>hHKxBSk|s8uXcKY4$-ug10riNsF32n z@(E~x&@obvN>&MxS4 z&V1;S`ANOzbvv8nI-VJ;#J=JlLTOFTTr0hpuX}Z5;Y8fEA32@-#Y8Qb^Dsz`OEXct zY%qIcWJo%9XleIz>FOxxBCs08y>D)H2KfET#?+e-lFB+lHB7&}`cPO`9Jw({t09*rA*8l*qt;Yt?{|{<_>IackBj*H6u}&%Ck%qDQ>(B#iH?GG?Rvp+e1i)yahuUN3VCdjd8|{NTh3+sZNihk)gwk zZx)3YgE<2j+GGXTR)|e|U9ZTrYy;~)>L&v0Y5qog6(+Gh#Lk;ii#5JbO=UT50WOm> zfY+XyqQ)~}&!gCgoCw>6k1sDpWK4&g0jemBNhy+S*z00UU%RrGDa*wh0^cex4!7Pi zx2;Y&@mJK~drPSAQ71MGYj%42w`GgJ!R*@N6}zH0rzBe{K_kJkFNHIrbGd&lfhPN> zE)KbcJ z4K3c#e^B3Z2KXxsHZw$^Ha^bvOMs2*{b>$Mv&C;ik(OfcqG9r}IvRX1wo_kD@8MExb1nnJv(81ohcG^e;&$Kd@tE z<$3p*(C90`N3+eEIMCT>(V7>WeiG9X_vIsw+erP*ZtC334y&oKGu(iKyWA>DP?je~j0LH1m^>|AdT-0|D>ucEb?B(&)b_L-T?WMPM24CzKLdaA?RW7GRw zW)q$lKG6(D+6~={y?E+^0{h$&kHRjPr!`m2-tK0TtY|jtS|)`@VO<8bWECitjSHT; z4rMgyPj;TJ@y8U;6IX>#^&B8`Hl6<2T|jYv9lEWw%5$Pi2=1AjQekN?0bWjMQE-?x zbZX_kZYO?G*AX6+`Lc8#_}p5{w?(z+jw05mNDyYIK2NJRFL>4fi|UksMhYo;U=g|I z=VSa&JpISj(iTehbL(yIh|()mhVY?_Ge~$e)5^!QU;j8v@n!Cv#OsQI*CR^it3LY( zsY?7B(+RZDjBm>1)6VPJr?TZ+eOs^fztY16;=`$rC&F`8@>3sI@@_`*%2FVk%wOzry|1@HeI*9;UWM>X75N1uApS3zg7AoCl;TVl3DJKS%^wTTNt2w7O`eg0%JZ)vMN#0`I z>_(}AWouBZrr>Enxwz`YH!I#kqwPF|`zWG%b7aV&O+E7?K2y%6UokL)MY1qb;uk_* zqN~2JT}AEaCg>R+dEhghEsx2$i#P*#3N%vd)&ib9q|yc$7bRTR-7zXVYWAs+xt(5B7j)XmMJ6od-r|Rm~#FCu( zld!ac@20`JXbIU0`(da%YPPZ=`&S68OYyl%es)%%YInq&4gQfzwzLOoSqo6lz%;U3 z{u06Qe17_4g{#iJZ{UW%Q|Sw%wx()4-vm#idNV4$cP_x4^lV&f?L>700|nX3%jMGQ zmm}StOvX~ zE5nq-V-}(7x0Mv+8EmYD441_&=}VjAVcj0e(tHeKPy4=%QckI@HzK~RGrO`kSkf05 zc+Hp}h}QL|0Tat_`he0%&)5N|nH6HsX|8#%lNvyUYo}Lk5WC*GHRzK=4jZZI|Ef?8R z(t0vd@2?e8U}ZCSZUP>$k3$fqp5z z?ALwWz$hzAq^y@2nV;(azdfu}xY2*IAl}Vfu|s%*zNwq<738X>oy%zj>(#tkKQQVJ$`JN;YSJRo2eeDwj%A+9srZFL{%muLJDO<*Sf;I zPM$t7N34)5o}TV6#DWV-r%1!ZE#NQsk8jw^gH60*1%%<*ym2;@cH%feN+U$WX<>z} zt~$JzZ`h@XS}E$8)+^U}LPdndVel}JLpfnR{R3LZ(eX0I4+1?vDf6oYY(G8&1m&#- zuC7GzSs&dQ)IgRse5U-Ui%%lEd}F)??e_cr?4>*|ik*!=bbYXFd^9Pgt%N&qcp&&s ztQ&5y$-3`}=4u}t#f(-Yq+pFLgww7&`&-nes5X@bv9Nh|k*Rj#xWobK2b1AKA;78f>LVnWH|oQgqbNVVgP%+z)QBfsS=w z*R^A&D^S8>j?@v?@kKSr6)%J2KysIwCHM~vy4~2gU2t_vkS#Q$Whz&fCw&nUTeG31 z6??70Z$`9B)VYqFyn6dDI^o0b1&I<{0u0Y2JVCvBD1f@Q&k#10%l6N!ugvGx$9s1O{O9PNL3rCk`ZI(PiyKqbhJSb@|q-*B#D}eoxB*d_Um|kZ>VnLl)%j`t(xm^j{Tl6?dxR4h#}rPt1rQA z%1^#?=%I`2>$Lm2k&Mhz?P#yl*HWa{`SDE;eqIE9BS#14-qN@v=EtRYU{6xUlJu55 za>@rgjLl+4OhKUp;}sEnQMLWTqL@LSYJz>EGPZ`fvU|ssJd$b7Z4fqpK1ALLzILU9 z*HxAOdj=|(Jy)G$dxiTS9%Sr{V}<-v-5Z`>0pUuP-AN)%UZu%o==w*_(oYr_MS zWmqraU}W6XjIREJJgrhJKFV?i$nM%6_^~d#h78tU3}i+{AfLy3lZJW^`&LM5-97ka z&l9pM#^Zra=T%7!k!aWvquj1#KdTtU#cp8{=0?T##fEq$)B3I4x=Uy&S26Dc+(!jc z`|1+=%lv4Sknf8e$S``UT3z6gQ>aCI?&G3orHc^Ay-`Y~X5CxjMTgz;_o5YWHVITF zeYkRqKhb-AYP4AD3~*bBP}0&cSG`nM(c?e3)M6<`Pq9tO6I{g?CXBnrYKa+4N062~ z7a#bthvaQ&xTqayi4_UTFieA6a*U6Vf8bn1- z9ieTp?Wy*uRRhWjlAe3XPIdXbnB)!Fj#VFE&>=gatp5^Pu4d=gpdTaTPaik@Z&eJp zhg0$lrldMa_)nig^dpoH`M41)(Io+Uu2l`+S5j{NG5W;a#ptNs&QSQFZ&4`qee;@b zXG>S-7%Cgej-9lHYX^{Rk?KdDyvkNczLlrGLiNezQUkca3Il3=Cm&5QT4n1o()BP?nY!<_=hU`qOI=}S+1Lkn zR0}8Q>#)R-7bF@6-`EKoL7}JlAEBa;Ke=5CO z*4+P?s{T$|3eN#Q>U4ai#27gP9AANkJ77-u#qRDIoF4jJ{PSr|Hc z(~6^a81koEFQE0X`$wtA}|F^))+_3)&^(_ELUJ)}PtqcSZJqN%#L=cWly7V;-i zv&64BSbet+GXqTrdFaNH^Y-CVy=c?J(vpV(F2qqu2{)5{)t)u*8Q>}IUPPU0@e-O* zr)^bc2ItLmrcX!Q(XG@4w!d*iR69f;r|ilomgwJUmf^v{6s*Gegab7`@oN-EQa6kJ zr^s^My#epX5t^<2Rm9K)zgo*tnStaKKgQ)k6H8sGE~fhxK}^EJ?K# zalDBHCx(nPT>Y~w1hG^`Y*sUB=XA!CN3G(r`7yEjT2M1H$U4Fe*ifJg&bLJl+PW(F zbT7?}4Vs74P=8xQVTq%$3FX3k?LBd#okEC5Q08uB&Mon%d&4H2%OXccprCKhY0ks3 zcpkQCr}PNrpZ6wLgm15KCXCymsAkuN5r*~Rd*Mtl^f$}zBc@oi`KHb?)MBgfKEgB3 zeG}~85LhbDGU29)%rmdiMpWw5eXu9)O%fQ=yzd&jkQ~a7ibE8aTR^WX9iAdVsY~wJ zti&O`D~cx_XMhJDC3SYxPEB16qFn3V16C-96w&@oNbR!{44v@6&z=^O`$)e#Ti=08 z+|aU)Dx0|>GbmJ4VwMH0OAR3rS1Q(3s2@SCxL(i(!v1zh;-Igy%p0Oyc|61^>4u3W zm)h}LXsGrg-zshpCs9HaZP{U{EneybTkaC^DF={_d<%9B&M!CgZ7Dwb#{+6DgQ4r^ z(41$0YhHcch$*!{cHy947-%KDy0UM^@fD(HXt8hhd8xywtUoT+b|siHO#K+xT50?w zHUj2O)b%V(ucCtg+Saef;O**B_2FRq9s2re_1qtpLwo1p17jug#hWEUsaLGurJ+cv z)~$qBDcS|?^>ye}Eh>$Ws0^wYx|`JkX;iK8anUSIh8$R!umtQ!oO=_*3px<)alxgW zn92U^v|-F=^;V-+W}8gP>tAh&s4q5%P@6hDxsMr}hfOT@pBh=7lB_(;A5+Hq3$(Mn zPr^Ua9Q_p5cihhaA`20=SfHw2)&uaC`D~}FH-Qa&{OOSI!S^{NF66SCM<7KEF}h=N ztK%Ke{GE5!&WHfUuL5%7bkyI?Ub+(QgGyOzZP#kugFQ# z%qbciGMcfsY%y5ftpnBt0v~b3#y)aP>x*tJ%VCx4p58#LZU%%c42`qpk(4t#Hw~nO zD=J|2U0xe*D}&f7hsgzjt_rxbHSV+w`QFzeX zuA3`(GS1>_YypXGqr7CWu#|SQjEFR1;eBm>V-vV5_x&`rl<|B5)6lF6DwG+>ctyCfHTou0&H+%{@=r?|gl0M7}t;6j9W+ z4`*hs(k7o)vcBq+=y=EBUKmc+90#X0siul^rw_#1RA+dOD%;9L0``7?3b8u*Uhc5) zfo|$wu~Dj5q*`~|E;fXK3#!E(@I>M>-B;h8FarZ;fOdt`eR^b;nE1y#ODno^ z68l|7?e;xDMku_-lF%}uQj;sYD-#a$>nHBmFD~Wz|B#V+&Ye-#Ryk)TBcog$*Q4*T z`t&O(<|}yrfYNt&^X93R*EZ@o_6#6~jQB=4ia3q0iC7eRdz^Fzs1J{9S`?6eOj9g1 z4EgB1;$@}%qdw+1O&oHd!3tHfHB)~F;tu_`{jQA{Hc%Y!Vcjft{ovkX*x?!yMK9Znn~|cRaG5b z2^|zkWEjuK(w7;-4n6vA1-+sDK4DS=Q5_+COWz4`)(Q9M5R40adp>*iUMZ~ug_`q} z&Ny-!fUuAHolHi~>BvP*evvEzFc)rudJ_eao zedPGtQXH9X)v57><|~}zY*V<9rO)Xr60-rq6pI2uMbotAc_2x_%9L}XJ<$PSM{Ass zN1XxOe<;ydIx4&8j3v`#LTPpw3U6sw;a@w!lm=|^%hLvZGXh`#yNKFiLX1MZ`)WT) zu$N?HEATQ7&B&Klkm~)ShBmd=;^GLl;Ib%*!n}J7oJvZ8LM`|r6H4gb=9ZV_%FLuq zeidChmqzU@!Q6x<-mO^OA2QW@FCIq!{VC zY6B{~4FZy@dePxU}*zaAP}_@sQBT)uyJY!oI)I^pMWypvC%sVZlL31a+;Rc-JD?8B>rH79iOSe6m2je z<;U20)@vHs2T;6^uL+`U(#-)l(!G1hf7t|QMumsj)tHOnnemm2TuO#$hiB#@=8b4A zWl6jA{ocX&#?P+2MFQ%+VuaaP>uW||Cfz4_DUxPmCM(8c-K-1ZZ>uJ=a{VMv1C{$N z#_W7^)fuNgXMiP%$XktL(kgb^OpB4|uPZWJe1+2^o8@i-Y`T&LFip zbzEH(E{m?JX9V{UHbb&}Ai5^9Wrw*Dv~FVPxc#H&TiQ3)y2hSmwgl`G7b9)-FY=aA%&60xvu8kP z6ekrW;^-u-r+fxzUY|B8|C;kxYd&wR`2~?r)I8ps`Fbqvl3YWy83!y*IbgKAd|7GP zJ$87w(|+@d{Z9kneqD2Kw7z(-t|eVaHO>nqW&y?in4S2e)i!%jymCj6P`A2E9`L6l z)CND}r>>>(l$I2vgmYj=#ysZUK=tampfHx4%W5TyG65L_wbu9@dPlQ~$hJRQq>j0p z7*Il&9@?FU@$f95jNrG*?+r>~rnA51a@0e^3@q~+t+TYmp!aB5kB>+sZ~ru|i4C47 z{moR%#I+DdiW6bj9>WaISUrjHXnTrWK=`d_gx}X45zhFYe))T!mdtkMYs4e|s2Yf) z&7ViG6{}_&k0DCHj?2?~%)Fe^4cmo9~*FM2VI z(m1#Kx37laFtqyG#~X6^!AZA=r^pwqH6oOoQSC0s7=W6qk@Bro7ueNoy<`>Zm0^DzU_Lv@B zhIDsfRH?bG#ZRg}(Jz5j4ndcU_TueOkE>AnVYJP&@xSyYht;W{i6W;(#jg5w+m| z0O^o8gs*a+XbR8v!{e6Ro>Q(5a3zAV4Gt{n8r?yUoUmn9yw8(Pl)|s=iA};@d|a>j z;M=q_8kApf%dobU_uRDXa)#ebd;*?4(CjPHDl{*=ClIwJ>8BcZnEr+JfH20 z;pF7c&=Zi_hj7`(3C=gXEOP4sJG~7`#df_b_$?b^J)PU|0h0XnFc}%F`l;TLZ){)( z3*Ye($65TmNYr#q8~`W-GE4iJ1=UwH^s(ol6^rd+K=%+dfe zk`{;#{(3ov%yd|n#qRdBzd{3Fs_TSh)`1I`*NboMDhV#1w-+B| za0G6;?zarCRZv{j>%~6P>pBPx1tl(~nA8P$o1`d`>g4yVxwQcX`kIqCQ~C}smxPqS zlwz5Avjrt_h~N*57AY@%c_ss?*B(qnBgbx?(ZdOZxK&Hd>*y2=52e5QOy?6ru*e^CKrDi%SZK!4; zE%f>t{X;3WYFN7j??*rC!nj+0ADq?`_1B2EQ7MO^zcT9En_6sJz$yWX92uk6)l=rv zL-5c}8q|E~iE#F35d=^mV?=AiCZc>2sA{NQs=0RPSKd;XTPE{pB`D}_3swb(JKRwl zt(^%=n2 zeT7mnUnY*9BB`DuQ>G=s3IJP#fwnuvo4N zwNLIKGH*ZW14$kv$tSxpRrDMZ%xXj!?;7`4C4Zmux5{a-^8l0i3(%Ov%Q9L@K#5tGCV>X=;d@YZ)wPN6GXQJ4OP2Zf ziIe!-H-bFYS2xQ0!-|#*iR$7(0iOzRHFh$78=Aspb>???^?*RtZ%8u>ay62e-4l}nw$E#3p!;*X(drinPUsDDHun}k<_z4`{N@YgXMmoSl>R7b zK&vmI$Z6S2TU&o$-VoQEsCA`1vgDkZv0~bUmSXzN79FK#oNtvC8g>sAW=Y}G@zW0q zHD6^#e^P8uKEm28om%pb#wj&7JAu($zF5SwmlIG{ji5G#jPwI`vq=ABV^E|1_1ivG z{q+Rmag?f(2S4G~hJ0+lDSUUVb?^wiiX`sFTj3*W!A$3^QR~~DFa}tZ4ga8YT{Ki>a+3|Zj&_l3y+3jTRT=)bD-uhIUM zi%I`l&;M2Je{=oM()suQ`k&?TuRZ-=YLo6?(|>YYnSPZBFc40>VQ}u3I0MyRF1%Fz z<^M6Xh>Fi|*!NfdB^fE)c)#3UN(_JZX$dkSaM9%zSS>HLPQ7Jxn+TPSba}JlbW0SO zmME@Q8=_g;h`*-ck&VuETHFbshQUFd#+PxhgE=G_ee!*Oqc8nddIV>a)r`iI5n0w4x}hLVK==dk%EN2z!la~ zPhS1MFD7*}|0sn>|G&<)#Nlhsqsy=%0CCT2R-@*<7TvDmd?wG%G zIaAa{JwF63IW*s=RbztpiK^9UJMwZN539?273}eO=qdO$fIDlq8T+QQ z--@w`yb~Ejo~?pmNKU-oqG8MM7x<|bU#579xP*^kK{gaa1A1G+Hd0n5rpjNusH^nE zqx*R09{TBKB+`?4GxZlj)SHU(P&P=3;)LEknNX@7T|w4I7^*3b_sM2;G=%9A4}Ggf z4g&^%-*rDa!RL%$G`XJ26J(EYdNU%BTI=K>g8%|uqLU%>h&W%1w)8&Q=J43q)-=OZ zYV>e4kWVxTY&iq1qX?e0D$d8sk|utHQKxyDZr%IZ+k9!d%^nI6#hb|}q~ zeNmMbL$e}(4saS(KUTyKghU=6+Gg9`Tz=bOnYePnTea)4klT&Gmreu|v7Zm6Gg6E7 z`vNcnRf>N8Ac$Jgi|rNci%Ok#t2GGSpez7BaILU2wV#t4qfGS$Crl<*<#C=eGF7ZhqOaikH|*}Idw;M zhJj1rsM*Z4>TM6wz+0a+zQ8$xdT?<&Gv6#&*?VlSYNKnn!E7pSE56ZgN>kxwyYkdC z66-VE3GUI*p@8Upi$aj%wp4Auv3ne(4%~2M5M+{Ai6b%s3v@H!c0hh z0UP3NsxwKW&*-}$1!LJ>c!tI1@^yZftGltqJr^=yM;#&XCA~g|zlU=9#~;J?x&bu- zp+nzg$$SqC+VOQ2NB4aja5w#Z`X88D&6i3X7%+t4`w4ewYIvxIaRs$#MXllpP0|O? z8#@taJm1!j-*JZP#Hq(NCK?RuO8(fXv(j8!KV@IUSE!IErnT_Wum7r&Yl< zJrC^>29dfwGVPGPzL*eqcMwv2aR+YWU)f8YoM&VPh79+FHiTgEGRHxYNfwsDl4Gkk zY5X-xW~QDZW~|93#gSYlC&m7!)#G7x%zWr6B9;D!JNCk!x=WWwLSMUQP3!b(>4#kq zg-u2mG4pIhHd-H1KQl5Mnc913MX-=cHMP%^VuXIy()~#k>RaF!pOm5B9@DLo7Q=-z z5jO$OsmxlZPv*V-0~LsH*rAnWRL;-_>vKWdaDX@o?0CoTT#b*aP`rY zXZ)Rh@`xK9BRSgH`d!M#K zu5(-yOS44AwbP`Td#FgtVud?`<%WA_rZUB}Nps1RR8$ZIQo#j8PnnkD5+W)hIJql= zl_I5PALrls^Ig~Z{-1yEkNbL;=epkOdEfiF?`QTGh-+7iRv-d|Rnb&dNi3ivn|fJf z9)$r4?Gstj*n5Khrh&&c@*Dk2!io8Nfhs(eehtD~;M9~K(Q{fX$#!0EHlBo^bKEMpSiSzuNDBWhYjD~?7U*E;`XJl46`S)8+$Zn<_nls3aa z!#f{j=N6L!LJWQy2c64krTR^B{M>4k7DN7+$0ZgXo4#r5(JaORfzIur2E13O{_z?MR6I?T_|8BOL<9>%+`ixR+`8 zP|w#roiMlCJNH*KzuOr}B)^M5K4^G%Y?HgnxUm;<0N5C?1kD?r*W}W0=w})c5w}57 z<{)XMyA{Vs$E{cxXgDOV=Xrx3pMRLSl-z9Hs+VEBvOw~hw_a!yAlHHPO8zcvo^XQ= z5vLP5ifzRL)NMEmnxDLQ0v>U~Up(=3Pj}!yzU~2>4x#nN6oq%SD~{F5zh&XX7?O1U zcRrbMY%7v{164(@sb2<54ddgbDmw)fphTAX+yzW@`0Q*Du7m_w!Pad@g~)dmUmFKyRS|-Rl~lp2&vvd(wCF$OP8s?;fQz-_4%L9GIU4 zrS?F#PL^BWTS?C12d|A)ShXU`l$t7!L9%>vS&49UWgqv8c+)GarcU-O%|Dcv!p$bO zC}sgfX6=@o(NZU93zWx6JnH~fyB80lH&$)8@3quEzpR*Va>*`uNrMdI<52dL>RCWg z&Gyxio2oE#%kZuGeshaUVmD7#T}dIwnp)J|SOhtrYMndpNxT~>?qGDVSjsVeAn+e2 zrkh;TPD3*W*zOm7gZrIYJ4WrxsyeDGjxXspa-A?qXVk?JtLQw1P{}1kf(R`IeYUO4 zmCrUkE$?OC=j}Z}Beqq^Zrz+YymTK$*bTWQgg~)IXQ>_>;(@4|kuD&s0238KO55;7 z1sa^L4g8&EpXUI=!j_K}j>!-SNE$Z!58JITb(ULQ88%4nbKh%CaCFOLAuPlqTHXit z{#J7I(cqQGZ%PX;&F4qoP9H_K$sD$m@);2}nI9)x|3?o-UY%@bCX^MQ{zYcbc1$rX&9EQ8ejp$NYfILRRWq+;>SmyQn7YB{&-a6ObKd<~XT zm4BJ35^9bEo&Z+DLbP~BMQUyi;@)=Zc1tTy$GB+6WXu`ODEoQ#rv9rE8@f12ki1dy zn4NM?{GX);Pq^5b?@-7|m6l*^Up@uf2J5{VId-6I$++gXN5ZLv3J9{vIGwm{WC%fP zYL~u$NwNHU7yn{CQ-5j63DKT}fcV$iC^6`mmM_|}gk#$5@b!pWf!TR+hAdb&wfso{ z+~`rtA43#A(I+|EbWXA=Zel~XizUjaD6XU=FvSEQq+C2?``C{)0!_kBXRf*OLG&?b zs@k9;miA6YdcRs9f4r?+C&|y7zMCVsU75%f^`#A^x2GSQJuaIGGL>N#9zI{uAKFG_ z77zQ@Ct5zO8Z8>rum&5Rb*Pcv^7)`}-H!e>56!7r*}eMS)p_u5RD)yuD+)!WBr8e- zMy9j)$k^uP{Z{@Lr`|N+bI7BCewW6K;12?ob8YYa_boQp)oSU7lTIpk{N_ij3!^SM zh%zZquujM5Z5l`?AYdxCDKB|WgC??iD&gS zeU{M!?a1P;8Swi|B|})Y`h!wz+a1NkCYH@d#{j-us5@yXEWG&Zis@*8(@3Kr#esVg zvU~*IfUCh%%jp51IJP~`6qe$WpxYqLvR?300RLCQIVjl4^tYT3bYz%rkLP!d6nh6- zPSNUCf^e0A%{t2~zs2}&p2GI!PRbb2Fb-?0^fH%OCr(=wd*j*&sUKrgkmxU@xv3on z51@BQY-fh+erWak>Y|>bcW;)M1k9ofY}JzCIoS7^o*D1~-vcKxIacXk_Y}}`R(BtN z8n9;S+)1dN9Q?Xx>X|XIzI_;Wqm9M7*%JB0ANVpc2LIYj%R+x6Ee>B^_QciazQg7q z+|_jXVzIkG_GzI2mYCnE^{K*Yg85wOM{|y3`IG)sZ*HTQVEajX4OPHn}(KlFk)pn5hluZ6rwVkyl)@EnSq%-!7pwu)F)^TYD*40Jjt_|MR3a zh4jz9n~TKCjo^nfA{*^|$c7zwo*X^6<=i&4Z-U#6Kybr>P&R!(^y2X@Z%3vjesE}9 zQ$;&RrmUqawC#)W_&!kKuLMsGqtAj?{JGpu?eQhVqT6>VW>fN8V0UU{IQQcn1jG$? zJ5~(~vWaIWIh-7Louj{a!`XcNKndQ=?ttq*1!>Y; z+)SZP_J)+Qf_=&5)I<34FcT~^%|s8YP_l&5&FC*!ukP@+2d7N-an>ym?NMQ2wX3Tw z?4;#uVJX`Io4=7gsUhu&^7Z~|q3Y%Z?Rle^lsuR=&N)|Sv(pYq6+*nO>@RvgYJE&z zS&N|;D%L(Cvvb@uLk?y3VnNbD`tBNNg(r^1Q4^BtS=LLZQBX9#Q8M?IXjEp_b$n6M zKMvHp>oS*9ZkV`~j&mBFg7r4%-c;E4E?N>vfeoPVo<4YF7@-lNYXlQY@rIxgWJLh$ z!eZ0g#Y8);b9{~kYiinm8qIi9zupOvv_XRX}R4 z&s1Gy`xOthvhihGdaQ47YDpa!oC*L`Z&+^k?qa{Fg7{d?%(e#ai?KBx2U1s(t4VSG z#Hn5RU=9r}?o&YA3>Tf^@1EKd;pn8@v{-&5i8bjh+W7b$D0nqitAE+MHcez(G#+yP zh*@-|z(L*+RY~l^I=#FcMartP^?$8lCAyIonkSoT>?mTO;7^8hM?;P}>&16*UbF{Z z-B7T`HA{42e9${j+4y5lgP#Dq^1LuDt=~qcVQ9gql^&4fyQ(av5?O1E10!`WS^| zq_wdQ*O%Bq_hqZ)EB7VU%DP(dpr>1dO$KjJm3BL2PN_E#_kK}_c)Q97F68OYt>n%= zJM!wg`#wM24GMb zB5_K^UDUsg-bns9E9*@q{CqAUs&!z7K@?NOf+|`dnb=<=r%V&4$LrJhYvD^`#-@|+ z1!_cH`!dhV)*|M^g@b97ea$bw2cGD?L^4^~h+}wB-klkHDq_QOqRM(`zywwB357R@ zZGJ7sI$$DA-3z6`73Jqh+Dkb{Vd&C5f7Tv5^kYq3eXlGcEO8E#Jm7h!ZpC9*eZGYU zgKX__*NGN3uPF^hi&g^Z7LQdN+K|Wo$RI}rI_Rhu-W6(ebu^BiYEh(V|LOW4dv!E) zPuUrYIha;-iwfIk<&u)~il^zEV%$*RuGTvhaAJiet7&VTTT6i$Dv%b!oha7C7v0DS z(Mq%k%e~t#RhA=r0k=|7`v`i6JU&duW>{?qZJ>ECC=^lyYczlp1I@&JF)_i2cTqn!A@+{$y1~@ojMkTSNuL)PSrFCa|XQDVSYl_7n zeo*RZt+=;r)%S_5hY~H!sjS_4N{9QUhaO39#?JndGF!55A`cbc(;nc{;qSaJ!{K(v z_A?e!I2wEq3JH!<{1ROHL^lpNI!*q_5Gent{iTxtKWoEOVBV+91Qj2 zB(;8W-5Il%5j&m1YZ_*Y?_5`@{a@~<^mk^856-Bp?a(I-xgi8^B!D}+)r{Zryyqwj zWRA8t0W%EGNwin>AIdwA8%x5E*&3^uD-gl*Yq zYE5K1ZQ>`>hCON0;oC5dYT9q2Q!X7-%l5E@;FwUZ!K7!pjb?$9U2W@LcCq+i@_a86+VApPbW{b zO^B8*jj_)30__cxBVK*@ro|@e#rh?4r&JuL3rbx}Z4RIYl+8bW8l0#IMCQ6qG5@|N Z2KbMEf9?Kv{ND)tHv<1>1it?&`d`RLF!ule literal 0 HcmV?d00001 From 72b1e80abcd19ba903024985eaec22f22dbd5736 Mon Sep 17 00:00:00 2001 From: Matt Fleming Date: Thu, 25 Sep 2014 14:53:31 +0100 Subject: [PATCH 640/658] luv-efi.bbclass: A new class for installing boot files For luvOS we need to install more than one boot loader, plus a variety of files to do boot time tests. Roll our own class which gives us much more control over the installation process and creation of the grub config. Signed-off-by: Matt Fleming --- meta-luv/classes/luv-efi.bbclass | 94 ++++++++++++++++++++++++++++++++ meta-luv/conf/distro/luv.conf | 2 + 2 files changed, 96 insertions(+) create mode 100644 meta-luv/classes/luv-efi.bbclass diff --git a/meta-luv/classes/luv-efi.bbclass b/meta-luv/classes/luv-efi.bbclass new file mode 100644 index 00000000000..9ec3d36834f --- /dev/null +++ b/meta-luv/classes/luv-efi.bbclass @@ -0,0 +1,94 @@ +# +# Copyright (C) 2014 Intel Corporation. +# +# This is entirely specific to the Linux UEFI Validation (luv) project. +# We install a couple of boot loaders and a splash image. +# + +do_bootimg[depends] += "grub-efi-${TRANSLATED_TARGET_ARCH}-native:do_deploy" + +EFI_LOADER_IMAGE = "${@base_conditional('TARGET_ARCH', 'x86_64', 'bootx64.efi', 'bootia32.efi', d)}" +EFIDIR = "/EFI/BOOT" + +GRUBCFG = "${S}/grub.cfg" + +efi_populate() { + # DEST must be the root of the image so that EFIDIR is not + # nested under a top level directory. + DEST=$1 + + install -d ${DEST}${EFIDIR} + install -d ${DEST}${EFIDIR}/bits + + # Install both the grub2 and BITS loaders + install -m 0644 ${DEPLOY_DIR_IMAGE}/${EFI_LOADER_IMAGE} ${DEST}${EFIDIR} + + cp -r ${DEPLOY_DIR_IMAGE}/bits/boot ${DEST} + install -m 0644 ${DEPLOY_DIR_IMAGE}/bits/efi/boot/${EFI_LOADER_IMAGE} \ + ${DEST}${EFIDIR}/bits/ + + install -m 0644 ${GRUBCFG} ${DEST}${EFIDIR} + + install -m 0644 ${WORKDIR}/${SPLASH_IMAGE} ${DEST}${EFIDIR} +} + +efi_iso_populate() { + iso_dir=$1 + efi_populate $iso_dir + # Build a EFI directory to create efi.img + mkdir -p ${EFIIMGDIR}/${EFIDIR} + cp -r $iso_dir/${EFIDIR}/* ${EFIIMGDIR}${EFIDIR} + cp $iso_dir/vmlinuz ${EFIIMGDIR} + echo "${EFI_LOADER_IMAGE}" > ${EFIIMGDIR}/startup.nsh + if [ -f "$iso_dir/initrd" ] ; then + cp $iso_dir/initrd ${EFIIMGDIR} + fi +} + +efi_hddimg_populate() { + efi_populate $1 +} + +python build_efi_cfg() { + path = d.getVar('GRUBCFG', True) + if not path: + raise bb.build.FuncFailed('Unable to read GRUBCFG') + + try: + cfgfile = file(path, 'w') + except OSError: + raise bb.build.funcFailed('Unable to open %s' % (cfgfile)) + + cfgfile.write('default=bits\n') + cfgfile.write('timeout=0\n') + cfgfile.write('fallback=0\n') + + cfgfile.write('insmod gfxterm\n') + cfgfile.write('set gfxmode="1024x768x32"\n') + cfgfile.write('terminal_output gfxterm\n') + + cfgfile.write('insmod jpeg\n') + cfgfile.write('background_image %s/%s\n' % (d.getVar('EFIDIR', True), d.getVar('SPLASH_IMAGE', True))) + + cfgfile.write('menuentry \'luv\' {\n') + cfgfile.write('linux /vmlinuz') + + append = d.getVar('APPEND', True) + if append: + cfgfile.write('%s' % (append)) + + cfgfile.write('\n') + + cfgfile.write('initrd /initrd\n') + cfgfile.write('}\n') + + loader = d.getVar('EFI_LOADER_IMAGE', True) + if not loader: + raise bb.build.FuncFailed('Unable to find EFI_LOADER_IMAGE') + + cfgfile.write('menuentry \'bits\' {\n') + cfgfile.write('chainloader /EFI/BOOT/bits/%s\n' % loader) + cfgfile.write('}\n') + + cfgfile.close() +} diff --git a/meta-luv/conf/distro/luv.conf b/meta-luv/conf/distro/luv.conf index 2c22e6ff285..e6104446e48 100644 --- a/meta-luv/conf/distro/luv.conf +++ b/meta-luv/conf/distro/luv.conf @@ -8,3 +8,5 @@ PREFERRED_PROVIDER_virtual/kernel = "linux-yocto-efi-test" LAYER_CONF_VERSION ?= "6" PACKAGE_EXCLUDE = "busybox" + +EFI_PROVIDER = "luv-efi" From 60ef57a3d36867b2fcdfa6e116c3be561a38bd80 Mon Sep 17 00:00:00 2001 From: Matt Fleming Date: Fri, 5 Sep 2014 11:49:25 +0100 Subject: [PATCH 641/658] gnu-efi: Add native support There are tools such as sbsigntool that require a native version gnu-efi. Add support for building gnu-efi-native. Cc: Stefan Stanacar Signed-off-by: Matt Fleming --- meta/recipes-bsp/gnu-efi/gnu-efi_3.0u.bb | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/meta/recipes-bsp/gnu-efi/gnu-efi_3.0u.bb b/meta/recipes-bsp/gnu-efi/gnu-efi_3.0u.bb index 0dbdba27ac1..8026b31bd7b 100644 --- a/meta/recipes-bsp/gnu-efi/gnu-efi_3.0u.bb +++ b/meta/recipes-bsp/gnu-efi/gnu-efi_3.0u.bb @@ -30,4 +30,10 @@ do_install() { oe_runmake install INSTALLROOT="${D}" } +do_install_class-native() { + oe_runmake install +} + FILES_${PN} += "${libdir}/*.lds" + +BBCLASSEXTEND = "native" From 23857c65af954499a791baac52bdbef26c2990d5 Mon Sep 17 00:00:00 2001 From: Matt Fleming Date: Mon, 30 Jun 2014 19:04:30 +0100 Subject: [PATCH 642/658] recipes-devtools: Add sbsigntool recipe sbsigntool is a useful utility for cryptographically signing binaries for use in UEFI systems. Signed-off-by: Matt Fleming --- .../fix-mixed-implicit-and-normal-rules.patch | 15 +++++++ .../sbsigntool/sbsigntool_git.bb | 41 +++++++++++++++++++ 2 files changed, 56 insertions(+) create mode 100644 meta-luv/recipes-devtools/sbsigntool/sbsigntool/fix-mixed-implicit-and-normal-rules.patch create mode 100644 meta-luv/recipes-devtools/sbsigntool/sbsigntool_git.bb diff --git a/meta-luv/recipes-devtools/sbsigntool/sbsigntool/fix-mixed-implicit-and-normal-rules.patch b/meta-luv/recipes-devtools/sbsigntool/sbsigntool/fix-mixed-implicit-and-normal-rules.patch new file mode 100644 index 00000000000..bf2265b3588 --- /dev/null +++ b/meta-luv/recipes-devtools/sbsigntool/sbsigntool/fix-mixed-implicit-and-normal-rules.patch @@ -0,0 +1,15 @@ +diff --git a/lib/ccan.git/Makefile b/lib/ccan.git/Makefile +index 13aa195..701ad60 100644 +--- a/lib/ccan.git/Makefile ++++ b/lib/ccan.git/Makefile +@@ -82,10 +82,6 @@ $(SCOREDIR)/SUMMARY: $(patsubst ccan/%/_info, $(SCOREDIR)/score-%, $(wildcard cc + $(CC) -v >> $@ + cat $^ | grep 'Total score:' >> $@ + +-$(SCOREDIR)/score-%: ccan/%/_info tools/ccanlint/ccanlint $(OBJFILES) +- mkdir -p $(SCOREDIR) +- tools/ccanlint/ccanlint -v -s ccan/$* > $@ || true +- + $(ALL_DEPENDS): %/.depends: %/_info tools/ccan_depends + tools/ccan_depends $* > $@ || ( rm -f $@; exit 1 ) + diff --git a/meta-luv/recipes-devtools/sbsigntool/sbsigntool_git.bb b/meta-luv/recipes-devtools/sbsigntool/sbsigntool_git.bb new file mode 100644 index 00000000000..6a458ecb665 --- /dev/null +++ b/meta-luv/recipes-devtools/sbsigntool/sbsigntool_git.bb @@ -0,0 +1,41 @@ +SUMMARY = "Signing utility for UEFI secure boot" + +LICENSE = "GPLv3" +LIC_FILES_CHKSUM = "file://LICENSE.GPLv3;md5=9eef91148a9b14ec7f9df333daebc746" + +SRC_URI = "git://kernel.ubuntu.com/jk/sbsigntool \ + file://fix-mixed-implicit-and-normal-rules.patch;apply=0 \ + file://0001-Disable-man-page-generation.patch" + +SRCREV="${AUTOREV}" + +inherit autotools pkgconfig + +BBCLASSEXTEND = "native" + +DEPENDS = "binutils openssl gnu-efi util-linux" + +S = "${WORKDIR}/git" + +do_configure_class-native() { + if [ ! -e lib/ccan.git/Makefile ]; then + git submodule init + git submodule update + + patch -p1 -i ../fix-mixed-implicit-and-normal-rules.patch + fi + + OLD_CC="${CC}" + + if [ ! -e lib/ccan ]; then + export CC="${BUILD_CC}" + lib/ccan.git/tools/create-ccan-tree \ + --build-type=automake lib/ccan \ + talloc read_write_all build_assert array_size + fi + + export CC="${OLD_CC}" + export CFLAGS="-I${STAGING_INCDIR}/efi -I${STAGING_INCDIR}/efi/x86_64" + ./autogen.sh --noconfigure + oe_runconf +} From 24d6aba802fa84589c4b9ffddc4d40bd5c257066 Mon Sep 17 00:00:00 2001 From: Ricardo Neri Date: Thu, 25 Sep 2014 21:29:23 -0700 Subject: [PATCH 643/658] sbsigntool: Add missing patch to disable man pages generation The tool cannot be built without this patch. We don't really need the man pages in this project. Signed-off-by: Ricardo Neri --- .../sbsigntool/disable-man-page-creation.patch | 13 +++++++++++++ .../recipes-devtools/sbsigntool/sbsigntool_git.bb | 2 +- 2 files changed, 14 insertions(+), 1 deletion(-) create mode 100644 meta-luv/recipes-devtools/sbsigntool/sbsigntool/disable-man-page-creation.patch diff --git a/meta-luv/recipes-devtools/sbsigntool/sbsigntool/disable-man-page-creation.patch b/meta-luv/recipes-devtools/sbsigntool/sbsigntool/disable-man-page-creation.patch new file mode 100644 index 00000000000..ab1bda17120 --- /dev/null +++ b/meta-luv/recipes-devtools/sbsigntool/sbsigntool/disable-man-page-creation.patch @@ -0,0 +1,13 @@ +diff --git a/docs/Makefile.am b/docs/Makefile.am +index 1b5a588..6918dd8 100644 +--- a/docs/Makefile.am ++++ b/docs/Makefile.am +@@ -1,8 +1,4 @@ + +-man1_MANS = sbsign.1 sbverify.1 sbattach.1 sbvarsign.1 sbsiglist.1 +- +-EXTRA_DIST = sbsign.1.in sbverify.1.in sbattach.1.in \ +- sbvarsign.1.in sbsiglist.1.in + CLEANFILES = $(man1_MANS) + + $(builddir)/%.1: $(srcdir)/%.1.in $(top_builddir)/src/% diff --git a/meta-luv/recipes-devtools/sbsigntool/sbsigntool_git.bb b/meta-luv/recipes-devtools/sbsigntool/sbsigntool_git.bb index 6a458ecb665..e3cde17e03e 100644 --- a/meta-luv/recipes-devtools/sbsigntool/sbsigntool_git.bb +++ b/meta-luv/recipes-devtools/sbsigntool/sbsigntool_git.bb @@ -5,7 +5,7 @@ LIC_FILES_CHKSUM = "file://LICENSE.GPLv3;md5=9eef91148a9b14ec7f9df333daebc746" SRC_URI = "git://kernel.ubuntu.com/jk/sbsigntool \ file://fix-mixed-implicit-and-normal-rules.patch;apply=0 \ - file://0001-Disable-man-page-generation.patch" + file://disable-man-page-creation.patch" SRCREV="${AUTOREV}" From fae89bebd6786327eaa44557f33dce20de5fd8e2 Mon Sep 17 00:00:00 2001 From: Ricardo Neri Date: Fri, 26 Sep 2014 11:04:34 -0700 Subject: [PATCH 644/658] luv-test-manager: Be more verbose on what do when tests are complete LuvOS is intended to be an automated testing tool. Thus, it does really require much interaction from the user other than inserting the bootable media, and removing it when tests are complete. Thus, we inform better to the user what to do when the tests are complete. Signed-off-by: Ricardo Neri --- meta-luv/recipes-core/initscripts/initscripts/luv-test-manager | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-luv/recipes-core/initscripts/initscripts/luv-test-manager b/meta-luv/recipes-core/initscripts/initscripts/luv-test-manager index 4dd908e2ce9..e074cfa3586 100644 --- a/meta-luv/recipes-core/initscripts/initscripts/luv-test-manager +++ b/meta-luv/recipes-core/initscripts/initscripts/luv-test-manager @@ -115,7 +115,7 @@ fi mountpoint -q ${LUV_STORAGE} if [ $? -eq 0 ]; then umount ${LUV_STORAGE} - SAVE_STATUS="You may remove the storage media." + SAVE_STATUS="Results were saved in your boot media. You may now turn off the system and remove it." else SAVE_STATUS="Results were not saved in storage media." fi From 4b706bb859ef9abc0300215d61e404167b53471c Mon Sep 17 00:00:00 2001 From: Ricardo Neri Date: Mon, 6 Oct 2014 18:34:58 -0700 Subject: [PATCH 645/658] bits: use PV variable in configure path Rather than hardcoding the package version, utilize the PV variable to define the configure path. This will prevent build issues when moving to a newer version. Signed-off-by: Ricardo Neri --- meta-luv/recipes-bsp/bits/bits.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-luv/recipes-bsp/bits/bits.bb b/meta-luv/recipes-bsp/bits/bits.bb index 1c2359983b9..224da7d1f6a 100644 --- a/meta-luv/recipes-bsp/bits/bits.bb +++ b/meta-luv/recipes-bsp/bits/bits.bb @@ -32,7 +32,7 @@ SRC_URI = "http://biosbits.org/downloads/${BPN}-${PV}.zip \ SRC_URI[md5sum] = "49c88c1789686b7f387cd5bba3f4b428" SRC_URI[sha256sum] = "a3b3cd4462384893dcb8692b3e87d60739882d247c5550120487e48ea8d4f3db" -S = "${WORKDIR}/bits-1084" +S = "${WORKDIR}/bits-${PV}" EXTRA_OECONF = "--disable-manpages --with-efi-includedir=${STAGING_INCDIR} \ --with-efi-ldsdir=${STAGING_LIBDIR} \ From f66fce5840990eb823ef821ee78907c55d48edfe Mon Sep 17 00:00:00 2001 From: Ricardo Neri Date: Mon, 6 Oct 2014 18:39:44 -0700 Subject: [PATCH 646/658] bits: update to 1090 1090 is the lastest release of the BIOS Implementation Test Suite (BITS). These are the changes as per BITS relase notes: *Update to ACPICA version 20140325 *Backport GRUB2 commit 4e42521d8c9232b6ee9eac7d8b4945a7479de781 to preserve 16-byte alignment of the stack on EFI calls * python: Support the csv module Signed-off-by: Ricardo Neri --- meta-luv/recipes-bsp/bits/bits.bb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/meta-luv/recipes-bsp/bits/bits.bb b/meta-luv/recipes-bsp/bits/bits.bb index 224da7d1f6a..e1730217f3a 100644 --- a/meta-luv/recipes-bsp/bits/bits.bb +++ b/meta-luv/recipes-bsp/bits/bits.bb @@ -15,7 +15,7 @@ HOMEPAGE = "http://biosbits.org/" LICENSE = "GPLv3" LIC_FILES_CHKSUM = "file://boot/COPYING;md5=71a9ec458a3c65c2bfb461b227ef3049" -PV="1084" +PV="1090" inherit autotools inherit deploy @@ -29,8 +29,8 @@ SRC_URI = "http://biosbits.org/downloads/${BPN}-${PV}.zip \ file://0001-only-output-to-log.patch;apply=no \ " -SRC_URI[md5sum] = "49c88c1789686b7f387cd5bba3f4b428" -SRC_URI[sha256sum] = "a3b3cd4462384893dcb8692b3e87d60739882d247c5550120487e48ea8d4f3db" +SRC_URI[md5sum] = "173782311c854fca53bc390e2307472a" +SRC_URI[sha256sum] = "f7e222503be5a53c53beba3edf5420629f932dbe32d08f0da5cf297cafdb2a21" S = "${WORKDIR}/bits-${PV}" From beeda9c33a94ece22ae9dbc3729b7b3b8581204d Mon Sep 17 00:00:00 2001 From: Matt Fleming Date: Mon, 6 Oct 2014 13:09:06 +0100 Subject: [PATCH 647/658] fwts: Backport upstream microcode test fix This patch was merged in V14.07.00 of fwts but we're currently on V14.03.01. We're seeing microcode test failures on a number of Haswell machines, which shouldn't really be failures. This patch from upstream fixes that. Signed-off-by: Matt Fleming --- ...move-failures-when-kernel-does-not-h.patch | 40 +++++++++++++++++++ meta-luv/recipes-core/fwts/fwts_git.bb | 1 + 2 files changed, 41 insertions(+) create mode 100644 meta-luv/recipes-core/fwts/fwts/0006-cpu-microcode-remove-failures-when-kernel-does-not-h.patch diff --git a/meta-luv/recipes-core/fwts/fwts/0006-cpu-microcode-remove-failures-when-kernel-does-not-h.patch b/meta-luv/recipes-core/fwts/fwts/0006-cpu-microcode-remove-failures-when-kernel-does-not-h.patch new file mode 100644 index 00000000000..5ba272a36db --- /dev/null +++ b/meta-luv/recipes-core/fwts/fwts/0006-cpu-microcode-remove-failures-when-kernel-does-not-h.patch @@ -0,0 +1,40 @@ +From 823c7c1ec79a88a1d7dab03b160f5fe79af17e71 Mon Sep 17 00:00:00 2001 +From: Alex Hung +Date: Tue, 17 Jun 2014 12:04:53 -0700 +Subject: [PATCH] cpu: microcode: remove failures when kernel does not have + newer version (LP: #1322534) + +New systems usually have new microcode than kernel does, and +therefore reporting failures is not correct. This patch changes +it to report skipped when kernel does not have microcode updates. + +Signed-off-by: Alex Hung +Acked-by: Colin Ian King +Acked-by: Ivan Hu +--- + src/cpu/microcode/microcode.c | 7 ++----- + 1 file changed, 2 insertions(+), 5 deletions(-) + +diff --git a/src/cpu/microcode/microcode.c b/src/cpu/microcode/microcode.c +index bf0dd928b6d9..d49316892cd8 100644 +--- a/src/cpu/microcode/microcode.c ++++ b/src/cpu/microcode/microcode.c +@@ -230,13 +230,10 @@ static int microcode_test1(fwts_framework *fw) + } + + /* +- * We found the old revision but not a +- * new revsion, failed ++ * Kernel does not have newer version than BIOS + */ + if (info->new_revision == UNKNOWN) { +- failed++; +- fwts_failed(fw, LOG_LEVEL_MEDIUM, "MicrocodeNotUpdated", +- "The kernel did not report that CPU %d has had a microcode update. " ++ fwts_log_info(fw, "The kernel did not report that CPU %d has had a microcode update. " + "The current firmware is revision 0x%x and probably has not been updated.", + cpu, info->old_revision); + continue; +-- +1.9.3 + diff --git a/meta-luv/recipes-core/fwts/fwts_git.bb b/meta-luv/recipes-core/fwts/fwts_git.bb index a86b0eeb6ec..5d69d123e1b 100644 --- a/meta-luv/recipes-core/fwts/fwts_git.bb +++ b/meta-luv/recipes-core/fwts/fwts_git.bb @@ -14,6 +14,7 @@ SRC_URI = "git://kernel.ubuntu.com/hwe/fwts.git \ file://0003-efi_runtime-Group-kernel-version-dependent-functions.patch \ file://0004-efi_runtime-Do-not-pass-user-addresses-to-firmware.patch \ file://0005-efi_runtime-donot-dereference-user-address.patch \ + file://0006-cpu-microcode-remove-failures-when-kernel-does-not-h.patch \ " S = "${WORKDIR}/git" From 64f5799bd2727d8a17e85622e5539e0c0f82ee96 Mon Sep 17 00:00:00 2001 From: Matt Fleming Date: Mon, 6 Oct 2014 13:23:13 +0100 Subject: [PATCH 648/658] fwts: Backport securebootcert fix from upstream A recent fix to change a securebootcert failure into an info message was merged into upstream fwts. We're hitting this false positive on a number of machines. Signed-off-by: Matt Fleming --- ...eport-info-instead-of-failure-for-mi.patch | 68 +++++++++++++++++++ meta-luv/recipes-core/fwts/fwts_git.bb | 1 + 2 files changed, 69 insertions(+) create mode 100644 meta-luv/recipes-core/fwts/fwts/0007-securebootcert-report-info-instead-of-failure-for-mi.patch diff --git a/meta-luv/recipes-core/fwts/fwts/0007-securebootcert-report-info-instead-of-failure-for-mi.patch b/meta-luv/recipes-core/fwts/fwts/0007-securebootcert-report-info-instead-of-failure-for-mi.patch new file mode 100644 index 00000000000..a7739a1c344 --- /dev/null +++ b/meta-luv/recipes-core/fwts/fwts/0007-securebootcert-report-info-instead-of-failure-for-mi.patch @@ -0,0 +1,68 @@ +From 0a6240d2d3c1dce6b6e156b3d4c92da44442c2cf Mon Sep 17 00:00:00 2001 +From: Ivan Hu +Date: Mon, 29 Sep 2014 13:33:09 +0800 +Subject: [PATCH] securebootcert: report info instead of failure for missing DB + and KEK when secureboot disabled (LP: #1374351 ) + +When secureboot enabled, it's obverious that something wrong with missing DB and +KEK variables, failures will be report. When the secureboot disabled and missing +DB and KEK variables, report the information that the machine is not in +readiness for secureboot. + +Signed-off-by: Ivan Hu +Acked-by: Alex Hung +Acked-by: Colin Ian King +--- + src/uefi/securebootcert/securebootcert.c | 22 ++++++++++++++++------ + 1 file changed, 16 insertions(+), 6 deletions(-) + +diff --git a/src/uefi/securebootcert/securebootcert.c b/src/uefi/securebootcert/securebootcert.c +index 53d9e1387759..4fd6cefe956f 100644 +--- a/src/uefi/securebootcert/securebootcert.c ++++ b/src/uefi/securebootcert/securebootcert.c +@@ -62,6 +62,7 @@ typedef struct _EFI_SIGNATURE_LIST { + } + + static uint8_t var_found; ++static bool securebooted = false; + + static bool compare_guid(EFI_GUID *guid1, uint8_t *guid2) + { +@@ -118,6 +119,8 @@ static void securebootcert_secure_boot(fwts_framework *fw, fwts_uefi_var *var, c + "The secure boot variable data invalid."); + return; + } ++ if (value == 1) ++ securebooted = true; + fwts_log_info_verbatum(fw, " Value: 0x%2.2x%s.", value, mode); + fwts_passed(fw, "Secure boot relative variable %s check passed.", varname); + } +@@ -359,12 +362,19 @@ static int securebootcert_test1(fwts_framework *fw) + if (!(var_found & VAR_SETUPMODE_FOUND)) + fwts_failed(fw, LOG_LEVEL_HIGH, "SecureBootCertVariableNotFound", + "The secure boot variable SetupMode not found."); +- if (!(var_found & VAR_DB_FOUND)) +- fwts_failed(fw, LOG_LEVEL_HIGH, "SecureBootCertVariableNotFound", +- "The secure boot variable DB not found."); +- if (!(var_found & VAR_KEK_FOUND)) +- fwts_failed(fw, LOG_LEVEL_HIGH, "SecureBootCertVariableNotFound", +- "The secure boot variable KEK not found."); ++ if (securebooted) { ++ if (!(var_found & VAR_DB_FOUND)) ++ fwts_failed(fw, LOG_LEVEL_HIGH, "SecureBootCertVariableNotFound", ++ "The secure boot variable DB not found."); ++ if (!(var_found & VAR_KEK_FOUND)) ++ fwts_failed(fw, LOG_LEVEL_HIGH, "SecureBootCertVariableNotFound", ++ "The secure boot variable KEK not found."); ++ } else { ++ if (!(var_found & VAR_DB_FOUND)) ++ fwts_log_info(fw, "Not in readiness for secureboot, variable DB not found."); ++ if (!(var_found & VAR_KEK_FOUND)) ++ fwts_log_info(fw, "Not in readiness for secureboot, variable KEK not found."); ++ } + + fwts_uefi_free_variable_names(&name_list); + +-- +1.9.3 + diff --git a/meta-luv/recipes-core/fwts/fwts_git.bb b/meta-luv/recipes-core/fwts/fwts_git.bb index 5d69d123e1b..02eec865112 100644 --- a/meta-luv/recipes-core/fwts/fwts_git.bb +++ b/meta-luv/recipes-core/fwts/fwts_git.bb @@ -15,6 +15,7 @@ SRC_URI = "git://kernel.ubuntu.com/hwe/fwts.git \ file://0004-efi_runtime-Do-not-pass-user-addresses-to-firmware.patch \ file://0005-efi_runtime-donot-dereference-user-address.patch \ file://0006-cpu-microcode-remove-failures-when-kernel-does-not-h.patch \ + file://0007-securebootcert-report-info-instead-of-failure-for-mi.patch \ " S = "${WORKDIR}/git" From 3379256864c3fda381a26fc79d3adc85644259a1 Mon Sep 17 00:00:00 2001 From: Matt Fleming Date: Mon, 6 Oct 2014 14:11:48 +0100 Subject: [PATCH 649/658] fwts: Fix uefirttime failure due to using get_user() on kernel pointer We've no need to turn a data structure on the stack into a pointer and use get_user() on a kernel address, and in fact, doing so is likely to return -EFAULT, because the argument isn't a valid user address. This bug was introduced in commit c2268a9b23a9 ("fwts: Copied the structure from userland locally in kernel space"), and causes a uefirttime failure. Cc: Pradeep Gaddam Signed-off-by: Matt Fleming --- ...me-Don-t-use-get_user-on-non-pointer.patch | 34 +++++++++++++++++++ meta-luv/recipes-core/fwts/fwts_git.bb | 1 + 2 files changed, 35 insertions(+) create mode 100644 meta-luv/recipes-core/fwts/fwts/0008-efi_runtime-Don-t-use-get_user-on-non-pointer.patch diff --git a/meta-luv/recipes-core/fwts/fwts/0008-efi_runtime-Don-t-use-get_user-on-non-pointer.patch b/meta-luv/recipes-core/fwts/fwts/0008-efi_runtime-Don-t-use-get_user-on-non-pointer.patch new file mode 100644 index 00000000000..1bdd4c5c550 --- /dev/null +++ b/meta-luv/recipes-core/fwts/fwts/0008-efi_runtime-Don-t-use-get_user-on-non-pointer.patch @@ -0,0 +1,34 @@ +From 690bee3feb9a4bb290f62255483a646b9aa7b23b Mon Sep 17 00:00:00 2001 +From: Matt Fleming +Date: Mon, 6 Oct 2014 14:09:10 +0100 +Subject: [PATCH] efi_runtime: Don't use get_user() on non-pointer + +We don't need to try to construct a pointer from a structure on the +stack in order to use get_user(). We can just access it directly. + +This fixes an efi_runtime_set_waketime() failure, introduced with commit +"fwts: Copied the structure from userland locally in kernel space". + +Signed-off-by: Matt Fleming +--- + efi_runtime/efi_runtime.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/efi_runtime/efi_runtime.c b/efi_runtime/efi_runtime.c +index 249f2619ca23..7332d6b090eb 100644 +--- a/efi_runtime/efi_runtime.c ++++ b/efi_runtime/efi_runtime.c +@@ -397,8 +397,8 @@ static long efi_runtime_set_waketime(unsigned long arg) + if (copy_from_user(&psetwakeuptime_local, psetwakeuptime, sizeof(psetwakeuptime_local))) + return -EFAULT; + +- if (get_user(enabled, &(psetwakeuptime_local.Enabled)) || +- copy_from_user(&efi_time, psetwakeuptime_local.Time, sizeof(EFI_TIME))) ++ enabled = psetwakeuptime_local.Enabled; ++ if (copy_from_user(&efi_time, psetwakeuptime_local.Time, sizeof(EFI_TIME))) + return -EFAULT; + + convert_to_efi_time(&eft, &efi_time); +-- +1.9.3 + diff --git a/meta-luv/recipes-core/fwts/fwts_git.bb b/meta-luv/recipes-core/fwts/fwts_git.bb index 02eec865112..05dd235c5c2 100644 --- a/meta-luv/recipes-core/fwts/fwts_git.bb +++ b/meta-luv/recipes-core/fwts/fwts_git.bb @@ -16,6 +16,7 @@ SRC_URI = "git://kernel.ubuntu.com/hwe/fwts.git \ file://0005-efi_runtime-donot-dereference-user-address.patch \ file://0006-cpu-microcode-remove-failures-when-kernel-does-not-h.patch \ file://0007-securebootcert-report-info-instead-of-failure-for-mi.patch \ + file://0008-efi_runtime-Don-t-use-get_user-on-non-pointer.patch \ " S = "${WORKDIR}/git" From c464aefaf5befd72e16488faa3653c7f98ff60fb Mon Sep 17 00:00:00 2001 From: Matt Fleming Date: Tue, 7 Oct 2014 13:51:14 +0100 Subject: [PATCH 650/658] luv: Disable early boot graphics Things don't work across the board right now, anyhow. People have even experienced hangs, and there's no way we can diagnose those hangs without displaying the test log on the screen. It's not ideal, and going forward we definitely need to satisfy both requirements (easy debugging and pretty graphics), but if need to pick one or the other, easy debugging wins every time. Signed-off-by: Matt Fleming --- meta-luv/classes/luv-efi.bbclass | 7 ------- meta-luv/recipes-bsp/bits/bits.bb | 7 ------- 2 files changed, 14 deletions(-) diff --git a/meta-luv/classes/luv-efi.bbclass b/meta-luv/classes/luv-efi.bbclass index 9ec3d36834f..02a6751987a 100644 --- a/meta-luv/classes/luv-efi.bbclass +++ b/meta-luv/classes/luv-efi.bbclass @@ -63,13 +63,6 @@ python build_efi_cfg() { cfgfile.write('timeout=0\n') cfgfile.write('fallback=0\n') - cfgfile.write('insmod gfxterm\n') - cfgfile.write('set gfxmode="1024x768x32"\n') - cfgfile.write('terminal_output gfxterm\n') - - cfgfile.write('insmod jpeg\n') - cfgfile.write('background_image %s/%s\n' % (d.getVar('EFIDIR', True), d.getVar('SPLASH_IMAGE', True))) - cfgfile.write('menuentry \'luv\' {\n') cfgfile.write('linux /vmlinuz') diff --git a/meta-luv/recipes-bsp/bits/bits.bb b/meta-luv/recipes-bsp/bits/bits.bb index e1730217f3a..694a7b0b59b 100644 --- a/meta-luv/recipes-bsp/bits/bits.bb +++ b/meta-luv/recipes-bsp/bits/bits.bb @@ -62,13 +62,6 @@ LUV_TEST_LOG_PARSER = "luv-parser-bits" do_configure_prepend() { # Return control to the main bootloader once complete. echo "exit" >> ${S}/boot/cfg/init.cfg - - # Allowing the python modules to write to stdout/stderr will corrupt - # the graphics image setup by the bootloader. Instead, redirect - # everything to the log file. The alternative would be to rebuild - # BITS from source and include the gfxmenu and gfxterm grub modules. - - patch -d ${S} -p1 < ${WORKDIR}/0001-only-output-to-log.patch } do_install() { From 86639fbf8fbafbda57665f115ebded34124e683b Mon Sep 17 00:00:00 2001 From: Matt Fleming Date: Fri, 17 Oct 2014 10:59:22 +0100 Subject: [PATCH 651/658] luv-live-image: Enable kernel boot messages on serial console Providing verbose kernel output on the serial console during boot is a useful way to debug issues. It also provides a much more informative message of what is currently happening. Enable both the standard ttyS0 device and ttyPCH0 which is the device used on the Intel Minnowboard. Tested-by: Gayatri Kammela Tested-by: Ricardo Neri Signed-off-by: Matt Fleming --- meta-luv/recipes-core/images/luv-live-image.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-luv/recipes-core/images/luv-live-image.bb b/meta-luv/recipes-core/images/luv-live-image.bb index b6229013f6d..e4ccd64f2db 100644 --- a/meta-luv/recipes-core/images/luv-live-image.bb +++ b/meta-luv/recipes-core/images/luv-live-image.bb @@ -10,7 +10,7 @@ LABELS = "luv" INITRD_IMAGE = "core-image-efi-initramfs" INITRD = "${DEPLOY_DIR_IMAGE}/${INITRD_IMAGE}-${MACHINE}.cpio.gz" MACHINE_FEATURES += "efi" -APPEND = "quiet crashkernel=256M" +APPEND = "crashkernel=256M console=ttyS0,115200 console=ttyPCH0,115200" SPLASH_IMAGE = "blue-luv.jpg" From c30a7902d5709d41e2e5e57225de7b6f2daba561 Mon Sep 17 00:00:00 2001 From: Matt Fleming Date: Fri, 17 Oct 2014 12:46:25 +0100 Subject: [PATCH 652/658] luv-test-manager: Write test results directly to console There's some latency somewhere in the test result pipeline, and it's impossible to trace noticable hangs when writing test results to the console to the offending unit test. Just simplify the pipeline, and pipe the result output directly to the console and results files instead of passing it through another instance of gawk before it hits the console, since hunting down buffer-related delays in gawk is extremely tedious. There's no user-visible change with this patch - it's preparatory work for a later patch that aggressively flushes the gawk output buffer. Tested-by: Gayatri Kammela Tested-by: Ricardo Neri Signed-off-by: Matt Fleming --- .../recipes-core/initscripts/initscripts/luv-test-manager | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/meta-luv/recipes-core/initscripts/initscripts/luv-test-manager b/meta-luv/recipes-core/initscripts/initscripts/luv-test-manager index e074cfa3586..30cfb189e38 100644 --- a/meta-luv/recipes-core/initscripts/initscripts/luv-test-manager +++ b/meta-luv/recipes-core/initscripts/initscripts/luv-test-manager @@ -94,7 +94,9 @@ for r in $runner_list; do } $runner | tee ${LUV_LOG_DIR}/$r | tee ${LUV_SAVE_RAW_DIR}/$r | $parser | \ - tee ${LUV_SAVE_PARSED_DIR}/$r | ${LUV_PARSER_DIR}/test-manager + tee ${LUV_SAVE_PARSED_DIR}/$r | ${LUV_PARSER_DIR}/test-manager | \ + tee /dev/console | \ + tee -a /tmp/luv.results | tee -a ${LUV_SAVE_RESULTS_DIR}/luv.results sync done | awk '/ \[\+/ { units += 1 } / \[\-/ { suites += 1 } @@ -103,9 +105,7 @@ done | awk '/ \[\+/ { units += 1 } /skip/ { skips += 1 } END { printf("\nRan %d testsuites and %d unittests, %d passes, %d fails, %d skipped.\n", suites, units, passes, fails, skips) - } - - { print $0 }' | tee /tmp/luv.results | tee ${LUV_SAVE_RESULTS_DIR}/luv.results + }' | tee -a /tmp/luv.results | tee -a ${LUV_SAVE_RESULTS_DIR}/luv.results mountpoint -q ${LUV_EFI} if [ $? -eq 0 ]; then From 72d7be73daecfbd30050d1d465ab8c0c89d1d262 Mon Sep 17 00:00:00 2001 From: Matt Fleming Date: Fri, 17 Oct 2014 13:02:06 +0100 Subject: [PATCH 653/658] luv: Manually flush stdout from gawk The internal buffering that gawk does makes the test output pretty useless, because it's not always possible to tell which test is currently running. For example, a test may have completed but the output will not appear on the screen until the output buffer fills and is subsequently flushed. Effectively all the unit test results from a single test suite are output as one block. The wakealarm test from fwts provides a good illustration of the user-visible problem. This test takes a number of seconds to complete, but because all the fwts results are output in one go, it's not possible to attribute delays to any one individual unit test. Explicitly flush all open file descriptors and pipes anytime that we print something from gawk. This gives much better user interaction when looking at the serial console because it's now possible to figure out which tests have the longest latencies. Whenever a unit test begins execution a message will be printed on the serial console immediately, e.g. [+] wakealarm... and when it finishes (in this case after multiple seconds) the result will be printed too, [+] wakealarm... passed Tested-by: Gayatri Kammela Tested-by: Ricardo Neri Signed-off-by: Matt Fleming --- meta-luv/recipes-bsp/bits/bits/luv-parser-bits | 1 + .../recipes-core/efivarfs/efivarfs-test/luv-parser-efivarfs | 3 +++ meta-luv/recipes-core/fwts/fwts/luv-parser-fwts | 2 ++ meta-luv/recipes-core/initscripts/initscripts/luv-test-parser | 3 +++ .../kernel-efi-warnings/luv-parser-kernel-efi-warnings | 3 +++ 5 files changed, 12 insertions(+) diff --git a/meta-luv/recipes-bsp/bits/bits/luv-parser-bits b/meta-luv/recipes-bsp/bits/bits/luv-parser-bits index 675b4d8bff7..f150038ae1c 100644 --- a/meta-luv/recipes-bsp/bits/bits/luv-parser-bits +++ b/meta-luv/recipes-bsp/bits/bits/luv-parser-bits @@ -7,6 +7,7 @@ awk '/\=\=\=/ { if (test) { printf "1.0 bits %s RESULT %d %d %d 0\n", test, passes, fails, skips; + fflush(""); passes = 0; fails = 0; skips =0; } diff --git a/meta-luv/recipes-core/efivarfs/efivarfs-test/luv-parser-efivarfs b/meta-luv/recipes-core/efivarfs/efivarfs-test/luv-parser-efivarfs index ff7ba8d2e45..16d5ec70bcb 100644 --- a/meta-luv/recipes-core/efivarfs/efivarfs-test/luv-parser-efivarfs +++ b/meta-luv/recipes-core/efivarfs/efivarfs-test/luv-parser-efivarfs @@ -6,12 +6,15 @@ awk '/running/ { test=$2 printf ("1.0 efivarfs %s INFO\n", test); + fflush(""); } /\[PASS\]/ { printf ("1.0 efivarfs %s RESULT 1 0 0 0\n", test); + fflush(""); } /\[FAIL\]/ { printf ("1.0 efivarfs %s RESULT 0 1 0 0\n", test); + fflush(""); }' diff --git a/meta-luv/recipes-core/fwts/fwts/luv-parser-fwts b/meta-luv/recipes-core/fwts/fwts/luv-parser-fwts index 40621e710e7..64a96c38561 100644 --- a/meta-luv/recipes-core/fwts/fwts/luv-parser-fwts +++ b/meta-luv/recipes-core/fwts/fwts/luv-parser-fwts @@ -12,7 +12,9 @@ awk '!/^summary/ && !/^fwts/ && /\;SUM.*passed|\;INF/ { if ($2 == ";SUM") { printf ("1.0 fwts %s RESULT %d %d %d %d\n", $1, $3, $5, $7, $9); + fflush(""); } else if ($2 == ";INF") { printf ("1.0 fwts %s INFO %s\n", $1, substr($0, index($0, $8))); + fflush(""); } }' diff --git a/meta-luv/recipes-core/initscripts/initscripts/luv-test-parser b/meta-luv/recipes-core/initscripts/initscripts/luv-test-parser index 237d669150f..6fa486dc3fa 100644 --- a/meta-luv/recipes-core/initscripts/initscripts/luv-test-parser +++ b/meta-luv/recipes-core/initscripts/initscripts/luv-test-parser @@ -22,12 +22,14 @@ awk ' if (!b) { b = 1; printf (" [-] %s\n", $2); + fflush(""); } # New test? if (!tests[$3]) { tests[$3] = 1; printf(" [+] %s... ", $3); + fflush(""); } # @@ -59,6 +61,7 @@ awk ' printf("skipped\n"); else printf("passed\n"); + fflush(""); } else if ($4 == "INFO") { # Do nothing for now. } diff --git a/meta-luv/recipes-core/kernel_efi_warnings/kernel-efi-warnings/luv-parser-kernel-efi-warnings b/meta-luv/recipes-core/kernel_efi_warnings/kernel-efi-warnings/luv-parser-kernel-efi-warnings index 08c2d905654..c38442b0228 100644 --- a/meta-luv/recipes-core/kernel_efi_warnings/kernel-efi-warnings/luv-parser-kernel-efi-warnings +++ b/meta-luv/recipes-core/kernel_efi_warnings/kernel-efi-warnings/luv-parser-kernel-efi-warnings @@ -5,13 +5,16 @@ awk '/Test:/ { test=$2 printf ("1.0 kernel-efi-warnings %s INFO\n", test); + fflush(""); } /PASS/ { printf ("1.0 kernel-efi-warnings %s RESULT 1 0 0 0\n", test); + fflush(""); } /FAIL/ { printf ("1.0 kernel-efi-warnings %s RESULT 0 1 0 0\n", test); + fflush(""); } ' From 13a376bc411ac79d37cda34b7154fefd5bed186f Mon Sep 17 00:00:00 2001 From: Ricardo Neri Date: Wed, 22 Oct 2014 16:26:39 -0700 Subject: [PATCH 654/658] luv-test-manager: show luv release version in luv.results As more LUV versions are released and the user base grows, it is important to know which particular version of LUV a given user is running. Knowing the version makes it easier to provide support and comments regarding bugs and supported features. Containing a summary of all the tests, luv.results is a good place to print the LUV version. The version is pulled from the /etc/issue file, which is updated with every release. While here, update also the welcome message in the console to depict the LUV version. Signed-off-by: Ricardo Neri Signed-off-by: Matt Fleming --- .../initscripts/initscripts/luv-test-manager | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/meta-luv/recipes-core/initscripts/initscripts/luv-test-manager b/meta-luv/recipes-core/initscripts/initscripts/luv-test-manager index 30cfb189e38..e5de98d4e72 100644 --- a/meta-luv/recipes-core/initscripts/initscripts/luv-test-manager +++ b/meta-luv/recipes-core/initscripts/initscripts/luv-test-manager @@ -50,8 +50,10 @@ fi psplash_write "MSG Running tests..." +luv_version=$(cut -d\\ -f1 /etc/issue) + cat < /tmp/luv.results +$luv_version + +Test results summary: + +EOF + runner_list=`ls -A ${LUV_TESTS_DIR}` progress_step="$((100/$(echo $runner_list | wc -w)))" From a72446b08166a77ee2eac7fac56c7454d40c16fc Mon Sep 17 00:00:00 2001 From: Ricardo Neri Date: Wed, 22 Oct 2014 16:26:40 -0700 Subject: [PATCH 655/658] luv: Update the version number to 1.1 Signed-off-by: Ricardo Neri Signed-off-by: Matt Fleming --- meta-luv/conf/distro/luv.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-luv/conf/distro/luv.conf b/meta-luv/conf/distro/luv.conf index e6104446e48..6ff15679207 100644 --- a/meta-luv/conf/distro/luv.conf +++ b/meta-luv/conf/distro/luv.conf @@ -1,5 +1,5 @@ DISTRO_NAME = "Linux UEFI Validation Distribution" -DISTRO_VERSION = "1.0" +DISTRO_VERSION = "1.1" TCLIBCAPPEND = "" From a0e69fc14c381190b49c3f9df95b824e1b0b6fa2 Mon Sep 17 00:00:00 2001 From: Matt Fleming Date: Mon, 3 Nov 2014 18:48:52 +0000 Subject: [PATCH 656/658] luv-live-image: Make luv-results the first partition Windows will not mount and display more than one partition on a removable disk. Make the results partiion the first partition on the image so that users are able to easily find the test results. Having this one partition restriction isn't a problem otherwise, since there's little value in auto-mounting the other partition (the EFI System Partition) anyway. Of course, we're assuming firmware is smart enough to find the EFI System Partition based on the partition table. Fixes issue #23. Reported-by: William Leara Debugged-by: Ricardo Neri Tested-by: Gayatri Kammela Signed-off-by: Matt Fleming --- meta-luv/recipes-core/images/luv-live-image.bb | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/meta-luv/recipes-core/images/luv-live-image.bb b/meta-luv/recipes-core/images/luv-live-image.bb index e4ccd64f2db..51d114fa2f1 100644 --- a/meta-luv/recipes-core/images/luv-live-image.bb +++ b/meta-luv/recipes-core/images/luv-live-image.bb @@ -51,16 +51,17 @@ build_img() { parted $IMG mklabel msdos - parted $IMG mkpart primary 0% "${VFAT_SIZE}B" - parted $IMG set 1 boot on + parted $IMG mkpart primary 0% "${VFAT_RESULTS_SIZE}B" # start second partition on the first sector after the first partition - parted $IMG mkpart primary "$(expr $VFAT_SIZE + 512)B" \ + parted $IMG mkpart primary "$(expr $VFAT_RESULTS_SIZE + 512)B" \ "$(expr $VFAT_SIZE + $VFAT_RESULTS_SIZE)B" - dd conv=notrunc if=${VFAT} of=$IMG seek=1 bs=512 + parted $IMG set 2 boot on + + dd conv=notrunc if=${VFAT_RESULTS} of=$IMG seek=1 bs=512 + dd if=${VFAT} of=$IMG seek=$(expr $(expr $VFAT_RESULTS_SIZE / 512) + 1) bs=512 - dd if=${VFAT_RESULTS} of=$IMG seek=$(expr $VFAT_SIZE + 512) bs=1 } python do_create_img() { From 6db3cb80d9812ea7944332fb1f04f62825a30765 Mon Sep 17 00:00:00 2001 From: Matt Fleming Date: Sat, 8 Nov 2014 06:57:23 -0800 Subject: [PATCH 657/658] luv: Add custom {bblayers,local}.conf This allows us to setup the correct DISTRO and MACHINE out of the box, along with adding the meta-luv layer to BBLAYERS. Signed-off-by: Matt Fleming --- meta-luv/conf/bblayers.conf.sample | 17 +++ meta-luv/conf/local.conf.sample | 235 +++++++++++++++++++++++++++++ 2 files changed, 252 insertions(+) create mode 100644 meta-luv/conf/bblayers.conf.sample create mode 100644 meta-luv/conf/local.conf.sample diff --git a/meta-luv/conf/bblayers.conf.sample b/meta-luv/conf/bblayers.conf.sample new file mode 100644 index 00000000000..2768d5533cd --- /dev/null +++ b/meta-luv/conf/bblayers.conf.sample @@ -0,0 +1,17 @@ +# LAYER_CONF_VERSION is increased each time build/conf/bblayers.conf +# changes incompatibly +LCONF_VERSION = "6" + +BBPATH = "${TOPDIR}" +BBFILES ?= "" + +BBLAYERS ?= " \ + ##OEROOT##/meta \ + ##OEROOT##/meta-yocto \ + ##OEROOT##/meta-yocto-bsp \ + ##OEROOT##/meta-luv \ + " +BBLAYERS_NON_REMOVABLE ?= " \ + ##OEROOT##/meta \ + ##OEROOT##/meta-yocto \ + " diff --git a/meta-luv/conf/local.conf.sample b/meta-luv/conf/local.conf.sample new file mode 100644 index 00000000000..88e72460397 --- /dev/null +++ b/meta-luv/conf/local.conf.sample @@ -0,0 +1,235 @@ +# +# This file is your local configuration file and is where all local user settings +# are placed. The comments in this file give some guide to the options a new user +# to the system might want to change but pretty much any configuration option can +# be set in this file. More adventurous users can look at local.conf.extended +# which contains other examples of configuration which can be placed in this file +# but new users likely won't need any of them initially. +# +# Lines starting with the '#' character are commented out and in some cases the +# default values are provided as comments to show people example syntax. Enabling +# the option is a question of removing the # character and making any change to the +# variable as required. + +# +# Parallelism Options +# +# These two options control how much parallelism BitBake should use. The first +# option determines how many tasks bitbake should run in parallel: +# +#BB_NUMBER_THREADS ?= "4" +# +# The second option controls how many processes make should run in parallel when +# running compile tasks: +# +#PARALLEL_MAKE ?= "-j 4" +# +# For a quad-core machine, BB_NUMBER_THREADS = "4", PARALLEL_MAKE = "-j 4" would +# be appropriate for example. + +# +# Machine Selection +# +# You need to select a specific machine to target the build with. There are a selection +# of emulated machines available which can boot and run in the QEMU emulator: +# +#MACHINE ?= "qemuarm" +#MACHINE ?= "qemumips" +#MACHINE ?= "qemuppc" +#MACHINE ?= "qemux86" +#MACHINE ?= "qemux86-64" +# +# There are also the following hardware board target machines included for +# demonstration purposes: +# +#MACHINE ?= "beagleboard" +#MACHINE ?= "genericx86" +#MACHINE ?= "genericx86-64" +#MACHINE ?= "mpc8315e-rdb" +#MACHINE ?= "routerstationpro" +# +# This sets the default machine to be qemux86 if no other machine is selected: +MACHINE ??= "qemux86-64" + +# +# Where to place downloads +# +# During a first build the system will download many different source code tarballs +# from various upstream projects. This can take a while, particularly if your network +# connection is slow. These are all stored in DL_DIR. When wiping and rebuilding you +# can preserve this directory to speed up this part of subsequent builds. This directory +# is safe to share between multiple builds on the same machine too. +# +# The default is a downloads directory under TOPDIR which is the build directory. +# +#DL_DIR ?= "${TOPDIR}/downloads" + +# +# Where to place shared-state files +# +# BitBake has the capability to accelerate builds based on previously built output. +# This is done using "shared state" files which can be thought of as cache objects +# and this option determines where those files are placed. +# +# You can wipe out TMPDIR leaving this directory intact and the build would regenerate +# from these files if no changes were made to the configuration. If changes were made +# to the configuration, only shared state files where the state was still valid would +# be used (done using checksums). +# +# The default is a sstate-cache directory under TOPDIR. +# +#SSTATE_DIR ?= "${TOPDIR}/sstate-cache" + +# +# Where to place the build output +# +# This option specifies where the bulk of the building work should be done and +# where BitBake should place its temporary files and output. Keep in mind that +# this includes the extraction and compilation of many applications and the toolchain +# which can use Gigabytes of hard disk space. +# +# The default is a tmp directory under TOPDIR. +# +#TMPDIR = "${TOPDIR}/tmp" + +# +# Default policy config +# +# The distribution setting controls which policy settings are used as defaults. +# The default value is fine for general Yocto project use, at least initially. +# Ultimately when creating custom policy, people will likely end up subclassing +# these defaults. +# +DISTRO = "luv" +# As an example of a subclass there is a "bleeding" edge policy configuration +# where many versions are set to the absolute latest code from the upstream +# source control systems. This is just mentioned here as an example, its not +# useful to most new users. +# DISTRO ?= "poky-bleeding" + +# +# Package Management configuration +# +# This variable lists which packaging formats to enable. Multiple package backends +# can be enabled at once and the first item listed in the variable will be used +# to generate the root filesystems. +# Options are: +# - 'package_deb' for debian style deb files +# - 'package_ipk' for ipk files are used by opkg (a debian style embedded package manager) +# - 'package_rpm' for rpm style packages +# E.g.: PACKAGE_CLASSES ?= "package_rpm package_deb package_ipk" +# We default to rpm: +PACKAGE_CLASSES ?= "package_rpm" + +# +# SDK/ADT target architecture +# +# This variable specified the architecture to build SDK/ADT items for and means +# you can build the SDK packages for architectures other than the machine you are +# running the build on (i.e. building i686 packages on an x86_64 host._ +# Supported values are i686 and x86_64 +#SDKMACHINE ?= "i686" + +# +# Extra image configuration defaults +# +# The EXTRA_IMAGE_FEATURES variable allows extra packages to be added to the generated +# images. Some of these options are added to certain image types automatically. The +# variable can contain the following options: +# "dbg-pkgs" - add -dbg packages for all installed packages +# (adds symbol information for debugging/profiling) +# "dev-pkgs" - add -dev packages for all installed packages +# (useful if you want to develop against libs in the image) +# "ptest-pkgs" - add -ptest packages for all ptest-enabled packages +# (useful if you want to run the package test suites) +# "tools-sdk" - add development tools (gcc, make, pkgconfig etc.) +# "tools-debug" - add debugging tools (gdb, strace) +# "eclipse-debug" - add Eclipse remote debugging support +# "tools-profile" - add profiling tools (oprofile, exmap, lttng, valgrind) +# "tools-testapps" - add useful testing tools (ts_print, aplay, arecord etc.) +# "debug-tweaks" - make an image suitable for development +# e.g. ssh root access has a blank password +# There are other application targets that can be used here too, see +# meta/classes/image.bbclass and meta/classes/core-image.bbclass for more details. +# We default to enabling the debugging tweaks. +EXTRA_IMAGE_FEATURES = "debug-tweaks" + +# +# Additional image features +# +# The following is a list of additional classes to use when building images which +# enable extra features. Some available options which can be included in this variable +# are: +# - 'buildstats' collect build statistics +# - 'image-mklibs' to reduce shared library files size for an image +# - 'image-prelink' in order to prelink the filesystem image +# - 'image-swab' to perform host system intrusion detection +# NOTE: if listing mklibs & prelink both, then make sure mklibs is before prelink +# NOTE: mklibs also needs to be explicitly enabled for a given image, see local.conf.extended +USER_CLASSES ?= "buildstats image-mklibs image-prelink" + +# +# Runtime testing of images +# +# The build system can test booting virtual machine images under qemu (an emulator) +# after any root filesystems are created and run tests against those images. To +# enable this uncomment this line. See classes/testimage(-auto).bbclass for +# further details. +#TEST_IMAGE = "1" +# +# Interactive shell configuration +# +# Under certain circumstances the system may need input from you and to do this it +# can launch an interactive shell. It needs to do this since the build is +# multithreaded and needs to be able to handle the case where more than one parallel +# process may require the user's attention. The default is iterate over the available +# terminal types to find one that works. +# +# Examples of the occasions this may happen are when resolving patches which cannot +# be applied, to use the devshell or the kernel menuconfig +# +# Supported values are auto, gnome, xfce, rxvt, screen, konsole (KDE 3.x only), none +# Note: currently, Konsole support only works for KDE 3.x due to the way +# newer Konsole versions behave +#OE_TERMINAL = "auto" +# By default disable interactive patch resolution (tasks will just fail instead): +PATCHRESOLVE = "noop" + +# +# Disk Space Monitoring during the build +# +# Monitor the disk space during the build. If there is less that 1GB of space or less +# than 100K inodes in any key build location (TMPDIR, DL_DIR, SSTATE_DIR), gracefully +# shutdown the build. If there is less that 100MB or 1K inodes, perform a hard abort +# of the build. The reason for this is that running completely out of space can corrupt +# files and damages the build in ways which may not be easily recoverable. +BB_DISKMON_DIRS = "\ + STOPTASKS,${TMPDIR},1G,100K \ + STOPTASKS,${DL_DIR},1G,100K \ + STOPTASKS,${SSTATE_DIR},1G,100K \ + ABORT,${TMPDIR},100M,1K \ + ABORT,${DL_DIR},100M,1K \ + ABORT,${SSTATE_DIR},100M,1K" + +# +# Shared-state files from other locations +# +# As mentioned above, shared state files are prebuilt cache data objects which can +# used to accelerate build time. This variable can be used to configure the system +# to search other mirror locations for these objects before it builds the data itself. +# +# This can be a filesystem directory, or a remote url such as http or ftp. These +# would contain the sstate-cache results from previous builds (possibly from other +# machines). This variable works like fetcher MIRRORS/PREMIRRORS and points to the +# cache locations to check for the shared objects. +# NOTE: if the mirror uses the same structure as SSTATE_DIR, you need to add PATH +# at the end as shown in the examples below. This will be substituted with the +# correct path within the directory structure. +#SSTATE_MIRRORS ?= "\ +#file://.* http://someserver.tld/share/sstate/PATH;downloadfilename=PATH \n \ +#file://.* file:///some/local/dir/sstate/PATH" + +# CONF_VERSION is increased each time build/conf/ changes incompatibly and is used to +# track the version of this file when it was generated. This can safely be ignored if +# this doesn't mean anything to you. +CONF_VERSION = "1" From be40eba3e6a04b3af3767bbc95fea22dd8f94a54 Mon Sep 17 00:00:00 2001 From: Matt Fleming Date: Sat, 8 Nov 2014 07:47:25 -0800 Subject: [PATCH 658/658] luv-setup: Tiny wrapper to make configuration easier Issue #30 showed that we currently have far too many configuration steps that are required to build a luv image. And if you miss any of those steps, the resulting failures are not at all helpful in diagnosing what you did wrong. Start simple for now, by just specifying a luv-specific TEMPLATECONF directory. Later we could expand upon this and perhaps make it easier to build for the various architectures. Signed-off-by: Matt Fleming --- luv-setup | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100755 luv-setup diff --git a/luv-setup b/luv-setup new file mode 100755 index 00000000000..41fa6b18ee4 --- /dev/null +++ b/luv-setup @@ -0,0 +1,9 @@ +#!/bin/bash +# +# Copyright (C) 2014 Intel Corporation +# +# This is an extremely simple wrapper around oe-init-build-env that uses +# the meta-luv configuration files. + +export TEMPLATECONF="meta-luv/conf" +. ./oe-init-build-env