January 22, 2015

Ubuntu Snappy Leads Mobile Linux Migration to IoT

erlecopter droneThis week's announcement of an Internet of Things version of Canonical's lightweight Snappy build of Ubuntu Core is another sign that mobile Linux distros will find their biggest success not on phones but on embedded devices. Both the IoT- and almost identical cloud version of Snappy, which was announced last month, are based as much on Ubuntu Touch as Ubuntu Core. In particular, they borrow the mobile interface's secure, automatic-updating package manager and app store support.

Snappy for IoT, which initially targets robots, drones, and home automation gear, differs from most of the other Linux distributions used in Internet of Things applications in that it has a cloud-based doppelganger that it can interact with. It also offers the same container support -- specifically, Docker. Snappy appears to offer a more fully formed cloud strategy than most, which should prove important as companies face the challenge of managing thousands of wireless-enabled IoT endpoints. Canonical's expertise with Ubuntu running on cloud platforms may well give it an edge here.

Like Ubuntu Touch, the IoT version of Snappy is a lightweight version of Ubuntu, and will be similarly folded into the mainstream Ubuntu framework this April with Ubuntu 15.04 (Vivid Vervet), which was just released in Alpha 2 form. Yet, it's even lighter than Touch, requiring a 600MHz CPU, 4GB of flash, and 128MB RAM. Only 40MB of the RAM is used by the system while the remainder is used for apps.

"This is the smallest, safest Ubuntu ever, on devices and on the cloud," wrote Ubuntu founder Mark Shuttleworth in his blog announcement.

Snappy on ARMv7, x86-64

Snappy integrates a hardware abstraction layer for hosting platform-specific Linux kernels, and features a "WebDM" web device manager that enables consistent boot procedures and app-store access across devices.

WebDM's Ubuntu Touch-based update mechanism offers streamlined, automatic updates, and also helps block unauthorized updates, says Canonical. It uses a transactional systems management approach, so updates either deploy exactly as intended or not at all, claims the Ubuntu sponsor. Further security is added via AppArmor and other techniques, and Snappy’s OS and application files are kept in separate silos, and are read-only to block tampering.

Unlike Mozilla's lightweight, and similarly alpha-stage, PiFxOS version of Firefox OS, Snappy does not support the ARMv6 Raspberry Pi, but it does support ARMv7 and x86-64 platforms. The BeagleBone Black and Odroid-C1 SBCs are the recommended ARM development platforms, while any x86 computer or VM should do the trick on the x86 side. (Here's a Dustin Kirkland tutorial on loading Snappy on the BeagleBone Black.)

ninjasphereSeveral other community-backed ARM board projects are included on the list of 21 supporters, as well as chip vendor Allwinner and various IoT frameworks. The most important partner here, however, is the Open Source Robotics Foundation (OSRF), which maintains the Robot Operating System (ROS), a popular open source robotics platform that recently announced ARM Linux support. Ubuntu may not know much about robots, but combine it with ROS, and you're well on your way. (Here's a Martin Pitt tutorial on using Snappy with ROS.)

A testimonial from OSRF CEO Brian Gerkey suggests that Snappy's app store was a key attraction. The app store "creates a market for innovation and competition in smart robotics, with apps and updates delivered straight from developers to a new class of open, intelligent robots powered by open platforms and open protocols," stated Gerkey.

The first Snappy-fueled systems include the Erle-Copter drone, which supports both ROS and the first Linux version of APM (ArduPilot), the technology behind the Linux Foundation's Dronecode project. In addition, the Ninja Sphere home automation hub runs Snappy.

Mobile Linux shifts to IoT

Canonical and others pushing mobile Linux distros are not giving up on mobile devices, but they no longer appear to be the main priority. The first Ubuntu phone running Ubuntu Touch is now expected to arrive in early March in conjunction with Mobile World Congress, and Samsung finally pushed its first Tizen phone out the door last week with its modest, India-targeted Samsung Z.

Mozilla's hardware partners have been shipping Firefox OS phones since July 2013 in dozens of countries around the world, targeting the space between feature phones and low-end Android phones. Yet, Firefox OS does not appear to have made much of a dent in market share.

Meanwhile, Android continues to consume more of the mobile market, and Google has lowered Android's RAM requirement to play better on lower end devices. It has also launched its Android One line of budget smartphones to try to head off any invasions from below.

As the smartphone begins to look less attractive due to Android's continuing dominance and the growing saturation in affluent markets, embedded Internet of Things gizmos such as wearables, drones, home automation hubs, and smart TVs have emerged as easier targets for the mobile Linux contenders. Thanks largely to HTML5, Tizen and Firefox OS can still beat Android's performance on lower end hardware. Meanwhile, LG has squeezed the formerly mobile-oriented WebOS into a successful line of smart TVs, and Samsung is baking Tizen into all of its 2015 smart TV line.

In conjunction with the Z1 phone release, Samsung made its strongest commitment yet to Tizen, stating in a blog entry that the Z1, as well as Samsung's Tizen based smartwatches and cameras, represented "just the tip of the iceberg." The company hinted that many, if not most, of its appliances would run Tizen, including vacuum cleaners and washing machines. Yet, the company barely mentioned mobile devices, which will likely stick primarily with Android for the near future as Samsung waits for the Tizen app library to grow.

Many are frustrated with the delays and cautious rollouts on new mobile Linux phones. General embedded developers, however, should be excited by the prospect of several sophisticated, standardized development platforms that are ready to roll with app stores, enhanced security, and other benefits. And the mobile Linux backers must be heartened by the knowledge that they're entering embedded territories where mainstream Linux still dominates over the Linux-based Android -- and where they are on a more equal footing with Google, Apple, and Microsoft. 

Click Here!