我正在尝试使用yocto项目构建尽可能小的linux映像。我还希望目标上有包管理,以便能够添加和更新运行系统的部分。
我可以通过将其添加到conf/local.conf中来启用包管理:

EXTRA_IMAGE_FEATURES = "package-management"

使用RPM,它会引入基于Python的SmartPM包管理器,从而使图像变大。所以我尝试使用ipk包,但这仍然取决于python。
有人知道如何在yocto中使用最少的开销来进行包管理吗?

最佳答案

我可以建议您一些可以帮助您优化rootfs大小的事情:
尽可能优化Linux内核二进制文件并删除不必要的包(文件系统、设备驱动程序、网络等)。

$ bitbake -c menuconfig virtual/kernel //configure as per your requirement
$ bitbake -c savedefconfig virtual/kernel //savedefconfig
$ bitbake -f virtual/kernel

配置busybox并删除未使用的内容:
$ bitbake -c menuconfig busybox

如果不在使用,请删除这些发行版功能(并查看更多信息):图形[x11]、声音[alsa]、触摸屏[touchscreen]、多媒体。在conf/local.conf文件中应用更改。示例:DISTRO_FEATURES_remove = "x11 alsa touchscreen bluetooth opengl wayland "
选择正确的系统初始化管理器:systemd或sysvinit
已从映像中删除未使用的包。示例PACKAGE_EXCLUDE = "perl5 sqlite3 udev-hwdb bluez3 bluez4"
对于小型嵌入式设备,首选PACKAGE_CLASSES = "package_ipk",并且它非常适合小型系统。

关于linux - 带有包装管理的Yocto最小图像,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28765494/

10-11 22:49
查看更多