From 44cf077ac146a568e28d7a69da4a4f48c55cd2cf Mon Sep 17 00:00:00 2001 From: Bruce Ashfield Date: Tue, 15 Nov 2011 16:10:06 -0500 Subject: kernel-yocto: support allnoconfig base configuration When creating a minimal config or creating a hard baseline for incremental changes, it is often desired to disable all kernel options and then begin building and enabling only what is required. To support this workflow, a new variable KCONFIG_MODE is introduced to contain a hint to the kernel configuration about how the kernel config should be produced. This variable is passed directly to lkc when it is invoked during configuration, so the contents of the variable must be a valid option for the kernel config build. Additionally, when a defconfig is detected, allnoconfig is enabled as the default operation, unless otherwise specified by KCONFIG_MODE. (From OE-Core rev: 644f2e525b910b9ff8d9aaa33f11eba3fefa7c85) Signed-off-by: Bruce Ashfield Signed-off-by: Richard Purdie --- meta/classes/kernel-yocto.bbclass | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/meta/classes/kernel-yocto.bbclass b/meta/classes/kernel-yocto.bbclass index d555fc04b9..04a2f883b9 100644 --- a/meta/classes/kernel-yocto.bbclass +++ b/meta/classes/kernel-yocto.bbclass @@ -44,7 +44,8 @@ do_patch() { } do_kernel_checkout() { - if [ -d ${WORKDIR}/git/.git/refs/remotes/origin ]; then + if [ -d $ +{WORKDIR}/git/.git/refs/remotes/origin ]; then echo "Fixing up git directory for ${LINUX_KERNEL_TYPE}/${KMACHINE}" rm -rf ${S} mkdir ${S} @@ -88,8 +89,18 @@ do_kernel_configme[dirs] = "${CCACHE_DIR} ${S} ${B}" do_kernel_configme() { echo "[INFO] doing kernel configme" + if [ -n ${KCONFIG_MODE} ]; then + configmeflags=${KCONFIG_MODE} + else + # If a defconfig was passed, use =n as the baseline, which is achieved + # via --allnoconfig + if [ -f ${WORKDIR}/defconfig ]; then + configmeflags="--allnoconfig" + fi + fi + cd ${S} - configme --reconfig --output ${B} ${KBRANCH} ${KMACHINE} + configme ${configmeflags} --reconfig --output ${B} ${KBRANCH} ${KMACHINE} if [ $? -ne 0 ]; then echo "ERROR. Could not configure ${KMACHINE}-${LINUX_KERNEL_TYPE}" exit 1 -- cgit v1.2.3-54-g00ecf