Comment 7 for bug 436936

Revision history for this message
Evan Broder (broder) wrote :

So based on some digging, I don't think the issue here is actually the one described, at least not immediately.

Booting with "single" in /proc/cmdline causes the system to emit the runlevel S event (read "switch to runlevel S" if you don't feel like thinking Upstart-y). When the user exits out of the recovery menu (i.e. chooses to "resume"), the rcS job (/etc/init/rcS.conf) emits a rc-sysinit FROM_SINGLE_USER_MODE=y event, which in turn triggers a runlevel 2 event (read "switch to runlevel 2").

That in turn will run all of the sysvinit-style init scripts in /etc/rc2.d, but the conditions that caused the gdm job to run (i.e. filesystem and started dbus and (drm-device-added ... or stopped udevtrigger)) have already passed, and those conditions aren't going to happen again.

It seems like handling the recovery mode purely in terms of runlevels is a bad idea, since runlevels are mostly an obsolete idiom in the Upstart world, but I'm not sure what a better idiom would be.