On 2/5/14, 20:30, "Bruce Ashfield" <[email protected]> wrote:
>On Wed, Feb 5, 2014 at 11:02 PM, Darren Hart <[email protected]> >wrote: >> The current linux-yocto build dir (B) includes MACHINE. This has been >> appropriate as kernels are typically built machine-specific. We have >> recently introduced an intel-common type kernel which can be shared >> across multiple machines sharing a common base (intel-core2-32, >> intel-corei7-64). In these cases, the kernel is built for a something >> more generic than MACHINE, and the current mechanism results in >> something like this when building for MACHINE=sys940x (using >>intel-common): >> >> tmp/work/core2-32-intel-common-poky-linux/linux-yocto-dev/ \ >> >>3.13++gitAUTOINC+e5d23e7879_889c6bec6b-r0/linux-sys940x-noemgd-standard-b >>uild >> >> Note the descrepancy between core2-32-intel-common and >> linux-sys940x-noemgd-standard-build. This becomes counterintuitive at >> the very least when switching to another machine and attempting to reuse >> this build. This patch swaps MACHINE for PACKAGE_ARCH (which is >> typically MACHINE_ARCH for linux-yocto), resulting in the following >> build path: >> >> tmp/work/core2-32-intel-common-poky-linux/linux-yocto-dev/ \ >> >>3.13++gitAUTOINC+e5d23e7879_889c6bec6b-r0/linux-core2-32-intel-common-sta >>ndard-build >> >> The impact to existing MACHINEs is a replace of - with _ if MACHINE >> contains one or more - charachters. >> >> Signed-off-by: Darren Hart <[email protected]> >> Cc: Bruce Ashfield <[email protected]> >> Cc: Richard Purdie <[email protected]> >> --- >> meta/recipes-kernel/linux/linux-yocto.inc | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/meta/recipes-kernel/linux/linux-yocto.inc >>b/meta/recipes-kernel/linux/linux-yocto.inc >> index 2bee042..4ed3188 100644 >> --- a/meta/recipes-kernel/linux/linux-yocto.inc >> +++ b/meta/recipes-kernel/linux/linux-yocto.inc >> @@ -31,7 +31,7 @@ inherit kernel >> inherit kernel-yocto >> require linux-dtb.inc >> >> -B = "${WORKDIR}/linux-${MACHINE}-${LINUX_KERNEL_TYPE}-build" >> +B = "${WORKDIR}/linux-${PACKAGE_ARCH}-${LINUX_KERNEL_TYPE}-build" > >But for truly machine specific kernel builds, won't this cause us >collisions ? I don't see how. Note the build paths above. For truly machine-specifc builds, the WORKDIR is already machine-specific (because the PACKAGE_ARCH is MACHINE_ARCH), so there is no need to specify the MACHINE in the S or B dirs really at all. In fact, just calling this linux-build without any other modifier would be fine I think. What I attempted here was in keeping with the intent of the design: identify what we are building for in the B dir. -- Darren _______________________________________________ Openembedded-core mailing list [email protected] http://lists.openembedded.org/mailman/listinfo/openembedded-core
