* [meta-raspberrypi][PATCH v2] linux-raspberrypi: support configuration fragments / in-tree defconfig
@ 2015-10-22 14:00 Alex J Lennon
2015-10-22 16:52 ` How to output all distro features in a given build? Fred Ollinger
0 siblings, 1 reply; 2+ messages in thread
From: Alex J Lennon @ 2015-10-22 14:00 UTC (permalink / raw)
To: petter, andrei, yocto
Synopsis
========
Start using Yocto kernel configuration fragments[0] and the "in-tree
defconfig" solution provided in poky[1].
To specify an "in-tree" defconfig file, you may 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 meta-raspberrypi needs to:
- start using KBUILD_DEFCONFIG_KMACHINE
- remove placeholder defconfig and custom copying logic.
- avoid replacing all Yocto project configured settings in
do_configure_prepend.
In many cases it should not be necessary to change the defconfig
file used.
Instead Yocto supports use of kernel configuration fragment files
to override the in-tree defconfig defaults[0].
For more background regarding this migration read the bugzilla bug
info[2].
[0] - http://www.yoctoproject.org/docs/1.8/kernel-dev/kernel-dev.html#changing-the-configuration
[1] - http://www.yoctoproject.org/docs/1.8/kernel-dev/kernel-dev.html#using-an-in-tree-defconfig-file
[2] - https://bugzilla.yoctoproject.org/show_bug.cgi?id=7474
Testing
=======
Poky master (#6d8ace03) core-image-sato with MACHINE=raspberrypi2
Kernels 3.18.16 / 4.1.10
(1) with no fragment files defined, using in-tree defconfig, kernels/images
build and boot without error.
- build host kernel .config file contains CONFIG_SND_BCM2835=m.
- post boot, target aplay -l reports no sound devices until module is
loaded.
- post modprobe, target aplay -l reports sound device.
(2) adding a test configuration fragment to build sound driver
into the kernel.
- build host kernel .config file contains CONFIG_SND_BCM2835=y.
- post boot, target aplay -l reports sound device with no modprobe
step.
Note: It may be necessary to clean sstate for the kernel after adding
a new configuration fragment to the SRC_URI, e.g.
bitbake -c cleansstate virtual/kernel
Sample Fragment Implementation
==============================
linux-raspberrypi.inc:
+SRC_URI += " \
+ file://build-in-audio.cfg \
+ "
linux-raspberrypi/build-in-audio.cfg:
+CONFIG_SND=y
+CONFIG_SND_BCM2835=y
Signed-off-by: Alex J Lennon <ajlennon@dynamicdevices.co.uk>
---
recipes-kernel/linux/linux-raspberrypi.inc | 12 ++++--------
recipes-kernel/linux/linux-raspberrypi/defconfig | 1 -
recipes-kernel/linux/linux.inc | 7 +++----
3 files changed, 7 insertions(+), 13 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 70e8bfe..d3766c4 100644
--- a/recipes-kernel/linux/linux-raspberrypi.inc
+++ b/recipes-kernel/linux/linux-raspberrypi.inc
@@ -6,10 +6,6 @@ SECTION = "kernel"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7"
-SRC_URI += " \
- file://defconfig \
- "
-
COMPATIBLE_MACHINE = "raspberrypi"
PE = "1"
@@ -18,6 +14,10 @@ PV = "${LINUX_VERSION}+git${SRCPV}"
# 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 root=/dev/mmcblk0p2 rootfstype=ext4 rootwait"
@@ -42,10 +42,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..7ed80af 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,8 +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
^ permalink raw reply related [flat|nested] 2+ messages in thread
* How to output all distro features in a given build?
2015-10-22 14:00 [meta-raspberrypi][PATCH v2] linux-raspberrypi: support configuration fragments / in-tree defconfig Alex J Lennon
@ 2015-10-22 16:52 ` Fred Ollinger
0 siblings, 0 replies; 2+ messages in thread
From: Fred Ollinger @ 2015-10-22 16:52 UTC (permalink / raw)
To: yocto
I know how to add and remove distro features.
However, what I'm after is how to dynamically list all the distro features that a build thinks is needs once all the files are combined together.
For example, one can look at dependencies for a _single_ package by doing:
$ bitbake -g seescan-image-ccu-dev -u depexp
Also, one can look in the manifest file for all the included packages. This is great.
I'm after for a method to do the same for distro features.
Frederick
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2015-10-22 16:52 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-10-22 14:00 [meta-raspberrypi][PATCH v2] linux-raspberrypi: support configuration fragments / in-tree defconfig Alex J Lennon
2015-10-22 16:52 ` How to output all distro features in a given build? Fred Ollinger
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.