安装deb软件包的bitbake食谱

rat

我想在yocto映像中安装自己的自定义deb软件包。为此,我正在使用下面的mydebpkg.bb配方,使用ROOTFS_POSTPROCESS_COMMAND

SUMMARY = "Recipe for installing deb package"
DESCRIPTION = "It installs own deb package"
HOMEPAGE = "" 
LICENSE = "CLOSED"

inherit bin_package

my_install_pkg_deb() {

${STAGING_BINDIR_NATIVE}/dpkg \

--root=${IMAGE_ROOTFS}/ --admindir=${IMAGE_ROOTFS}/var/lib/dpkg/  \

-i /home/pi1/install/own_1.3-07u_armhf.deb

}

ROOTFS_POSTPROCESS_COMMAND +=  "my_install_pkg_deb; "

但是,在构建映像时,该过程失败,并出现以下错误,无法安装软件包mydebpkg,并且功能失败:do_rootfs我在哪里出错,安装任何deb软件包的正确方法是什么?

ɛIc_ↄIз

安装预编译的.deb是一个糟糕的决定,您应该避免在任何时候能够从源代码编译软件包的情况下这样做。如果不是这种情况,我建议做这样的事情:

SUMMARY = "Recipe for installing deb package"
DESCRIPTION = "It installs own deb package"
HOMEPAGE = ""
LICENSE = "CLOSED"

DEPENDS += " dpkg-native "

SRC_URI += " \
    file://own_1.3-07u_armhf.deb.zip \
"

do_install_append() {
    touch ${STAGING_DIR_NATIVE}/var/lib/dpkg/status
    ${STAGING_BINDIR_NATIVE}/dpkg --instdir=${D}/ \
    --admindir=${STAGING_DIR_NATIVE}/var/lib/dpkg/ \
     -i ${WORKDIR}/own_1.3-07u_armhf.deb
}

因此:使用SRC_URI变量让bitbake将.deb文件复制到工作目录中。我建议您压缩文件,因为bitbake尝试解压缩您提供给他的所有档案,而.deb只是另一个档案。因此,将其打包为zip,然后让bitbake将您的.deb文件带到工作目录中。将.deb.zip文件放在/ path / to / your / recipe / files文件夹中。切记:切勿在yocto中使用绝对路径!然后在do_install函数中调用dpkg将.deb文件安装到软件包的deploy dir中。此代码不完整,因为成功安装后(不要忘记解决冲突),您将获得已安装但未包含在任何软件包中的文件和目录的列表。您将需要添加到配方FILES_${PN}变量:

FILES_${PN} += " \
    /usr/bin/some_file \
    /etc/some_config_file \
    /and_so_on \
"

您可以从错误消息中获取需要添加的完整列表。请记住:仅当您的目标体系结构与主机体系结构相同时,此方法才有效。对于您使用的STAGING_BINDIR_NATIVE变量而言,情况确实如此,关于您的包中包含的arm情况并非如此。

Este artigo é coletado da Internet.

Se houver alguma infração, entre em [email protected] Delete.

editar em
0

deixe-me dizer algumas palavras

0comentários
loginDepois de participar da revisão

Artigos relacionados

TOP lista

quentelabel

Arquivo