Linux|嵌入式开发:面向通用嵌入式Linux系统

Linux|嵌入式开发:面向通用嵌入式Linux系统

就像早期的Linux一样 , 嵌入式Linux世界也需要拥抱自动化 , 并利用容器化来实现基础设施的无摩擦和不可见性 。 到现在为止 , 有许多不同的发行版 , 如RedHat、Debian、Suse等 , 其目标是使Linux可靠、易于使用和安全 。 这些发行版是由大型、充满活力的嵌入式开发人员社区创建的 , 他们将自己的空闲时间贡献给开源Linux项目 。 尽管Linux在早期获得了很大的发展 , 但在部署并在服务器上运行应用程序之前 , 集成一个发行版仍然需要相当多的努力和技术能力 。
随着AWS等公共云的出现 , 这种情况有所改变 , AWS允许服务器根据需要进行旋转和扩展 。 最重要的是 , 您可以将软件部署到它上 , 而不必担心必须集成Linux发行版才能与您的软件一起工作 。 然而 , 在早期 , 那些一键式发行版是以映像的形式出现的 , 在它们能够以您需要的方式运行之前 , 仍然需要进行一些配置 。
输入Docker容器
【Linux|嵌入式开发:面向通用嵌入式Linux系统】Alex表示 , 2015年 , Linux系统的构建和管理方式发生了另一次转变 。 Docker容器的兴起意味着不再需要手动集成发行版并匹配相应的库版本 。 在Docker之前 , 第三方软件和服务很难使用Linux进行更改或影响发行版的工作方式 。
Docker容器允许嵌入式开发人员将他们想要的任何东西(包括第三方扩展)打包到一个自包含的单元中 , 然后部署到一个虚拟环境中 , 而不用担心它 。 由于这种能力 , 运行应用程序的主机操作系统变得越来越不重要 , 实际上已经变得不可见 。 这意味着开发人员可以减少对基础设施的关注 , 而将更多的时间花在创建为您的业务增值的应用程序上 。
内核对于嵌入式开发仍然很重要
与今天的嵌入式开发人员不同 , 云开发人员通常不会考虑内核功能 。 Alex说:“在主机操作系统上 , 唯一真正重要的是Linux内核 。 Linux内核将在可预见的未来继续存在 。 内核是共同点 , 也是嵌入式开发人员Linux难题中最重要的部分 。 ” 。
如今 , 大多数云开发者只需要担心他们可以在容器中运行什么 。 大多数人甚至不考虑他们在哪个内核上运行 , 也不担心它是否具有您需要的所有特性 。

Kubernetes是云本地基础设施
事实上 , 云开发者甚至不再那么担心主机操作系统 。 云删除了主机操作系统作为中间层的功能 , 在过去 , 您可以每天与它进行交互 。 现在 , Kubernetes将SSH’ing安装到主机上以安装软件已成为过去 。
相反 , 您可以只使用平台API并自动将您想要使用的任何有效负载部署到集群上 。 现在 , 您拥有的不是小组件 , 而是按您希望的方式工作的大型构建块 , 而无需考虑它们如何协同工作 。
面向嵌入式开发人员的通用平台
在嵌入式方面 , 内核及其功能是嵌入式开发人员最重要的方面之一 , 尤其是在嵌入式Linux板上创建新产品时 。 微控制器无法运行像机器人这样复杂的应用程序 , 通常更适合传感器类型的数据 。 由于运行Linux的大多数IoT设备上的资源限制 , 定制和专门化固件是嵌入式开发人员需要做的重要事情之一 。
Alex随后介绍了一个实用的平台 , 用于在资源受限的嵌入式平台上使用容器构建应用程序 。 他称之为通用嵌入式Linux系统 。 那么为什么它是通用的呢?在Pantacor , 主机操作系统应该尽可能少 , 并且尽可能不固执己见 。 事实上 , 它除了操作容器的生命周期、协调对硬件设备的访问并提供一个协议来驱动系统的部署之外 , 什么也不做 。