[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