linux-raspberrypi: fix do_configure failure

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".

Change-Id: I0598c0c16d84295a454976f60b56f9d35c36a4ba
Signed-off-by: Petter Mabäcker <petter@technux.se>
Acked-by: Andrei Gherzan <andrei@gherzan.ro>
This commit is contained in:
Petter Mabäcker
2015-01-15 23:32:52 +01:00
committed by Andrei Gherzan
parent 1ed383d466
commit 1eda7e8b74
3 changed files with 11 additions and 7 deletions

View File

@ -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."
}

View File

@ -0,0 +1 @@
# Dummy file to get through do_kernel_configme.

View File

@ -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
}