system-image 3.0

Barry Warsaw barry at
Mon May 18 21:36:26 UTC 2015

I just published the system-image client v3.0 to wily.

The full list of changes is available on the milestone page:

Most of the changes fall in to two categories: bug fixes, and changes to
better support snappy.  The D-Bus API should be completely backward
compatible, so no changes are needed in any D-Bus clients of si.

The most user visible change (for those of you who like to look under the
hood) is the new configuration scheme.

With si 2.5 there were two files in /etc/system-image, a client.ini which gets
laid down by default with the package and contains useful defaults, and a
channel.ini file which gets created by the system-image server.  This latter
contains some overrides of the defaults, but it's used primarily to define
build version information.

In si 3.0 this changes a bit.  There's now an /etc/system-image/config.d
directory containing files such as NN_<whatever>.ini where 'NN' is a 2-digit
number.  These files are loaded in increasing numeric order; the "<whatever>"
bit is ignored for load order purposes.

By default you'll see 00_default.ini and 01_channel.ini files in there.
01_channel.ini can override anything in 00_default.ini, but these two files
serve exactly the same purpose as the old client.ini and channel.ini files
respectively, and in fact right now you'll see they are relative symlinks.  At
some point in the future, once si 3.0 is on all relevant channels, we may
remove those older files and make the config.d ones actual files.

Because of the way the server works, you'll see the config.d directory on all
channels, but it will be ignored if you have si 2.5.

On wily then, you can add new files to /etc/system-image/config.d to override
any default.  This is useful for testing upgrades since now you can just drop
something like an 02_testing.ini file in the directory.  Let's say the device
is up-to-date at version 85 and you want to test upgrades to the latest
version.  Put this in 02_testing.ini:

build_number: 84

Be sure to restart system-image-dbus (if you're using the ui; system-image-cli
doesn't care) and now you'll be able to perform a "fake" update from 84->85.

Two other quick notes:

Currently si 3.0 client is only available on wily and wily-derived channels.
It shouldn't be difficult to backport it to vivid-y channels if you want it
there.  On snappy we already have a fork of si 3.0, so we'll want to
transition back to the real package and drop the fork.  mvo and I will
coordinate about that.

Also, I intend to convert the si client branch to git and retire the bzr
branch at my earliest opportunity.

As always, feel free to ask me questions via email or irc.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 819 bytes
Desc: OpenPGP digital signature
URL: <>

More information about the snappy-devel mailing list