我正在为小型嵌入式 Linux 设备构建 Yocto 镜像。文件系统上最大的文件之一是 libicudata.so,大小为 27MB。
我想通过使用此处描述的技术从该库中删除不需要的区域设置来减小图像的大小: https://lists.openembedded.org/g/openembedded-core/topic/72740450#
我为 icu 配方 ( https://git.yoctoproject.org/poky/plain/meta/recipes-support/icu/icu_72-1.bb ) 创建了一个 bbappend 并添加了以下 filter.json:
{
"localeFilter": {
"filterType": "locale",
"whitelist": [
"en"
]
}
bbappend:
FILESEXTRAPATHS:prepend := "${THISDIR}/icu:"
SRC_URI += "file://filter.json"
我已验证修改后的 filter.json 存在于 ~/poky/build 目录中。
问题是生成的二进制文件始终为 27 MB,并且不会因 filter.json 而缩小。
如何减少 Yocto 中的 libicu 共享对象文件以删除不需要的语言环境?谢谢。
最佳答案
根据您的 bb 文件:${@bb.utils.contains('PACKAGECONFIG', 'make-icudata', '', 'exit 0', d)}
您应该设置PACKAGECONFIG +=“make-icudata”
关于linux - Yocto 减少 libicudata 大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/76326556/