[yocto] [meta-raspberrypi][PATCH 1/2] linux-raspberrypi: support configuration fragments

Petter Mabäcker petter at technux.se
Wed Aug 12 01:08:24 PDT 2015


 

2015-08-11 21:20 skrev Alex J Lennon: 

> On 11/08/2015 19:54,
Petter Mabäcker wrote:
> 
>> 2015-08-11 19:04 skrev Alex J Lennon: 
>>

>>> - remove placeholder defconfig and custom copying logic - use
KBUILD_DEFCONFIG for default in-tree configurations instead - do not
replace all Yocto configured settings in do_configure_prepen see:
https://bugzilla.yoctoproject.org/show_bug.cgi?id=7474 [1]
Signed-off-by: Alex J Lennon <ajlennon at dynamicdevices.co.uk
<mailto:ajlennon at dynamicdevices.co.uk>> ---
recipes-kernel/linux/linux-raspberrypi.inc | 15 ++++-----------
recipes-kernel/linux/linux-raspberrypi/defconfig | 1 -
recipes-kernel/linux/linux.inc | 6 +++--- 3 files changed, 7
insertions(+), 15 deletions(-) delete mode 100644
recipes-kernel/linux/linux-raspberrypi/defconfig diff --git
a/recipes-kernel/linux/linux-raspberrypi.inc
b/recipes-kernel/linux/linux-raspberrypi.inc index 7e36408..e38d905
100644 --- a/recipes-kernel/linux/linux-raspberrypi.inc +++
b/recipes-kernel/linux/linux-raspberrypi.inc @@ -6,17 +6,14 @@ SECTION =
"kernel" LICENSE = "GPLv2" LIC_FILES_CHKSUM =
"file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7" -SRC_URI += " -
file://defconfig - " - COMPATIBLE_MACHINE = "raspberrypi" PV =
"${LINUX_VERSION}+git${SRCREV}" -# NOTE: For now we pull in the default
config from the RPi kernel GIT tree. -KERNEL_DEFCONFIG_raspberrypi ?=
"bcmrpi_defconfig" -KERNEL_DEFCONFIG_raspberrypi2 ?= "bcm2709_defconfig"
+KMACHINE ?= "${MACHINE}" +KCONFIG_MODE = "--alldefconfig"
+KBUILD_DEFCONFIG_raspberrypi ?= "bcmrpi_defconfig"
+KBUILD_DEFCONFIG_raspberrypi2 ?= "bcm2709_defconfig" # CMDLINE for
raspberrypi CMDLINE = "dwc_otg.lpm_enable=0 console=ttyAMA0,115200
kgdboc=ttyAMA0,115200 root=/dev/mmcblk0p2 rootfstype=ext4 rootwait" @@
-38,10 +35,6 @@ python __anonymous () { d.setVar("DEPENDS", depends) }
-do_kernel_configme_prepend() { - install -m 0644
${S}/arch/${ARCH}/configs/${KERNEL_DEFCONFIG} ${WORKDIR}/defconfig ||
die "No default configuration for ${MACHINE} / ${KERNEL_DEFCONFIG}
available." -} - do_install_prepend() { install -d ${D}/lib/firmware }
diff --git a/recipes-kernel/linux/linux-raspberrypi/defconfig
b/recipes-kernel/linux/linux-raspberrypi/defconfig deleted file mode
100644 index ecbf32c..0000000 ---
a/recipes-kernel/linux/linux-raspberrypi/defconfig +++ /dev/null @@ -1
+0,0 @@ -# Dummy file to get through do_kernel_configme. diff --git
a/recipes-kernel/linux/linux.inc b/recipes-kernel/linux/linux.inc index
fae78b7..103512b 100644 --- a/recipes-kernel/linux/linux.inc +++
b/recipes-kernel/linux/linux.inc @@ -33,8 +33,7 @@
kernel_configure_variable() { } do_configure_prepend() { - # Clean
.config - echo "" > ${B}/.config + mv -f ${B}/.config
${B}/.config.patched CONF_SED_SCRIPT="" # oabi / eabi support @@ -109,7
+108,8 @@ do_configure_prepend() { # Keep this the last line # Remove
all modified configs and add the rest to .config - sed -e
"${CONF_SED_SCRIPT}" < '${WORKDIR}/defconfig' >> '${B}/.config' + sed -e
"${CONF_SED_SCRIPT}" < '${B}/.config.patched' >> '${B}/.config' + rm -f
${B}/.config.patched yes '' | oe_runmake oldconfig } -- 1.9.1
>> Nice,
some small comments only. Please write a short summary of the feature
(kernel-yocto: allow in-tree defconfig) but keep the bugzilla as a
reference for further info. Always good to have some background found
>

> This is seems a significant core change so I wanted to make sure
these
> individual changes were as easily searchable as possible in case
any
> problems arise in future. Can you provide an example of what you
are
> suggesting for the commit msg?

Perhaps something like:

Start
using the "in-tree defconfig" solution provided in poky[0]. To specify
an "in-tree" defconfig file, edit the recipe that builds your kernel so
that it has the following command form:

 KBUILD_DEFCONFIG_KMACHINE ?=
defconfig_file

You need to append the variable with KMACHINE and then
supply the path to your "in-tree" defconfig file. 

In order to achieve
this in meta-raspberrypi will need to:

- start using
KBUILD_DEFCONFIG_KMACHINE
- Remove placeholder defconfig and custom
copying logic.
- Avoid replacing all Yocto project configured settings
in do_configure_prepend.

For more background regarding this migration
read the bugzilla bug info[1].

[0] -
http://www.yoctoproject.org/docs/1.8/kernel-dev/kernel-dev.html#using-an-in-tree-defconfig-file
[1]
- https://bugzilla.yoctoproject.org/show_bug.cgi?id=7474

>> directly
in the commit msg itself. Have you tested it using both poky:master and
poky:fido?
> 
> Rpi2 fido 3.18.16 with/without sound patch, 4.1.3
with/without sound patch.
> 
> BR,
> 
> Alex

Ok, since there has been
some changes (not only the early DT change) in poky:master it would be
good to do the same tests there. Andrei have to correct me if wrong, but
since we have a fido branch in meta-raspberrypi that's the branch that
is recommended to use against poky:fido, 'master' is in first place
verified against poky:master (latest and greatest). 

BR Petter


Links:
------
[1]
https://bugzilla.yoctoproject.org/show_bug.cgi?id=7474
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.yoctoproject.org/pipermail/yocto/attachments/20150812/318d038d/attachment.html>


More information about the yocto mailing list