[yocto] [meta-raspberrypi][PATCH 1/2] linux-raspberrypi: fix do_configure failure

Petter Mabäcker petter at technux.se
Thu Jan 15 14:32:52 PST 2015


When building against newer yocto project releases below failure
occurs.

| DEBUG: Executing shell function do_configure
| NOTE: make oldconfig
| make: *** No rule to make target `oldconfig'.  Stop.
| ERROR: oe_runmake failed
| WARNING: exit code 1 from a shell command.
| ERROR: Function failed: do_configure

Fix this by trying to adapt more of the standard mechanism
that exists in yocto, in order to build "custom kernels".

Signed-off-by: Petter Mabäcker <petter at technux.se>
---
 recipes-kernel/linux/linux-raspberrypi.inc       | 8 +++++---
 recipes-kernel/linux/linux-raspberrypi/defconfig | 1 +
 recipes-kernel/linux/linux.inc                   | 9 +++++----
 3 files changed, 11 insertions(+), 7 deletions(-)
 create 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 e756b57..4145b1a 100644
--- a/recipes-kernel/linux/linux-raspberrypi.inc
+++ b/recipes-kernel/linux/linux-raspberrypi.inc
@@ -5,12 +5,14 @@ SECTION = "kernel"
 LICENSE = "GPLv2"
 LIC_FILES_CHKSUM = "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7"
 
+SRC_URI += " \
+        file://defconfig \
+        "
+
 COMPATIBLE_MACHINE = "raspberrypi"
 
 PV_append = "+git${SRCREV}"
 
-S = "${WORKDIR}/git"
-
 # NOTE: For now we pull in the default config from the RPi kernel GIT tree.
 KERNEL_DEFCONFIG = "bcmrpi_defconfig"
 
@@ -19,7 +21,7 @@ CMDLINE_raspberrypi = "dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA
 
 UDEV_GE_141 ?= "1"
 
-do_configure_prepend() {
+do_kernel_configme_prepend() {
     install -m 0644 ${S}/arch/${ARCH}/configs/${KERNEL_DEFCONFIG} ${WORKDIR}/defconfig || die "No default configuration for ${MACHINE} / ${KERNEL_DEFCONFIG} available."
 }
 
diff --git a/recipes-kernel/linux/linux-raspberrypi/defconfig b/recipes-kernel/linux/linux-raspberrypi/defconfig
new file mode 100644
index 0000000..ecbf32c
--- /dev/null
+++ b/recipes-kernel/linux/linux-raspberrypi/defconfig
@@ -0,0 +1 @@
+# Dummy file to get through do_kernel_configme.
diff --git a/recipes-kernel/linux/linux.inc b/recipes-kernel/linux/linux.inc
index 7a8f984..fae78b7 100644
--- a/recipes-kernel/linux/linux.inc
+++ b/recipes-kernel/linux/linux.inc
@@ -5,6 +5,7 @@ LICENSE = "GPLv2"
 LIC_FILES_CHKSUM = "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7"
 
 inherit kernel siteinfo
+require recipes-kernel/linux/linux-yocto.inc
 
 # Enable OABI compat for people stuck with obsolete userspace
 ARM_KEEP_OABI ?= "1"
@@ -25,15 +26,15 @@ kernel_configure_variable() {
     CONF_SED_SCRIPT="$CONF_SED_SCRIPT /CONFIG_$1[ =]/d;"
     if test "$2" = "n"
     then
-        echo "# CONFIG_$1 is not set" >> ${S}/.config
+        echo "# CONFIG_$1 is not set" >> ${B}/.config
     else
-        echo "CONFIG_$1=$2" >> ${S}/.config
+        echo "CONFIG_$1=$2" >> ${B}/.config
     fi
 }
 
 do_configure_prepend() {
     # Clean .config
-    echo "" > ${S}/.config
+    echo "" > ${B}/.config
     CONF_SED_SCRIPT=""
 
     # oabi / eabi support
@@ -108,7 +109,7 @@ 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' >> '${S}/.config'
+    sed -e "${CONF_SED_SCRIPT}" < '${WORKDIR}/defconfig' >> '${B}/.config'
 
     yes '' | oe_runmake oldconfig
 }
-- 
1.9.1




More information about the yocto mailing list