Distributions
A second release from Automotive Grade Linux
On July 12, the Automotive Grade Linux (AGL) project announced version 2.0 of its Unified Code Base (UCB) platform. The AGL UCB is an embedded Linux distribution built with Yocto that combines software components developed within AGL with components developed by other automotive-Linux projects like the GENIVI Alliance and the (now defunct) Tizen IVI. The most visible changes in the new release are support for audio and video output on multiple hardware endpoints (such as rear-seat entertainment units), but there are several other updates under the hood.
The new release (codenamed Brilliant Blowfish) comes six months after the previous UCB release, Agile Albacore, which we looked at in January. That earlier release was the first attempt to merge AGL, GENIVI, and Tizen IVI components into a coherent distribution by carefully organizing them into Yocto meta-layers. Under that scheme, AGL can add GENIVI code to its UCB distribution, and other users of GENIVI can selectively choose just the GENIVI components. By all accounts, the shared-layer strategy has been working fairly well for the projects.
Audio-video
The changes found in UCB 2.0 include an initial implementation of multi-seat video display. It is possible to attach several displays to the system (such as one front-seat unit and several rear-seat units) and play a video on all screens simultaneously. Audio playback is more sophisticated, in that applications can direct their output to particular audio endpoints.
The intended use cases include having Bluetooth-connected phones play audio only through the driver's speakers and having rear-seat units play audio through headphone ports. For now, the code only supports two output "zones" (front and rear), but the AGL audio-player demo application does allow different tracks to be played in the two zones. Furthermore, the front audio zone supports overlaying audio from multiple applications, so when that Bluetooth-connected phone starts ringing, the driver will hear it.
Ultimately, the video component will have to support displaying different content on the different screens as well, of course. But that code is still in development; it is an extension to AGL's Weston-based display manager. The audio-routing code comes from GENIVI, and has been in development significantly longer.
Supporting frameworks
The 2.0 release also adds the ConnMan network-connection manager. The key benefits of this addition are that it allows the use of multiple paired Bluetooth devices and that it supports automatically switching over active data connections from mobile networks to WiFi when WiFi is available. Users might want to switch over to WiFi before updating installed apps or navigation data, for example.
Another new addition is an application framework adapted from earlier work done for Tizen IVI. It provides basic support for user installation, updating, and removal of applications, and provides the mechanisms to launch and tear-down applications. This provides a means to manage applications not under the control of the system vendor, which is a prerequisite for allowing user-installed, aftermarket "apps" like one finds on smartphones. At this point, there are no apps available to test with; adding the framework is merely the first step. It does, notably, sandbox applications using the Smack-based access control scheme from Tizen IVI.
A related addition is a new framework, developed primarily at GENIVI, designed to restrict access to the vehicle's bus (currently, the most common bus in use is CAN Bus, but others are supported as well). At the heart of this component is the Vehicle Signal Specification (VSS), which defines a set of messages for querying and reporting various aspects of vehicle status.
The AGL VSS code is available on GitHub and builds on top of Tizen IVI's Automotive Message Broker (AMB). That code uses JSON as the VSS message format, although the specification allows for other encoding formats as well, and there is currently a debate as to whether some other format (such as YAML) should be the default going forward.
The VSS signals themselves are designed to adhere to the World Wide Web Consortium (W3C) Vehicle Information API. Since, for the time being, vendor interest in AGL is leaning strongly toward using HTML5 for automotive applications, following the W3C's specification is the only logical choice.
Undercarriage
The AGL project has also made several helpful improvements to the build system prior to the 2.0 release, starting with migrating to Yocto 2.0. For interested developers, there are also quite a few more supported board profiles in the new release. Whereas UCB 1.0 supported only the Renesas R-Car Porter single-board computer (SBC), the 2.0 releases supports the Porter, the WandBoard and Sabre Automotive (both from NXP), the Qualcomm DragonBoard, the Intel Minnowboard MAX, and even the Raspberry Pi. As before, QEMU x86_64 images are built as well.
At the moment, binary images have not yet been posted for download from the AGL site, which is likely due to the fact that many AGL and GENIVI developers were busy last week at the Automotive Linux Summit in Tokyo. Braver souls can experiment with nightly snapshot builds in the meantime, but the final releases should be ready shortly.
As was the case with UCB 1.0, this new release demonstrates AGL's progress at merging work from outside sources into a workable automotive Linux distribution. On that front, it is particularly good to see more work being done on Tizen IVI code like AMB, which has been in limbo for quite some time.
Moving forward, the project has a ways to go before there is a stable platform offering everything that third-party app developers will expect to see. The VSS and application frameworks may form the base layer on which that platform is built, but users should expect a lot of testing and alteration before the final product hits showroom floors.
Brief items
Distribution quotes of the week
Distribution News
Fedora
Fedora 22 End Of Life
Fedora 22 has reached its end of life for updates and support. No further updates, including security updates, will be available for Fedora 22.
Newsletters and articles of interest
Distribution newsletters
- DistroWatch Weekly, Issue 670 (July 18)
- Lunar Linux weekly news (July 15)
- openSUSE news (July 14)
- openSUSE news (July 20)
- openSUSE Tumbleweed – Review of the Week (July 15)
- Ubuntu Kernel Team weekly newsletter (July 19)
- Ubuntu Weekly Newsletter, Issue 474 (July 17)
How (and why) FreeDOS keeps DOS alive (ComputerWorld)
ComputerWorld talks with Jim Hall, a contributor to FreeDOS. "FreeDOS (it was originally dubbed ‘PD-DOS’ for ‘Public Domain DOS’, but the name was changed to reflect that it’s actually released under the GNU General Public License) dates back to June 1994, meaning it is just over 22 years old — a formidable lifespan compared to many open source projects. “And if you consider the DOS platform, MS-DOS 1.0 dates back to 1981, ‘DOS’ as an operating system has been around for 35 years! That’s not too shabby,” Hall said. (Version 1.0 of MS-DOS — then marketed by IBM as PC DOS — was released in August 1981.)" (Thanks to Paul Wise)
Automotive Grade Linux Releases 2.0 Spec Amid Growing Support (Linux.com)
Over at Linux.com, Eric Brown writes about the release of Automotive Grade Linux (AGL) Unified Code Base (UCB) 2.0 for in-vehicle infotainment (IVI) systems. "The latest version adds features like audio routing, rear seat display support, the beginnings of an app platform, and new development boards including the DragonBoard, Wandboard, and Raspberry Pi. AGL’s Yocto Project derived UCB distro, which is also based on part on the GENIVI and Tizen automotive specs, was first released in January. UCB 1.0 followed an experimental AGL stack in 2014 and an AGL Requirements Specification in June, 2015. UCB is scheduled for a 3.0 release in early 2017, at which point some automotive manufacturers will finally use it in production cars. Most of the IVI software will be based on UCB, but carmakers can also differentiate with their own features." We looked at AGL UCB 1.0 back in January.
Page editor: Rebecca Sobol
Next page:
Development>>