From: Petter Reinholdtsen Wouter Verhelst have some
+interesting
+pcomments and opinions on my blog post on
+the
+need to clean up /etc/rcS.d/ in Debian and my blog post about
+the
+default KDE desktop in Debian. I only have time to address one
+small piece of his comment now, and though it best to address the
+misunderstanding he bring forward:
+Currently, a system admin has four options: [...] boot to a
+single-user system (by adding 'single' to the kernel command line;
+this runs rcS and rc1 scripts)
+
This make me believe Wouter believe booting into single user mode +and booting into runlevel 1 is the same. I am not surprised he +believe this, because it would make sense and is a quite sensible +thing to believe. But because the boot in Debian is slightly broken, +runlevel 1 do not work properly and it isn't the same as single user +mode. I'll try to explain what is actually happing, but it is a bit +hard to explain.
+ +Single user mode is defined like this in /etc/inittab: +"~~:S:wait:/sbin/sulogin". This means the only thing that is +executed in single user mode in sulogin. Single user mode is a boot +state "between" the runlevels, and when booting into single user mode, +only the scripts in /etc/rcS.d/ are executed before the init process +enters the single user state. When switching to runlevel 1, the state +is in fact not ending in runlevel 1, but it passes through runlevel 1 +and end up in the single user mode (see /etc/rc1.d/S03single, which +runs "init -t1 S" to switch to single user mode at the end of runlevel +1. It is confusing that the 'S' (single user) init mode is not the +mode enabled by /etc/rcS.d/ (which is more like the initial boot +mode).
+ +This summary might make it clearer. When booting for the first +time into single user mode, the following commands are executed: +"/etc/init.d/rc S; /sbin/sulogin". When booting into +runlevel 1, the following commands are executed: "/etc/init.d/rc +S; /etc/init.d/rc 1; /sbin/sulogin". A problem show up when +trying to continue after visiting single user mode. Not all services +are started again as they should, causing the machine to end up in an +unpredicatble state. This is why Debian admins recommend rebooting +after visiting single user mode.
+ +A similar problem with runlevel 1 is caused by the amount of +scripts executed from /etc/rcS.d/. When switching from say runlevel 2 +to runlevel 1, the services started from /etc/rcS.d/ are not properly +stopped when passing through the scripts in /etc/rc1.d/, and not +started again when switching away from runlevel 1 to the runlevels +2-5. I believe the problem is best fixed by moving all the scripts +out of /etc/rcS.d/ that are not required to get a +functioning single user mode during boot.
+ +I have spent several years investigating the Debian boot system, +and discovered this problem a few years ago. I suspect it originates +from when sysvinit was introduced into Debian, a long time ago.