具体错误信息如下:
ycx@ycx-virtual-machine:~/rasp_buid$ bitbake rpi-test-image
Loading cache: 100% | | ETA: --:--:--
Loaded 0 entries from dependency cache.
Parsing recipes: 100% |###################################################################################################| Time: 0:01:06
Parsing of 956 .bb files complete (0 cached, 956 parsed). 1913 targets, 71 skipped, 0 masked, 0 errors.
NOTE: Resolving any missing task queue dependencies
ERROR: Nothing RPROVIDES 'linux-firmware-rpidistro-bcm43456' (but /home/ycx/poky/meta/recipes-core/packagegroups/packagegroup-base.bb, /h ome/ycx/meta-raspberrypi/recipes-core/packagegroups/packagegroup-rpi-test.bb RDEPENDS on or otherwise requires it)
linux-firmware-rpidistro RPROVIDES linux-firmware-rpidistro-bcm43456 but was skipped: Has a restricted license 'synaptics-killswitch' which is not listed in your LICENSE_FLAGS_ACCEPTED.
NOTE: Runtime target 'linux-firmware-rpidistro-bcm43456' is unbuildable, removing...
Missing or unbuildable dependency chain was: ['linux-firmware-rpidistro-bcm43456']
NOTE: Runtime target 'packagegroup-base-extended' is unbuildable, removing...
Missing or unbuildable dependency chain was: ['packagegroup-base-extended', 'linux-firmware-rpidistro-bcm43456']
ERROR: Required build target 'rpi-test-image' has no buildable providers.
Missing or unbuildable dependency chain was: ['rpi-test-image', 'packagegroup-base-extended', 'linux-firmware-rpidistro-bcm43456']
Summary: There were 2 ERROR messages, returning a non-zero exit code.
构建失败的原因是 linux-firmware-rpidistro-bcm43456 软件包的许可证 synaptics-killswitch 未被 Yocto 接受。以下是具体解决方案和步骤:
- 错误核心信息显示:
Has a restricted license 'synaptics-killswitch' which is not listed in your LICENSE_FLAGS_ACCEPTED
原因:Yocto 默认会阻止带有特殊许可证(如专利或商业限制)的软件包,需手动将其加入白名单。
- 解决方法:
修改 conf/local.conf 文件,添加以下配置:
LICENSE_FLAGS_ACCEPTED += "synaptics-killswitch"
如果存在其他受限许可证(如 commercial),可一并添加:
LICENSE_FLAGS_ACCEPTED = "synaptics-killswitch commercial"