On Wed, Apr 06, 2005 at 05:59:55PM -0400, Ray Strode wrote: > Recently Matthias Clasen, David Zeuthen, and I spent some time working > on getting GDM to start earlier in the boot process. Cool. Here are some numbers from my system, timing from hitting enter on the grub screen, to when rhgb is first displayed, to when you can start typing on the login screen, and finally to when the gnome splash screen disappears and the desktop is ready to use. This was on a hyperthreading P4 2.4 GHz with the SMP kernel: rhgb early-login rhgb displayed 00:20 n/a login screen 01:08 00:33 desktop ready 01:30 01:13 > /sbin/chkconfig --add gdm-early-login > /sbin/chkconfig --add gdm-allow-login > /sbin/chkconfig gdm-early-login on > /sbin/chkconfig gdm-allow-login on > to regenerate the symlinks in /etc/rc5.d In the process of looking at how this works, I noticed that some of the "stop" initscripts are not being run. Specifically, it appears that /etc/rc.d/rc doesn't run the K?? script for a service unless there was a /var/lock/subsys/$service file created by the service "start" script. This seems like a nice optimization for skipping shutdown for services that don't need it, speeding up the shutdown procedure. These scripts do not appear to create subsys locks, but have K?? scripts that are not being run on init runlevel changes (including reboot/shutdown): init.d/anacron init.d/diskdump init.d/gdm-allow-login init.d/gdm-early-login The only one here that seems to be a concern is diskdump, because it's "stop" section appears necessary at first glance, since it stops devices and unloads modules: stop() { case "$KERNEL" in "2.4") if [ -f $PROC_DISKDUMP ]; then grep -v '^#' $PROC_DISKDUMP | while read dev sector; do stop_device $dev done fi ;; "2.6") find $SYSFSROOT -name dump | while read f; do exec 3<&0 <$f while read dev; do stop_device "/dev/$dev" done exec 0<&3 3<&- done ;; *) echo "kernel version '$KERNEL' incorrect" >&2 exit 1 esac unload_module }