Connected Car

Article from Issue 194/2017

We answer your questions about the Automotive Grade Linux project.

Q Linux in a car? Excellent! I've always thought that a steering wheel and pedals were a bit antiquated compared with a keyboard. Will I be able to choose between Vi and Emacs key bindings for the controls on my next car?

A Well first of all, you need a history lesson – it's the keyboard that's antiquated. The QWERTY keyboard originates from the Sholes and Glidden typewriter produced by E. Remington and Sons in 1873, whereas the steering wheel didn't appear until 1894. Second, Automotive Grade Linux (AGL) [1] isn't about taking complete control of the car with Linux but creating a standard platform for the various computers that already exist on cars. The first goal is the in-vehicle infotainment system, but the developers hope that it will support instrument cluster, heads-up display, telematics, and autonomous driving in the future.

Q Autonomous driving? To be honest, I've long suspected I could script my drive to work …

A Well, let's not get ahead of ourselves. Autonomous driving is more an aspirational goal than something being worked on at the moment.

Q OK, so the first goal is infotainment – what is that?

A The computer and display system on most cars around at the moment fulfill two separate tasks – they let the driver know what's going on with things like the speedometer, navigation system, rear-facing cameras, and that sort of thing. They also keep everyone entertained through the journey with music (and of course, the Linux Voice podcast), or possibly with videos for those in the back seats. People who wear suits and sell cars know these functions as infotainment because apparently saying information and entertainment is five syllables too long.

There have been two releases so far in 2016 (with the latest being 2.0, aka Brilliant Blowfish), and this goal of an infotainment system is well on its way to becoming reality.

Q It's on version 2.0 already? What cars is it running in?

A The numbering is a bit misleading – it might be called version 2.0 but it's not quite ready for production use just yet. There are more releases planned for 2017, but we're unlikely to see AGL in any production cars before 2018, so you may have to wait a couple more years before getting open source software in your car.

Q AGL might be open source, but will I get any benefits from the openness? Won't the software just be so locked into the car and so unchangeable that it might as well be proprietary?

A Most manufacturers will undoubtedly lock their cars' computers down so that users can't change the software on them. Much as we'd like this to lead to a hackable car, that probably won't happen. The biggest advantages to us – as car users – is that open source is a better way of developing software. Rather than each manufacturer working on proprietary code and reinventing the wheel, they can all pool their resources and create one really good system that we can all benefit from.

At the moment, project members include Mazda, Toyota, Honda, Nissan, Ford, Land Rover, and Subaru, as well as a host of IT companies, and the project lives inside The Linux Foundation umbrella (Figure 1). Together, these companies represent a lot of auto industry might, and if they can all work together, we should see a significant improvement in the area of in-car computers.

Figure 1: The AGL logo includes a not-so-subtle reminder that this is a Linux Foundation project.

Of course, the software itself is freely available both as source code and in images for different devices, including Raspberry Pis and MinnowBoards. Even though you might not be able to access the computer in new cars, this will mean that you can build new systems and retro-fit them to old cars. The wiring could be a little complex, but if you leave the current information system in place, AGL could be a great option for building a more complex entertainment system for your motor.

Q If AGL allows me to build my own in-car computer, does that mean that I can kit out my aging VW Golf as a sort of Batmobile/James Bond car gadget-fest?

A We're not on the Batcave technical advisory committee, but if we were, we're strongly recommend investigating AGL for future development. However, no amount of gadgets or smooth user interfaces is going to turn a Golf into an Aston Martin.

Q There's nothing stopping me from using any Linux distribution to build an in-car computer. Why should I use Automotive Grade Linux?

A Probably the most unique thing about car computers is their user interface. You need to be able to do everything while driving down the motorway at 70mph (and possibly chasing down Gotham City's ne'er-do-wells), so everything has to be really intuitive and easy to use. The second big difference is that in-car entertainment computers bring together some quite unusual hardware. For example, there aren't many other computers that have to operate both analog radio receivers and handle GPS navigation, and that's without getting into the CAN bus and controlling the air conditioning. Basically, what we're trying to say is that there's nothing fundamentally unique about Automotive Grade Linux, but it is tuned toward the particular needs of in-car computers.

For more simple entertainment systems, AGL is designed to work well with the particular needs of cars, such as the ability to have one control system in the front and multiple display screens in the back. It's not impossible to set this up with careful tuning of your X Window configuration, but it's a lot easier to use a distro that's set up ready for this type of use. On a more practical level, AGL uses Wayland to provide better graphical performance for low-powered devices such as the sort you're likely to embed in a car dashboard.

Q With high-profile security issues in Linux over the past couple of years – Shellshock and Heartbleed to name but two – isn't it a bit risky to put Linux in cars?

A Obviously, a car without a computer is going to be more secure from an IT perspective than one with a computer, but you miss out on lots of really great features such as satellite navigation, advanced engine management, and entertainment features. Provided it's properly configured and kept up to date, your car's computer shouldn't pose any significant security risk. Obviously, "properly configured and up to date" is somewhat vague. After all, as a purchaser, how can you know that the system is secure? At least with Automotive Grade Linux, the software is created in public by a large community of engineers, and bugs can be found and fixed by anyone.

No software is immune to security problems, whether open source or not, but the Linux community has shown time and again that it can respond promptly and responsibly to security issues to protect users. It's too early to know for sure that the car manufacturers will take advantage of this and push security fixes out to fix any problems. There are always unknowns with IT security, but we'll feel far safe in cars we know are running up-to-date open source software.

Q What distro is AGL based on? I've always been a Debian user, so will I be able to apt-get new software?

A AGL is built on Yocto, which isn't really a distro but, rather, a framework for building embedded distros. Like AGL, Yocto [2] is a Linux Foundation project, and it's used in everything from industrial cooling systems to smart TVs. The project is based around the OpenEmbedded build framework that makes it really easy to build images for different devices. It will, however, be a little unfamiliar to people used to more traditional Linuxes, so you shouldn't expect to be able to use Yum or Apt to grab more software. It's perhaps better to think of it more like Android, in that it doesn't provide a typical Linux environment, but it's still based on the Linux kernel.

Q Sounds interesting, but do I have to have some embedded hardware, such as a Raspberry Pi to test it out?

A For the full in-car setup, you'll get most features if you run on a Renesas R-Car Porter board, which is a hackable embedded board that's designed specifically for developing car-based hardware. However, reference images are available for the Qemu virtualized environment and the Intel MinnowBoard Max, as well as an additional Raspberry Pi image created by the community. You can download these images from the AGL wiki [3].

If you have something else in mind, all the source code is available, and it's reasonably straightforward to use the Yocto project tools to build AGL for other hardware.

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy Linux Magazine

Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

comments powered by Disqus
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters

Support Our Work

Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.

Learn More