[systemd-devel] [PATCH] dbus: fix --system handling

Lennart Poettering lennart at poettering.net
Mon Nov 8 17:34:14 PST 2010


On Fri, 05.11.10 17:11, Robert Schwebel (r.schwebel at pengutronix.de) wrote:

> 
> On Tue, Oct 26, 2010 at 12:26:04AM +0200, Lennart Poettering wrote:
> > Sorry for the delayed reply. Needed to think a bit about this.
> >
> > Your patch would break running "systemd --system --test" to verify the
> > systemd setup as normal user, since that second instance would fight
> > for the same socket as the main (PID 1) instance, and this hence would
> > break.
> >
> > Note that we do not support booting a real system with systemd on PID
> > != 1. The primary reason for that is that we need the SIGCHLD signals
> > properly, and we only get those as PID 1. Early systemd versions
> > supported a mode where we didn't rely on those signals. However, we
> > removed that after a while, since I didn't see much benefit in this
> > mode and I was unable and unwilling to keep this mode working and do
> > the necessary testing.
> 
> Hmm, I'm trying to get systemd running with ptxdist, which means that I
> have a system which is totally untested with systemd until now. So my
> attempt was to run the system with init=/bin/sh first, then have the
> possibility to test things manually, which turned out to be really
> helpful, especially because it makes it possible to start systemd with
> strace, in order to find out why it doesn't work (mostly because there
> have been missing libraries on the system which was downsized a little
> bit too much) :-)

If you boot with "init=/bin/sh", then you should be able to exec systemd
just fine with "exec /bin/systemd". 

You can always attach strace to a running process with "strace -p"

> So for system bringup, it would be really helpful to have the test mode.

There's debug logging, which you can enable with
"systemd.log_level=debug systemd.log_target=kmsg" on the kernel cmd
line. There's also "systemd --test --log-level=debug --system" which you
can use to make systemd calculate the initial transaction it would
execute if booted normally and then exit.

Anything else you specifically need?

Lennart

-- 
Lennart Poettering - Red Hat, Inc.


More information about the systemd-devel mailing list