在嵌入式系统中工作的嵌入式开发人员需要一个易于使用且易于为其特定硬件定制的发行版。以下是一些最著名的嵌入式计算Linux发行版。然而,这些发行版都没有标准化的“产品更新就绪”方法。如果这是必需的,你需要自己动手。
1. Yocto项目是一个流行的嵌入式Linux发行版,它构建在OpenEmbedded项目的基础上。Yocto将自己称为“元发行版”,提供适合嵌入式设备硬件约束的可定制发行版。通过可以添加或删除的图层,可以添加或删除新功能。Yocto支持广泛的体系结构,并定期发布更新。但由于其陡峭的学习曲线,与Yocto合作可能具有挑战性。
2. 与Yocto一样,Buildroot也是一个发行版,允许你为嵌入式设备构建自定义的根文件系统。Buildroot是Yocto的精简版本,但有一个限制,即你无法将更新安装到正在运行的系统。相反,在将固件部署到设备之前,每次都需要重建固件。此外,由于该框架是如此精简和最小化,它可能会使定制变得困难。
3. OpenWRT/LEDE在嵌入式开发中,可能是最流行的嵌入式设备框架。它创建可通过网络访问的自定义二进制文件。该发行版是专门针对消费者路由器固件的,对于一般的以网络为中心的嵌入式设计也是非常好的。它的特点是一个可写的根文件系统,而不是基于只读文件系统的固件,并且不允许在不重建和刷新新映像的情况下进行修改。它支持多种体系结构,并允许您专门为每种体系结构构建发行版。
4. 谈论物联网设备时,不可能不提到日益流行的 Raspberry Pi。Raspbian是基于Debian UNIX操作系统构建的Raspberry Pi的开源操作系统。Raspbian有多种用途,从为低规格传感器供电到构建更先进的物联网系统,但仍能进入消费硬件领域。该发行版的一个缺点是,除了Armv7的变体之外,它不完全支持任何其他体系结构,并且不容易与标准Debian软件包混合。
5. Android是一款流行的基于触摸屏的应用程序模式设备体验发行版。它是一个基于Linux内核和其他开源软件的修改版本的操作系统。安卓的一个大问题是,它是一个纯粹的“基于墙的”生态系统,没有人能够轻易地影响上游代码的前进方向,也没有人能够对上游代码的前进方向提供意见。
6. BalenaOS运行在Yocto项目之上,还可以在您的物联网设备上运行Docker容器。虽然操作系统是容器化的,并且通过外部服务器简化了更新,但您无法完全控制发行版作为嵌入式开发人员的专业化程度。由于缺乏控制,最终可能会产生过多和不必要的库和模块。这也意味着关键操作系统更新依赖于单一供应商。
本文来源:www.gec-edu.org