我需要在 Yocto 构建的 Debian 映像中安装 glibc-locale 软件包。最终映像应将字符映射与“locale”和“localedef”命令一起安装,以便“local -m”创建与 Ubuntu 发行版中类似的可用字符映射列表,并且我可以使用 localedef 创建一个自定义区域设置并使用它来设置 LANG。
我已经在目标图像构建文件中尝试过这些:
local.conf 中的这些:
我并不期望这些能够产生所有想要的输出,但我希望得到一些东西;我什么也没得到。我还使用“bitbake -e target”检查了变量值,根据输出,上述变量包括构建该图像目标时的上述设置。
我可以运行“bitbake glibc-locale”,它成功生成了所需的输出。我只是无法在完整图像构建的背景下做到这一点。
我还尝试使用 glibc-locale 包的输出和我自己的配方将我想要的文件推入图像中。这样做会导致错误,指出多个配方正在尝试使用相同的文件填充 sysroot。
我不知道还能尝试什么。任何帮助将不胜感激。
这花了我很长时间才弄清楚,因为文档似乎没有提到它。我怀疑文档已经过时了。
Poky 的 glibc-locale 配方定义了 动态包:
PACKAGES_DYNAMIC = "^locale-base-.* \
^glibc-gconv-.* ^glibc-charmap-.* ^glibc-localedata-.* ^glibc-binary-localedata-.* \
^${MLPREFIX}glibc-gconv$"
这意味着如果您想要 en_US 语言环境,您需要:
IMAGE_INSTALL:append = " locale-base-en-us"
(这包括 en_US 和 en_US.utf8。)
对于魅力地图,您可能还需要:
IMAGE_INSTALL:append = " glibc-charmap-en-us"