特斯拉“踩坑”分时Linux?丰田/Mobileye选择“迎难而上”
关于特斯拉的话题,永远都是行业关注的焦点。近日,网传有人质疑特斯拉拿(Linux)分时系统做操作系统,是对生命最大的不负责。
可以确认的是,特斯拉的Autopilot自动辅助驾驶系统以及车机系统的确是基于Linux内核的深度开发。不过,围绕特斯拉的Linux系统是不是实时操作系统,以及是否按照车规级功能安全规格开发,还有待证实。
有一点可以明确,Linux用于车载信息娱乐系统(非关键安全功能)开发(同时作为虚拟化的底层系统,上面再支持QNX和安卓)的确是行业的主流趋势之一。这其中,最典型的代表就是AGL。
同时,嵌入式Linux同样也具备实时操作系统的能力,在近日一次针对工程师的调查中,开源的FreeRTOS和嵌入式Linux是首选的实时操作系统,反倒是商业化的QNX和VxWorks支持率并不高。
这也是AGL成立的出发点之一。
Automotive Grade Linux (简称AGL)是一个由Linux基金会主导的一个开源项目,于2012年启动,最初的成员包括:捷豹路虎,日产,丰田,富士通,英伟达,三星等公司,目前成员已经超过100家。
AGL以统一代码库(Unified Code Base)的形式对外发布版本,从车载信息娱乐(IVI)系统切入,首款量产产品,就是搭载全新Entune 3.0信息娱乐系统的凯美瑞。
按照AGL的设想,未来成员企业可以共享70%的代码,另外30%则是不同品牌厂商进行差异化开发,从而保障各自的商业化利益。
不过,AGL的最终目标,是实现Linux车规级系统的实时处理能力,并面向下一代集中式整车电子架构,提供满足安全关键系统的功能安全目标,从而服务自动驾驶应用。
一、Linux VS QNX
就在AGL猛推Linux之际,QNX近年来逐渐成为汽车制造商主打“安全”概念的操作系统,并逐步占据上风。同时,不少自动驾驶公司也在陆续选择QNX来打造商业化自动驾驶操作系统。
几周前,威马汽车CEO在社交网络发文称,网络安全是智能汽车制造商面临的一个关键问题。与许多制造商使用的开源Linux操作系统不同,W6采用了非开源黑莓QNX SDP 7.0作为底层操作系统,加上高通8155SA芯片,构建了一个超高速、稳定和安全的车辆操作系统。
几年前,当AGL被丰田选择作为量产项目的首选之后,QNX受到的潜在影响最大。AGL作为一个基于Linux的汽车应用开源软件平台,随着越来越多的汽车巨头加入,目标就是打造“全新的行业标准”。
目的,就是通过汽车制造商、供应商和技术公司的合作,减少行业的重复开发和允许成员重用相同的代码库来实现“新车型的更快上市”。但质疑声也不断。
争议点之一,就是经过验证的软件(比如,QNX)的许可价格,与基于AGL的开源Linux开发的持续维护成本相比,后者大量的隐性费用会呈指数级增长。
反对者认为,基于类似QNX这样的商业化系统,工程师可以专注于产品的增值差异化功能,而不是非差异化的基础“核心”底层软件。
此后,后续的补丁管理和版本对齐,对于嵌入式Linux来说也是一个大问题。许多补丁或更改具有连锁反应和代码依赖性,对于工程师来说,挑战更大。比如,同样基于Linux开源的GENIVI,已经证明了互操作性和重用性太低。
一家早期选择AGL的汽车制造商工程师表示,他们正在为下一代产品从AGL转向QNX作准备。原因是,基于AGL要处理的配置管理问题,太过复杂。
他举了一个例子,至少有4家Tier 1为他们的特定产品提供了不同版本的AGL内核,这意味着他们需要为不同的补丁管理4个不同的AGL内核。代码库中的每个更改实际上意味着不止一个更改,在开发周期中有数百个更改。
争议点之二,是作为开源的操作系统,Linux被用于安全关键系统时,存在代码库不断更新的情况下,安全认证的失效问题,导致汽车制造商需要不断重新认证,这可能会带来额外的成本支出。
此外,Linux是一个通用操作系统(GPOS),这意味着它不像实时操作系统(如QNX)那样提供确保及时响应事件和中断的机制。这就必须要通过“软”实时的方式,进行额外的低延迟系统设计和基于优先级的调度算法。
同时,Linux的典型延迟比QNX等实时RTOS要高几个数量级。实时性能在任务关键型应用程序中尤为重要,在这种应用程序中,任务必须以确定性的方式运行。如果设计人员不能完全控制调度,那么不可预测和不必要的系统行为将会发生。
争议点之三,就是Linux的安全漏洞。有数据报告显示,从1999到2019年期间,全球爆出安全漏洞最多的操作系统分别是,Debian Linux、Android、Linux Kernel、Mac OS X、Ubuntu。
其中,Android和Linux内核(也就是特斯拉的系统内核)分别以2563和2357个漏洞排名第二和第三。今年3月,研究人员更是披露Linux内核的iSCSI子系统中存在3个已有15年历史的安全漏洞。
而Linux操作系统的安全漏洞,对于特斯拉来说,已经是家常便饭。
几年前,腾讯旗下的科恩实验室研究人员透露,他们可以通过特斯拉Model S的Wifi连接进入到驾驶系统,并远程激活行驶车辆的刹车。随后,特斯拉进行了修复,在CAN总线组件的新固件更新中增加了加密密钥。
二、Mobileye准备量产搭载
这是否意味着,Linux无法应用于车辆的关键安全功能?
2019年2月,Linux基金会宣布启动支持Linux in Safety Applications (ELISA)开源项目,旨在创建一组共享的工具和流程,以帮助公司构建和认证基于Linux的安全关键应用程序和系统。
此前业内没有明确的方法来证明基于Linux的系统满足这些安全目标,所以Linux一直只能用于汽车非安全功能,比如车载信息娱乐系统。当然,特斯拉是个特例。
为了支持ELISA项目的开展,一些新成员加入了,这其中就包括英特尔以及旗下的Mobileye、Elektrobit、Mentor、Wind River等主流汽车安全功能软件供应商。
AGL成员企业甚至把安全关键应用中的开源,视为汽车级Linux操作系统的终极游戏,ELISA就是第一步。
不过,QNX的Neutrino实时操作系统(RTOS)仍是目前在ADAS和自动驾驶等安全关键系统领域的主流供应商,这套操作系统符合ISO 26262 ASIL D最高级别安全认证。
这一次,Mobileye是先锋角色。
就在一年后,Mobileye宣布,正在为下一代EyeQ®5芯片切换到基于Linux的操作系统做最后的量产准备。按照该公司的说法,宝马作为量产搭载客户之一,已经对这套系统进行了全方位的安全评估和严格测试。
对于Mobileye来说,这也是其开放战略的关键一步。EyeQ5操作系统从之前专有的、定制的操作系统切换到Linux,将增加后续客户定制化开发的灵活性,同时向AGL超过100多家成员企业进行开放。
此外,Mobileye还将陆续发布支持OpenCL、深度学习部署工具和自适应AUTOSAR的EyeQ5 Linux SDK。
这意味着,嵌入式Linux操作系统已经具备了传统意义上的实时操作系统的能力和挑战传统势力的市场竞争力。同时,也将加快实时Linux系统未来在汽车上的全新空间。
觊觎汽车市场,不只是AGL。近日,全球最大Linux系统厂商——红帽公司宣布,计划为汽车行业创建一个新的基于Linux的企业级操作系统,并将安全性和相关功能安全认证作为核心卖点。
按照计划,红帽公司将与Exida公司(一家专注于功能安全和产品认证的公司)合作,提供从“信息娱乐到辅助驾驶系统”的一系列ISO 26262认证。
该公司还没有公布汽车级Linux产品的发布时间,这将取决于相关组件认证的时间周期。但该公司明确表示,上述系统除了应用于汽车行业,还将拓展至机器人和工业制造领域。