首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Yocto构建错误:使用debian包管理构建映像

Yocto构建错误:使用debian包管理构建映像
EN

Stack Overflow用户
提问于 2020-01-13 12:46:11
回答 1查看 1.1K关注 0票数 0

我已经用默认的RPM包管理构建了映像,但是现在我想用debian包管理来构建映像,而不是使用RPM,Yocto在image do_rootfs步骤的最后几步返回一个错误。

错误;

代码语言:javascript
复制
update-alternatives: Error: not linking /home/yoctouser/build/tmp/work/myimage/1.0-r0/rootfs/usr/bin/dpkg-deb to /bin/busybox.nosuid since /home/yoctouser/build/tmp/work/jetson_nano-poky-linux/myimage/1.0-r0/rootfs/usr/bin/dpkg-deb exists and is not a link

ERROR: myimage-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 /home/yoctouser/build/tmp/work/jetson_nano-poky-linux/myimage/1.0-r0/temp/log.do_rootfs.
ERROR: myimage-1.0-r0 do_rootfs: 
ERROR: myimage-1.0-r0 do_rootfs: Function failed: do_rootfs
ERROR: Logfile of failure stored in: /home/yoctouser/build/tmp/work/jetson_nano-poky-linux/myimage/1.0-r0/temp/log.do_rootfs.9391
ERROR: Task (/home/yoctouser/layers/meta-mylayer/images/myimage.bb:do_rootfs) failed with exit code '1'

在一起构建debian包管理和busybox似乎有问题。

image.bb:

代码语言:javascript
复制
DESCRIPTION = "Test image."

inherit core-image

inherit distro_features_check

IMAGE_FEATURES += "package-management"

IMAGE_LINGUAS ?= " "

IMAGE_INSTALL += " \
    ifupdown \
    dropbear \
"

export IMAGE_BASENAME = "myimage"

构建image-core-minimal是没有错误的。删除tmp文件夹没有任何更改。

-编辑:

bblayers.bb:

代码语言:javascript
复制
  /home/yoctouser/layers/poky-zeus/meta \
  /home/yoctouser/layers/poky-zeus/meta-poky \
  /home/yoctouser/layers/poky-zeus/meta-yocto-bsp \
  /home/yoctouser/layers/meta-tegra \
  /home/yoctouser/layers/meta-linaro/meta-linaro-toolchain \
  /home/yoctouser/layers/meta-openembedded/meta-virtualization \
  /home/yoctouser/layers/meta-openembedded/meta-oe \
  /home/yoctouser/layers/meta-openembedded/meta-filesystems \
  /home/yoctouser/layers/meta-openembedded/meta-selinux \
  /home/yoctouser/layers/meta-openembedded/meta-security \
  /home/yoctouser/layers/meta-openembedded/meta-python \
  /home/yoctouser/layers/meta-openembedded/meta-iot-cloud \
  /home/yoctouser/layers/meta-openembedded/meta-perl \
  /home/yoctouser/layers/meta-openembedded/meta-multimedia \
  /home/yoctouser/layers/meta-openembedded/meta-networking \

所有层都使用宙斯分支,在撰写本文时还没有宙斯分支。meta的主分支与layer.conf中的yocto/poky zeus分支进行了状态匹配,到目前为止还没有出现任何问题。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-01-13 14:10:50

我发现我使用的一个层,meta-linaro,有一个.bbappendbusybox,它将dpkg-deb配置为链接到busybox。我为meta-linaro层创建了一个修补程序,该修补程序删除了配置和voilà,构建成功完成。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59716949

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档