[Soc-coordination] Weekly report (7th week) - Debian GNU/Hurd Debianish initialization
4winter at informatik.uni-hamburg.de
4winter at informatik.uni-hamburg.de
Fri Aug 2 19:38:57 UTC 2013
.. link:
.. description:
.. tags: gsoc, debian, hurd
.. date: 2013/08/02 10:34:23
.. title: There is no spoon...
.. slug: there-is-no-spoon
This is the Hurd shutting down::
root at debian:~# init 0
INIT: Switching to runlevel: 0
INIT: Sending processes the TERM signal
INIT: Sending processes the KILL signal
Using makefile-style concurrent boot in runlevel 0.
Stopping deferred execution scheduler: atd.
Asking all remaining processes to terminate...done.
All processes ended within 1 seconds...done.
Stopping enhanced syslogd: rsyslogd.
Deconfiguring network interfaces...ifdown: failed to open pid file /run/network/ifdown-/dev/eth0.pid: No such file or directory
Internet Systems Consortium DHCP Client 4.2.2
Copyright 2004-2011 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/
can't create /var/lib/dhcp/dhclient./dev/eth0.leases: No such file or directory
Listening on Socket//dev/eth0
Sending on Socket//dev/eth0
/bin/sh: 1: ifconfig: not found
done.
Deactivating swap...swapoff: /dev/hd0s5: 177152k swap space
done.
mount: cannot remount /: Device or resource busy
Will now halt.
INIT: no more processes left in this runlevel
The important line is the one saying `Asking all remaining processes
to terminate...done.`. What happens there is that `/sbin/killall5` is
run, actually does its job and the system survives that. What was
needed to fix `killall5` is to mark some processes (all translators
being started as `root` as well as any essential processes) as
important and to exempt them from being frozen and killed by
`killall5`. Furthermore it was necessary to fill in the correct values
for the `start_code` and `end_code` fields of the `/proc/*/stat`
records (this used to be an issue for Debian/kFreeBSD `as well
<http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=344546>`_).
I am still in the process of cleaning up the patch series, I will
finish that first thing Monday morning. I also spent my time polishing
my mtab translator, the patch series is in its fourth revision and I
consider it ready for inclusion:
http://lists.gnu.org/archive/html/bug-hurd/2013-07/msg00259.html
I also had this moment of clarity and enlightenment. For the first
time I thought I finally understood what the Hurd really was. It is
just a bunch of Mach programs that talk to each other in this really
strange language and as a result they behave very much like the
equivalent programs would on a different POSIX-like system. This is of
course hidden away from the application programmer in our libc. This
language is a mere convention, Richard calls this `system
personality`. On some other level I have known this for a long time,
but I never grasped the profound implications for users and
developers, and for composability and the security of the system as a
whole. I will try to show some of the cool stuff that can be done with
such a system, stuff that is hard to do on monolithic kernels.
And I had to patch the exec server. You know what they say, once you
looked into `/hurd/exec`, there is no going back.
I am very happy to report that I addressed all three major issues I
identified in my `second week
</posts/getting-into-the-mood-my-second-week>`_. Next week I will
clean up my `initscripts` patch series and submit it for inclusion. I
will also rebuild the `hurd`, `sysvinit` and `libc` packages with all
my patches included for broader testing. And if I ever run out of
stuff to do first, I will have to look at the `network related issues
</gsoc/#networkrelatedissues>`_.
More information about the Soc-coordination
mailing list