[yocto] [meta-raspberrypi] Disable kernel option via fragment Rpi3

Jonathan Haws Jonathan.Haws at sdl.usu.edu
Fri Jun 24 21:44:44 PDT 2016


I'm trying to build an image for an Rpi3 and am having some difficulty.

I've created and posted a meta-batman layer to bring the latest BATMAN 
Advanced module and userspace tools to Yocto.  I haven't had any 
troubles getting this layer to work with other architectures, but am 
having troubles with the Raspberry Pi.

The error I am getting is at the end of this email.  I believe it has to 
do with the fact that the kernel configuration has the BATMAN module 
enabled, but I am trying to build it externally.  I've tried adding 
kernel configuration fragments to disable this option, but with no luck.

I found that if I add "kernel_configure_variable CONFIG_BATMAN_ADV n" to 
linux-rpi.inc the command kernel_configme will show that the option is 
disabled in the generated .config, but when I try to build an image I 
get the same error and the configuration has the module enabled again.

What is the best way to use fragments with Raspberry Pi images?  Am I 
missing something?

Thanks!
Jon



ERROR: The recipe linux-raspberrypi is trying to install files into a 
shared area when those files already exist. Those files and their 
manifest location are:
 
/opt/yocto/poky/build-pi/tmp/sysroots/raspberrypi3/pkgdata/runtime/kernel-module-batman-adv
  Matched in manifest-raspberrypi3-batman-adv.packagedata
 
/opt/yocto/poky/build-pi/tmp/sysroots/raspberrypi3/pkgdata/runtime/kernel-module-batman-adv.packaged
  Matched in manifest-raspberrypi3-batman-adv.packagedata
 
/opt/yocto/poky/build-pi/tmp/sysroots/raspberrypi3/pkgdata/runtime-reverse/kernel-module-batman-adv
  Matched in manifest-raspberrypi3-batman-adv.packagedata
Please verify which recipe should provide the above files.
The build has stopped as continuing in this scenario WILL break things, 
if not now, possibly in the future (we've seen builds fail several 
months later). If the system knew how to recover from this automatically 
it would however there are several different scenarios which can result 
in this and we don't know which one this is. It may be you have switched 
providers of something like virtual/kernel (e.g. from linux-yocto to 
linux-yocto-dev), in that case you need to execute the clean task for 
both recipes and it will resolve this error. It may be you changed 
DISTRO_FEATURES from systemd to udev or vice versa. Cleaning those 
recipes should again resolve this error however switching 
DISTRO_FEATURES on an existing build directory is not supported, you 
should really clean out tmp and rebuild (reusing sstate should be safe). 
It could be the overlapping files detected are harmless in which case 
adding them to SSTATE_DUPWHITELIST may be the correct solution. It could 
also be your build is including two different conflicting versions of 
things (e.g. bluez 4 and bluez 5 and the correct solution for that would 
be to resolve the conflict. If in doubt, please ask on the mailing list, 
sharing the error and filelist above.
ERROR: If the above message is too much, the simpler version is you're 
advised to wipe out tmp and rebuild (reusing sstate is fine). That will 
likely fix things in most (but not all) cases.
ERROR: Function failed: sstate_task_postfunc
ERROR: Logfile of failure stored in: 
/opt/yocto/poky/build-pi/tmp/work/raspberrypi3-sigma-linux-gnueabi/linux-raspberrypi/1_4.1.21+gitAUTOINC+ff45bc0e89-r0/temp/log.do_packagedata.123616
ERROR: Task 57 
(/opt/yocto/poky/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_4.1.bb, 
do_packagedata) failed with exit code '1'



-- 
Jonathan R. Haws
Embedded Engineer
Space Dynamics Laboratory
jhaws at sdl.usu.edu



More information about the yocto mailing list