Re: sysvinit and hurd
On Wed, Jun 09, 2004 at 07:08:19PM +0200, Robert Millan wrote:
> Miquel: IIRC, sysvinit now works perfectly on GNU/Hurd with the exception
> of a PID conflict (/hurd/init is pid 1 also).
Well it does not work at all. It now builds though, that was what I
promised to Jeff as the first step. :>
The two main problem now are the runtime errors that will come
from needing a Linux like /proc, this could be solved "easily"
porting libps from the Hurd and adding to it kFreeBSD and Linux
kernel support, so it can be used at large on all Debian packages
needing to access this kind of info.
The other problem is that on the Hurd there is already /hurd/init
that uses pid 1, and it does some non-trivial tasks like executing
the exec server and the auth server, among other things.
The exec server is very important because it's the one who maps Mach
(the underlaying microkernel used for now) tasks into exec's server
processes (the pids we use in Unix).
So there is some important setup done by /hurd/init that we would
not like replicated on all init implementations around, and in
particular sysvinit. There are some possible solutions, one would be
to have sysvinit's init take an argument to be run as pid != 1,
another one would be to split /hurd/init into little units that
could be used by the other inits, although I'm not sure if that would
If some of the Hurd internal details are wrong I'm sure the Hurd gods
and demigods will correct me. =)