|
|
Log in / Subscribe / Register

Automotive Grade Linux and a distribution for cars

By Nathan Willis
June 3, 2015

ALS 2015

At the 2015 Automotive Linux Summit in Tokyo, Dan Cauchy from the Linux Foundation (LF) kicked off the first day's program with an announcement: that the LF's Automotive Grade Linux (AGL) workgroup has decided to build its own Linux distribution, which it plans to run as an ongoing, long-term project. While the desire for a workgroup to create a distribution tailored to its needs is nothing new, the announcement had several in the crowd wondering what this decision meant for Tizen IVI—which, up until now, has served as the reference distribution for AGL. Tizen, of course, is also an LF-hosted project, and it has made in-vehicle infotainment (IVI) one of its high-priority use cases.

[Dan Cauchy]

The creation of the new distribution project was the second of Cauchy's announcements during the opening session; the first was the 1.0 release of the AGL specification, which defines a Linux-based platform for use in vehicles. The specification sets out a list of required components. Many are standard modules in any modern distribution, such as BlueZ, GStreamer, systemd, and so on. Others are more peculiar to the automotive use-case, such as a "lifecycle manager" that governs the systematic startup and shutdown of components in a data-preserving manner—which is important considering that a car's driver can choose to switch the system off at any moment.

After the announcements, Cauchy said that Tizen IVI had served well as the jumping off point for AGL, and that the AGL membership has had a good working relationship with the Tizen IVI team. Notably, AGL members had contributed code that Tizen IVI developers merged into the distribution—work that includes, for example, several of the components detailed in the AGL 1.0 specification.

Using Tizen IVI as an upstream project allowed AGL to gain momentum quickly and to bring new developers on board in member companies, Cauchy said. But, he continued, the AGL membership now felt that Tizen IVI was not advancing past the "proof of concept" stage, and the membership was eager to start working on a software platform that it could actually deploy.

As those who follow Tizen will know, the distinction between those two possible states is certainly true. Tizen (in all its various flavors: smartphone, smart TV, IVI, and others) has always been marketed as a base platform on which consumer electronics makers could build a full-fledged product, not as a deployable finished product itself. Tizen IVI is not easy for developers to install, nor is it a plug-and-play solution for most cars. Project co-sponsor Samsung has been using Tizen in its latest generation of products, but the project itself is intentionally not designed to be a drop-in system for commercial vendors. Cauchy also noted that Tizen IVI is focused on supporting Tizen's HTML5 application framework, while many automotive suppliers want support for native applications as well.

Despite the decision to move away from Tizen as a formal upstream, though, Cauchy added that the AGL distribution (while still a long way from its eventual release) will draw heavily on Tizen IVI's components. He showed a slide indicating that the new distribution would incorporate software modules from both Tizen IVI and from the GENIVI Alliance. "In the past," he said, "these have been the three big players. Our goal now is to unite them."

Furthermore, he said, while both GENIVI and Tizen IVI are focused solely on the infotainment platform—roughly defined as the software running on the in-dash head unit—AGL has broader goals. In the future, carmakers will be running Linux on embedded telematics (data-collection and analysis) systems, engine-control units, instrument clusters, advanced driver-assistance systems (ADAS), and other computers in the car, he said, and AGL wants to be the distribution running on all of those devices.

The same approach—standardizing on a single distribution across all vendors—has worked well in other "highly vertical" markets, Cauchy said. It is the tactic undertaken by telecommunications companies in Carrier Grade Linux and by financial institutions. The automotive sector is noticeably behind the times in this regard, he said.

Despite Cauchy's explanation about the background of the decision, a number of people in the audience clearly found the decision to break with Tizen IVI to be a surprise. One of the first questions from the audience at the end of the session was whether or not AGL and Tizen IVI sponsor Intel were discontinuing their collaboration. Cauchy replied that the relationship with Intel remained strong, and that several of the software projects started in Tizen IVI were expected to be key pieces of the AGL distribution, too. Despite these assurances, though, it was hard not to notice that, in a change from the past, Intel and Tizen had little to no presence at the event itself this year.

ARM work

A session later in the day may have shed additional light on the reasoning that went into the decision. Hisao Munakata from ARM vendor Renesas presented [PDF] the results of a recent study that assessed Tizen IVI's suitability for usage in real-world automotive systems based on ARM hardware. ARM support is critical, Munakata said, because many carmakers and equipment suppliers want to take advantage of low-cost system-on-chip (SoC) hardware.

