太空任务从定制软件转向Linux,但存在碎片化。Papermoon项目提出开放太空级Linux堆栈,旨在提供共享基础,避免重复开发,借鉴无人机经验,推动太空软件标准化。
译自:Papermoon: A Space-Grade Linux for the NewSpace Era
作者:Steven J. Vaughan-Nichols
东京 — 当我在20世纪80年代为NASA工作时,每个进入轨道的卫星和飞船都运行着一次性、手工编码、半专有的程序。这种方法痛苦、昂贵,有时甚至是灾难性的,就像1999年火星气候轨道器因软件失误而丢失一样。
情况已经改变了。在日本开源峰会会议上,资深机器人开发者兼Dronecode基金会总经理Ramón Roche在其“航天级Linux”主题演讲中,讲述了Linux和开源软件如何成为每次发射的默认选择——取代了过去定制的、一次性的程序。
这一变化已经持续了一段时间。到2013年,国际空间站(ISS)将其Windows笔记本电脑更换为Debian Linux机器,用于关键任务工作。如今,SpaceX的“主力”火箭猎鹰9号及其龙飞船都运行Linux。Roche还指出,另一个星球上的第一架飞机——火星上的“机智号”直升机——也搭载Linux飞行。甚至有开发者最近成功地运行了欧洲航天局(ESA)卫星的开源Doomon程序。
但Roche强调,有一件事一直缺失。一个通用的航天Linux平台,这样航天公司就可以停止“在基础设施上竞争”,并开始共享核心软件基础设施。
新航天挑战:更廉价的发射,更复杂的软件
经济背景是一个经典的航天科技故事:进入轨道的成本比以往任何时候都低,但软件复杂性和安全要求却不断提高。
“你可以用一辆好车的价格发射一颗卫星,”Roche说,并指出每公斤的成本“正迅速接近每公斤不到100美元的将有效载荷运送到太空的成本”,这反过来又推动了更多发射、更多应用乃至“太空数据中心”的飞轮效应。
他认为,不具备可扩展性的是许多任务仍然被设计成定制的、一次性软件堆栈的方式。“现在是2025年,我们仍处于1969年那样的阶段,”即任务是一次性且昂贵的。他指出,这种模式“在发射成本数百万美元的时候还不错,但不再符合新航天的经济效益。”
为什么开源是航天任务的未来
太空的严酷现实——辐射引起的“单事件翻转”(在没有警告的情况下重启系统)、“以分钟计”的通信延迟,以及无法“SSH到那里”修复损坏的卫星——正在推动开发者转向健壮、易懂、社区维护的开源软件,而非专有堆栈。
在Roche看来,问题不在于Linux是否是自动系统的正确基础层,而在于如何使用它。
一项针对从业者的调查将Yocto确定为嵌入式Linux发行版中的“明显赢家”。然而,Roche说,我们仍然面临着团队“从零开始构建自己的Linux版本”且“没有共享基础层”的碎片化局面。
“每个人都同意Linux是解决方案,”他说。“但没有人同意是哪种Linux。”
借鉴无人机行业的开源成功经验
这种碎片化对Roche来说并不陌生,他已经在PX4及相关项目无人机生态系统中工作了十多年。
“2010年我在那里时,无人机行业看起来非常相似。每个人都在自己的堆栈上开发,没有人与其他人交流,”他回忆道,描述了“多年的复杂努力”和“每家公司都在重复造轮子,使用不兼容的协议”,直到社区决定“停止在基础设施上竞争,转而竞争创新”。
据他所说,这一转变使开源技术能够为“全球大多数商业和专业无人机”提供动力,涵盖农业、检测、测绘、搜救乃至国防等领域。
介绍 Papermoon:一个拟议的航天级Linux堆栈
答案是Papermoon,一个拟议的航天级Linux堆栈。Roche将其描述为“一个开源项目和一个新基金会”,围绕Linux作为“自动播放、中间层架构”构建,采用MIT许可,并使用开发者原产地证书而非贡献协议来消除“摩擦”。
目标是一个分层堆栈:
- 顶层的任务特定用户空间框架。
- 中间的管理板支持和座舱基础设施层。
- 底层是Yocto/OpenEmbedded作为构建系统,提供可重现的镜像、长期维护和交叉编译。
在硬件方面,Roche说,早期目标包括“像树莓派一样,价格相同”的RISC-V开发板,以及Microchip的抗辐射MPSoC等航天专用平台,持续集成已“在每次提交时”运行,并且镜像可在实际开发板上启动。
“这就是你们将得到的,”Roche告诉听众,并指出采用Papermoon的团队“不是从零开始”——基础层、构建系统和“安全感知配置”意味着“如果您与我们合作,您无需花费数月时间重复发明”。
借助ELISA倡议构建安全关键系统
为正面解决安全和认证问题,该项目一直在Linux基金会的安全应用中启用Linux (ELISA) 倡议内部孵化。Roche强调了ELISA副总裁Kate Stewart的工作,认为其象征着Papermoon希望与之对齐的社区。
“如果你正在构建运行在Linux上的安全关键系统,没有什么比这更好的学习对象了,”他说。“ELISA自2019年以来一直致力于解决这个问题:如何在故障意味着生命损失的系统中使用Linux?”
一年前,大约30人亲自齐聚NASA戈达德太空飞行中心(GSFC)——我为NASA工作时的基地——另有40多人来自20多个组织、机构和研究团体,以线上方式加入,共同“决定该项目的方向”,Roche将其定义为“不仅仅是维护方面的对话,而是实际、真正的承诺”。
未来路线图:从孵化到新基金会
他说,下一步是“走出ELISA孵化,成立我们自己的基金会,拥有中立的管理费用,由成员驱动,采用与汽车级Linux相同的模式”,创始成员将“帮助我们塑造其发展方向:我们设定的治理、路线图和标准”。
Roche对在场开发者和公司的推介直言不讳:“机智号”证明了Linux属于太空,但“下一个任务不应从零开始”。
“问题是,在此之后,每个团队都是从零开始重建,还是我们为他们提供那个基础?”他问道,将Papermoon定位为共享基础,并敦促那些“为太空而建设”且从无人机和汽车领域认识到这种模式的人“来与我们交流”,并“帮助我们为下一个太空时代奠定基础”。