Custome kernel being overriden
James Mills
jmills at avionpartners.com
Mon Jul 7 14:45:34 UTC 2008
Further investigation shows me that I have a problem with my
meu-kernel bb file. When I build it, I see this error:
ERROR: Multiple .bb files are due to be built which each provide
virtual/kernel (/home/oe/build_environment/avion/packages/linux/meu-kernel_2.6.16.59.bb
/home/oe/build_environment/org.openembedded.stable/packages/linux/linux_2.6.21.bb).
This usually means one provides something the other doesn't and should.
I have cleaned out both my meu-kernel and the linux kernel that is
also being built used bitbake -g meu-kernel to try and determine what
I am missing, but am not 100% sure how to read these files. In
task-depends.dot, I see this as the first entry for the overriding
linux kernel:
"update-modules.do_package" -> "gcc-cross.do_package"
"linux.do_fetch" [label="linux do_fetch\n0:2.6.21-r12\n/home/oe/build_environmen
t/org.openembedded.stable/packages/linux/linux_2.6.21.bb"]
And in depends.dot:
"update-modules-dbg" -> "virtual/libc"
"linux" [label="linux 0:2.6.21-r12\n/home/oe/build_environment/org.openembedded.
stable/packages/linux/linux_2.6.21.bb"]
Unfortunately, this does not really help me figure out where I am going wrong.
Here is my meu-kernel_2.6.16.59.bb file. I know it is a bit messy,
but there are reasons :) :
PR = "r14"
DESCRIPTION = "Linux Kernel for x86 compatible machines"
SECTION = "kernel"
LICENSE = "GPL"
SRC_URI = "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-${PV}.tar.bz2 \
file://defconfig \
file://speedstep-lib.patch \
file://speedstep-lib.h.patch \
file://p4-clockmod.patch \
"
S = "${WORKDIR}/linux-${PV}"
#inherit kernel
require linux.inc
#COMPATIBLE_HOST = "i.86.*-linux"
KERNEL_IMAGETYPE = "bzImage"
do_configure_prepend() {
install -m 0644 ${WORKDIR}/defconfig ${S}/.config
pushd ${WORKDIR}
cat ${WORKDIR}/speedstep-lib.patch|patch -p0
cat ${WORKDIR}/speedstep-lib.h.patch|patch -p0
cat ${WORKDIR}/p4-clockmod.patch|patch -p0
popd
}
do_deploy() {
install -d ${DEPLOY_DIR_IMAGE}
install -m 0644 arch/i386/boot/${KERNEL_IMAGETYPE} ${DEPLOY_DIR_IMAGE}/
${KERNEL_IMAGETYPE}-${PV}-${MACHINE}-${DATETIME}
}
do_deploy[dirs] = "${S}"
do_install_into_staging() {
[ -d ${STAGING_DIR}/${MULTIMACH_ARCH}/${PN}-${PV} ] && rm -rf ${STAGING_DIR}/$
{MULTIMACH_ARCH}/${PN}-${PV}
install -d ${STAGING_DIR}/${MULTIMACH_ARCH}/${PN}-${PV}
oewarn "Installing configured source into ${STAGING_DIR}/${MULTIMACH_ARCH}/${P
N}-${PV}"
pushd ${S}
tar cf - .|(cd ${STAGING_DIR}/${MULTIMACH_ARCH}/${PN}-${PV};tar xf -)
popd
pushd ${STAGING_DIR}/${MULTIMACH_ARCH}/${PN}-${PV}
oewarn "Cleaning ${STAGING_DIR}/${MULTIMACH_ARCH}/${PN}-${PV}"
make clean
make oldconfig
popd
ln -sf ${STAGING_DIR}/${MULTIMACH_ARCH}/${PN}-${PV} ${STAGING_DIR}/${MULTIMACH
_ARCH}/${PN}
}
addtask deploy before do_populate_staging after do_compile
addtask install_into_staging before do_populate_staging after do_compile
More information about the Openembedded-users
mailing list