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

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


 

2015-08-12 10:28 skrev Alex J Lennon: 

> On 12/08/2015 09:08,
Petter Mabäcker wrote:
> 
>> 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>
<mailto: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
[2] [1] - https://bugzilla.yoctoproject.org/show_bug.cgi?id=7474 [1]
>

> Very comprehensive. Many thanks.
> 
>>>> 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).
> 
> Four test builds was enough
yesterday. I will look at master when I get
> a chance. As we pursue the
conversation on a review process a related
> conversation is getting an
automated build system going again as I think
> it would be very useful
in this context.
> 
> DynamicDevices may be able to help here. I had a
very positive
> experience with AppVeyor when I was putting the Mono
Win32 automated
> build system together and am wondering what's
currently best for Linux
> automated building (Jenkins?). Maybe that
conversation is best broken
> out in the Github vs Gerrit vs A.N.Other
thread.
> 
> BR, Alex

Yes, that would be really nice. I mostly have
experience with Jenkins, my experience is that it works very well
together with gerrit. Buildbot is another well-known tool. But perhaps
the fastest way forward is to investigate if we can use yocto
AutoBuilder for meta-raspberrypi. Alex, can you please start a new
thread for this subject (like you proposed) and see what it can lead
to.. 

BR Petter 

Links:
------
[1]
https://bugzilla.yoctoproject.org/show_bug.cgi?id=7474
[2]
http://www.yoctoproject.org/docs/1.8/kernel-dev/kernel-dev.html#using-an-in-tree-defconfig-file
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.yoctoproject.org/pipermail/yocto/attachments/20150812/7a1e7fc3/attachment.html>


More information about the yocto mailing list