[Hisao Munakata]

The study identified a few problem areas that perhaps stem from Tizen IVI's historical emphasis on Intel hardware. Intel and ARM processors have different power-management requirements, for example; while most of the engineers working on Tizen IVI came from Intel, the ARM side simply got less testing. But the biggest distinction between the platforms was not the CPU itself—it was the graphics stack. Current automotive UIs, including Tizen IVI's, rely heavily on OpenGL and hardware acceleration. Intel GPUs are (thanks to Intel's open-source drivers) better supported in these areas than are the GPUs found on most ARM SoCs. Closing that gap will require additional engineering effort.

The study also looked at how several Tizen IVI components measured up with respect to automotive-specific use cases. It singled out Automotive Message Broker (AMB) and Crosswalk as components that were positioned to do what carmakers want, but that still need additional work. AMB is a message-passing bus used for low-level interprocess communication (IPC). Munakata said that it needed to be extended to cover several other IPC domains, such as message-passing between discrete engine-control units (ECUs). Crosswalk is Tizen's HTML5 application runtime. Munakata said that Crosswalk performed well on most points in ARM SoCs, but needed additional work on WebGL and Video4Linux2 support.

In both cases, Munakata said, he has presented his findings to the respective Tizen IVI team and they have been well-received. So it may be that the automotive-specific software projects initiated inside Tizen IVI will get more attention moving forward, even if the AGL distribution takes over Tizen's place as the central reference platform.

What next

The distinction between proof-of-concept code and deployable product would appear to be the root issue. But it is still a major undertaking to start a new distribution project. AGL may become an industry standard—it certainly has the backing of major players—but it has a lot of ground to cover.

For the developers who have been contributing to Tizen IVI, the news of a new automotive distribution from AGL may not be all bad news. There is clearly still interest in the work they have done, and there is (thus far) no real overlap between the software projects hosted at Tizen IVI and those at AGL and at GENIVI.

The more difficult question is assessing whether or not the announcement should be taken as a serious setback for Tizen. But, in reality, Tizen IVI has always been substantially different from the other Tizen device profiles: a smart watch may have fewer system resources than a smartphone, but it still has one screen, one simultaneous user, and one battery, for example. Between the differing hardware requirements, the automotive-specific layers, and the regulatory issues that are critical in automotive, perhaps maintaining a shared code base between IVI and other Tizen device profiles is not entirely realistic.

Perhaps it could be argued, though, that as Tizen matures, its various device profiles have diverged to the point where ensuring that they all offer the same stack is a significant strain. If so, though, providing a compatible application-level API through Crosswalk may be the only factor that genuinely needs to unite Tizen IVI and the other Tizen device profiles.

Time will tell how the Tizen project weighs these issues, of course. In the meantime, the prospect of an ongoing automotive distribution project managed by AGL certainly means there will be renewed development on a number of automotive software projects. With any luck, the result will also include something that more Linux users and developers can install, use, and contribute to.

[The author would like to thank the Linux Foundation for travel assistance to attend ALS 2015.]

Index entries for this article
ConferenceAutomotive Linux Summit/2015


to post comments

Automotive Grade Linux and a distribution for cars

Posted Jun 3, 2015 18:22 UTC (Wed) by sebas (guest, #51660) [Link] (7 responses)

"the AGL membership now felt that Tizen IVI was not advancing past the "proof of concept" stage"

I wonder if this perception has anything to do with the problems laid out in this article:

http://what.thedailywtf.com/t/enlightened/8795

Automotive Grade Linux and a distribution for cars

Posted Jun 3, 2015 19:51 UTC (Wed) by drag (guest, #31333) [Link] (5 responses)

At this point trying to base any new consumer oriented project on anything other then Android is pretty nuts.

If I was them then I would make sure to separate the functional aspects of managing a automobile system very strongly from the 'infotainment' and 'user interface' side of things.

The user interface portion would be as simple as taking off the shelf android systems and slapping a sunlight readable and dust proof display on it. Use that for all the UI elements as well as connecting to external services such as 'onstar' and such things. Very easily going to provide you everything you need as far as GPS, maps, wifi hotspots, etc. The advantage is that you have a very mature and successful touch screen interface, development tools, and massive development base. Cheap hardware, lots of outside vendor support, good APIs, etc. You get all that for free. It works because it's a proven approach and is probably the most successful application environment in the last 10 years. It's already all there. You don't have to do hardly anything. The most you have to do is probably create a new android low-level API and related services for car-specific stuff.

Then for the actual vehicle management a more traditional linux environment that is stripped downed and 'hardened'. Design it to interact and manage the firmwares of the various embedded realtime-controllers through CANBUS or other type of stripped down networking environment for small systems. Then apps in the android system can communicate with it using a set of well-documented and vetted APIs over USB or similar serial connection.

All of this "linux foundation automotive grade linux" seems another over-complicated engineer-pleasing approach that doomed Meego and every thing related to those types of efforts.

Automotive Grade Linux and a distribution for cars

Posted Jun 3, 2015 21:40 UTC (Wed) by sebas (guest, #51660) [Link] (1 responses)

To some extent I agree. Engineers or app developers will pick up whatever has the market share and offers the straightest way to make money, even if the developer platform is comparably poor. Get a shit platform into 70% of the new cars and devs will flock behind it. Get an awesome developer story running on a small amount of cars, and you'll have a preaching-to-the-choir-based, self-reinforcing, but tiny group of developers who ignore reality.

The developer in me wants to assume that the most developer-pleasing platform will be the most successful in the end, but I guess history has already proven my wishes wrong - cue VHS vs. Betamax references.

Automotive Grade Linux and a distribution for cars

Posted Jun 4, 2015 17:58 UTC (Thu) by drag (guest, #31333) [Link]

Yeah this is the tough part. If you want to create a new standard at this point then it's going to be already behind the curve a bit. Pretty much every car now ships with some sort of computerized user interface or nav system. You have to get the cheapest of the base cars to avoid that.

Automotive Grade Linux and a distribution for cars

Posted Jun 4, 2015 1:21 UTC (Thu) by ssmith32 (subscriber, #72404) [Link]

Except AGL has an explicit goal of running on ECU's, etc. And it would make more sense for them to focus on that, since that it where their expertise (and, yes, committees and standards, ensuring safety, are needed). If they can create a an IVI profile while they're at it, great. If someone uses android for that portion instead, great. But there' no need for them to make yet another android variation - too many of those already.

Automotive Grade Linux and a distribution for cars

Posted Jun 4, 2015 6:09 UTC (Thu) by alison (subscriber, #63752) [Link] (1 responses)

"If I was them then I would make sure to separate the functional aspects of managing a automobile system very strongly from the 'infotainment' and 'user interface' side of things."

In fact, many automakers will ship a head unit that boots into a hypervisor which then starts AGL-GENIVI and Android guests. The hypervisor can take advantage of features like ARM TrustZone and their x86 equivalents to prevent guests from interacting or from executing instructions which require supervisory privilege. This separation isn't fool-proof, but it's a great start, and will allow the user-facing part to be familiar Android if automakers desire.

Most of the critical vehicle management is performed by ECUs based on microcontrollers that run no operating system at all, or run the AUTOSAR suite especially designed for them. GENIVI and the AUTOSAR standards body have been collaborating to make sure that these components work together, talking over CAN or over Ethernet AVB.

Some auxiliary processors may run AGL (or just GENIVI) Linux, but you can argue all day whether they are ECUs or auxiliary head units.

Bare-metal Android has shown limited popularity in the vehicle market. Its power and memory management designs are not necessarily suited to the automotive use case, and the slow boot is a non-starter for meeting US National Highway Transportation Agency's 2-second backup camera requirement. Android as a guest is a sensible way around these problems.

Automotive Grade Linux and a distribution for cars

Posted Jun 4, 2015 17:54 UTC (Thu) by drag (guest, #31333) [Link]

Very good, makes sense. Thank you for the edification.

Automotive Grade Linux and a distribution for cars

Posted Jun 4, 2015 5:59 UTC (Thu) by alison (subscriber, #63752) [Link]

"I wonder if this perception has anything to do with the problems laid out in this article" ?

No actually. Nate's astute observation that

". . . it was hard not to notice that, in a change from the past, Intel and Tizen had little to no presence at the event itself this year"

is pertinent.


Copyright © 2015, Eklektix, Inc.
This article may be redistributed under the terms of the Creative Commons CC BY-SA 4.0 license
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds