home of the madduck/ blog/
FOSDEM 2006

FOSDEM 2006 is over, I am now sitting at one of the weirdest airports I have seen so far: passages are intertwined and long, and it seems like you have to walk several hundred kilometres in circles before you finally end up at the place you ned to go to.

I gave a talk Saturday on my Ph.D. research. Having spent almost an entire week preparing it, which involved rethinking my topic, the approach, and fighting doubts several times, I was all too pleased that a new aspect of my research was dawning upon me just in time to change a lot of the slides around a bit on the plane from Zurich. Even though my goal is to work a lot on Debian, I think the question on which I really want to concentrate is along the lines of "how to get volunteers to adopt new models and methods." Debian seems like a perfect environment in which to search for an answer, but I assume I shall also be looking around the Zope and Plone communities.

Unfortunately, my talk didn't go as well as I had hoped. Part of it was on the Debian security situation, and having talked to a couple of people up front, and receiving even more feedback to my online personna, which apparently sometimes misrepresents my intentions, I took specific care to do with the delicate topic of Debian security with utmost care (and I think I succeeded; oh, and as a German I have a right to run-on sentences...). As a result though, I lost about 10 minutes of time, and additionally, I got confused about the length of my talk slot somewhere in the middle of the talk.

After giving an overview of my research idea, model, and approach, and the security situation, and just before coming to the exciting meat on possible extensions to Debian package management and the upload process which are geared to making it easier for others to contribute, h01ger kindly pointed out I had 10 minutes (not 25) left, a bunch of people walked into the room, generating noise and switching lights on and off, and on top of it all, OpenOffice crashed with the remainder of my slides -- those that contained graphs and other means to convey the complex ideas I was about to introduce.

Everything seemed to be going wrong. I tried to give brief overviews of the ideas from the top of my head, but I didn't manage to piece together all the details that made the ideas interesting in a Debian context, and how the approach differs from Ubuntu's Launchpad and their new tool hct. So at the end of the talk I felt like I hadn't persuaded anyone of anything. Oh well. I was down for a while afterwards, it's been a long time since I felt a talk of mine failing as I did this time, and it wasn't until Hanna and some others consoled me by mentioning that they appreciated the contents I did convey (especially the security stuff), and quite a bunch of people found me afterwards with questions, suggestions, and comments.

My slides are available online (bzipped, \~ 1.4 Mib) and I am looking forward to your feedback. I herewith promise never to use OpenOffice.org again.

Saturday night then ended with dinner and a bit of beer drinking, but noone was really up for anything more after the excessive opening party the night before.

Sleep.

Sunday morning, my laptop was still frozen by OpenOffice, and I rebooted it to find myself dumped into busybox as /dev/hda5 (my root) didn't exist. I quickly found the problem to be a missing udevd and udevsynthesize in the initramfs, but I did not manage to bring the system back up until Tollef gave me a hand to get pivot_root to do what it was supposed to do. Here's approximately how:

busybox mknod /dev/hda5 b 3 5
mount /dev/hda5 /root
mount -o move /sys /root/sys
mount -o move /proc /root/proc
chroot /root /sbin/udevd --daemon
chroot /root /sbin/udevsynthesize
exec run-init /root /sbin/init 2 < /root/dev/console > /root/dev/console

While we were at it, Daniel Silverstone showed us a wonderful way to help debug problems of this sort: /usr/bin/open. If bash only has /dev/console, it won't enable job control. This is exactly where open comes in:

/root/usr/bin/open /root/bin/sh

This will put an interactive shell on the next free tty with job control and all. Thanks, Daniel! I think that the above approach actually failed in the end for some weird reason we did not investigate further, so Tollef resorted to fixing the initrd instead:

update-initramfs -c -t -k 2.6.15-1-686

The important part is -t, which essentially redoes the filesystem so that custom changes are undone. I hadn't made any custom changes, but from the point of view of initramfs, I had deleted the udev binaries.

Within an hour I had a working system again, and a

dpkg-reconfigure linux-image-2.6.15-1-686
zcat /boot/initrd.img-2.6.15-1-686 | cpio -t | grep udev

verified that the problem was only intermittent (I rarely reboot my laptop but update it often).

The T-Shirts Uncle Steve and I were selling pretty much all found new owners. This is great because I had been sitting on about a dozen shirts in XS and XXXL, and I thought I'd never get rid of them. Unfortunately, I sold them at no-profit, but given it was the last batch from Kernel Concepts, I am now thinking of arranging something with Steve to get a bunch of his shirts (which are nicer anyway).

With talks coming to an end that day, everyone's departure was a stressful time and I was all the more glad to have had another night to spend in the city. I linked up with Jordi and some of the Debian Catalan people who were staying with a friend, Raoul, in the city. Raoul took us around a bit, showed us some of the historic sites in the centre of the city, and finally lead us to the bar of 2000 beers, where supposedly "the best beer of the world" was served: Trappist Westvletern Bleu 8. We ended the night around midnight for our flights were in the early morning.

This having been my first FOSDEM, it was a great experience and I shall definitely try to be in Brussels again next year. Thanks to Wouter and all others who have helped out.

Update: My slide links were previously not working. Thanks to all who pointed that out to me. They are fixed now. See above.