If you run devtool modify virtual/kernel followed by bitbake virtual/kernel, do_compile fails with the following error: ----- snip ----- | Using /home/paul/poky/poky/build/workspace/sources/linux-yocto as source for kernel | /home/paul/poky/poky/build/workspace/sources/linux-yocto is not clean, please run 'make mrproper' | in the '/home/paul/poky/poky/build/workspace/sources/linux-yocto' directory. | /home/paul/poky/poky/build/workspace/sources/linux-yocto/Makefile:968: recipe for target 'prepare3' failed ----- snip -----
Ugh, the .config in srctree is breaking the build. I'll send a patch to fix this.
Patch sent for review: http://lists.openembedded.org/pipermail/openembedded-core/2016-March/119084.html
Fixed in http://git.openembedded.org/openembedded-core/commit/?id=d36699b28c661880957d744420df9e23cdd76957
Verified on master "master:f7b520878babbaa7527151f22c031ae160512753" devtool modify virtual/kernel NOTE: Creating workspace layer in /.............../build/workspace NOTE: Enabling workspace layer in bblayers.conf Parsing recipes..done. NOTE: Mapping virtual/kernel to linux-yocto Parsing recipes..done. NOTE: Fetching linux-yocto... NOTE: Unpacking... NOTE: Doing kernel checkout... Already on 'standard/base' Your branch is up-to-date with 'origin/standard/base'. NOTE: Patching... NOTE: Executing do_validate_branches... NOTE: Executing do_kernel_metadata... [INFO] validating against known patches (qemux86-standard-meta) mark --> common-pc-standard.scc mark --> standard.scc mark --> base.scc mark <-- base.scc branch ===> standard/base (reuse) mark --> kgdb.scc mark <-- kgdb.scc mark --> firmware.scc mark <-- firmware.scc mark --> lttng.scc mark <-- lttng.scc mark --> blktrace.scc mark <-- blktrace.scc mark --> systemtap.scc mark --> kprobes.scc mark <-- kprobes.scc mark --> uprobe-enable.scc mark <-- uprobe-enable.scc mark <-- systemtap.scc mark --> utrace.scc mark <-- utrace.scc mark --> seccomp.scc mark <-- seccomp.scc mark --> arm.scc mark --> v7-A15.scc mark <-- v7-A15.scc mark <-- arm.scc mark --> mips.scc mark <-- mips.scc mark --> powerpc.scc mark <-- powerpc.scc mark --> x86.scc mark <-- x86.scc mark --> hrt.scc mark <-- hrt.scc mark --> ftrace.scc mark <-- ftrace.scc mark --> uprobe.scc mark --> uprobe-enable.scc mark <-- uprobe-enable.scc mark <-- uprobe.scc mark --> kprobes.scc mark <-- kprobes.scc mark --> patches.scc mark --> drivers.scc mark <-- drivers.scc mark --> build.scc mark <-- build.scc mark --> exports.scc mark <-- exports.scc mark --> boot.scc mark <-- boot.scc mark --> net.scc mark <-- net.scc mark --> debug.scc mark <-- debug.scc mark --> misc.scc mark <-- misc.scc mark <-- patches.scc mark --> initramfs.scc mark <-- initramfs.scc mark --> yaffs2.scc mark <-- yaffs2.scc mark --> aufs.scc mark <-- aufs.scc mark --> tmpfs-posix-acl.scc mark <-- tmpfs-posix-acl.scc mark --> cgroups.scc mark --> namespaces.scc mark <-- namespaces.scc mark <-- cgroups.scc mark --> net_sched.scc mark <-- net_sched.scc mark --> kexec.scc mark <-- kexec.scc mark --> cryptodev.scc mark <-- cryptodev.scc mark --> vfat.scc mark <-- vfat.scc mark --> kvm.scc mark <-- kvm.scc mark --> tipc.scc mark <-- tipc.scc mark --> xip.scc mark <-- xip.scc mark --> oprofile.scc mark <-- oprofile.scc mark --> ramconsole.scc mark <-- ramconsole.scc mark --> vdso.scc mark <-- vdso.scc mark --> fuse.scc mark <-- fuse.scc mark --> 8250.scc mark <-- 8250.scc mark --> uptime.scc mark <-- uptime.scc mark --> ktest.scc mark <-- ktest.scc mark --> perf.scc mark <-- perf.scc mark --> input.scc mark <-- input.scc mark --> bfq.scc mark <-- bfq.scc mark --> backports.scc mark <-- backports.scc mark --> devtmpfs.scc mark <-- devtmpfs.scc mark --> debugfs.scc mark <-- debugfs.scc mark --> btrfs.scc mark <-- btrfs.scc mark --> ext4.scc mark <-- ext4.scc mark --> ipsec.scc mark <-- ipsec.scc mark --> ipv6.scc mark --> ipsec6.scc mark --> ipsec.scc mark <-- ipsec.scc mark <-- ipsec6.scc mark <-- ipv6.scc mark --> ip_nf.scc mark <-- ip_nf.scc mark --> ip6_nf.scc mark <-- ip6_nf.scc mark --> bridge.scc mark <-- bridge.scc mark --> systemd.scc mark <-- systemd.scc mark --> rfkill.scc mark <-- rfkill.scc mark <-- standard.scc mark --> common-pc.scc mark --> efi-ext.scc mark <-- efi-ext.scc mark --> x86.scc mark --> x86_base.scc mark --> efi.scc mark <-- efi.scc mark --> hpet.scc mark <-- hpet.scc mark --> no_hz.scc mark <-- no_hz.scc mark <-- x86_base.scc mark --> smp.scc mark <-- smp.scc mark --> hz_1000.scc mark <-- hz_1000.scc mark <-- x86.scc mark --> amd.scc mark <-- amd.scc mark --> intel.scc mark <-- intel.scc mark --> pci.scc mark <-- pci.scc mark --> ehci-hcd.scc mark --> usb-base.scc mark <-- usb-base.scc mark <-- ehci-hcd.scc mark --> uhci-hcd.scc mark --> usb-base.scc mark <-- usb-base.scc mark <-- uhci-hcd.scc mark --> ohci-hcd.scc mark --> usb-base.scc mark <-- usb-base.scc mark <-- ohci-hcd.scc mark --> xhci-hcd.scc mark --> usb-base.scc mark <-- usb-base.scc mark <-- xhci-hcd.scc mark --> touchscreen-composite.scc mark --> usb-base.scc mark <-- usb-base.scc mark --> touchscreen.scc mark <-- touchscreen.scc mark <-- touchscreen-composite.scc mark --> intel-e100.scc mark <-- intel-e100.scc mark --> intel-e1xxxx.scc mark <-- intel-e1xxxx.scc mark --> iwlwifi.scc mark --> mac80211.scc mark <-- mac80211.scc mark <-- iwlwifi.scc mark --> iwlegacy.scc mark --> mac80211.scc mark <-- mac80211.scc mark <-- iwlegacy.scc mark --> i915.scc mark <-- i915.scc mark --> drm-gma500.scc mark <-- drm-gma500.scc mark --> bluetooth.scc mark <-- bluetooth.scc mark <-- common-pc.scc mark --> boot-live.scc mark <-- boot-live.scc mark --> usb-mass-storage.scc mark --> disk.scc mark --> scsi.scc mark <-- scsi.scc mark <-- disk.scc mark <-- usb-mass-storage.scc mark --> virtio.scc mark <-- virtio.scc mark --> media-usb-webcams.scc mark --> usb-base.cfg mark <-- usb-base.cfg mark --> media.scc mark <-- media.scc mark <-- media-usb-webcams.scc mark --> snd_hda_intel.scc mark <-- snd_hda_intel.scc mark <-- common-pc-standard.scc mark --> patch_marker.scc mark <-- patch_marker.scc mark --> nfsd-enable.scc mark <-- nfsd-enable.scc mark --> netfilter.scc mark <-- netfilter.scc mark --> virtio.scc mark <-- virtio.scc mark --> sound.scc mark <-- sound.scc mark --> paravirt_kvm.scc mark <-- paravirt_kvm.scc <=== processed .kernel-meta/cfg/scratch/qemux86-standard-meta in 9 seconds NOTE: Generating kernel config NOTE: Executing do_kernel_configme... [INFO] Configuring target/machine combo: "standard/qemux86" [INFO] Pre-processed cfg file qemux86-standard-config created. [INFO] processing of raw cfg data completed. ******************************************************************************** Configuration stored in /tmp/devtoolu5KTcO/workdir/linux-qemux86-standard-build/.config ******************************************************************************** To build with this kernel configuration, ensure a suitable toolchain is in your path for i386, note its common command prefix, and do: make O=/tmp/devtoolu5KTcO/workdir/linux-qemux86-standard-build ARCH=i386 \ CROSS_COMPILE=<cross-compile-prefix> make: Entering directory `/tmp/devtoolu5KTcO/workdir/source' make[1]: Entering directory `/tmp/devtoolu5KTcO/workdir/linux-qemux86-standard-build' GEN ./Makefile scripts/kconfig/conf --olddefconfig Kconfig .config:4317:warning: override: reassigning to symbol LOCALVERSION # # configuration written to .config # make[1]: Leaving directory `/tmp/devtoolu5KTcO/workdir/linux-qemux86-standard-build' make: Leaving directory `/tmp/devtoolu5KTcO/workdir/source' NOTE: Copying kernel config to srctree NOTE: Source tree extracted to /................/build/workspace/sources/linux-yocto NOTE: Recipe linux-yocto now set up to build from /........../build/workspace/sources/linux-yocto $ bitbake virtual/kernel Loading cache: 100% |############################################################################################################################################################| ETA: 00:00:00 Loaded 1302 entries from dependency cache. Parsing recipes: 100% |##########################################################################################################################################################| Time: 00:00:01 Parsing of 871 .bb files complete (870 cached, 1 parsed). 1301 targets, 47 skipped, 0 masked, 0 errors. NOTE: There are 1 recipes to be removed from sysroot qemux86, removing... NOTE: Resolving any missing task queue dependencies Build Configuration: BB_VERSION = "1.31.0" BUILD_SYS = "x86_64-linux" NATIVELSBSTRING = "universal" TARGET_SYS = "i586-poky-linux" MACHINE = "qemux86" DISTRO = "poky" DISTRO_VERSION = "2.1+snapshot-20160510" TUNE_FEATURES = "m32 i586" TARGET_FPU = "" meta meta-poky meta-yocto-bsp = "master:f7b520878babbaa7527151f22c031ae160512753" workspace = "<unknown>:<unknown>" NOTE: Preparing RunQueue NOTE: Executing SetScene Tasks NOTE: Executing RunQueue Tasks linux-yocto-4.4.3+git999-r0 do_compile: NOTE: linux-yocto: compiling from external source tree ................./build/workspace/sources/linux-yocto NOTE: Tasks Summary: Attempted 377 tasks of which 357 didn't need to be rerun and all succeeded.