Justus Winter: A story about virtualization
I'm sure you all will be a bit disappointed (I know I am) that there
are no ascii screenshots in this weeks report. But let me make it up
to you by telling you a story.
I was at the FOSDEM in the year 2012 and I went to a nice workshop on
sunday afternoon in the Virtualization Devroom. Renzo Davoli was the
host of this workshop
and he started with a little introductory talk to get everyone to
agree on a common terminology first. He began by asking the question,
what virtualization meant in the most general way. He defined the
ability to virtualize a resource as the ability to freely and
transparently control how someone (say a process) is interacting with
said resource. So for example if you LD_PRELOAD a library to
impersonate fopen(3) and friends, you have virtualized the
filesystem (for some small values of virtualized). He then went on to
discuss various methods of virtualization that are commonly available
on Linux, not only full system virtualization solutions, but also all
kinds of methods allowing a more fine-grained control over what
resources are virtualized. Of course every method had its strengths
and its weaknesses.
Having seen Samuels talk
about all the awesome things Hurd can do for virtualization I
approached him with a question in the free discussion part of his
workshop. I asked whether he would agree that once a resource is moved
from the kernel to the userspace, the problem of virtualizing that
resource is almost trivially solved, and he agreed. So I said that
this was awesome, because then the trivial and elegant solution for
all his virtualization (and tracing) needs are micro kernel operating
systems, and he also agreed to that but (as far as I can recall) he
mentioned that there is none that would meet his needs (I believe he
is a computer science professor and heavily relies on virtualization
techniques for his lab and for teaching purposes).
And even though a microkernel operating systems has a cost (message
passing instead of function calls for example) it also has its merits
such as scaling better from a development point of view. Also, many
cool features can emerge just from the design. For example think about
the container support in Linux and how painfully long it took to make
all the resources namespace aware (with one of the most critical, the
user namespace being the most difficult one). On Hurd you get the same
functionality for free. If you are curious, read Samuels awesome
slides.
So what have I done this week?
- procfs should ignore --no dev,exec,suid : http://lists.gnu.org/archive/html/bug-hurd/2013-07/msg00076.html
- libnetfs does not respond properly to file_get_translator requests on nodes with a passive translator record: http://lists.gnu.org/archive/html/bug-hurd/2013-07/msg00148.html
- As the mtab translator is a translator of its own, there needs to be a way to bind it to /proc/mounts. I figured the easiest way would be to just serve a node with an appropriate passive translator record: http://lists.gnu.org/archive/html/bug-hurd/2013-07/msg00149.html
- There was no clean way to start the console-client. I added daemonizing support to the console-client and created an appropriate initscript: http://lists.gnu.org/archive/html/bug-hurd/2013-07/msg00165.html
- I also worked a lot on my mtab translator prototype: http://lists.gnu.org/archive/html/bug-hurd/2013-07/msg00183.html
Yesterday, I've spent some time trying to improve speed of translation import in
There are three main ways to distribute a command-line daemon for
The documentation around how to build such a package is somewhat
clumsy. You may find outdated information or pieces of information
that only apply to projects using Xcode. I will try to provide here
accurate bits in the following context:
This week I made two releases of
The blog Math with Bad Drawings recently featured an
Mir is Canonical's new display server. It fulfils a broadly similar role to
Last Friday, I spent and hour and a half clamping a landline phone to the
side of my head, while also wearing a headset. I was recording an interview
on the 



Thanks to the
As you might (or might not) know, this summer, I have taken on mentoring of
Well, the general idea was easy enough, but the task at hand is a challenge. First of all, fedmsg has a lot of (smallish) dependencies, most of them new to Debian.
Thanks to Simon s work during the bonding period, and thanks to paultag s careful reviews, the first batch of packages (the first dependency level, comprising kitchen, bunch, m2ext, grapefruit, txws, txzmq and stomper) is currently sitting in the NEW queue. The four remaining packages (fabulous, moksha.common, moksha.hub and fedmsg proper) are mostly ready, waiting in the Debian Python Module Team SVN repository for a review and sponsorship.
While we re waiting for the packages to trickle into Debian, Simon is not twiddling his thumbs. Work has taken place on a few fronts:
Dpkg provides a mechanism to execute again the 

