如何剥离我的Yocto Linux?

时间:2017-08-02 09:38:26

标签: linux poco yocto imx6

我想在放入闪存之前删除我的Yocto Linux。不需要的软件,手册页,POCO示例代码和其他文档只会浪费资源,特别是在只有128MB闪存的i.MX28 EVK上。

我的 local.conf 文件如下所示:

$ gedit conf/local.conf &
...
IMAGE_INSTALL_append = " poco nginx canutils vsftpd curl fcgi spawn-fcgi net-snmp util-linux ubiattach-klibc ubimkvol-klibc ubiformat-klibc minicom net-tools zeroconf avahi-autoipd mtd-utils u-boot-fw-utils ethtool"
...

我咬了图像" core-image-base"。

我在想,有没有办法可以删除所有不需要的文件?

有人可以帮我解决我的Yocto Linux问题吗?

2 个答案:

答案 0 :(得分:2)

当您查看core-image-base和包含的core-image课程(core-image-base.bb& core-image.bbclass)的食谱时,您会发现只有packagegroup-core-boot和那张图片中的packagegroup-base-extended

对那些的描述:

  

默认情况下,我们安装packagegroup-core-boot和packagegroup-base-extended软件包;   这使我们工作(仅控制台)rootfs。

这假设它不应被删除,因此你不能删除'Yocto-way'上的很多软件/文件。您可以做的是编写手动删除文件的补丁或查看如何build a tiny system with Yocto (Link to Development Manual)

您可以通过更改DISTRO

中的local.conf变量来激活此分发
DISTRO = "poky-tiny"

答案 1 :(得分:0)

这是最小控制台映像的示例: 食谱核/图像/ core-image-small.bb

DISTRO = "poky-tiny"

此配方生成约6.4MB的图像。如果您通过向conf/local.conf添加INSANCE_SKIP_glibc-locale = "installed-vs-shipped"来使用poky-tiny,则图片大约为4MB。

要构建此功能,您需要添加 PACKAGE_CLASSES ?= package_ipk

您还可以使用package-management软件包管理器,因为它是最轻的,并且完全从生产根文件系统中删除packagegroup-core-boot功能。

如果您选择在图片中添加conf/local.conf,则可以在VIRTUAL-RUNTIME_dev_manager = "mdev"

中指定,使用BusyBox的mdev设备管理器代替udev
DISTRO_FEATURES_LIBC

如果您在块设备上运行根文件系统,请使用ext2而不是ext3或ext4而不使用日志

通过在bbappend中提供您自己的配置文件,仅使用基本applet配置BusyBox。

查看glibc配置,可以通过poky-tiny分发配置变量进行更改。您可以在uclibc发布中找到该示例。

考虑切换到更轻的C库。使用muslTCLIBC = "musl" 代替标准glibc {{3}}

在local.conf中使用musl

meta-musl

conf/bblayers.conf添加到{{1}}