首先我运行命令查看我的图层:
$bitbake-layers show-layers
layer path priority
meta .../poky-krogoth-15.0.0/meta 5
meta-poky .../poky-krogoth-15.0.0/meta-poky 5
meta-yocto-bsp .../poky-krogoth-15.0.0/meta-yocto-bsp 5
meta-oe .../meta-openembedded/meta-oe 6
并构建我的形象:
bitbake core-image-sato
一切都好,我发现meta-oe层没用。所以我删除了它:
bitbake-layers remove-layer .../meta-openembedded/meta-oe
并重新构建:
$bitbake core-image-sato
显示错误:
错误:core-image-sato-1.0-r0 do_rootfs:无法安装软件包。
命令 ' /buildarea/ddu/poky-krogoth-15.0.0/build-beaglebone/tmp/sysroots/x86_64-linux/usr/bin/smart --log-level = warning --data-dir = / buildarea / ddu / poky-krogoth-15.0.0 / build-beaglebone / tmp / work / beaglebone-poky-linux-gnueabi / core-image-sato / 1.0- R0 /根文件系统的/ var / lib中/智能 安装-y packagegroup-core-ssh-dropbear @ all packagegroup核-X11-佐藤游戏@ beaglebone packagegroup-core-x11-base @ all smartpm @ cortexa8hf_neon psplash @ cortexa8hf_neon packagegroup-core-boot @ beaglebone packagegroup-base-extended @ beaglebone rpm @ cortexa8hf_neon packagegroup核-X11-佐藤@ beaglebone locale-base-en-us @ cortexa8hf_neon locale-base-en-gb @ cortexa8hf_neon' 返回1:
加载缓存... 更新缓存...
################################### [100%]计算交易...错误:无法安装 packagegroup-core-x11-utils-1.0-r40@all:没有包提供 的xserver-nodm-INIT
错误:core-image-sato-1.0-r0 do_rootfs:函数失败:do_rootfs 错误:存储在以下位置的故障日志文件: /buildarea/ddu/poky-krogoth-15.0.0/build-beaglebone/tmp/work/beaglebone-poky-linux-gnueabi/core-image-sato/1.0-r0/temp/log.do_rootfs.52174 错误:任务9 (/buildarea/ddu/poky-krogoth-15.0.0/meta/recipes-sato/images/core-image-sato.bb, do_rootfs)因退出代码' 1'
而失败
为什么它说没有包提供xserver-nodm-init?
$find ../meta -name xserver-nodm-init*
../meta/recipes-graphics/x11-common/xserver-nodm-init.bb
../meta/recipes-graphics/x11-common/xserver-nodm-init
答案 0 :(得分:2)
由于meta-oe目前替换某些X11启动组件的方式,如果你在bblayers.conf中使用meta-oe构建X11然后决定要删除元数据,那么你几乎需要删除TMPDIR。 oe(正如你所做的那样)。但是,如果您现在只是删除TMPDIR但是不您的sstate-cache然后再试一次它会将所有内容恢复到sstate的位置,而不需要重新编译所有内容,问题应该是得到解决。
什么元素正在做什么是不可取的,有一个bug可以修复它:
https://bugzilla.yoctoproject.org/show_bug.cgi?id=5546
它分配给我,我很伤心地说,我还没有时间去解决它为止;它似乎也不是其他任何人的优先事项。
答案 1 :(得分:0)
首先。为什么你认为meta-oe是无用的?
你为什么要删除它?它没有害处吗?
一般规则是。如果没有破坏,请不要修理它。 像你说的。把一切都放回去,它会起作用。