如何将 uClibc 用于 C 库?系统初始化的busybox?和我的 Yocto Linux 图片的 Thumb-2 说明

How can i use uClibc for C library ? busybox for system init ? and Thumb-2 instructions for my Yocto Linux image

我正在使用 SAMA5D27 SOM1 EK1 板和 yocto 项目。我为它构建了一个 linux 内核映像和一个 rootfs 以使其按照此处描述的步骤启动: https://www.at91.com/linux4sam/bin/view/Linux4SAM/Sama5d27Som1EKMainPage

rootfs 和映像的大小加在一起是 15 兆八位字节,这超出了我的需要,而我正在尝试使用 8 兆八位字节 QSPI 闪存。

现在我正在尝试构建尽可能小的 Linux 图像。当我在网上搜索时,我发现了一些解决方案,比如使用 busybox 代替 systemV 或 systemd,使用 uClibc 代替 glibc,使用 Thumb-2 指令代替 32 Arm 指令。你知道我在哪里可以检查这个选项吗?我怎样才能做出这些改变?你有任何其他解决方案来缩小图像尺寸吗?

谢谢

要使用 uClibc 作为 C 库:

TCLIBC = "uclibc"

将 init 和登录管理器替换为 busybox 中的管理器(您可以在 poky-tiny.conf 中找到示例):

VIRTUAL-RUNTIME_login_manager = "busybox"
VIRTUAL-RUNTIME_init_manager = "busybox"

要使用 Thumb 指令:

ARM_INSTRUCTION_SET = "thumb"