带有包管理的 Yocto 最小图像
Yocto minimal image with package management
我正在尝试使用 Yocto 项目构建尽可能小的 linux 图像。我还希望在目标上进行包管理,以便能够添加和更新 运行 系统的部分内容。
我可以通过将此添加到我的 conf/local.conf:
来启用包管理
EXTRA_IMAGE_FEATURES = "package-management"
使用 rpm,引入基于 python 的 smartpm 包管理器,这反过来又使图像变大。所以我尝试使用 ipk 包,但这仍然取决于 python.
有没有人知道如何以尽可能少的开销在 Yocto 中包含包管理?
看来这是我能做的最好的了。
PACKAGE_CLASSES = "package_ipk"
然后编辑 opkg-utils 的配方使其不依赖于 python。不过,当然会破坏 python 实用程序。
我可以给你一些建议,这可能会帮助你优化 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
删除不使用的 Distro 功能(并检查更多):图形 [x11]、声音 [alsa]、触摸屏 [触摸屏]、多媒体。更改适用于 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"
,它针对小型系统进行了很好的优化。
我正在尝试使用 Yocto 项目构建尽可能小的 linux 图像。我还希望在目标上进行包管理,以便能够添加和更新 运行 系统的部分内容。
我可以通过将此添加到我的 conf/local.conf:
来启用包管理EXTRA_IMAGE_FEATURES = "package-management"
使用 rpm,引入基于 python 的 smartpm 包管理器,这反过来又使图像变大。所以我尝试使用 ipk 包,但这仍然取决于 python.
有没有人知道如何以尽可能少的开销在 Yocto 中包含包管理?
看来这是我能做的最好的了。
PACKAGE_CLASSES = "package_ipk"
然后编辑 opkg-utils 的配方使其不依赖于 python。不过,当然会破坏 python 实用程序。
我可以给你一些建议,这可能会帮助你优化 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
删除不使用的 Distro 功能(并检查更多):图形 [x11]、声音 [alsa]、触摸屏 [触摸屏]、多媒体。更改适用于
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"
,它针对小型系统进行了很好的优化。