哪种发行版更适合嵌入式系统使用。 这个问题与今天有关。
有三种解决此问题的方法:- 为单板计算机使用现成的发行版(Armbian,Openwrt等)
- 使用构建系统(Buildroot / Yocto等)构建和配置发行版。
- 使用捆绑程序引导加载程序(u-boot)+内核(内核)+ rootfs(busybox)。
如果其他人知道,请在评论中写。
更新OpenWRT项目既是一个构建系统(不是buildroot),又是一个为目标板提供现成的组装映像的项目。
现成的发行版
我相信使用现成的发行版是最简便的方法。 您可以下载完成的图像或构建自己的图像。 组装Armbain映像并不总是很灵活,因为您不能选择任何版本的Linux内核,而只能使用提供的版本。
现成的发行版的主要优点也应该得到解答-它们的稳定性。
对于初学者,我建议使用这些发行版。
Armbian是一种流行的Linux发行版,可用于各种ARM设备:Orange Pi,Banana Pi,Odroid等……它基于Ubuntu和/或Debian。
www.armbian.com
OpenWrt是基于Linux内核的嵌入式操作系统,主要设计用于家用路由器。 关键组件包括Linux内核,util-linux,uClibc或musl以及BusyBox。 由于大多数家用路由器的内存量非常有限,因此优化了所有组件的大小。
我会自己添加一个,非常适合带有Wi-Fi的主板(例如Orange Pi Zero)。
openwrt.org
组装系统
组装系统的主要优点是您可以为嵌入式系统构建最小且灵活的Linux。
Buildroot
Buildroot是用于嵌入式系统的发行版构建系统。 它支持许多板,其工作结果是组装好的引导程序,内核和映像
文件系统。
它允许为您的系统构建buildroot:- 系统映像;
- 该系统允许您选择内核版本-任何。
- 您可以添加任何补丁并安装任何程序。
- 实用程序的灵活配置(例如busyBox,bash等)
应该注意的是,所有其他来源都是从网络中提取的。
例如,将此类程序集与Armbian程序集区分开:- 该发行版不是基于(Debian或Ubuntu)构建的,而是基于定制的灵活Linux。
- 最小装配尺寸。
- 选择任何内核版本。
buildroot.org
3.使用捆绑包:为此,我们需要:
- 交叉编译器(例如Linaro);
- 引导加载程序(例如U-boot);
- 内核;
- RootFs(例如Busybox)。
所以走吧
因此,我们将在本地计算机上收集我们需要的交叉编译器,例如linaro。 交叉编译器将帮助x86体系结构为目标ARM平台组装我们的发行版。
www.linaro.org
接下来,您需要构建一个引导程序。
Bootloader(U-Boot)-ARM最受欢迎的Bootloader是U-boot。 引导加载程序的主要任务是引导Linux内核。 您也可以使用例如barebox或其他。
www.denx.de/wiki/U-Boot

下一个 我们需要构建内核,在输出处我们需要获取目标平台的内核映像和设备树。
www.kernel.org
RootFs是内核在引导后将挂载的根文件系统。 我建议使用Busybox。

busybox.net
结论
我并不是说有不好的方法。 每种都有自己的优点和缺点。 这取决于您的任务以及需要获得什么结果。