Canonical has announced a version of Ubuntu specifically designed for IoT devices running Linux, with a low hardware requirements, and a new package manager called snappy, replacing apt-get for this version of Ubuntu, which provides simpler, faster, and more reliable updates, stronger security, and allows roll-backs in case something goes wrong. Easy firmware updates are something missing in most connected device, which means they are more vulnerable to potential hackers, but with snappy security updates should be able to make it regularly, so that if something like heartbleed occurs again, you know your router, home automation gateway, connected washing machine, or robot will be soon patched automatically.
Let’s go through the hardware requirements first:
- Processor – 600 MHz processor (ARMv7 or greater, or x86)
- System Memory – 128 MB RAM or greater (The system itself uses 40 MB RAM)
- Storage – 4GB flash / storage for factory reset and system rollback
So the hardware requirements are not quite as low as something as OpenWRT, but still lower than what you’d expect from Ubuntu, so you could use an old laptop or PC as a development platform, and Canonical also recommends BeagleBone Black or ODROID-C1 ARM based development boards. The Raspberry Pi board won’t work with Snappy, because Broadcom BCM2835 processor is using an older architecture (ARMv6) not supported by Ubuntu.
Twenty one companies and organization have partnered with Canonical on Snappy Ubuntu Core:
- Home automation – Ninjablocks (Ninjasphere), Openhab (smarthub framework), Trasibot
- Robotic – OSRF – ROS robots, , Erle Robotics with Erle-Copter
- Development Boards – Hardkernel ODROID-C1, Beagleboarg community’s Beaglebone Black, Lemaker (Banana Pro), Udoo, LinkSprite (PCDuino), and Parallella
- Silicon Vendors – Allwinner
- IoT frameworks – Kaa, DeviceHive, IoTSys, Resin.io, OpenSensors.io
- Misc- Riot-OS, Nwave, Fairwaves, Docker with Weave
As mentioned in the introduction, apt-get is no where to be found in Snappy, as the distribution is using snappy instead, but the command line options remain familiar in some aspects:
1 2 3 4 |
$ sudo snappy install docker docker 4 MB [=====================================================] OK Part Tag Installed Available Fingerprint Active docker edge 1.3.2.004 - 788b0787b18b1c * |
with various new/different options like info, search, versions and more:
1 2 3 4 5 6 |
$ snappy versions -a PART TAG INSTALLED AVAILABLE FINGERPRINT ACTIVE ubuntu-core edge 14.11.1-20141130 - 4e8c32456ab10 ubuntu-core edge 14.12.1-20141201 - 7611de9a73923 * docker edge 1.1.21 - 34b32c359a08e * hello-world edge 1.0 - 27e98ab23492c * |
You can see in the list above two version of ubuntu-core, with one ACTIVE and the previous available for roll-back with the command:
1 2 3 4 |
$ sudo snappy rollback ubuntu-core rolling back ubuntu-core -> (edge 14.11.1-20141130 8337ce7b64821) Reboot to use the new ubuntu-core. |
You can find more example in Ubuntu Developer’s snappy page, and find out snappy can also be used to build software packages from source.
There’s also a work-in-progress web interface called WebDM (Web Device Manager) used to configure the device and install packages. It can be installed with sudo snappy install webdm, but Canonical warns it should not be enabled in production devices for now, as access control is not implemented yet.
If you want to try it, you don’t even need extra hardware, as a Snappy Ubuntu Core instances can be launched from Azure, GCE or Amazon EC2 cloud services, or run in a Virtual Machine with KVM, OVA (VMWare, VirtualBox,…) or Vagrant. All you have to do is follow the instructions provided here. Complete instructions and a preview image are also available for the BeagleBone Black. There does not seem to be pre-built images yet for the other ARM boards mentioned in this article.
Via LinuxGizmos
Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting to write daily news, and reviews full time later in 2011.
Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress
“a version of Ubuntu specifically designed for IoT devices running Linux” I still have to fully understand Ubuntu Snappy, but AFAIK Ubuntu Snappy is NOT “a version of Ubuntu specifically designed for IoT devices running Linux” … as you imply at the end of your article: Ubuntu Snappy is also available for cloud and VMs. To me Ubuntu Snappy is a bare-minimum GUI-less Ubuntu, on which you run 1) built-in commands/programs 2) docker containers and/or 3) specifically built packages. But as apt-get is not available, you can not run the 30.000 packages that are available via apt-get. So, if –… Read more »
@Sander The announcement title is: “Ubuntu Core on Internet Things”, and starts with New Snappy Ubuntu Core on smart devices delivers bullet-proof security, reliable updates and the enormous Ubuntu ecosystem at your fingertips – bringing the developer’s favourite cloud platform to a wide range of internet things, connected devices and autonomous machines. I think the deployments in the Cloud and VM are mostly for evaluation, and development. So you can develop your app on PC, as it’s easier/faster, and once you’re done run it on the target hardware, which is likely to be a low cost low power board /… Read more »
The hardware requirements seem a bit unfortunate; AFAIK the only<$30 platform that meets them is Raspi A, and that's the 'wrong kind of ARM'. I guess this will change though.
Buhuhu. The Raspberry SoC has been the wrong/obsolete kind since its start.
@onebir
ODROID-C1 is not too bad either at $35. The main problem is shipping cost for those of us who don’t live in the US or Europe.
@G
Sure, I’m not complaining about Canonical’s decision. But for true IoT ubiquity the hardware needs to be cheap & AFAIK outside Korea, nothing in that list can be had for <$50…
They mention “$35 ARMv7 Odroid-C1”.
And… they also mention an app store and this: “Commercial vendors [can] sell software to their customers, on an open platform.” Looks like app store selling proprietary applications.
@G
“$35 ARMv7 Odroid-C1″. = price in Korea. Shipping is $20+ to many places.
@Jean-Luc Aufranc (CNXSoft)
“I think the deployments in the Cloud and VM are mostly for evaluation”
I really don’t think so; I think Ubuntu Snappy in the cloud is a competitor to CoreOS, so a bare minimum OS on heavy hardware for running containers
@Jean-Luc Aufranc (CNXSoft):
Found it: “Snappy Ubuntu Core is the perfect system for large-scale cloud container deployments, bringing transactional updates to the world’s favourite container platform.”
http://www.ubuntu.com/cloud/tools/snappy
So … Snappy in the cloud is NOT for evaluation of Snappy on embedded.
@Sander
You’re right. But they already have Ubuntu Server and Ubuntu Core (without Snappy), so I’m not sure why this is needed for servers. I should probably read more about Docker, as I’ve recently often seen it mentioned in articles.
I think Odroid have fixed the shipping cost issue – I’m not in Europe & just checked: $9. So $44 for a superior slice of pi 😉
Write up explaining how to port Ubuntu Snappy to another board (NinjaSphere) – https://ograblog.wordpress.com/2015/01/25/porting-ubuntu-snappy-to-a-yet-unsupported-armhf-board/
@Jean-Luc Aufranc (CNXSoft)
they have distribution partners in Europe and US, so i got one for $43 shipped