On Tue, 2016-11-29 at 17:15 +1300, Paul Eggleton wrote: > On Tue, 29 Nov 2016 11:47:40 윤영석 wrote: > > After poky the build, i look at the tmp/work folder. > > I can see these folders. > > All-poky-linux / i586-poky-linux / qemux86-poky-linux / x86_64-linux / > > > > What is the classification of each folder? > > That directory level corresponds to MULTIMACH_TARGET_SYS, whose value is > "${PACKAGE_ARCH}${TARGET_VENDOR}-${TARGET_OS}". The first variable > PACKAGE_ARCH has a default value of "${TUNE_PKGARCH}" which makes a recipe > architecture-specific by default. PACKAGE_ARCH is often set in the recipe > in two common cases: > > 1) Recipes which are packaging something that is not architecture-specific - > these should "inherit allarch" which will automatically set > PACKAGE_ARCH = "all". Note that in this situation you should use > "inherit allarch" rather than setting PACKAGE_ARCH yourself since that is > not the only thing that the allarch class takes care of. > > 2) Recipes which are packaging something that is machine-specific - these > should set PACKAGE_ARCH = "${MACHINE_ARCH}".
That's three cases - "all archictures", "machine", "target archicture", which makes sense. For example, linux-yocto and base-files are machine-specific and thus in qemux86-poky-linux. But when using meta-intel and MACHINE=intel-corei7-64 (at least in Ostro OS, haven't tried with Poky), the kernel ends up in corei7-64-intel-common-ostro-linux together with gnu-efi and intel-microcode, while base-files and the other machine specific recipes are in intel_corei7_64-ostro-linux. For qemux86 and linux-yocto, PACKAGE_ARCH=MACHINE_ARCH="qemux86". For intel-corei7-64 and linux-yocto, PACKAGE_ARCH=INTEL_COMMON_PACKAGE_ARCH="corei7-64-intel-common" (from meta-intel/conf/machine/include/intel-common-pkgarch.inc). I suppose that's because the same kernel can be used by multiple machines, so there's basically a forth level of sharing. I just wish that the naming of the resulting directories was a bit more intuitive. I'm constantly wondering what's in "corei7-64-intel-common-ostro-linux" and what's in "intel_corei7_64-ostro-linux" :-/ -- Best Regards, Patrick Ohly The content of this message is my personal opinion only and although I am an employee of Intel, the statements I make here in no way represent Intel's position on the issue, nor am I authorized to speak on behalf of Intel on this matter. -- _______________________________________________ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto