如何从Yocto图像中删除opkg

时间:2016-12-07 14:47:57

标签: yocto bitbake

使用Poky(v.13.0 - Yocto 1.8),我正在尝试构建core-image-minimal但不包括opkg包。

在生成的rootfs中,我仍然有一个/usr/lib/opkg/填充文件夹。

我尝试在build / conf / local.conf中使用以下内容

DISTRO_FEATURES_remove += " package-management"
IMAGE_FEATURES_remove += " package-management"
EXTRA_IMAGE_FEATURES_remove += " package-management opkg"
IMAGE_INSTALL_remove += " package-management opkg"

POKY_DEFAULT_EXTRA_RRECOMMENDS = ""

我在meta-yocto/conf/distro/poky-tiny.conf中看到了以下内容,我尝试添加(仍然在local.conf但未成功)

PACKAGECONFIG_pn-opkg-utils = ""

1 个答案:

答案 0 :(得分:2)

好吧,如果您确保IMAGE_FEATURES不包含package-management,那就足够了。 (除非您手动安装例如opkg)。

你看过/usr/lib/opkg了吗?在我的映像中,该目录仅包含alternatives,后者依次保存有关已安装应用程序的替代版本的信息。参见例如update-alternatives

您是否在/usr/lib/opkg下有任何其他文件或目录?

==============更新============== 除非您需要/需要运行update-alternatives,否则不需要这些文件。如果您执行基于包的更新,也可以运行此操作。但是,在只读rootfs上,不需要这些。

如果您希望删除/usr/lib/opkg,可以使用以下内容:

remove_alternative_files () {
    rm -rf ${IMAGE_ROOTFS}/usr/lib/opkg
}

ROOTFS_POSTPROCESS_COMMAND += "remove_alternative_files;"

可以直接在食谱中添加,也可以添加自定义图像类。