Hi! I couldn't find out how hald is actually started. However just creating the directory from dbus' init script (as dbus seems to be involved) does work. I've attached a patch against dbus that fixes my problems.
Regards Christoph
diff -Nru dbus-1.2.24/debian/changelog dbus-1.2.24/debian/changelog --- dbus-1.2.24/debian/changelog 2011-06-14 21:09:38.000000000 +0200 +++ dbus-1.2.24/debian/changelog 2011-07-24 12:44:33.000000000 +0200 @@ -1,3 +1,10 @@ +dbus (1.2.24-4+squeeze1.1) stable; urgency=low + + * Non-maintainer upload. + * kfreebsd-fix + + -- Christoph Egger <christ...@debian.org> Sun, 24 Jul 2011 12:44:33 +0200 + dbus (1.2.24-4+squeeze1) stable; urgency=low * Update Vcs-* control fields to reflect the move to git diff -Nru dbus-1.2.24/debian/dbus.init dbus-1.2.24/debian/dbus.init --- dbus-1.2.24/debian/dbus.init 2011-06-12 13:31:16.000000000 +0200 +++ dbus-1.2.24/debian/dbus.init 2011-07-24 12:45:53.000000000 +0200 @@ -24,6 +24,7 @@ PIDDIR=/var/run/dbus PIDFILE=$PIDDIR/pid DESC="system message bus" +HALDPIDDIR=/var/run/hald test -x $DAEMON || exit 0 @@ -50,6 +51,12 @@ chgrp $DAEMONUSER $PIDDIR fi + if [ ! -d $HALDPIDDIR ]; then + mkdir -p $HALDPIDDIR + chown $DAEMONUSER $HALDPIDDIR + chgrp $DAEMONUSER $HALDPIDDIR + fi + if ! mountpoint -q /proc/ ; then log_failure_msg "Can't start $DESC - /proc is not mounted" return