Yocto do_rootfs:['busybox'] 的安装后 scriptlet 失败

问题描述 投票:0回答:2

我正在构建 Yocto(重击)图像,但在

do_rootfs
期间出现错误:

update-alternatives:错误:自 xxx/tmp/work/ 起未将 xxx/tmp/work/cc-dey-linux/dey-image/1.0-r0/rootfs/usr/sbin/rtcwake 链接到 /bin/busybox.nosuid cc-dey-linux/dey-image/1.0-r0/rootfs/usr/sbin/rtcwake 存在,但不是链接

然后详细错误:

ERROR: dey-image-1.0-r0 do_rootfs: Postinstall scriptlets of ['busybox'] have failed. If the intention is to defer them to first boot,
then please place them into pkg_postinst_ontarget_${PN} ().
Deferring to first boot via 'exit 1' is no longer supported.
Details of the failure are in xxx/tmp/work/cc-dey-linux/dey-image/1.0-r0/temp/log.do_rootfs.
ERROR: dey-image-1.0-r0 do_rootfs: Function failed: do_rootfs
ERROR: Logfile of failure stored in: xxx/tmp/work/cc-dey-linux/dey-image/1.0-r0/temp/log.do_rootfs.835055

log.do_rootfs.835055
的文件中,有与上面相同的错误日志。

我想我有3个选择:

  1. 更新
    update-alternatives
    ,但真的不知道如何
  2. 作为错误消息,使用
    pkg_postinst_ontarget_${PN} ()

但是 它们 是什么“将它们放入 pkg_postinst_ontarget_${PN} ()”?

  1. 使用 menuconfig 禁用
    rtcwake
    中的
    busybox

其他文章说这个错误是因为busybox重复,这个选项有副作用吗?

有任何例子来展示如何使用

pkg_postinst_ontarget_${PN} ()
吗?

谢谢。

yocto busybox rootfs
2个回答
0
投票

您很可能尝试在 rootfs 中安装两个版本的 rtcwake,来自 Busybox 的版本失败,因为另一个版本已经存在。

应用选项 3 或找到其他 rtcwake 将其禁用。

问题是 Yocto 在构建期间使用与通过包管理器安装时在目标上安装包相同的机制在 rootfs 中安装包。因此,如果安装附加软件包(例如使用 opkg)时目标上出现此问题,则可以使用选项 1 和 2。


0
投票

您如何获得错误消息的第一部分

块引用 update-alternatives:错误:自 xxx/tmp/work/cc 起未将 xxx/tmp/work/cc-dey-linux/dey-image/1.0-r0/rootfs/usr/sbin/rtcwake 链接到 /bin/busybox.nosuid -dey-linux/dey-image/1.0-r0/rootfs/usr/sbin/rtcwake 存在且不是链接 块引用

我有一个非常相似的问题,但看不到错误消息的第一部分,但我得到了第二部分

© www.soinside.com 2019 - 2024. All rights reserved.