我想在放入闪存之前删除我的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问题吗?
答案 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"
DISTRO_FEATURES_LIBC
如果您在块设备上运行根文件系统,请使用ext2而不是ext3或ext4而不使用日志
通过在bbappend中提供您自己的配置文件,仅使用基本applet配置BusyBox。
查看glibc配置,可以通过poky-tiny
分发配置变量进行更改。您可以在uclibc
发布中找到该示例。
考虑切换到更轻的C库。使用musl
或TCLIBC = "musl"
代替标准glibc {{3}}
在local.conf中使用musl
meta-musl
将conf/bblayers.conf
添加到{{1}}