Snappy Ubuntu Core and uvtool

Scott Moser

Scott Moser

on 10 December 2014

Earlier this week, Ubuntu announced the Snappy Ubuntu Core . As part of the announcement, a set of qemu based instructions were included for checking out a snappy image on your local system.  In addition to that method, we’ve been working on updates to bring support for the transactional images to uvtool. Have you used uvtool before?  I like it, and tend to use for day to day kvm images as it’s pretty simple. So let’s get to it.

Setting up a local Snappy Ubuntu Core environment with uvtool

As I’ve already mentioned Ubuntu has a very simple set of tools for creating virtual machines using cloud images, called ‘uvtool‘.  Uvtool offers a easy way to bring up images on your system in a kvm environment. Before we use uvtool to get snappy on your local environment, you’ll need install the special version that has snappy supported added to it:

$ sudo apt-add-repository ppa:snappy-dev/tools
$ sudo apt-get update
$ sudo apt-get install uvtool
$ newgrp libvirtd

You only need to do ‘newgrp libvirtd‘ during the initial setup, and only if you were not already in the libvirtd group which you can check by running the ‘groups’ command. A reboot or logout would have the same effect.

uvtool uses ssh key authorization so that you can connect to your instances without being prompted for a password. If you do not have a ssh key in ‘~/.ssh/id_rsa.pub‘, you can create one now with:

$ ssh-keygen

We’re ready to roll.  Let’s download the images:

$ uvt-simplestreams-libvirt sync –snappy flavor=core release=devel

This will download a pre-made cloud image of the latest Snappy Core image from http://cloud-images.ubuntu.com/snappy/. It will download about 110M, so be prepared to wait a little bit.

Now let’s start up an instance called ‘snappy-test‘:

$ uvt-kvm create –wait snappy-test flavor=core

This will do the magic of setting up a libvirt domain, starting it and waiting for it to boot (via the –wait flag).  Time to ssh into it:

$ uvt-kvm ssh snappy-test

You now have a Snappy image which you’re sshd into.

If you want to manually ssh, or test that your snappy install of xkcd-webserver worked, you can get the IP address of the system with:

$ uvt-kvm ip snappy-test
192.168.122.136

When you’re done playing, just destroy the instance with:
$ uvt-kvm destroy snappy-test

Have fun!

Internet of Things

From home control to drones, robots and industrial systems, Ubuntu Core and Snaps provide robust security, app stores and reliable updates for all your IoT devices.

Newsletter signup

Select topics you’re interested in

In submitting this form, I confirm that I have read and agree to Canonical’s Privacy Notice and Privacy Policy.

Related posts

Snapcraft Summit Montreal

Following previous events in New York, Seattle, and London, the fourth Snapcraft Summit is taking place in Montreal, Canada from June 11th to 13th 2019. We have partnered with Travis CI this time and also expanded the scope of the event to…

The path to Ubuntu Core

At Canonical, helping customers overcome their challenges is what we do every day. In the IoT world, a common challenge we encounter is customers who are interested in transitioning to Ubuntu Core and the snapcraft.io ecosystem, but are…

Porting Ubuntu Core 18 on Nvidia Jetson TX1 Developer Kit

Ubuntu Core (UC) is Canonical’s take in the IoT space. There are pre-built images for officially supported devices, like Raspberry Pi or Intel NUCs, but for other boards, when there is no community port, one needs to create one on…