* [RFC][PATCH] kernel: Enable externalsrc on kernels which instantiate kernel.bbclass
@ 2014-02-06 10:05 Khem Raj
2014-02-06 13:38 ` Bruce Ashfield
` (2 more replies)
0 siblings, 3 replies; 17+ messages in thread
From: Khem Raj @ 2014-02-06 10:05 UTC (permalink / raw)
To: openembedded-core, bruce.ashfield
This also make a change where for kernel
S != B, this is done because when S = B
and we use O= option or set KBUILD_OUTPUT
to point to objectdir, kernel build system
ends up denoting itself dirty and asking for
running mrproper during later build steps
after do_configure but works perfectly
for when S != B
Additional fixes make sure that we do not
assume directory paths when accessing files
Move exporting KBUILD_OUTPUT from kernel-yocto
into kernel class
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
meta/classes/kernel-yocto.bbclass | 3 +-
meta/classes/kernel.bbclass | 71 ++++++++++++++++++++++-----------------
2 files changed, 41 insertions(+), 33 deletions(-)
diff --git a/meta/classes/kernel-yocto.bbclass b/meta/classes/kernel-yocto.bbclass
index 8f79932..73257e1 100644
--- a/meta/classes/kernel-yocto.bbclass
+++ b/meta/classes/kernel-yocto.bbclass
@@ -408,6 +408,5 @@ do_kernel_link_vmlinux() {
ln -sf ../../../vmlinux
}
-OE_TERMINAL_EXPORTS += "GUILT_BASE KBUILD_OUTPUT"
+OE_TERMINAL_EXPORTS += "GUILT_BASE"
GUILT_BASE = "meta"
-KBUILD_OUTPUT = "${B}"
diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass
index 51626b0..b000147 100644
--- a/meta/classes/kernel.bbclass
+++ b/meta/classes/kernel.bbclass
@@ -10,6 +10,7 @@ KERNEL_IMAGETYPE ?= "zImage"
INITRAMFS_IMAGE ?= ""
INITRAMFS_TASK ?= ""
INITRAMFS_IMAGE_BUNDLE ?= ""
+B = "${WORKDIR}/build"
python __anonymous () {
kerneltype = d.getVar('KERNEL_IMAGETYPE', True) or ''
@@ -157,6 +158,7 @@ kernel_do_compile() {
# different initramfs image. The way to do that in the kernel
# is to specify:
# make ...args... CONFIG_INITRAMFS_SOURCE=some_other_initramfs.cpio
+ cd ${S}
if [ "$use_alternate_initrd" = "" ] && [ "${INITRAMFS_TASK}" != "" ] ; then
# The old style way of copying an prebuilt image and building it
# is turned on via INTIRAMFS_TASK != ""
@@ -165,13 +167,14 @@ kernel_do_compile() {
fi
oe_runmake ${KERNEL_IMAGETYPE_FOR_MAKE} ${KERNEL_ALT_IMAGETYPE} CC="${KERNEL_CC}" LD="${KERNEL_LD}" ${KERNEL_EXTRA_ARGS} $use_alternate_initrd
if test "${KERNEL_IMAGETYPE_FOR_MAKE}.gz" = "${KERNEL_IMAGETYPE}"; then
- gzip -9c < "${KERNEL_IMAGETYPE_FOR_MAKE}" > "${KERNEL_OUTPUT}"
+ gzip -9c < "${B}/${KERNEL_IMAGETYPE_FOR_MAKE}" > "${KERNEL_OUTPUT}"
fi
}
do_compile_kernelmodules() {
unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS MACHINE
- if (grep -q -i -e '^CONFIG_MODULES=y$' .config); then
+ cd ${S}
+ if (grep -q -i -e '^CONFIG_MODULES=y$' ${B}/.config); then
oe_runmake ${PARALLEL_MAKE} modules CC="${KERNEL_CC}" LD="${KERNEL_LD}" ${KERNEL_EXTRA_ARGS}
else
bbnote "no modules to compile"
@@ -184,7 +187,8 @@ kernel_do_install() {
# First install the modules
#
unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS MACHINE
- if (grep -q -i -e '^CONFIG_MODULES=y$' .config); then
+ cd ${S}
+ if (grep -q -i -e '^CONFIG_MODULES=y$' ${B}/.config); then
oe_runmake DEPMOD=echo INSTALL_MOD_PATH="${D}" modules_install
rm "${D}/lib/modules/${KERNEL_VERSION}/build"
rm "${D}/lib/modules/${KERNEL_VERSION}/source"
@@ -200,10 +204,10 @@ kernel_do_install() {
install -d ${D}/${KERNEL_IMAGEDEST}
install -d ${D}/boot
install -m 0644 ${KERNEL_OUTPUT} ${D}/${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE}-${KERNEL_VERSION}
- install -m 0644 System.map ${D}/boot/System.map-${KERNEL_VERSION}
- install -m 0644 .config ${D}/boot/config-${KERNEL_VERSION}
- install -m 0644 vmlinux ${D}/boot/vmlinux-${KERNEL_VERSION}
- [ -e Module.symvers ] && install -m 0644 Module.symvers ${D}/boot/Module.symvers-${KERNEL_VERSION}
+ install -m 0644 ${B}/System.map ${D}/boot/System.map-${KERNEL_VERSION}
+ install -m 0644 ${B}/.config ${D}/boot/config-${KERNEL_VERSION}
+ install -m 0644 ${B}/vmlinux ${D}/boot/vmlinux-${KERNEL_VERSION}
+ [ -e ${B}/Module.symvers ] && install -m 0644 ${B}/Module.symvers ${D}/boot/Module.symvers-${KERNEL_VERSION}
install -d ${D}${sysconfdir}/modules-load.d
install -d ${D}${sysconfdir}/modprobe.d
@@ -232,20 +236,21 @@ kernel_do_install() {
# dir. This ensures the original Makefiles are used and not the
# redirecting Makefiles in the build directory.
#
+ pwd="$PWD"
+ cd "${B}"
find . -depth -not -name "*.cmd" -not -name "*.o" -not -path "./Documentation*" -not -path "./.*" -print0 | cpio --null -pdlu $kerneldir
- cp .config $kerneldir
+ cp ${B}/.config $kerneldir
if [ "${S}" != "${B}" ]; then
- pwd="$PWD"
cd "${S}"
find . -depth -not -path "./Documentation*" -not -path "./.*" -print0 | cpio --null -pdlu $kerneldir
- cd "$pwd"
fi
+ cd "$pwd"
# Test to ensure that the output file and image type are not actually
# the same file. If hardlinking is used, they will be the same, and there's
# no need to install.
! [ ${KERNEL_OUTPUT} -ef $kerneldir/${KERNEL_IMAGETYPE} ] && install -m 0644 ${KERNEL_OUTPUT} $kerneldir/${KERNEL_IMAGETYPE}
- install -m 0644 System.map $kerneldir/System.map-${KERNEL_VERSION}
+ install -m 0644 ${B}/System.map $kerneldir/System.map-${KERNEL_VERSION}
# Dummy Makefile so the clean below works
mkdir $kerneldir/Documentation
@@ -260,24 +265,24 @@ kernel_do_install() {
# we clean the scripts dir while leaving the generated config
# and include files.
#
- oe_runmake -C $kerneldir CC="${KERNEL_CC}" LD="${KERNEL_LD}" clean
- make -C $kerneldir _mrproper_scripts
+ oe_runmake KBUILD_OUTPUT= -C $kerneldir CC="${KERNEL_CC}" LD="${KERNEL_LD}" clean
+ make KBUILD_OUTPUT= -C $kerneldir _mrproper_scripts
find $kerneldir -path $kerneldir/lib -prune -o -path $kerneldir/tools -prune -o -path $kerneldir/scripts -prune -o -name "*.[csS]" -exec rm '{}' \;
# As of Linux kernel version 3.0.1, the clean target removes
# arch/powerpc/lib/crtsavres.o which is present in
# KBUILD_LDFLAGS_MODULE, making it required to build external modules.
if [ ${ARCH} = "powerpc" ]; then
- cp -l arch/powerpc/lib/crtsavres.o $kerneldir/arch/powerpc/lib/crtsavres.o
+ cp -l ${B}/arch/powerpc/lib/crtsavres.o $kerneldir/arch/powerpc/lib/crtsavres.o
fi
# Necessary for building modules like compat-wireless.
- if [ -f include/generated/bounds.h ]; then
- cp -l include/generated/bounds.h $kerneldir/include/generated/bounds.h
+ if [ -f ${B}/include/generated/bounds.h ]; then
+ cp -l ${B}/include/generated/bounds.h $kerneldir/include/generated/bounds.h
fi
- if [ -d arch/${ARCH}/include/generated ]; then
+ if [ -d ${B}/arch/${ARCH}/include/generated ]; then
mkdir -p $kerneldir/arch/${ARCH}/include/generated/
- cp -flR arch/${ARCH}/include/generated/* $kerneldir/arch/${ARCH}/include/generated/
+ cp -flR ${B}/arch/${ARCH}/include/generated/* $kerneldir/arch/${ARCH}/include/generated/
fi
# Remove the following binaries which cause strip or arch QA errors
@@ -302,6 +307,7 @@ python sysroot_stage_all () {
}
kernel_do_configure() {
+ cd ${S}
# fixes extra + in /lib/modules/2.6.37+
# $ scripts/setlocalversion . => +
# $ make kernelversion => 2.6.37
@@ -313,7 +319,7 @@ kernel_do_configure() {
if [ -f "${WORKDIR}/defconfig" ] && [ ! -f "${B}/.config" ]; then
cp "${WORKDIR}/defconfig" "${B}/.config"
fi
- yes '' | oe_runmake oldconfig
+ oe_runmake olddefconfig
}
do_savedefconfig() {
@@ -432,19 +438,19 @@ do_uboot_mkimage() {
if test "x${KEEPUIMAGE}" != "xyes" ; then
ENTRYPOINT=${UBOOT_ENTRYPOINT}
if test -n "${UBOOT_ENTRYSYMBOL}"; then
- ENTRYPOINT=`${HOST_PREFIX}nm ${S}/vmlinux | \
+ ENTRYPOINT=`${HOST_PREFIX}nm ${B}/vmlinux | \
awk '$3=="${UBOOT_ENTRYSYMBOL}" {print $1}'`
fi
- if test -e arch/${ARCH}/boot/compressed/vmlinux ; then
- ${OBJCOPY} -O binary -R .note -R .comment -S arch/${ARCH}/boot/compressed/vmlinux linux.bin
- uboot-mkimage -A ${UBOOT_ARCH} -O linux -T kernel -C none -a ${UBOOT_LOADADDRESS} -e $ENTRYPOINT -n "${DISTRO_NAME}/${PV}/${MACHINE}" -d linux.bin arch/${ARCH}/boot/uImage
- rm -f linux.bin
+ if test -e ${B}/arch/${ARCH}/boot/compressed/vmlinux ; then
+ ${OBJCOPY} -O binary -R .note -R .comment -S ${B}/arch/${ARCH}/boot/compressed/vmlinux ${B}/linux.bin
+ uboot-mkimage -A ${UBOOT_ARCH} -O linux -T kernel -C none -a ${UBOOT_LOADADDRESS} -e $ENTRYPOINT -n "${DISTRO_NAME}/${PV}/${MACHINE}" -d ${B}/linux.bin ${B}/arch/${ARCH}/boot/uImage
+ rm -f ${B}/linux.bin
else
- ${OBJCOPY} -O binary -R .note -R .comment -S vmlinux linux.bin
- rm -f linux.bin.gz
- gzip -9 linux.bin
- uboot-mkimage -A ${UBOOT_ARCH} -O linux -T kernel -C gzip -a ${UBOOT_LOADADDRESS} -e $ENTRYPOINT -n "${DISTRO_NAME}/${PV}/${MACHINE}" -d linux.bin.gz arch/${ARCH}/boot/uImage
- rm -f linux.bin.gz
+ ${OBJCOPY} -O binary -R .note -R .comment -S ${B}/vmlinux ${B}/linux.bin
+ rm -f ${B}/linux.bin.gz
+ gzip -9 ${B}/linux.bin > ${B}/linux.bin.gz
+ uboot-mkimage -A ${UBOOT_ARCH} -O linux -T kernel -C gzip -a ${UBOOT_LOADADDRESS} -e $ENTRYPOINT -n "${DISTRO_NAME}/${PV}/${MACHINE}" -d ${B}/linux.bin.gz ${B}/arch/${ARCH}/boot/uImage
+ rm -f ${B}/linux.bin.gz
fi
fi
fi
@@ -453,8 +459,8 @@ do_uboot_mkimage() {
addtask uboot_mkimage before do_install after do_compile
kernel_do_deploy() {
- install -m 0644 ${KERNEL_OUTPUT} ${DEPLOYDIR}/${KERNEL_IMAGE_BASE_NAME}.bin
- if [ ${MODULE_TARBALL_DEPLOY} = "1" ] && (grep -q -i -e '^CONFIG_MODULES=y$' .config); then
+ install -m 0644 ${D}/${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE}-${KERNEL_VERSION} ${DEPLOYDIR}/${KERNEL_IMAGE_BASE_NAME}.bin
+ if [ ${MODULE_TARBALL_DEPLOY} = "1" ] && (grep -q -i -e '^CONFIG_MODULES=y$' ${B}/.config); then
mkdir -p ${D}/lib
tar -cvzf ${DEPLOYDIR}/${MODULE_TARBALL_BASE_NAME} -C ${D} lib
ln -sf ${MODULE_TARBALL_BASE_NAME} ${DEPLOYDIR}/${MODULE_TARBALL_SYMLINK_NAME}
@@ -483,3 +489,6 @@ addtask deploy before do_build after do_install
EXPORT_FUNCTIONS do_deploy
+OE_TERMINAL_EXPORTS += "KBUILD_OUTPUT"
+export KBUILD_OUTPUT = "${B}"
+
--
1.8.5.3
^ permalink raw reply related [flat|nested] 17+ messages in thread* Re: [RFC][PATCH] kernel: Enable externalsrc on kernels which instantiate kernel.bbclass 2014-02-06 10:05 [RFC][PATCH] kernel: Enable externalsrc on kernels which instantiate kernel.bbclass Khem Raj @ 2014-02-06 13:38 ` Bruce Ashfield 2014-02-06 19:26 ` Bruce Ashfield 2014-09-22 15:24 ` [RFC] " Paul Eggleton 2 siblings, 0 replies; 17+ messages in thread From: Bruce Ashfield @ 2014-02-06 13:38 UTC (permalink / raw) To: Khem Raj, openembedded-core On 14-02-06 05:05 AM, Khem Raj wrote: > This also make a change where for kernel > S != B, this is done because when S = B > and we use O= option or set KBUILD_OUTPUT > to point to objectdir, kernel build system > ends up denoting itself dirty and asking for > running mrproper during later build steps > after do_configure but works perfectly > for when S != B > > Additional fixes make sure that we do not > assume directory paths when accessing files > > Move exporting KBUILD_OUTPUT from kernel-yocto > into kernel class > > Signed-off-by: Khem Raj <raj.khem@gmail.com> > --- > meta/classes/kernel-yocto.bbclass | 3 +- > meta/classes/kernel.bbclass | 71 ++++++++++++++++++++++----------------- > 2 files changed, 41 insertions(+), 33 deletions(-) > > diff --git a/meta/classes/kernel-yocto.bbclass b/meta/classes/kernel-yocto.bbclass > index 8f79932..73257e1 100644 > --- a/meta/classes/kernel-yocto.bbclass > +++ b/meta/classes/kernel-yocto.bbclass > @@ -408,6 +408,5 @@ do_kernel_link_vmlinux() { > ln -sf ../../../vmlinux > } > > -OE_TERMINAL_EXPORTS += "GUILT_BASE KBUILD_OUTPUT" > +OE_TERMINAL_EXPORTS += "GUILT_BASE" > GUILT_BASE = "meta" > -KBUILD_OUTPUT = "${B}" > diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass > index 51626b0..b000147 100644 > --- a/meta/classes/kernel.bbclass > +++ b/meta/classes/kernel.bbclass > @@ -10,6 +10,7 @@ KERNEL_IMAGETYPE ?= "zImage" > INITRAMFS_IMAGE ?= "" > INITRAMFS_TASK ?= "" > INITRAMFS_IMAGE_BUNDLE ?= "" > +B = "${WORKDIR}/build" We shouldn't be enforcing "${WORKDIR}/build" here, the name needs to be variable .. for instance all my kernel recipes already set it to something else. As for the rest, I don't get it. I've been doing split source and kernel builds for 4 years no, with no issues, so we shouldn't need all the directory shuffling and changing that is happening in this patch. Let me do some test builds and see what I can find. Bruce > > python __anonymous () { > kerneltype = d.getVar('KERNEL_IMAGETYPE', True) or '' > @@ -157,6 +158,7 @@ kernel_do_compile() { > # different initramfs image. The way to do that in the kernel > # is to specify: > # make ...args... CONFIG_INITRAMFS_SOURCE=some_other_initramfs.cpio > + cd ${S} > if [ "$use_alternate_initrd" = "" ] && [ "${INITRAMFS_TASK}" != "" ] ; then > # The old style way of copying an prebuilt image and building it > # is turned on via INTIRAMFS_TASK != "" > @@ -165,13 +167,14 @@ kernel_do_compile() { > fi > oe_runmake ${KERNEL_IMAGETYPE_FOR_MAKE} ${KERNEL_ALT_IMAGETYPE} CC="${KERNEL_CC}" LD="${KERNEL_LD}" ${KERNEL_EXTRA_ARGS} $use_alternate_initrd > if test "${KERNEL_IMAGETYPE_FOR_MAKE}.gz" = "${KERNEL_IMAGETYPE}"; then > - gzip -9c < "${KERNEL_IMAGETYPE_FOR_MAKE}" > "${KERNEL_OUTPUT}" > + gzip -9c < "${B}/${KERNEL_IMAGETYPE_FOR_MAKE}" > "${KERNEL_OUTPUT}" > fi > } > > do_compile_kernelmodules() { > unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS MACHINE > - if (grep -q -i -e '^CONFIG_MODULES=y$' .config); then > + cd ${S} > + if (grep -q -i -e '^CONFIG_MODULES=y$' ${B}/.config); then > oe_runmake ${PARALLEL_MAKE} modules CC="${KERNEL_CC}" LD="${KERNEL_LD}" ${KERNEL_EXTRA_ARGS} > else > bbnote "no modules to compile" > @@ -184,7 +187,8 @@ kernel_do_install() { > # First install the modules > # > unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS MACHINE > - if (grep -q -i -e '^CONFIG_MODULES=y$' .config); then > + cd ${S} > + if (grep -q -i -e '^CONFIG_MODULES=y$' ${B}/.config); then > oe_runmake DEPMOD=echo INSTALL_MOD_PATH="${D}" modules_install > rm "${D}/lib/modules/${KERNEL_VERSION}/build" > rm "${D}/lib/modules/${KERNEL_VERSION}/source" > @@ -200,10 +204,10 @@ kernel_do_install() { > install -d ${D}/${KERNEL_IMAGEDEST} > install -d ${D}/boot > install -m 0644 ${KERNEL_OUTPUT} ${D}/${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE}-${KERNEL_VERSION} > - install -m 0644 System.map ${D}/boot/System.map-${KERNEL_VERSION} > - install -m 0644 .config ${D}/boot/config-${KERNEL_VERSION} > - install -m 0644 vmlinux ${D}/boot/vmlinux-${KERNEL_VERSION} > - [ -e Module.symvers ] && install -m 0644 Module.symvers ${D}/boot/Module.symvers-${KERNEL_VERSION} > + install -m 0644 ${B}/System.map ${D}/boot/System.map-${KERNEL_VERSION} > + install -m 0644 ${B}/.config ${D}/boot/config-${KERNEL_VERSION} > + install -m 0644 ${B}/vmlinux ${D}/boot/vmlinux-${KERNEL_VERSION} > + [ -e ${B}/Module.symvers ] && install -m 0644 ${B}/Module.symvers ${D}/boot/Module.symvers-${KERNEL_VERSION} > install -d ${D}${sysconfdir}/modules-load.d > install -d ${D}${sysconfdir}/modprobe.d > > @@ -232,20 +236,21 @@ kernel_do_install() { > # dir. This ensures the original Makefiles are used and not the > # redirecting Makefiles in the build directory. > # > + pwd="$PWD" > + cd "${B}" > find . -depth -not -name "*.cmd" -not -name "*.o" -not -path "./Documentation*" -not -path "./.*" -print0 | cpio --null -pdlu $kerneldir > - cp .config $kerneldir > + cp ${B}/.config $kerneldir > if [ "${S}" != "${B}" ]; then > - pwd="$PWD" > cd "${S}" > find . -depth -not -path "./Documentation*" -not -path "./.*" -print0 | cpio --null -pdlu $kerneldir > - cd "$pwd" > fi > + cd "$pwd" > > # Test to ensure that the output file and image type are not actually > # the same file. If hardlinking is used, they will be the same, and there's > # no need to install. > ! [ ${KERNEL_OUTPUT} -ef $kerneldir/${KERNEL_IMAGETYPE} ] && install -m 0644 ${KERNEL_OUTPUT} $kerneldir/${KERNEL_IMAGETYPE} > - install -m 0644 System.map $kerneldir/System.map-${KERNEL_VERSION} > + install -m 0644 ${B}/System.map $kerneldir/System.map-${KERNEL_VERSION} > > # Dummy Makefile so the clean below works > mkdir $kerneldir/Documentation > @@ -260,24 +265,24 @@ kernel_do_install() { > # we clean the scripts dir while leaving the generated config > # and include files. > # > - oe_runmake -C $kerneldir CC="${KERNEL_CC}" LD="${KERNEL_LD}" clean > - make -C $kerneldir _mrproper_scripts > + oe_runmake KBUILD_OUTPUT= -C $kerneldir CC="${KERNEL_CC}" LD="${KERNEL_LD}" clean > + make KBUILD_OUTPUT= -C $kerneldir _mrproper_scripts > find $kerneldir -path $kerneldir/lib -prune -o -path $kerneldir/tools -prune -o -path $kerneldir/scripts -prune -o -name "*.[csS]" -exec rm '{}' \; > > # As of Linux kernel version 3.0.1, the clean target removes > # arch/powerpc/lib/crtsavres.o which is present in > # KBUILD_LDFLAGS_MODULE, making it required to build external modules. > if [ ${ARCH} = "powerpc" ]; then > - cp -l arch/powerpc/lib/crtsavres.o $kerneldir/arch/powerpc/lib/crtsavres.o > + cp -l ${B}/arch/powerpc/lib/crtsavres.o $kerneldir/arch/powerpc/lib/crtsavres.o > fi > > # Necessary for building modules like compat-wireless. > - if [ -f include/generated/bounds.h ]; then > - cp -l include/generated/bounds.h $kerneldir/include/generated/bounds.h > + if [ -f ${B}/include/generated/bounds.h ]; then > + cp -l ${B}/include/generated/bounds.h $kerneldir/include/generated/bounds.h > fi > - if [ -d arch/${ARCH}/include/generated ]; then > + if [ -d ${B}/arch/${ARCH}/include/generated ]; then > mkdir -p $kerneldir/arch/${ARCH}/include/generated/ > - cp -flR arch/${ARCH}/include/generated/* $kerneldir/arch/${ARCH}/include/generated/ > + cp -flR ${B}/arch/${ARCH}/include/generated/* $kerneldir/arch/${ARCH}/include/generated/ > fi > > # Remove the following binaries which cause strip or arch QA errors > @@ -302,6 +307,7 @@ python sysroot_stage_all () { > } > > kernel_do_configure() { > + cd ${S} > # fixes extra + in /lib/modules/2.6.37+ > # $ scripts/setlocalversion . => + > # $ make kernelversion => 2.6.37 > @@ -313,7 +319,7 @@ kernel_do_configure() { > if [ -f "${WORKDIR}/defconfig" ] && [ ! -f "${B}/.config" ]; then > cp "${WORKDIR}/defconfig" "${B}/.config" > fi > - yes '' | oe_runmake oldconfig > + oe_runmake olddefconfig > } > > do_savedefconfig() { > @@ -432,19 +438,19 @@ do_uboot_mkimage() { > if test "x${KEEPUIMAGE}" != "xyes" ; then > ENTRYPOINT=${UBOOT_ENTRYPOINT} > if test -n "${UBOOT_ENTRYSYMBOL}"; then > - ENTRYPOINT=`${HOST_PREFIX}nm ${S}/vmlinux | \ > + ENTRYPOINT=`${HOST_PREFIX}nm ${B}/vmlinux | \ > awk '$3=="${UBOOT_ENTRYSYMBOL}" {print $1}'` > fi > - if test -e arch/${ARCH}/boot/compressed/vmlinux ; then > - ${OBJCOPY} -O binary -R .note -R .comment -S arch/${ARCH}/boot/compressed/vmlinux linux.bin > - uboot-mkimage -A ${UBOOT_ARCH} -O linux -T kernel -C none -a ${UBOOT_LOADADDRESS} -e $ENTRYPOINT -n "${DISTRO_NAME}/${PV}/${MACHINE}" -d linux.bin arch/${ARCH}/boot/uImage > - rm -f linux.bin > + if test -e ${B}/arch/${ARCH}/boot/compressed/vmlinux ; then > + ${OBJCOPY} -O binary -R .note -R .comment -S ${B}/arch/${ARCH}/boot/compressed/vmlinux ${B}/linux.bin > + uboot-mkimage -A ${UBOOT_ARCH} -O linux -T kernel -C none -a ${UBOOT_LOADADDRESS} -e $ENTRYPOINT -n "${DISTRO_NAME}/${PV}/${MACHINE}" -d ${B}/linux.bin ${B}/arch/${ARCH}/boot/uImage > + rm -f ${B}/linux.bin > else > - ${OBJCOPY} -O binary -R .note -R .comment -S vmlinux linux.bin > - rm -f linux.bin.gz > - gzip -9 linux.bin > - uboot-mkimage -A ${UBOOT_ARCH} -O linux -T kernel -C gzip -a ${UBOOT_LOADADDRESS} -e $ENTRYPOINT -n "${DISTRO_NAME}/${PV}/${MACHINE}" -d linux.bin.gz arch/${ARCH}/boot/uImage > - rm -f linux.bin.gz > + ${OBJCOPY} -O binary -R .note -R .comment -S ${B}/vmlinux ${B}/linux.bin > + rm -f ${B}/linux.bin.gz > + gzip -9 ${B}/linux.bin > ${B}/linux.bin.gz > + uboot-mkimage -A ${UBOOT_ARCH} -O linux -T kernel -C gzip -a ${UBOOT_LOADADDRESS} -e $ENTRYPOINT -n "${DISTRO_NAME}/${PV}/${MACHINE}" -d ${B}/linux.bin.gz ${B}/arch/${ARCH}/boot/uImage > + rm -f ${B}/linux.bin.gz > fi > fi > fi > @@ -453,8 +459,8 @@ do_uboot_mkimage() { > addtask uboot_mkimage before do_install after do_compile > > kernel_do_deploy() { > - install -m 0644 ${KERNEL_OUTPUT} ${DEPLOYDIR}/${KERNEL_IMAGE_BASE_NAME}.bin > - if [ ${MODULE_TARBALL_DEPLOY} = "1" ] && (grep -q -i -e '^CONFIG_MODULES=y$' .config); then > + install -m 0644 ${D}/${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE}-${KERNEL_VERSION} ${DEPLOYDIR}/${KERNEL_IMAGE_BASE_NAME}.bin > + if [ ${MODULE_TARBALL_DEPLOY} = "1" ] && (grep -q -i -e '^CONFIG_MODULES=y$' ${B}/.config); then > mkdir -p ${D}/lib > tar -cvzf ${DEPLOYDIR}/${MODULE_TARBALL_BASE_NAME} -C ${D} lib > ln -sf ${MODULE_TARBALL_BASE_NAME} ${DEPLOYDIR}/${MODULE_TARBALL_SYMLINK_NAME} > @@ -483,3 +489,6 @@ addtask deploy before do_build after do_install > > EXPORT_FUNCTIONS do_deploy > > +OE_TERMINAL_EXPORTS += "KBUILD_OUTPUT" > +export KBUILD_OUTPUT = "${B}" > + > ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [RFC][PATCH] kernel: Enable externalsrc on kernels which instantiate kernel.bbclass 2014-02-06 10:05 [RFC][PATCH] kernel: Enable externalsrc on kernels which instantiate kernel.bbclass Khem Raj 2014-02-06 13:38 ` Bruce Ashfield @ 2014-02-06 19:26 ` Bruce Ashfield 2014-02-06 19:36 ` Khem Raj 2014-09-22 15:24 ` [RFC] " Paul Eggleton 2 siblings, 1 reply; 17+ messages in thread From: Bruce Ashfield @ 2014-02-06 19:26 UTC (permalink / raw) To: Khem Raj, openembedded-core On 14-02-06 05:05 AM, Khem Raj wrote: > This also make a change where for kernel > S != B, this is done because when S = B > and we use O= option or set KBUILD_OUTPUT > to point to objectdir, kernel build system > ends up denoting itself dirty and asking for > running mrproper during later build steps > after do_configure but works perfectly > for when S != B > > Additional fixes make sure that we do not > assume directory paths when accessing files > > Move exporting KBUILD_OUTPUT from kernel-yocto > into kernel class I worked through an external SRC build with B == S and B != S and came up with a smaller, but similar set of changes. I'd prefer to split the patch into a few smaller chunks, just in case something goes wrong, or there are other missed use cases. If you want to continue with the patch, it looks like it is going in the right direction. Also, if you want, I can do some splits here and soak it for a bit .. completely up to you. Cheers, Bryce > > Signed-off-by: Khem Raj <raj.khem@gmail.com> > --- > meta/classes/kernel-yocto.bbclass | 3 +- > meta/classes/kernel.bbclass | 71 ++++++++++++++++++++++----------------- > 2 files changed, 41 insertions(+), 33 deletions(-) > > diff --git a/meta/classes/kernel-yocto.bbclass b/meta/classes/kernel-yocto.bbclass > index 8f79932..73257e1 100644 > --- a/meta/classes/kernel-yocto.bbclass > +++ b/meta/classes/kernel-yocto.bbclass > @@ -408,6 +408,5 @@ do_kernel_link_vmlinux() { > ln -sf ../../../vmlinux > } > > -OE_TERMINAL_EXPORTS += "GUILT_BASE KBUILD_OUTPUT" > +OE_TERMINAL_EXPORTS += "GUILT_BASE" > GUILT_BASE = "meta" > -KBUILD_OUTPUT = "${B}" > diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass > index 51626b0..b000147 100644 > --- a/meta/classes/kernel.bbclass > +++ b/meta/classes/kernel.bbclass > @@ -10,6 +10,7 @@ KERNEL_IMAGETYPE ?= "zImage" > INITRAMFS_IMAGE ?= "" > INITRAMFS_TASK ?= "" > INITRAMFS_IMAGE_BUNDLE ?= "" > +B = "${WORKDIR}/build" > > python __anonymous () { > kerneltype = d.getVar('KERNEL_IMAGETYPE', True) or '' > @@ -157,6 +158,7 @@ kernel_do_compile() { > # different initramfs image. The way to do that in the kernel > # is to specify: > # make ...args... CONFIG_INITRAMFS_SOURCE=some_other_initramfs.cpio > + cd ${S} > if [ "$use_alternate_initrd" = "" ] && [ "${INITRAMFS_TASK}" != "" ] ; then > # The old style way of copying an prebuilt image and building it > # is turned on via INTIRAMFS_TASK != "" > @@ -165,13 +167,14 @@ kernel_do_compile() { > fi > oe_runmake ${KERNEL_IMAGETYPE_FOR_MAKE} ${KERNEL_ALT_IMAGETYPE} CC="${KERNEL_CC}" LD="${KERNEL_LD}" ${KERNEL_EXTRA_ARGS} $use_alternate_initrd > if test "${KERNEL_IMAGETYPE_FOR_MAKE}.gz" = "${KERNEL_IMAGETYPE}"; then > - gzip -9c < "${KERNEL_IMAGETYPE_FOR_MAKE}" > "${KERNEL_OUTPUT}" > + gzip -9c < "${B}/${KERNEL_IMAGETYPE_FOR_MAKE}" > "${KERNEL_OUTPUT}" > fi > } > > do_compile_kernelmodules() { > unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS MACHINE > - if (grep -q -i -e '^CONFIG_MODULES=y$' .config); then > + cd ${S} > + if (grep -q -i -e '^CONFIG_MODULES=y$' ${B}/.config); then > oe_runmake ${PARALLEL_MAKE} modules CC="${KERNEL_CC}" LD="${KERNEL_LD}" ${KERNEL_EXTRA_ARGS} > else > bbnote "no modules to compile" > @@ -184,7 +187,8 @@ kernel_do_install() { > # First install the modules > # > unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS MACHINE > - if (grep -q -i -e '^CONFIG_MODULES=y$' .config); then > + cd ${S} > + if (grep -q -i -e '^CONFIG_MODULES=y$' ${B}/.config); then > oe_runmake DEPMOD=echo INSTALL_MOD_PATH="${D}" modules_install > rm "${D}/lib/modules/${KERNEL_VERSION}/build" > rm "${D}/lib/modules/${KERNEL_VERSION}/source" > @@ -200,10 +204,10 @@ kernel_do_install() { > install -d ${D}/${KERNEL_IMAGEDEST} > install -d ${D}/boot > install -m 0644 ${KERNEL_OUTPUT} ${D}/${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE}-${KERNEL_VERSION} > - install -m 0644 System.map ${D}/boot/System.map-${KERNEL_VERSION} > - install -m 0644 .config ${D}/boot/config-${KERNEL_VERSION} > - install -m 0644 vmlinux ${D}/boot/vmlinux-${KERNEL_VERSION} > - [ -e Module.symvers ] && install -m 0644 Module.symvers ${D}/boot/Module.symvers-${KERNEL_VERSION} > + install -m 0644 ${B}/System.map ${D}/boot/System.map-${KERNEL_VERSION} > + install -m 0644 ${B}/.config ${D}/boot/config-${KERNEL_VERSION} > + install -m 0644 ${B}/vmlinux ${D}/boot/vmlinux-${KERNEL_VERSION} > + [ -e ${B}/Module.symvers ] && install -m 0644 ${B}/Module.symvers ${D}/boot/Module.symvers-${KERNEL_VERSION} > install -d ${D}${sysconfdir}/modules-load.d > install -d ${D}${sysconfdir}/modprobe.d > > @@ -232,20 +236,21 @@ kernel_do_install() { > # dir. This ensures the original Makefiles are used and not the > # redirecting Makefiles in the build directory. > # > + pwd="$PWD" > + cd "${B}" > find . -depth -not -name "*.cmd" -not -name "*.o" -not -path "./Documentation*" -not -path "./.*" -print0 | cpio --null -pdlu $kerneldir > - cp .config $kerneldir > + cp ${B}/.config $kerneldir > if [ "${S}" != "${B}" ]; then > - pwd="$PWD" > cd "${S}" > find . -depth -not -path "./Documentation*" -not -path "./.*" -print0 | cpio --null -pdlu $kerneldir > - cd "$pwd" > fi > + cd "$pwd" > > # Test to ensure that the output file and image type are not actually > # the same file. If hardlinking is used, they will be the same, and there's > # no need to install. > ! [ ${KERNEL_OUTPUT} -ef $kerneldir/${KERNEL_IMAGETYPE} ] && install -m 0644 ${KERNEL_OUTPUT} $kerneldir/${KERNEL_IMAGETYPE} > - install -m 0644 System.map $kerneldir/System.map-${KERNEL_VERSION} > + install -m 0644 ${B}/System.map $kerneldir/System.map-${KERNEL_VERSION} > > # Dummy Makefile so the clean below works > mkdir $kerneldir/Documentation > @@ -260,24 +265,24 @@ kernel_do_install() { > # we clean the scripts dir while leaving the generated config > # and include files. > # > - oe_runmake -C $kerneldir CC="${KERNEL_CC}" LD="${KERNEL_LD}" clean > - make -C $kerneldir _mrproper_scripts > + oe_runmake KBUILD_OUTPUT= -C $kerneldir CC="${KERNEL_CC}" LD="${KERNEL_LD}" clean > + make KBUILD_OUTPUT= -C $kerneldir _mrproper_scripts > find $kerneldir -path $kerneldir/lib -prune -o -path $kerneldir/tools -prune -o -path $kerneldir/scripts -prune -o -name "*.[csS]" -exec rm '{}' \; > > # As of Linux kernel version 3.0.1, the clean target removes > # arch/powerpc/lib/crtsavres.o which is present in > # KBUILD_LDFLAGS_MODULE, making it required to build external modules. > if [ ${ARCH} = "powerpc" ]; then > - cp -l arch/powerpc/lib/crtsavres.o $kerneldir/arch/powerpc/lib/crtsavres.o > + cp -l ${B}/arch/powerpc/lib/crtsavres.o $kerneldir/arch/powerpc/lib/crtsavres.o > fi > > # Necessary for building modules like compat-wireless. > - if [ -f include/generated/bounds.h ]; then > - cp -l include/generated/bounds.h $kerneldir/include/generated/bounds.h > + if [ -f ${B}/include/generated/bounds.h ]; then > + cp -l ${B}/include/generated/bounds.h $kerneldir/include/generated/bounds.h > fi > - if [ -d arch/${ARCH}/include/generated ]; then > + if [ -d ${B}/arch/${ARCH}/include/generated ]; then > mkdir -p $kerneldir/arch/${ARCH}/include/generated/ > - cp -flR arch/${ARCH}/include/generated/* $kerneldir/arch/${ARCH}/include/generated/ > + cp -flR ${B}/arch/${ARCH}/include/generated/* $kerneldir/arch/${ARCH}/include/generated/ > fi > > # Remove the following binaries which cause strip or arch QA errors > @@ -302,6 +307,7 @@ python sysroot_stage_all () { > } > > kernel_do_configure() { > + cd ${S} > # fixes extra + in /lib/modules/2.6.37+ > # $ scripts/setlocalversion . => + > # $ make kernelversion => 2.6.37 > @@ -313,7 +319,7 @@ kernel_do_configure() { > if [ -f "${WORKDIR}/defconfig" ] && [ ! -f "${B}/.config" ]; then > cp "${WORKDIR}/defconfig" "${B}/.config" > fi > - yes '' | oe_runmake oldconfig > + oe_runmake olddefconfig > } > > do_savedefconfig() { > @@ -432,19 +438,19 @@ do_uboot_mkimage() { > if test "x${KEEPUIMAGE}" != "xyes" ; then > ENTRYPOINT=${UBOOT_ENTRYPOINT} > if test -n "${UBOOT_ENTRYSYMBOL}"; then > - ENTRYPOINT=`${HOST_PREFIX}nm ${S}/vmlinux | \ > + ENTRYPOINT=`${HOST_PREFIX}nm ${B}/vmlinux | \ > awk '$3=="${UBOOT_ENTRYSYMBOL}" {print $1}'` > fi > - if test -e arch/${ARCH}/boot/compressed/vmlinux ; then > - ${OBJCOPY} -O binary -R .note -R .comment -S arch/${ARCH}/boot/compressed/vmlinux linux.bin > - uboot-mkimage -A ${UBOOT_ARCH} -O linux -T kernel -C none -a ${UBOOT_LOADADDRESS} -e $ENTRYPOINT -n "${DISTRO_NAME}/${PV}/${MACHINE}" -d linux.bin arch/${ARCH}/boot/uImage > - rm -f linux.bin > + if test -e ${B}/arch/${ARCH}/boot/compressed/vmlinux ; then > + ${OBJCOPY} -O binary -R .note -R .comment -S ${B}/arch/${ARCH}/boot/compressed/vmlinux ${B}/linux.bin > + uboot-mkimage -A ${UBOOT_ARCH} -O linux -T kernel -C none -a ${UBOOT_LOADADDRESS} -e $ENTRYPOINT -n "${DISTRO_NAME}/${PV}/${MACHINE}" -d ${B}/linux.bin ${B}/arch/${ARCH}/boot/uImage > + rm -f ${B}/linux.bin > else > - ${OBJCOPY} -O binary -R .note -R .comment -S vmlinux linux.bin > - rm -f linux.bin.gz > - gzip -9 linux.bin > - uboot-mkimage -A ${UBOOT_ARCH} -O linux -T kernel -C gzip -a ${UBOOT_LOADADDRESS} -e $ENTRYPOINT -n "${DISTRO_NAME}/${PV}/${MACHINE}" -d linux.bin.gz arch/${ARCH}/boot/uImage > - rm -f linux.bin.gz > + ${OBJCOPY} -O binary -R .note -R .comment -S ${B}/vmlinux ${B}/linux.bin > + rm -f ${B}/linux.bin.gz > + gzip -9 ${B}/linux.bin > ${B}/linux.bin.gz > + uboot-mkimage -A ${UBOOT_ARCH} -O linux -T kernel -C gzip -a ${UBOOT_LOADADDRESS} -e $ENTRYPOINT -n "${DISTRO_NAME}/${PV}/${MACHINE}" -d ${B}/linux.bin.gz ${B}/arch/${ARCH}/boot/uImage > + rm -f ${B}/linux.bin.gz > fi > fi > fi > @@ -453,8 +459,8 @@ do_uboot_mkimage() { > addtask uboot_mkimage before do_install after do_compile > > kernel_do_deploy() { > - install -m 0644 ${KERNEL_OUTPUT} ${DEPLOYDIR}/${KERNEL_IMAGE_BASE_NAME}.bin > - if [ ${MODULE_TARBALL_DEPLOY} = "1" ] && (grep -q -i -e '^CONFIG_MODULES=y$' .config); then > + install -m 0644 ${D}/${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE}-${KERNEL_VERSION} ${DEPLOYDIR}/${KERNEL_IMAGE_BASE_NAME}.bin > + if [ ${MODULE_TARBALL_DEPLOY} = "1" ] && (grep -q -i -e '^CONFIG_MODULES=y$' ${B}/.config); then > mkdir -p ${D}/lib > tar -cvzf ${DEPLOYDIR}/${MODULE_TARBALL_BASE_NAME} -C ${D} lib > ln -sf ${MODULE_TARBALL_BASE_NAME} ${DEPLOYDIR}/${MODULE_TARBALL_SYMLINK_NAME} > @@ -483,3 +489,6 @@ addtask deploy before do_build after do_install > > EXPORT_FUNCTIONS do_deploy > > +OE_TERMINAL_EXPORTS += "KBUILD_OUTPUT" > +export KBUILD_OUTPUT = "${B}" > + > ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [RFC][PATCH] kernel: Enable externalsrc on kernels which instantiate kernel.bbclass 2014-02-06 19:26 ` Bruce Ashfield @ 2014-02-06 19:36 ` Khem Raj 0 siblings, 0 replies; 17+ messages in thread From: Khem Raj @ 2014-02-06 19:36 UTC (permalink / raw) To: Bruce Ashfield; +Cc: Patches and discussions about the oe-core layer On Thu, Feb 6, 2014 at 11:26 AM, Bruce Ashfield <bruce.ashfield@windriver.com> wrote: > On 14-02-06 05:05 AM, Khem Raj wrote: >> >> This also make a change where for kernel >> S != B, this is done because when S = B >> and we use O= option or set KBUILD_OUTPUT >> to point to objectdir, kernel build system >> ends up denoting itself dirty and asking for >> running mrproper during later build steps >> after do_configure but works perfectly >> for when S != B >> >> Additional fixes make sure that we do not >> assume directory paths when accessing files >> >> Move exporting KBUILD_OUTPUT from kernel-yocto >> into kernel class > > > I worked through an external SRC build with B == S and B != S > and came up with a smaller, but similar set of changes. > > I'd prefer to split the patch into a few smaller chunks, just > in case something goes wrong, or there are other missed use cases. > OK sure. > If you want to continue with the patch, it looks like it is going in > the right direction. Also, if you want, I can do some splits here > and soak it for a bit .. completely up to you. > soak it no problems. > Cheers, > > Bryce > > >> >> Signed-off-by: Khem Raj <raj.khem@gmail.com> >> --- >> meta/classes/kernel-yocto.bbclass | 3 +- >> meta/classes/kernel.bbclass | 71 >> ++++++++++++++++++++++----------------- >> 2 files changed, 41 insertions(+), 33 deletions(-) >> >> diff --git a/meta/classes/kernel-yocto.bbclass >> b/meta/classes/kernel-yocto.bbclass >> index 8f79932..73257e1 100644 >> --- a/meta/classes/kernel-yocto.bbclass >> +++ b/meta/classes/kernel-yocto.bbclass >> @@ -408,6 +408,5 @@ do_kernel_link_vmlinux() { >> ln -sf ../../../vmlinux >> } >> >> -OE_TERMINAL_EXPORTS += "GUILT_BASE KBUILD_OUTPUT" >> +OE_TERMINAL_EXPORTS += "GUILT_BASE" >> GUILT_BASE = "meta" >> -KBUILD_OUTPUT = "${B}" >> diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass >> index 51626b0..b000147 100644 >> --- a/meta/classes/kernel.bbclass >> +++ b/meta/classes/kernel.bbclass >> @@ -10,6 +10,7 @@ KERNEL_IMAGETYPE ?= "zImage" >> INITRAMFS_IMAGE ?= "" >> INITRAMFS_TASK ?= "" >> INITRAMFS_IMAGE_BUNDLE ?= "" >> +B = "${WORKDIR}/build" >> >> python __anonymous () { >> kerneltype = d.getVar('KERNEL_IMAGETYPE', True) or '' >> @@ -157,6 +158,7 @@ kernel_do_compile() { >> # different initramfs image. The way to do that in the kernel >> # is to specify: >> # make ...args... >> CONFIG_INITRAMFS_SOURCE=some_other_initramfs.cpio >> + cd ${S} >> if [ "$use_alternate_initrd" = "" ] && [ "${INITRAMFS_TASK}" != "" >> ] ; then >> # The old style way of copying an prebuilt image and >> building it >> # is turned on via INTIRAMFS_TASK != "" >> @@ -165,13 +167,14 @@ kernel_do_compile() { >> fi >> oe_runmake ${KERNEL_IMAGETYPE_FOR_MAKE} ${KERNEL_ALT_IMAGETYPE} >> CC="${KERNEL_CC}" LD="${KERNEL_LD}" ${KERNEL_EXTRA_ARGS} >> $use_alternate_initrd >> if test "${KERNEL_IMAGETYPE_FOR_MAKE}.gz" = "${KERNEL_IMAGETYPE}"; >> then >> - gzip -9c < "${KERNEL_IMAGETYPE_FOR_MAKE}" > >> "${KERNEL_OUTPUT}" >> + gzip -9c < "${B}/${KERNEL_IMAGETYPE_FOR_MAKE}" > >> "${KERNEL_OUTPUT}" >> fi >> } >> >> do_compile_kernelmodules() { >> unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS MACHINE >> - if (grep -q -i -e '^CONFIG_MODULES=y$' .config); then >> + cd ${S} >> + if (grep -q -i -e '^CONFIG_MODULES=y$' ${B}/.config); then >> oe_runmake ${PARALLEL_MAKE} modules CC="${KERNEL_CC}" >> LD="${KERNEL_LD}" ${KERNEL_EXTRA_ARGS} >> else >> bbnote "no modules to compile" >> @@ -184,7 +187,8 @@ kernel_do_install() { >> # First install the modules >> # >> unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS MACHINE >> - if (grep -q -i -e '^CONFIG_MODULES=y$' .config); then >> + cd ${S} >> + if (grep -q -i -e '^CONFIG_MODULES=y$' ${B}/.config); then >> oe_runmake DEPMOD=echo INSTALL_MOD_PATH="${D}" >> modules_install >> rm "${D}/lib/modules/${KERNEL_VERSION}/build" >> rm "${D}/lib/modules/${KERNEL_VERSION}/source" >> @@ -200,10 +204,10 @@ kernel_do_install() { >> install -d ${D}/${KERNEL_IMAGEDEST} >> install -d ${D}/boot >> install -m 0644 ${KERNEL_OUTPUT} >> ${D}/${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE}-${KERNEL_VERSION} >> - install -m 0644 System.map ${D}/boot/System.map-${KERNEL_VERSION} >> - install -m 0644 .config ${D}/boot/config-${KERNEL_VERSION} >> - install -m 0644 vmlinux ${D}/boot/vmlinux-${KERNEL_VERSION} >> - [ -e Module.symvers ] && install -m 0644 Module.symvers >> ${D}/boot/Module.symvers-${KERNEL_VERSION} >> + install -m 0644 ${B}/System.map >> ${D}/boot/System.map-${KERNEL_VERSION} >> + install -m 0644 ${B}/.config ${D}/boot/config-${KERNEL_VERSION} >> + install -m 0644 ${B}/vmlinux ${D}/boot/vmlinux-${KERNEL_VERSION} >> + [ -e ${B}/Module.symvers ] && install -m 0644 ${B}/Module.symvers >> ${D}/boot/Module.symvers-${KERNEL_VERSION} >> install -d ${D}${sysconfdir}/modules-load.d >> install -d ${D}${sysconfdir}/modprobe.d >> >> @@ -232,20 +236,21 @@ kernel_do_install() { >> # dir. This ensures the original Makefiles are used and not the >> # redirecting Makefiles in the build directory. >> # >> + pwd="$PWD" >> + cd "${B}" >> find . -depth -not -name "*.cmd" -not -name "*.o" -not -path >> "./Documentation*" -not -path "./.*" -print0 | cpio --null -pdlu $kerneldir >> - cp .config $kerneldir >> + cp ${B}/.config $kerneldir >> if [ "${S}" != "${B}" ]; then >> - pwd="$PWD" >> cd "${S}" >> find . -depth -not -path "./Documentation*" -not -path >> "./.*" -print0 | cpio --null -pdlu $kerneldir >> - cd "$pwd" >> fi >> + cd "$pwd" >> >> # Test to ensure that the output file and image type are not >> actually >> # the same file. If hardlinking is used, they will be the same, >> and there's >> # no need to install. >> ! [ ${KERNEL_OUTPUT} -ef $kerneldir/${KERNEL_IMAGETYPE} ] && >> install -m 0644 ${KERNEL_OUTPUT} $kerneldir/${KERNEL_IMAGETYPE} >> - install -m 0644 System.map $kerneldir/System.map-${KERNEL_VERSION} >> + install -m 0644 ${B}/System.map >> $kerneldir/System.map-${KERNEL_VERSION} >> >> # Dummy Makefile so the clean below works >> mkdir $kerneldir/Documentation >> @@ -260,24 +265,24 @@ kernel_do_install() { >> # we clean the scripts dir while leaving the generated config >> # and include files. >> # >> - oe_runmake -C $kerneldir CC="${KERNEL_CC}" LD="${KERNEL_LD}" clean >> - make -C $kerneldir _mrproper_scripts >> + oe_runmake KBUILD_OUTPUT= -C $kerneldir CC="${KERNEL_CC}" >> LD="${KERNEL_LD}" clean >> + make KBUILD_OUTPUT= -C $kerneldir _mrproper_scripts >> find $kerneldir -path $kerneldir/lib -prune -o -path >> $kerneldir/tools -prune -o -path $kerneldir/scripts -prune -o -name >> "*.[csS]" -exec rm '{}' \; >> >> # As of Linux kernel version 3.0.1, the clean target removes >> # arch/powerpc/lib/crtsavres.o which is present in >> # KBUILD_LDFLAGS_MODULE, making it required to build external >> modules. >> if [ ${ARCH} = "powerpc" ]; then >> - cp -l arch/powerpc/lib/crtsavres.o >> $kerneldir/arch/powerpc/lib/crtsavres.o >> + cp -l ${B}/arch/powerpc/lib/crtsavres.o >> $kerneldir/arch/powerpc/lib/crtsavres.o >> fi >> >> # Necessary for building modules like compat-wireless. >> - if [ -f include/generated/bounds.h ]; then >> - cp -l include/generated/bounds.h >> $kerneldir/include/generated/bounds.h >> + if [ -f ${B}/include/generated/bounds.h ]; then >> + cp -l ${B}/include/generated/bounds.h >> $kerneldir/include/generated/bounds.h >> fi >> - if [ -d arch/${ARCH}/include/generated ]; then >> + if [ -d ${B}/arch/${ARCH}/include/generated ]; then >> mkdir -p $kerneldir/arch/${ARCH}/include/generated/ >> - cp -flR arch/${ARCH}/include/generated/* >> $kerneldir/arch/${ARCH}/include/generated/ >> + cp -flR ${B}/arch/${ARCH}/include/generated/* >> $kerneldir/arch/${ARCH}/include/generated/ >> fi >> >> # Remove the following binaries which cause strip or arch QA >> errors >> @@ -302,6 +307,7 @@ python sysroot_stage_all () { >> } >> >> kernel_do_configure() { >> + cd ${S} >> # fixes extra + in /lib/modules/2.6.37+ >> # $ scripts/setlocalversion . => + >> # $ make kernelversion => 2.6.37 >> @@ -313,7 +319,7 @@ kernel_do_configure() { >> if [ -f "${WORKDIR}/defconfig" ] && [ ! -f "${B}/.config" ]; then >> cp "${WORKDIR}/defconfig" "${B}/.config" >> fi >> - yes '' | oe_runmake oldconfig >> + oe_runmake olddefconfig >> } >> >> do_savedefconfig() { >> @@ -432,19 +438,19 @@ do_uboot_mkimage() { >> if test "x${KEEPUIMAGE}" != "xyes" ; then >> ENTRYPOINT=${UBOOT_ENTRYPOINT} >> if test -n "${UBOOT_ENTRYSYMBOL}"; then >> - ENTRYPOINT=`${HOST_PREFIX}nm ${S}/vmlinux >> | \ >> + ENTRYPOINT=`${HOST_PREFIX}nm ${B}/vmlinux >> | \ >> awk '$3=="${UBOOT_ENTRYSYMBOL}" >> {print $1}'` >> fi >> - if test -e arch/${ARCH}/boot/compressed/vmlinux ; >> then >> - ${OBJCOPY} -O binary -R .note -R .comment >> -S arch/${ARCH}/boot/compressed/vmlinux linux.bin >> - uboot-mkimage -A ${UBOOT_ARCH} -O linux -T >> kernel -C none -a ${UBOOT_LOADADDRESS} -e $ENTRYPOINT -n >> "${DISTRO_NAME}/${PV}/${MACHINE}" -d linux.bin arch/${ARCH}/boot/uImage >> - rm -f linux.bin >> + if test -e >> ${B}/arch/${ARCH}/boot/compressed/vmlinux ; then >> + ${OBJCOPY} -O binary -R .note -R .comment >> -S ${B}/arch/${ARCH}/boot/compressed/vmlinux ${B}/linux.bin >> + uboot-mkimage -A ${UBOOT_ARCH} -O linux -T >> kernel -C none -a ${UBOOT_LOADADDRESS} -e $ENTRYPOINT -n >> "${DISTRO_NAME}/${PV}/${MACHINE}" -d ${B}/linux.bin >> ${B}/arch/${ARCH}/boot/uImage >> + rm -f ${B}/linux.bin >> else >> - ${OBJCOPY} -O binary -R .note -R .comment >> -S vmlinux linux.bin >> - rm -f linux.bin.gz >> - gzip -9 linux.bin >> - uboot-mkimage -A ${UBOOT_ARCH} -O linux -T >> kernel -C gzip -a ${UBOOT_LOADADDRESS} -e $ENTRYPOINT -n >> "${DISTRO_NAME}/${PV}/${MACHINE}" -d linux.bin.gz arch/${ARCH}/boot/uImage >> - rm -f linux.bin.gz >> + ${OBJCOPY} -O binary -R .note -R .comment >> -S ${B}/vmlinux ${B}/linux.bin >> + rm -f ${B}/linux.bin.gz >> + gzip -9 ${B}/linux.bin > ${B}/linux.bin.gz >> + uboot-mkimage -A ${UBOOT_ARCH} -O linux -T >> kernel -C gzip -a ${UBOOT_LOADADDRESS} -e $ENTRYPOINT -n >> "${DISTRO_NAME}/${PV}/${MACHINE}" -d ${B}/linux.bin.gz >> ${B}/arch/${ARCH}/boot/uImage >> + rm -f ${B}/linux.bin.gz >> fi >> fi >> fi >> @@ -453,8 +459,8 @@ do_uboot_mkimage() { >> addtask uboot_mkimage before do_install after do_compile >> >> kernel_do_deploy() { >> - install -m 0644 ${KERNEL_OUTPUT} >> ${DEPLOYDIR}/${KERNEL_IMAGE_BASE_NAME}.bin >> - if [ ${MODULE_TARBALL_DEPLOY} = "1" ] && (grep -q -i -e >> '^CONFIG_MODULES=y$' .config); then >> + install -m 0644 >> ${D}/${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE}-${KERNEL_VERSION} >> ${DEPLOYDIR}/${KERNEL_IMAGE_BASE_NAME}.bin >> + if [ ${MODULE_TARBALL_DEPLOY} = "1" ] && (grep -q -i -e >> '^CONFIG_MODULES=y$' ${B}/.config); then >> mkdir -p ${D}/lib >> tar -cvzf ${DEPLOYDIR}/${MODULE_TARBALL_BASE_NAME} -C ${D} >> lib >> ln -sf ${MODULE_TARBALL_BASE_NAME} >> ${DEPLOYDIR}/${MODULE_TARBALL_SYMLINK_NAME} >> @@ -483,3 +489,6 @@ addtask deploy before do_build after do_install >> >> EXPORT_FUNCTIONS do_deploy >> >> +OE_TERMINAL_EXPORTS += "KBUILD_OUTPUT" >> +export KBUILD_OUTPUT = "${B}" >> + >> > ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [RFC] kernel: Enable externalsrc on kernels which instantiate kernel.bbclass 2014-02-06 10:05 [RFC][PATCH] kernel: Enable externalsrc on kernels which instantiate kernel.bbclass Khem Raj 2014-02-06 13:38 ` Bruce Ashfield 2014-02-06 19:26 ` Bruce Ashfield @ 2014-09-22 15:24 ` Paul Eggleton 2014-09-22 15:27 ` Bruce Ashfield 2 siblings, 1 reply; 17+ messages in thread From: Paul Eggleton @ 2014-09-22 15:24 UTC (permalink / raw) To: Khem Raj, bruce.ashfield; +Cc: openembedded-core On Thursday 06 February 2014 02:05:05 Khem Raj wrote: > This also make a change where for kernel > S != B, this is done because when S = B > and we use O= option or set KBUILD_OUTPUT > to point to objectdir, kernel build system > ends up denoting itself dirty and asking for > running mrproper during later build steps > after do_configure but works perfectly > for when S != B > > Additional fixes make sure that we do not > assume directory paths when accessing files > > Move exporting KBUILD_OUTPUT from kernel-yocto > into kernel class > > Signed-off-by: Khem Raj <raj.khem@gmail.com> So discussion on this patch seems to have stalled - did you guys make any progress offline? Looking over the patch I'd guess we'd want to try to avoid cd'ing and instead be explicit about the path where needed. Cheers, Paul -- Paul Eggleton Intel Open Source Technology Centre ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [RFC] kernel: Enable externalsrc on kernels which instantiate kernel.bbclass 2014-09-22 15:24 ` [RFC] " Paul Eggleton @ 2014-09-22 15:27 ` Bruce Ashfield 2014-09-22 17:03 ` Khem Raj 0 siblings, 1 reply; 17+ messages in thread From: Bruce Ashfield @ 2014-09-22 15:27 UTC (permalink / raw) To: Paul Eggleton, Khem Raj; +Cc: openembedded-core On 14-09-22 11:24 AM, Paul Eggleton wrote: > On Thursday 06 February 2014 02:05:05 Khem Raj wrote: >> This also make a change where for kernel >> S != B, this is done because when S = B >> and we use O= option or set KBUILD_OUTPUT >> to point to objectdir, kernel build system >> ends up denoting itself dirty and asking for >> running mrproper during later build steps >> after do_configure but works perfectly >> for when S != B >> >> Additional fixes make sure that we do not >> assume directory paths when accessing files >> >> Move exporting KBUILD_OUTPUT from kernel-yocto >> into kernel class >> >> Signed-off-by: Khem Raj <raj.khem@gmail.com> > > So discussion on this patch seems to have stalled - did you guys make any > progress offline? I have an updated patch that I've been carrying in my tree ever since. > > Looking over the patch I'd guess we'd want to try to avoid cd'ing and instead > be explicit about the path where needed. I have some more cleanups to this effect, and will send them post 1.7. But the reports we've been getting have been that externalsrc builds are working for kernels, and linux-yocto without the change in place, so I'm looking to reduce the patch footprint and re-submit. Bruce > > Cheers, > Paul > ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [RFC] kernel: Enable externalsrc on kernels which instantiate kernel.bbclass 2014-09-22 15:27 ` Bruce Ashfield @ 2014-09-22 17:03 ` Khem Raj 2014-09-22 17:04 ` Bruce Ashfield 0 siblings, 1 reply; 17+ messages in thread From: Khem Raj @ 2014-09-22 17:03 UTC (permalink / raw) To: Bruce Ashfield Cc: Paul Eggleton, Patches and discussions about the oe-core layer On Mon, Sep 22, 2014 at 8:27 AM, Bruce Ashfield <bruce.ashfield@windriver.com> wrote: > But the reports we've been getting have been that externalsrc > builds are working for kernels, and linux-yocto without the change > in place, so I'm looking to reduce the patch footprint and re-submit. no, it cant work if folks were trying the usecase I have mentioned. The fix is infact for non linux-yocto kernels. ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [RFC] kernel: Enable externalsrc on kernels which instantiate kernel.bbclass 2014-09-22 17:03 ` Khem Raj @ 2014-09-22 17:04 ` Bruce Ashfield 2014-12-03 12:00 ` Paul Eggleton 0 siblings, 1 reply; 17+ messages in thread From: Bruce Ashfield @ 2014-09-22 17:04 UTC (permalink / raw) To: Khem Raj; +Cc: Paul Eggleton, Patches and discussions about the oe-core layer On 14-09-22 01:03 PM, Khem Raj wrote: > On Mon, Sep 22, 2014 at 8:27 AM, Bruce Ashfield > <bruce.ashfield@windriver.com> wrote: >> But the reports we've been getting have been that externalsrc >> builds are working for kernels, and linux-yocto without the change >> in place, so I'm looking to reduce the patch footprint and re-submit. > > no, it cant work if folks were trying the usecase I have mentioned. > The fix is infact for > non linux-yocto kernels. I'll send out my updated patch shortly, it should fix both cases. Bruce > ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [RFC] kernel: Enable externalsrc on kernels which instantiate kernel.bbclass 2014-09-22 17:04 ` Bruce Ashfield @ 2014-12-03 12:00 ` Paul Eggleton 2014-12-03 12:23 ` Laurentiu Palcu 2014-12-03 13:12 ` Bruce Ashfield 0 siblings, 2 replies; 17+ messages in thread From: Paul Eggleton @ 2014-12-03 12:00 UTC (permalink / raw) To: Bruce Ashfield; +Cc: openembedded-core On Monday 22 September 2014 13:04:47 Bruce Ashfield wrote: > On 14-09-22 01:03 PM, Khem Raj wrote: > > On Mon, Sep 22, 2014 at 8:27 AM, Bruce Ashfield > > > > <bruce.ashfield@windriver.com> wrote: > >> But the reports we've been getting have been that externalsrc > >> builds are working for kernels, and linux-yocto without the change > >> in place, so I'm looking to reduce the patch footprint and re-submit. > > > > no, it cant work if folks were trying the usecase I have mentioned. > > The fix is infact for > > non linux-yocto kernels. > > I'll send out my updated patch shortly, it should fix both cases. Bruce, did you get around to doing this? At the moment I am trying to make my workflow tool ("devtool modify") work with linux-yocto. I've at least got to the point where I can extract the appropriate source from the recipe, but when I use externalsrc to point to it and then try to build it, it doesn't even get past do_configure, so something must be missing (make complains about missing targets, presumably because it's running in ${B} and there's nothing in that directory). Do you expect linux-yocto + externalsrc to work at the moment in master? If so, are there any special steps I need to do with respect to preparing the external source tree that my tool might not be performing? Cheers, Paul -- Paul Eggleton Intel Open Source Technology Centre ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [RFC] kernel: Enable externalsrc on kernels which instantiate kernel.bbclass 2014-12-03 12:00 ` Paul Eggleton @ 2014-12-03 12:23 ` Laurentiu Palcu 2014-12-03 13:14 ` Bruce Ashfield 2014-12-03 13:12 ` Bruce Ashfield 1 sibling, 1 reply; 17+ messages in thread From: Laurentiu Palcu @ 2014-12-03 12:23 UTC (permalink / raw) To: Paul Eggleton; +Cc: openembedded-core Hi Paul, On Wed, Dec 03, 2014 at 12:00:31PM +0000, Paul Eggleton wrote: > On Monday 22 September 2014 13:04:47 Bruce Ashfield wrote: > > On 14-09-22 01:03 PM, Khem Raj wrote: > > > On Mon, Sep 22, 2014 at 8:27 AM, Bruce Ashfield > > > > > > <bruce.ashfield@windriver.com> wrote: > > >> But the reports we've been getting have been that externalsrc > > >> builds are working for kernels, and linux-yocto without the change > > >> in place, so I'm looking to reduce the patch footprint and re-submit. > > > > > > no, it cant work if folks were trying the usecase I have mentioned. > > > The fix is infact for > > > non linux-yocto kernels. > > > > I'll send out my updated patch shortly, it should fix both cases. > > Bruce, did you get around to doing this? > > At the moment I am trying to make my workflow tool ("devtool modify") work with > linux-yocto. I've at least got to the point where I can extract the > appropriate source from the recipe, but when I use externalsrc to point to it > and then try to build it, it doesn't even get past do_configure, so something > must be missing (make complains about missing targets, presumably because it's > running in ${B} and there's nothing in that directory). > > Do you expect linux-yocto + externalsrc to work at the moment in master? If > so, are there any special steps I need to do with respect to preparing the > external source tree that my tool might not be performing? FWIW, I'm using externalsrc to build non linux-yocto kernels but, to make it work, I had to overwrite the KERNEL_CONFIG_COMMAND: KERNEL_CONFIG_COMMAND = "oe_runmake_call -C ${S} O=${B} oldnoconfig || yes '' | oe_runmake -C ${S} O=${B} oldconfig" This might be the reason of your do_configure failure... I hope it helps, laurentiu ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [RFC] kernel: Enable externalsrc on kernels which instantiate kernel.bbclass 2014-12-03 12:23 ` Laurentiu Palcu @ 2014-12-03 13:14 ` Bruce Ashfield 2014-12-03 14:36 ` Paul Eggleton 0 siblings, 1 reply; 17+ messages in thread From: Bruce Ashfield @ 2014-12-03 13:14 UTC (permalink / raw) To: Laurentiu Palcu Cc: Paul Eggleton, Patches and discussions about the oe-core layer On Wed, Dec 3, 2014 at 7:23 AM, Laurentiu Palcu <laurentiu.palcu@intel.com> wrote: > Hi Paul, > > On Wed, Dec 03, 2014 at 12:00:31PM +0000, Paul Eggleton wrote: >> On Monday 22 September 2014 13:04:47 Bruce Ashfield wrote: >> > On 14-09-22 01:03 PM, Khem Raj wrote: >> > > On Mon, Sep 22, 2014 at 8:27 AM, Bruce Ashfield >> > > >> > > <bruce.ashfield@windriver.com> wrote: >> > >> But the reports we've been getting have been that externalsrc >> > >> builds are working for kernels, and linux-yocto without the change >> > >> in place, so I'm looking to reduce the patch footprint and re-submit. >> > > >> > > no, it cant work if folks were trying the usecase I have mentioned. >> > > The fix is infact for >> > > non linux-yocto kernels. >> > >> > I'll send out my updated patch shortly, it should fix both cases. >> >> Bruce, did you get around to doing this? >> >> At the moment I am trying to make my workflow tool ("devtool modify") work with >> linux-yocto. I've at least got to the point where I can extract the >> appropriate source from the recipe, but when I use externalsrc to point to it >> and then try to build it, it doesn't even get past do_configure, so something >> must be missing (make complains about missing targets, presumably because it's >> running in ${B} and there's nothing in that directory). >> >> Do you expect linux-yocto + externalsrc to work at the moment in master? If >> so, are there any special steps I need to do with respect to preparing the >> external source tree that my tool might not be performing? > FWIW, I'm using externalsrc to build non linux-yocto kernels but, to make it > work, I had to overwrite the KERNEL_CONFIG_COMMAND: > > KERNEL_CONFIG_COMMAND = "oe_runmake_call -C ${S} O=${B} oldnoconfig || yes '' | oe_runmake -C ${S} O=${B} oldconfig" > For an externalsrc kernel, we've always skipped configure* completely. If the user is providing the kernel, it should also be configured. We don't want the build system changing anything at all, including the config that is in place. Bruce > This might be the reason of your do_configure failure... > > I hope it helps, > laurentiu > > -- > _______________________________________________ > Openembedded-core mailing list > Openembedded-core@lists.openembedded.org > http://lists.openembedded.org/mailman/listinfo/openembedded-core -- "Thou shalt not follow the NULL pointer, for chaos and madness await thee at its end" ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [RFC] kernel: Enable externalsrc on kernels which instantiate kernel.bbclass 2014-12-03 13:14 ` Bruce Ashfield @ 2014-12-03 14:36 ` Paul Eggleton 2014-12-03 16:50 ` Bruce Ashfield 0 siblings, 1 reply; 17+ messages in thread From: Paul Eggleton @ 2014-12-03 14:36 UTC (permalink / raw) To: Bruce Ashfield; +Cc: Patches and discussions about the oe-core layer On Wednesday 03 December 2014 08:14:44 Bruce Ashfield wrote: > On Wed, Dec 3, 2014 at 7:23 AM, Laurentiu Palcu > > <laurentiu.palcu@intel.com> wrote: > > Hi Paul, > > > > On Wed, Dec 03, 2014 at 12:00:31PM +0000, Paul Eggleton wrote: > >> On Monday 22 September 2014 13:04:47 Bruce Ashfield wrote: > >> > On 14-09-22 01:03 PM, Khem Raj wrote: > >> > > On Mon, Sep 22, 2014 at 8:27 AM, Bruce Ashfield > >> > > > >> > > <bruce.ashfield@windriver.com> wrote: > >> > >> But the reports we've been getting have been that externalsrc > >> > >> builds are working for kernels, and linux-yocto without the change > >> > >> in place, so I'm looking to reduce the patch footprint and > >> > >> re-submit. > >> > > > >> > > no, it cant work if folks were trying the usecase I have mentioned. > >> > > The fix is infact for > >> > > non linux-yocto kernels. > >> > > >> > I'll send out my updated patch shortly, it should fix both cases. > >> > >> Bruce, did you get around to doing this? > >> > >> At the moment I am trying to make my workflow tool ("devtool modify") > >> work with linux-yocto. I've at least got to the point where I can > >> extract the appropriate source from the recipe, but when I use > >> externalsrc to point to it and then try to build it, it doesn't even get > >> past do_configure, so something must be missing (make complains about > >> missing targets, presumably because it's running in ${B} and there's > >> nothing in that directory). > >> > >> Do you expect linux-yocto + externalsrc to work at the moment in master? > >> If > >> so, are there any special steps I need to do with respect to preparing > >> the > >> external source tree that my tool might not be performing? > > > > FWIW, I'm using externalsrc to build non linux-yocto kernels but, to make > > it work, I had to overwrite the KERNEL_CONFIG_COMMAND: > > > > KERNEL_CONFIG_COMMAND = "oe_runmake_call -C ${S} O=${B} oldnoconfig || yes > > '' | oe_runmake -C ${S} O=${B} oldconfig" > > For an externalsrc kernel, we've always skipped configure* completely. > If the user is providing the kernel, it should also be configured. We don't > want the build system changing anything at all, including the config that is > in place. OK, that makes sense - but all I'm doing is enabling externalsrc for the kernel, and do_configure is still being executed. Perhaps that's something that shouldn't be happening (needs to be added to SRCTREECOVEREDTASKS? We don't normally cover do_configure for other recipes.) Cheers, Paul -- Paul Eggleton Intel Open Source Technology Centre ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [RFC] kernel: Enable externalsrc on kernels which instantiate kernel.bbclass 2014-12-03 14:36 ` Paul Eggleton @ 2014-12-03 16:50 ` Bruce Ashfield 2014-12-04 5:28 ` Bruce Ashfield 0 siblings, 1 reply; 17+ messages in thread From: Bruce Ashfield @ 2014-12-03 16:50 UTC (permalink / raw) To: Paul Eggleton; +Cc: Patches and discussions about the oe-core layer On Wed, Dec 3, 2014 at 9:36 AM, Paul Eggleton <paul.eggleton@linux.intel.com> wrote: > On Wednesday 03 December 2014 08:14:44 Bruce Ashfield wrote: >> On Wed, Dec 3, 2014 at 7:23 AM, Laurentiu Palcu >> >> <laurentiu.palcu@intel.com> wrote: >> > Hi Paul, >> > >> > On Wed, Dec 03, 2014 at 12:00:31PM +0000, Paul Eggleton wrote: >> >> On Monday 22 September 2014 13:04:47 Bruce Ashfield wrote: >> >> > On 14-09-22 01:03 PM, Khem Raj wrote: >> >> > > On Mon, Sep 22, 2014 at 8:27 AM, Bruce Ashfield >> >> > > >> >> > > <bruce.ashfield@windriver.com> wrote: >> >> > >> But the reports we've been getting have been that externalsrc >> >> > >> builds are working for kernels, and linux-yocto without the change >> >> > >> in place, so I'm looking to reduce the patch footprint and >> >> > >> re-submit. >> >> > > >> >> > > no, it cant work if folks were trying the usecase I have mentioned. >> >> > > The fix is infact for >> >> > > non linux-yocto kernels. >> >> > >> >> > I'll send out my updated patch shortly, it should fix both cases. >> >> >> >> Bruce, did you get around to doing this? >> >> >> >> At the moment I am trying to make my workflow tool ("devtool modify") >> >> work with linux-yocto. I've at least got to the point where I can >> >> extract the appropriate source from the recipe, but when I use >> >> externalsrc to point to it and then try to build it, it doesn't even get >> >> past do_configure, so something must be missing (make complains about >> >> missing targets, presumably because it's running in ${B} and there's >> >> nothing in that directory). >> >> >> >> Do you expect linux-yocto + externalsrc to work at the moment in master? >> >> If >> >> so, are there any special steps I need to do with respect to preparing >> >> the >> >> external source tree that my tool might not be performing? >> > >> > FWIW, I'm using externalsrc to build non linux-yocto kernels but, to make >> > it work, I had to overwrite the KERNEL_CONFIG_COMMAND: >> > >> > KERNEL_CONFIG_COMMAND = "oe_runmake_call -C ${S} O=${B} oldnoconfig || yes >> > '' | oe_runmake -C ${S} O=${B} oldconfig" >> >> For an externalsrc kernel, we've always skipped configure* completely. >> If the user is providing the kernel, it should also be configured. We don't >> want the build system changing anything at all, including the config that is >> in place. > > OK, that makes sense - but all I'm doing is enabling externalsrc for the > kernel, and do_configure is still being executed. Perhaps that's something that > shouldn't be happening (needs to be added to SRCTREECOVEREDTASKS? We don't > normally cover do_configure for other recipes.) IMHO it should be, I have it inhibited here. Still trying to get my 1.8 work cleaned up for a RFC, and I'll send you what I have for this shortly as well. Bruce > > Cheers, > Paul > > -- > > Paul Eggleton > Intel Open Source Technology Centre -- "Thou shalt not follow the NULL pointer, for chaos and madness await thee at its end" ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [RFC] kernel: Enable externalsrc on kernels which instantiate kernel.bbclass 2014-12-03 16:50 ` Bruce Ashfield @ 2014-12-04 5:28 ` Bruce Ashfield 2014-12-08 12:10 ` Paul Eggleton 0 siblings, 1 reply; 17+ messages in thread From: Bruce Ashfield @ 2014-12-04 5:28 UTC (permalink / raw) To: Paul Eggleton; +Cc: Patches and discussions about the oe-core layer On Wed, Dec 3, 2014 at 11:50 AM, Bruce Ashfield <bruce.ashfield@gmail.com> wrote: > On Wed, Dec 3, 2014 at 9:36 AM, Paul Eggleton > <paul.eggleton@linux.intel.com> wrote: >> On Wednesday 03 December 2014 08:14:44 Bruce Ashfield wrote: >>> On Wed, Dec 3, 2014 at 7:23 AM, Laurentiu Palcu >>> >>> <laurentiu.palcu@intel.com> wrote: >>> > Hi Paul, >>> > >>> > On Wed, Dec 03, 2014 at 12:00:31PM +0000, Paul Eggleton wrote: >>> >> On Monday 22 September 2014 13:04:47 Bruce Ashfield wrote: >>> >> > On 14-09-22 01:03 PM, Khem Raj wrote: >>> >> > > On Mon, Sep 22, 2014 at 8:27 AM, Bruce Ashfield >>> >> > > >>> >> > > <bruce.ashfield@windriver.com> wrote: >>> >> > >> But the reports we've been getting have been that externalsrc >>> >> > >> builds are working for kernels, and linux-yocto without the change >>> >> > >> in place, so I'm looking to reduce the patch footprint and >>> >> > >> re-submit. >>> >> > > >>> >> > > no, it cant work if folks were trying the usecase I have mentioned. >>> >> > > The fix is infact for >>> >> > > non linux-yocto kernels. >>> >> > >>> >> > I'll send out my updated patch shortly, it should fix both cases. >>> >> >>> >> Bruce, did you get around to doing this? >>> >> >>> >> At the moment I am trying to make my workflow tool ("devtool modify") >>> >> work with linux-yocto. I've at least got to the point where I can >>> >> extract the appropriate source from the recipe, but when I use >>> >> externalsrc to point to it and then try to build it, it doesn't even get >>> >> past do_configure, so something must be missing (make complains about >>> >> missing targets, presumably because it's running in ${B} and there's >>> >> nothing in that directory). >>> >> >>> >> Do you expect linux-yocto + externalsrc to work at the moment in master? >>> >> If >>> >> so, are there any special steps I need to do with respect to preparing >>> >> the >>> >> external source tree that my tool might not be performing? >>> > >>> > FWIW, I'm using externalsrc to build non linux-yocto kernels but, to make >>> > it work, I had to overwrite the KERNEL_CONFIG_COMMAND: >>> > >>> > KERNEL_CONFIG_COMMAND = "oe_runmake_call -C ${S} O=${B} oldnoconfig || yes >>> > '' | oe_runmake -C ${S} O=${B} oldconfig" >>> >>> For an externalsrc kernel, we've always skipped configure* completely. >>> If the user is providing the kernel, it should also be configured. We don't >>> want the build system changing anything at all, including the config that is >>> in place. >> >> OK, that makes sense - but all I'm doing is enabling externalsrc for the >> kernel, and do_configure is still being executed. Perhaps that's something that >> shouldn't be happening (needs to be added to SRCTREECOVEREDTASKS? We don't >> normally cover do_configure for other recipes.) > > IMHO it should be, I have it inhibited here. > > Still trying to get my 1.8 work cleaned up for a RFC, and I'll send > you what I have for > this shortly as well. I did manage to launch and build a 3.14 kernel externalsrc against master using the WIP progress patches. .. and it worked :) I've just finished my other developer experience patches (initial version), so this is the next thing on my list to finish on for 1.8. The patch that I currently have is broken as part of a rebase to account for other changes, but I did have the original patch, that has too large a footprint (i.e. lots of extra ${S} and ${B} manipulations that aren't all required. So I tested using it. That being said, I pushed the working patch to poky-contrib zedd/kernel-externalsrc, so you can see what the baseline is. I'm interested to hear if this hobbles along for you, and if not, what breaks. I'm building an externalsrc recipe that I put together some time ago .. so if yours isn't working, that could be the difference. Bruce > > Bruce > >> >> Cheers, >> Paul >> >> -- >> >> Paul Eggleton >> Intel Open Source Technology Centre > > > > -- > "Thou shalt not follow the NULL pointer, for chaos and madness await > thee at its end" -- "Thou shalt not follow the NULL pointer, for chaos and madness await thee at its end" ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [RFC] kernel: Enable externalsrc on kernels which instantiate kernel.bbclass 2014-12-04 5:28 ` Bruce Ashfield @ 2014-12-08 12:10 ` Paul Eggleton 2014-12-08 14:32 ` Bruce Ashfield 0 siblings, 1 reply; 17+ messages in thread From: Paul Eggleton @ 2014-12-08 12:10 UTC (permalink / raw) To: Bruce Ashfield, Patches and discussions about the oe-core layer On Thursday 04 December 2014 00:28:24 Bruce Ashfield wrote: > On Wed, Dec 3, 2014 at 11:50 AM, Bruce Ashfield > > <bruce.ashfield@gmail.com> wrote: > > On Wed, Dec 3, 2014 at 9:36 AM, Paul Eggleton > > > > <paul.eggleton@linux.intel.com> wrote: > >> On Wednesday 03 December 2014 08:14:44 Bruce Ashfield wrote: > >>> On Wed, Dec 3, 2014 at 7:23 AM, Laurentiu Palcu > >>> > >>> <laurentiu.palcu@intel.com> wrote: > >>> > Hi Paul, > >>> > > >>> > On Wed, Dec 03, 2014 at 12:00:31PM +0000, Paul Eggleton wrote: > >>> >> On Monday 22 September 2014 13:04:47 Bruce Ashfield wrote: > >>> >> > On 14-09-22 01:03 PM, Khem Raj wrote: > >>> >> > > On Mon, Sep 22, 2014 at 8:27 AM, Bruce Ashfield > >>> >> > > > >>> >> > > <bruce.ashfield@windriver.com> wrote: > >>> >> > >> But the reports we've been getting have been that externalsrc > >>> >> > >> builds are working for kernels, and linux-yocto without the > >>> >> > >> change > >>> >> > >> in place, so I'm looking to reduce the patch footprint and > >>> >> > >> re-submit. > >>> >> > > > >>> >> > > no, it cant work if folks were trying the usecase I have > >>> >> > > mentioned. > >>> >> > > The fix is infact for > >>> >> > > non linux-yocto kernels. > >>> >> > > >>> >> > I'll send out my updated patch shortly, it should fix both cases. > >>> >> > >>> >> Bruce, did you get around to doing this? > >>> >> > >>> >> At the moment I am trying to make my workflow tool ("devtool modify") > >>> >> work with linux-yocto. I've at least got to the point where I can > >>> >> extract the appropriate source from the recipe, but when I use > >>> >> externalsrc to point to it and then try to build it, it doesn't even > >>> >> get > >>> >> past do_configure, so something must be missing (make complains about > >>> >> missing targets, presumably because it's running in ${B} and there's > >>> >> nothing in that directory). > >>> >> > >>> >> Do you expect linux-yocto + externalsrc to work at the moment in > >>> >> master? > >>> >> If > >>> >> so, are there any special steps I need to do with respect to > >>> >> preparing > >>> >> the > >>> >> external source tree that my tool might not be performing? > >>> > > >>> > FWIW, I'm using externalsrc to build non linux-yocto kernels but, to > >>> > make > >>> > it work, I had to overwrite the KERNEL_CONFIG_COMMAND: > >>> > > >>> > KERNEL_CONFIG_COMMAND = "oe_runmake_call -C ${S} O=${B} oldnoconfig || > >>> > yes > >>> > '' | oe_runmake -C ${S} O=${B} oldconfig" > >>> > >>> For an externalsrc kernel, we've always skipped configure* completely. > >>> If the user is providing the kernel, it should also be configured. We > >>> don't > >>> want the build system changing anything at all, including the config > >>> that is in place. > >> > >> OK, that makes sense - but all I'm doing is enabling externalsrc for the > >> kernel, and do_configure is still being executed. Perhaps that's > >> something that shouldn't be happening (needs to be added to > >> SRCTREECOVEREDTASKS? We don't normally cover do_configure for other > >> recipes.) > > > > IMHO it should be, I have it inhibited here. > > > > Still trying to get my 1.8 work cleaned up for a RFC, and I'll send > > you what I have for > > this shortly as well. > > I did manage to launch and build a 3.14 kernel externalsrc against master > using the WIP progress patches. > > .. and it worked :) > > I've just finished my other developer experience patches (initial > version), so this is > the next thing on my list to finish on for 1.8. > > The patch that I currently have is broken as part of a rebase to > account for other > changes, but I did have the original patch, that has too large a > footprint (i.e. lots > of extra ${S} and ${B} manipulations that aren't all required. So I > tested using it. > > That being said, I pushed the working patch to poky-contrib > zedd/kernel-externalsrc, > so you can see what the baseline is. > > I'm interested to hear if this hobbles along for you, and if not, what > breaks. I'm building an externalsrc recipe that I put together some time ago > .. so if yours isn't working, that could be the difference. I can't get this to work; at least what I was going to attempt was a build of just the kernel first and then extract the source to try externalsrc. I can't even do that however: ------------- snip ------------- $ bitbake virtual/kernel Parsing recipes: 100% Parsing of 897 .bb files complete (0 cached, 897 parsed). 1296 targets, 41 skipped, 0 masked, 0 errors. NOTE: Resolving any missing task queue dependencies Build Configuration: BB_VERSION = "1.25.0" BUILD_SYS = "x86_64-linux" NATIVELSBSTRING = "Fedora-20" TARGET_SYS = "x86_64-poky-linux" MACHINE = "qemux86-64" DISTRO = "poky" DISTRO_VERSION = "1.7" TUNE_FEATURES = "m64 core2" TARGET_FPU = "" meta meta-yocto meta-yocto-bsp workspace = "paule/devtool-kerneltest:24b6a5242546ad5e6b6c9413d1eeb2465f79a91b" NOTE: Preparing RunQueue NOTE: Executing SetScene Tasks NOTE: Executing RunQueue Tasks WARNING: Failed to fetch URL git://git.yoctoproject.org/linux-yocto-3.14.git;bareclone=1;branch=standard/common-pc-64/base,meta;name=machine,meta, attempting MIRRORS if available ERROR: Fetcher failure: Unable to find revision c100e8665052051487a17169748c457829d3f88c in branch standard/common-pc-64/base even from upstream ERROR: Function failed: Fetcher failure for URL: 'git://git.yoctoproject.org/linux-yocto-3.14.git;bareclone=1;branch=standard/common-pc-64/base,meta;name=machine,meta'. Unable to fetch URL from any source. ERROR: Logfile of failure stored in: /home/paul/poky/poky/build/tmp/work/qemux86_64-poky-linux/linux-yocto/3.14.24+gitAUTOINC+fba2d0cdb7_c100e86650-r0/temp/log.do_fetch.26831 ERROR: Task 6 (/home/paul/poky/poky/meta/recipes-kernel/linux/linux-yocto_3.14.bb, do_fetch) failed with exit code '1' ------------- snip ------------- Cheers, Paul -- Paul Eggleton Intel Open Source Technology Centre ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [RFC] kernel: Enable externalsrc on kernels which instantiate kernel.bbclass 2014-12-08 12:10 ` Paul Eggleton @ 2014-12-08 14:32 ` Bruce Ashfield 0 siblings, 0 replies; 17+ messages in thread From: Bruce Ashfield @ 2014-12-08 14:32 UTC (permalink / raw) To: Paul Eggleton; +Cc: Patches and discussions about the oe-core layer On Mon, Dec 8, 2014 at 7:10 AM, Paul Eggleton <paul.eggleton@linux.intel.com> wrote: > On Thursday 04 December 2014 00:28:24 Bruce Ashfield wrote: >> On Wed, Dec 3, 2014 at 11:50 AM, Bruce Ashfield >> >> <bruce.ashfield@gmail.com> wrote: >> > On Wed, Dec 3, 2014 at 9:36 AM, Paul Eggleton >> > >> > <paul.eggleton@linux.intel.com> wrote: >> >> On Wednesday 03 December 2014 08:14:44 Bruce Ashfield wrote: >> >>> On Wed, Dec 3, 2014 at 7:23 AM, Laurentiu Palcu >> >>> >> >>> <laurentiu.palcu@intel.com> wrote: >> >>> > Hi Paul, >> >>> > >> >>> > On Wed, Dec 03, 2014 at 12:00:31PM +0000, Paul Eggleton wrote: >> >>> >> On Monday 22 September 2014 13:04:47 Bruce Ashfield wrote: >> >>> >> > On 14-09-22 01:03 PM, Khem Raj wrote: >> >>> >> > > On Mon, Sep 22, 2014 at 8:27 AM, Bruce Ashfield >> >>> >> > > >> >>> >> > > <bruce.ashfield@windriver.com> wrote: >> >>> >> > >> But the reports we've been getting have been that externalsrc >> >>> >> > >> builds are working for kernels, and linux-yocto without the >> >>> >> > >> change >> >>> >> > >> in place, so I'm looking to reduce the patch footprint and >> >>> >> > >> re-submit. >> >>> >> > > >> >>> >> > > no, it cant work if folks were trying the usecase I have >> >>> >> > > mentioned. >> >>> >> > > The fix is infact for >> >>> >> > > non linux-yocto kernels. >> >>> >> > >> >>> >> > I'll send out my updated patch shortly, it should fix both cases. >> >>> >> >> >>> >> Bruce, did you get around to doing this? >> >>> >> >> >>> >> At the moment I am trying to make my workflow tool ("devtool modify") >> >>> >> work with linux-yocto. I've at least got to the point where I can >> >>> >> extract the appropriate source from the recipe, but when I use >> >>> >> externalsrc to point to it and then try to build it, it doesn't even >> >>> >> get >> >>> >> past do_configure, so something must be missing (make complains about >> >>> >> missing targets, presumably because it's running in ${B} and there's >> >>> >> nothing in that directory). >> >>> >> >> >>> >> Do you expect linux-yocto + externalsrc to work at the moment in >> >>> >> master? >> >>> >> If >> >>> >> so, are there any special steps I need to do with respect to >> >>> >> preparing >> >>> >> the >> >>> >> external source tree that my tool might not be performing? >> >>> > >> >>> > FWIW, I'm using externalsrc to build non linux-yocto kernels but, to >> >>> > make >> >>> > it work, I had to overwrite the KERNEL_CONFIG_COMMAND: >> >>> > >> >>> > KERNEL_CONFIG_COMMAND = "oe_runmake_call -C ${S} O=${B} oldnoconfig || >> >>> > yes >> >>> > '' | oe_runmake -C ${S} O=${B} oldconfig" >> >>> >> >>> For an externalsrc kernel, we've always skipped configure* completely. >> >>> If the user is providing the kernel, it should also be configured. We >> >>> don't >> >>> want the build system changing anything at all, including the config >> >>> that is in place. >> >> >> >> OK, that makes sense - but all I'm doing is enabling externalsrc for the >> >> kernel, and do_configure is still being executed. Perhaps that's >> >> something that shouldn't be happening (needs to be added to >> >> SRCTREECOVEREDTASKS? We don't normally cover do_configure for other >> >> recipes.) >> > >> > IMHO it should be, I have it inhibited here. >> > >> > Still trying to get my 1.8 work cleaned up for a RFC, and I'll send >> > you what I have for >> > this shortly as well. >> >> I did manage to launch and build a 3.14 kernel externalsrc against master >> using the WIP progress patches. >> >> .. and it worked :) >> >> I've just finished my other developer experience patches (initial >> version), so this is >> the next thing on my list to finish on for 1.8. >> >> The patch that I currently have is broken as part of a rebase to >> account for other >> changes, but I did have the original patch, that has too large a >> footprint (i.e. lots >> of extra ${S} and ${B} manipulations that aren't all required. So I >> tested using it. >> >> That being said, I pushed the working patch to poky-contrib >> zedd/kernel-externalsrc, >> so you can see what the baseline is. >> >> I'm interested to hear if this hobbles along for you, and if not, what >> breaks. I'm building an externalsrc recipe that I put together some time ago >> .. so if yours isn't working, that could be the difference. > > I can't get this to work; at least what I was going to attempt was a build of > just the kernel first and then extract the source to try externalsrc. I can't > even do that however: Mine definitely built (and booted), let me send you the externalsrc recipe I was using as well. That being said, I'm also about to send a series that re-works that parts of kernel.bbclass that this touches, so I'm also fixing and rebasing that externalsrc support now. So poking at it makes sense, but doing any significant work should wait until I have that update done. Bruce > > ------------- snip ------------- > $ bitbake virtual/kernel > Parsing recipes: 100% > Parsing of 897 .bb files complete (0 cached, 897 parsed). 1296 targets, 41 skipped, 0 masked, 0 errors. > NOTE: Resolving any missing task queue dependencies > > Build Configuration: > BB_VERSION = "1.25.0" > BUILD_SYS = "x86_64-linux" > NATIVELSBSTRING = "Fedora-20" > TARGET_SYS = "x86_64-poky-linux" > MACHINE = "qemux86-64" > DISTRO = "poky" > DISTRO_VERSION = "1.7" > TUNE_FEATURES = "m64 core2" > TARGET_FPU = "" > meta > meta-yocto > meta-yocto-bsp > workspace = "paule/devtool-kerneltest:24b6a5242546ad5e6b6c9413d1eeb2465f79a91b" > > NOTE: Preparing RunQueue > NOTE: Executing SetScene Tasks > NOTE: Executing RunQueue Tasks > WARNING: Failed to fetch URL git://git.yoctoproject.org/linux-yocto-3.14.git;bareclone=1;branch=standard/common-pc-64/base,meta;name=machine,meta, attempting MIRRORS if available > ERROR: Fetcher failure: Unable to find revision c100e8665052051487a17169748c457829d3f88c in branch standard/common-pc-64/base even from upstream > ERROR: Function failed: Fetcher failure for URL: 'git://git.yoctoproject.org/linux-yocto-3.14.git;bareclone=1;branch=standard/common-pc-64/base,meta;name=machine,meta'. Unable to fetch URL from any source. > ERROR: Logfile of failure stored in: /home/paul/poky/poky/build/tmp/work/qemux86_64-poky-linux/linux-yocto/3.14.24+gitAUTOINC+fba2d0cdb7_c100e86650-r0/temp/log.do_fetch.26831 > ERROR: Task 6 (/home/paul/poky/poky/meta/recipes-kernel/linux/linux-yocto_3.14.bb, do_fetch) failed with exit code '1' > ------------- snip ------------- > > Cheers, > Paul > > -- > > Paul Eggleton > Intel Open Source Technology Centre -- "Thou shalt not follow the NULL pointer, for chaos and madness await thee at its end" ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [RFC] kernel: Enable externalsrc on kernels which instantiate kernel.bbclass 2014-12-03 12:00 ` Paul Eggleton 2014-12-03 12:23 ` Laurentiu Palcu @ 2014-12-03 13:12 ` Bruce Ashfield 1 sibling, 0 replies; 17+ messages in thread From: Bruce Ashfield @ 2014-12-03 13:12 UTC (permalink / raw) To: Paul Eggleton; +Cc: Patches and discussions about the oe-core layer On Wed, Dec 3, 2014 at 7:00 AM, Paul Eggleton <paul.eggleton@linux.intel.com> wrote: > On Monday 22 September 2014 13:04:47 Bruce Ashfield wrote: >> On 14-09-22 01:03 PM, Khem Raj wrote: >> > On Mon, Sep 22, 2014 at 8:27 AM, Bruce Ashfield >> > >> > <bruce.ashfield@windriver.com> wrote: >> >> But the reports we've been getting have been that externalsrc >> >> builds are working for kernels, and linux-yocto without the change >> >> in place, so I'm looking to reduce the patch footprint and re-submit. >> > >> > no, it cant work if folks were trying the usecase I have mentioned. >> > The fix is infact for >> > non linux-yocto kernels. >> >> I'll send out my updated patch shortly, it should fix both cases. > > Bruce, did you get around to doing this? > > At the moment I am trying to make my workflow tool ("devtool modify") work with > linux-yocto. I've at least got to the point where I can extract the > appropriate source from the recipe, but when I use externalsrc to point to it > and then try to build it, it doesn't even get past do_configure, so something > must be missing (make complains about missing targets, presumably because it's > running in ${B} and there's nothing in that directory). I do have an updated patch that I've been carrying in my tree, but it still is too large, with too many touches to be ready. Finishing it was in my 1.8 tasks, and I've been working with it as part of my kernel developer changes. I can probably fire something out by end of week (I haven't tested it in over a week, so it is likely broken again). > > Do you expect linux-yocto + externalsrc to work at the moment in master? If > so, are there any special steps I need to do with respect to preparing the > external source tree that my tool might not be performing? Let me check, and get back to you on that. Bruce > > Cheers, > Paul > > -- > > Paul Eggleton > Intel Open Source Technology Centre > -- > _______________________________________________ > Openembedded-core mailing list > Openembedded-core@lists.openembedded.org > http://lists.openembedded.org/mailman/listinfo/openembedded-core -- "Thou shalt not follow the NULL pointer, for chaos and madness await thee at its end" ^ permalink raw reply [flat|nested] 17+ messages in thread
end of thread, other threads:[~2014-12-08 14:32 UTC | newest] Thread overview: 17+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2014-02-06 10:05 [RFC][PATCH] kernel: Enable externalsrc on kernels which instantiate kernel.bbclass Khem Raj 2014-02-06 13:38 ` Bruce Ashfield 2014-02-06 19:26 ` Bruce Ashfield 2014-02-06 19:36 ` Khem Raj 2014-09-22 15:24 ` [RFC] " Paul Eggleton 2014-09-22 15:27 ` Bruce Ashfield 2014-09-22 17:03 ` Khem Raj 2014-09-22 17:04 ` Bruce Ashfield 2014-12-03 12:00 ` Paul Eggleton 2014-12-03 12:23 ` Laurentiu Palcu 2014-12-03 13:14 ` Bruce Ashfield 2014-12-03 14:36 ` Paul Eggleton 2014-12-03 16:50 ` Bruce Ashfield 2014-12-04 5:28 ` Bruce Ashfield 2014-12-08 12:10 ` Paul Eggleton 2014-12-08 14:32 ` Bruce Ashfield 2014-12-03 13:12 ` Bruce Ashfield
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox