在将Yocto放入闪存之前,我想先把它去掉。不需要的软件、手册页、POCO示例代码和其他文档只会浪费资源,特别是在只有128 on闪存的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"
...我把图像写成“核心-形象基础”。
我在想,有什么方法可以删除所有不需要的文件吗?
谁能帮我脱下我的Yocto吗?
发布于 2017-08-02 11:30:03
当您查看core-image-base的配方和包含的core-image类(core-image-base.bb & core-image.bbclass)时,您会注意到该映像中只有packagegroup-core-boot和packagegroup-base-extended。
这些项目的说明如下:
默认情况下,我们安装packagegroup-core-boot和packagegroup-base扩展包;这为我们提供了工作(仅限控制台) rootfs。
这样就可以假设它不应该被移除,所以你不能在'Yocto-way‘上删除太多的软件/文件。您可以做的是编写补丁,手动删除文件或查看如何用Yocto (链接到开发手册)构建一个微小的系统。
您可以通过更改您的DISTRO中的local.conf变量来激活此发行版。
DISTRO = "poky-tiny"发布于 2017-08-08 19:54:59
这是一个最小控制台映像的例子:食谱-核心/图像/核心-映像-小. an
DESCRIPTION = "Minimal console image."
IMAGE_INSTALL= "\
base-files \
base-passwd \
busybox \
sysvinit \
initscripts \
${ROOTFS_PKGMANAGE_BOOTSTRAP} \
${CORE_IMAGE_EXTRA_INSTALL} \
"
IMAGE_LINGUAS = " "
LICENSE = "MIT"
inherit core-image
IMAGE_ROOTFS_SIZE ?= "8192"这个菜谱产生的图像大约为6.4MB。如果您通过将DISTRO = "poky-tiny"添加到您的conf/local.conf中使用poky,则图像将在4MB左右。
要构建它,您需要添加INSANCE_SKIP_glibc-locale = "installed-vs-shipped"
您还可以使用PACKAGE_CLASSES ?= package_ipk包管理器,因为它是最轻的,可以从生产根文件系统中完全删除package-management功能。
如果您选择在映像中使用packagegroup-core-boot,可以在conf/local.conf中指定BusyBox的mdev设备管理器而不是udev
VIRTUAL-RUNTIME_dev_manager = "mdev"如果在块设备上运行根文件系统,请使用ext2而不是不带日志的ext3或ext4。
通过在bbappend中提供您自己的配置文件,只使用必要的小程序配置BusyBox。
查看glibc配置,该配置可以通过DISTRO_FEATURES_LIBC分布配置变量进行更改。您可以在poky-tiny发行版中找到该示例。
考虑切换到一个打火机C库。使用uclibc或musl代替标准的glibc libcs.html
在local.conf中使用musl
TCLIBC = "musl"将meta-musl添加到conf/bblayers.conf
https://stackoverflow.com/questions/45457102
复制相似问题