FreedomBox activities at Debconf11
I spent the last two weeks of July 2011 in Banja Luka. The occasion was the
and preceding work week known as
Debcamp. This was my tenth successive year attending Debconf, and I had a
very productive and pleasant time! The facilities were good, the local team
was friendly, enthusiastic, and very helpful, and in addition to giving three
talks and hosting a couple panel discussions, I managed to put a burst
of energy into work on FreedomBox
other developers working on FreedomBox were also present, and a good number of
plugs were evident in the hacklabs sporting new FreedomBox stickers.
Working together in the same place for several days, we made good progress
on several projects, and also had some great discussions about what we want
to do going forward.
image building tools
For some time, I've been working towards a light-weight tool set to build
FreedomBox software images. Shortly before Debconf started, I chose the
name 'freedom-maker' for this tool and shared a link to a readable copy of my
git repository with other developers I expected to work with in Banja Luka.
With input from Bert Agaz and Jonas Smedegaard during Debcamp, freedom-maker
went from almost useful to actually useful. It still deserves work to be
more useful to others, but I have now pushed a copy of the git repository to
so that we can take advantage of the tools supported there to
enable others to more easily contribute to the code.
Very soon, Bert plans to add support to freedom-maker for using Lars Wirzenius'
to build x86 images
suitable for testing in a virtualized environment. At the same time, we plan
to refactor the existing code slightly
to enable lists of desired packages for the various image flavors we expect
to produce independently of the configuration for each specific image building
Jonas continued in parallel to work on his alternate packaging toolset
It offers some potentially interesting features for the future, and we may
eventually merge some or all of it into freedom-maker, but for now it remains
a separate utility.
uAP user space tools
Several weeks ago, we received from Marvell the source code to two user space
programs that are necessary for configuring and monitoring the binary firmware
provided for the uAP wireless chip used in the DreamPlug. Early during my
stay in Banja Luka, I packaged these for Debian as
, and I am pleased to note
that they were quickly accepted into the archive and are now present in Debian
Another bit of code received very shortly before Debconf started was the
source for the version of u-boot shipped by
in the DreamPlug
units we're working with. During Debcamp, Clint Adams passed a copy of this
source to Jason Cooper, who was already trying to add support for the
DreamPlug to upstream u-boot, but had stalled due to a lack of
information. Jason has now merged his own work with the sources we got
from the manufacturer, and is
making good progress towards merging DreamPlug support into upstream u-boot.
Once that happens, we should be able to flash our Sheeva and Dream plug devices
with a u-boot image built from the source in the Debian u-boot package, in the
process enabling things that matter to us like the ability to boot from an
ext2 partition, and hopefully the ability to execute command scripts from that
partition instead of having to hard-code kernel filenames in flash. This will
allow us to support the ongoing effort in Debian to move away from the need
for kernel symlinks.
With respect to kernels, another work stream at Debconf primarily involving
H ctor Or n and Nick Bane was to analyze the current state of the patches from
Marvell and Globalscale used to support the DreamPlug against both upstream
and current Debian kernel sources. To my surprise and our collective pleasure,
the remaining patch set required against current upstream kernels is much
smaller than we previously believed! There are still several patches critical
to us that are not merged upstream, but the work remaining to be able to build
images for our devices from mainline and Debian kernel source trees now seems
like something we might be able to complete before Debian's next stable
One of our discoveries during the u-boot and kernel work during Debconf was
that Globalscale did not obtain a new machine id for the DreamPlug, but
instead re-used the one for the GuruPlug series, despite there being some
differences in the hardware that require at least one additional driver. After
much discussion, we plan to continue using the existing machine id instead
of requesting another, particularly because the ARM kernel community
has apparently stopped issuing new ids for the moment. We will add a new
kernel config option for the DreamPlug, however, and are likely to build
distinct Sheeva and Dream kernel packages that do not require initrd for use
in FreedomBox images, even if doing so is not strictly necessary. This will
allow us to optimize both the in-memory footprint and boot times for our
Another area of investigation in Banja Luka was technology for package
configuration. Mirsal Ennaime performed various tests using debconf and
Config::Model, with some results reflected in this commit
relating to configuring the bitcoind daemon in the bitcoin package for Debian.
identity and trust management
While we did not actually do any FreedomBox specific work on the trust
management layer we know is necessary, after several rounds of conversation,
I am now more convinced than ever that the right path forward is to base our
trust relationships on OpenPGP keys using GnuPG and Monkeysphere as starting
software elements. Our thinking to date is captured on an
page in the wiki.
Another thing that became fairly clear to me during discussions at Debconf
is that in the near term, planning to build communication services around
XMPP is the approach most likely to give good results. Investigating the
software choices available to build an interesting XMPP infrastructure is
now a high priority for me. Jonas has done some work towards
configuring and integrating ejabberd
, I've started studying
as a possible call manager and VoIP
server choice with
XMPP/jingle support, and we await with great interest a release from the
developers to evaluate as
a possible basis for deploying social network services.
Some of these software choices will lead us to use Apache as our web services
base technology because of the need for features that only it supports well
among daemons that are Free Software.
Jonas completed packaging GNU Sip Witch
for Debian, and it is now available in the mirror network. Tzafrir Cohen and
Jonas did some initial testing on its use.
A number of new wiki pages
(or at least started) in order to sum up ideas, design various aspects of
FreedomBox, and reflect discussions that happened during DebConf11. A lot
of work is needed to complete these pages though, as well as others to capture
more of the current state of the project.
Finally, while in Banja Luka I got some great press coverage for FreedomBox!
On Sunday the 24th, I was
by the main television network serving the Republika Srpska. This led
to a couple of minutes of coverage near the top of the national news program
that night, immediately following the lead story about the President and
several ministers appearing at Debian Day that morning to help open the
conference. This interview was later re-used in
another TV program
that summarized Debconf11. On the morning of Thursday the 28th, I was part
of a small group that spent more than an hour meeting with the Minister of
Science and Technology in his office, and the relationship between Debian
and our work on FreedomBox was one of the items of discussion in that meeting
and the associated press conference. I'm told this resulted in more press
coverage, but if true I have not seen it yet.
On Friday afternoon the 29th, I gave a talk in the main Debconf program containing a FreedomBox Progress Report
. In it, I talked about the structure of the FreedomBox Foundation, progress the foundation has made, and the work that was still then underway in Banja Luka. It was streamed live over the internet, and replays are available online. The reaction from Debian developers present was very positive, which was good to learn since by that time my energy level was quite low after the nearly two weeks of intense technical and social interaction that is Debconf!
All in all, we got lots of work done on FreedomBox in Banja Luka, enough that
I think at least the next few steps along the road towards an eventual "1.0"
release of a reference implementation are now much clearer than they were two