当前位置:首页 > 嵌入式 > 嵌入式分享
[导读]这个更新系统感觉非常专业和可用的盒子.它使用了一个与前一篇文章中描述的非常相似的双根文件更新系统。它与U-脚紧密结合,以允许在非引导图像的情况下返回。

我们讨论了嵌入式Linux更新系统的基本原理和实现.在这里,我们讨论一些现成的开源更新系统,这些系统现在可以与您的嵌入式Linux项目集成。

这个更新系统感觉非常专业和可用的盒子.它使用了一个与前一篇文章中描述的非常相似的双根文件更新系统。它与U-脚紧密结合,以允许在非引导图像的情况下返回。

这是相当容易的开始与修理,因为有很好的清晰的逐步文档,如何建立和整合各个组件。它们在流行的平台上提供参考实现,比如树莓皮和贝格莱骨黑色,这可以让你对在你的平台上工作所需的工作量有一个想法。

我发现它花了三天的时间整合并开始工作。有很多小的改变使它与我的YOCto构建设置(基于Morty)。解决这些问题需要一些开放式的专业知识。为了正确地整合双船装置,需要U-脚的专业知识。

在此结束时,它输出一个"Sdi毫克",其中包含引导加载程序和文件系统,需要以某种方式写入您的闪存。您如何做这取决于您的目标硬件。它还输出所谓的"工件",其中包含新的文件系统映像和各种元数据。

这些工件可以通过手动安装的修理工命令行工具安装(理论上可以扩展到从USB棒上自动安装)。工件也可以通过Web接口上传到后端更新网络服务,从这里可以向下推到单个单元。

控制后端更新服务器的网络接口设计良好,易于使用。设置它是通过码头,这使初始设置非常简单。在一个完整的生产准备系统中需要码头工人的专业知识。从这个Web接口中,您可以看到当前在该领域部署的所有设备,并将更新单独地或分组地推给它们。

图1:修补器包含一个定制的Web接口,用于将更新推到设备上

大多数修理工都是用GIT编程语言编写的。对于长期采用和生产版本而言,需要一些关于go的专门知识。虽然这种语言在嵌入式世界中仍然是一种不寻常的语言,但将来可能会被更广泛地使用。

您被绑定到一个硬编码的引导设备(例如:/d/mmcblk0),因此没有简单的方法允许从多个中介中启动。它还对您的系统做了许多假设,例如引导加载程序和内核中的各种选项(例如,包括对某些文件系统的支持)。至关重要的是,它要求系统化,这可能使它不适合某些项目。

快速更新

这个更新系统是高度可配置的。您使用大多数嵌入式Linux开发人员都熟悉的"K康菲"系统来配置它。对于几个配置选项的例子:它支持几个引导加载器(U-Boot、LUB、EIFI引导保护);它可以根据给定的公钥签名和验证有签名的图像;它可以支持使用对称密钥加密对图像进行加密。

图2:SW更新的配置系统

每次更新都包含一个cpio档案,其中包含一个以"sw-说明"文件形式出现的元数据和执行更新所需的实际数据文件。这通常会包含一个文件系统列表,以及它们应该放在哪个块设备中。更新文件必须由用户手动创建;它不会从构建系统中脱落。

不像修理工,SW更新不介入和处理系统需要如何建立的细节。修理工会在某种程度上为你修补你的U-脚踏实地环境,SW更新将需要你为自己的"乒乓球"A-B双根脚设施制定低层次的实现细节。

SW更新可以提供命令行安装.它还提供了一个后端更新系统,类似于修理工的系统,该系统是以伊塞普霍克比特为基础的,它与一个在目标上运行的名为"冲浪船"的守护神一起运行,该守护神处理对SW更新的调用。它还可以在设备本身上运行嵌入式HTTP服务器,从中可以上传和安装更新。

它默认地提供了一个被剥离的图像配方,设计为运行为一个InitRAM恢复图像。从我到目前为止的经验来看,这个系统是为一个恢复分区更新而设计的,而不是一个双重的根文件更新(这方面的优点和缺点在上一篇文章中已经讨论过)。似乎不可能或至少很难将双根文件更新与后台OTA更新守护神"Sericata"整合。

大多数的SW更新都是用C编写的,所以大多数嵌入式Linux开发人员可以很容易地进行修改或进行调试。开发人员还将"处理程序"的想法融入到应用程序中,以便其他代码编写者能够方便地扩展。这些功能可以实现额外的更新功能,例如固件下载到其他硅板上。

像修理工一样,SW更新对用户提出了一些要求,但由于系统的可配置性,这些要求是有限的,有些甚至是可选的。

Rauc被设计为比前两个更新系统更轻量级的更新系统,主要的二进制仅为大约。512k相比之下,SW更新的1.3米和修理工的6.9米(这是基于YOCto输出的粗略计算,没有考虑到依赖性、不同的构建目标等。)。

它从构建系统输出所谓的"束"。这些包包含压缩文件系统和元数据。他们总是被要求数字签名,这是一个核心设计概念的Rauc。它将文件系统图像编程成各种"插槽",然后可以标记工作或损坏或准备更新。它将与引导程序环境接口,以决定是否

Rauc要求在内核中使用某些选项(例如:QAASF支持),并且在根文件系统中也有一些软件依赖关系。Rauc,就像斯普拉特一样,是用C写的。它不实现流式流修复器做和SW更新可以做。

就像SWLTED一样,它支持使用EXESTHOKOKBIT作为后端更新系统,允许您从Web接口向下推更新到设备。

图3:可以使用EXLEXHOKOBT作为Web接口,将更新推到设备上,它可以与Rauc和SWRET集成

最后

本文未提及基于文件的更新系统(如前一篇文章所述)。其他人因简洁而被忽略。

使用哪个系统的决定实际上取决于项目。看起来,修补工可能更容易开始,而SW更新可能有助于与已经在内部部分开发的更新系统集成,ROAC可能被用作SW更新的替代。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