On 5/24/06, Kari Pahula <[EMAIL PROTECTED]> wrote:
On Tue, May 16, 2006 at 08:36:58PM -0400, maru dubshinki wrote:
> Package: preload
> Severity: wishlist
> Version: 0.2-6
>
> The bottleneck in booting is often disk I/O; preload exacerbates this
I am aware of this. That's why I'm starting preload with sequence
number 95, which should make it start very late at boot time.
> problem when it boots because it is basically based on reading from
> disks. I noticed that preload was slowing down my boot in exactly this
> way when I was examining the graph bootchart generates. I use file-rc,
> and so I tweaked preload's entry in /etc/runlevel.conf so that instead
> of running on levels "2,3,4,5", it runs in "4,5"- which is to say,
> instead of starting
It seems to me that you've customised your system somehow. The
behaviour you describe makes it sound that you're switching to
runlevel 2 after S and then to 4 or 5 and have defined most of the
services to start in runlevel 4 and/or 5.
The default is to start all services meant to be run in multi user
mode on run levels 2-5 and stick to 2 after S.
Could you send me the output of "who -r" and files /etc/inittab,
/etc/init.d/rcS and /etc/runlevel.conf?
What's the fun of an uncustomized system? :)
who -r:
run-level 2 May 24 18:42 last=S
/etc/inittab:
# /etc/inittab: init(8) configuration.
# $Id: inittab,v 1.91 2002/01/25 13:35:21 miquels Exp $
# The default runlevel.
id:2:initdefault:
# Boot-time system configuration/initialization script.
# This is run first except when booting in emergency (-b) mode.
si::sysinit:/etc/init.d/rcS
# What to do in single-user mode.
~~:S:wait:/sbin/sulogin
# /etc/init.d executes the S and K scripts upon change
# of runlevel.
#
# Runlevel 0 is halt.
# Runlevel 1 is single-user.
# Runlevels 2-5 are multi-user.
# Runlevel 6 is reboot.
l0:0:wait:/etc/init.d/rc 0
l1:1:wait:/etc/init.d/rc 1
l2:2:wait:/etc/init.d/rc 2
l3:3:wait:/etc/init.d/rc 3
l4:4:wait:/etc/init.d/rc 4
l5:5:wait:/etc/init.d/rc 5
l6:6:wait:/etc/init.d/rc 6
# Normally not reached, but fall through in case of emergency.
z6:6:respawn:/sbin/sulogin
# What to do when CTRL-ALT-DEL is pressed.
#ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -r now
# Action on special keypress (ALT-UpArrow).
#kb::kbrequest:/bin/echo "Keyboard Request--edit /etc/inittab to let this work."
# What to do when the power fails/returns.
pf::powerwait:/etc/init.d/powerfail start
pn::powerfailnow:/etc/init.d/powerfail now
po::powerokwait:/etc/init.d/powerfail stop
# /sbin/getty invocations for the runlevels.
#
# The "id" field MUST be the same as the last
# characters of the device (after "tty").
#
# Format:
# <id>:<runlevels>:<action>:<process>
#
# Note that on most Debian systems tty7 is used by the X Window System,
# so if you want to add more getty's go ahead but skip tty7 if you run X.
#
1:2345:respawn:/sbin/getty 38400 tty1
2:23:respawn:/sbin/getty 38400 tty2
#3:23:respawn:/sbin/getty 38400 tty3
#4:23:respawn:/sbin/getty 38400 tty4
#5:23:respawn:/sbin/getty 38400 tty5
#6:23:respawn:/sbin/getty 38400 tty6
# Example how to put a getty on a serial line (for a terminal)
#
#T0:23:respawn:/sbin/getty -L ttyS0 9600 vt100
#T1:23:respawn:/sbin/getty -L ttyS1 9600 vt100
# Example how to put a getty on a modem line.
#
#T3:23:respawn:/sbin/mgetty -x0 -s 57600 ttyS3
/etc/init.d/rcS:
#! /bin/sh
#
# rcS - Help to boot the system into single user mode
# Copyright (c) 1998 Martin Schulze <[EMAIL PROTECTED]>
# 1998 Winfried Trümper <[EMAIL PROTECTED]>
# 1998 Miquel van Smoorenburg <[EMAIL PROTECTED]>
# 1999-2000 Roland Rosenfeld <[EMAIL PROTECTED]>
#
# $Id: rcS,v 1.10 2000/07/08 11:51:31 roland Exp $
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
# Ideas taken from rcS as provided by the sysvinit package and from
# the file-rc /etc/init.d/rc program
PATH=/sbin:/bin:/usr/sbin:/usr/bin
runlevel=S
prevlevel=N
umask 022
export PATH runlevel prevlevel
CFGFILE="/etc/runlevel.conf"
BAKCFG="/etc/runlevel.fallback"
#
# See if system needs to be setup. This is ONLY meant to
# be used for the initial setup after a fresh installation!
#
if [ -x /sbin/unconfigured.sh ]
then
/sbin/unconfigured.sh
fi
#
# Source defaults.
#
. /etc/default/rcS
export VERBOSE
#
# Trap CTRL-C &c only in this shell so we can interrupt subprocesses.
#
trap ":" INT QUIT TSTP
element() {
local element list IFS
element="$1"
[ "$2" = "in" ] && shift
list="$2"
[ "$list" = "-" ] && return 1
[ "$list" = "*" ] && return 0
IFS=","
set -- $list
case $element in
"$1" | "$2" | "$3" | "$4" | "$5" | "$6" | "$7" | "$8" | "$9")
return 0
esac
return 1
}
CMDLIST="set centerline=here"
#
# If $CFGFILE isn't available, try the fallback:
#
if [ ! -f "$CFGFILE" ]
then
echo "Missing configuration file '$CFGFILE' using fallback config."
if [ -f "$BAKCFG" ]
then
CFGFILE="$BAKCFG"
else
echo "No configuration file at all. You're in serious trouble now."
CFGFILE="/dev/null"
fi
fi
# read the file...
while read SORT_NO OFF_LEVELS ON_LEVELS CMD OPTIONS
do
case "$SORT_NO" in
\#* | "") continue ;;
esac
[ ! -f "$CMD" ] && continue
# continue only if CMD was not started in previous runlevel
if element "$runlevel" in "$ON_LEVELS"
then
# append CMD to the list of
case "$CMD" in
*.sh) CMDLIST="$CMDLIST; (set -- start; . $CMD)" ;;
*) [ -x "$CMD" ] && CMDLIST="$CMDLIST; $CMD start" ;;
esac
fi
done < $CFGFILE
# Execute the commands collected above
(trap - INT QUIT TSTP; sh -c "$CMDLIST")
#
# For compatibility, run the files in /etc/rc.boot too.
#
[ -d /etc/rc.boot ] && run-parts /etc/rc.boot
#
# Finish setup if needed. The comment above about
# /sbin/unconfigured.sh applies here as well!
#
if [ -x /sbin/setup.sh ]
then
/sbin/setup.sh
fi
/etc/runlevel.conf:
# This file was automatically generated by /usr/share/file-rc/rclink2file.sh.
# You can use your favourite editor or update-rc.d(8) to modify it.
# Read runlevel.conf(5) man page for more information about this file.
#
# Format:
# <sort> <off-> <on-levels> <command>
01 - S /etc/init.d/glibc.sh
02 - S /etc/init.d/mountkernfs.sh
03 - S /etc/init.d/udev
04 - S /etc/init.d/mountdevsubfs.sh
05 - S /etc/init.d/bootlogd
05 - S /etc/init.d/initrd-tools.sh
05 - S /etc/init.d/keymap.sh
05 0,1,6 4,5 /etc/init.d/preload
07 - S /etc/init.d/hdparm
10 - 2,3,4,5 /etc/init.d/sysklogd
10 - S /etc/init.d/checkroot.sh
11 - 2,3,4,5 /etc/init.d/klogd
11 0,1,6 - /etc/init.d/cron
18 - S /etc/init.d/ifupdown-clean
18 - S /etc/init.d/hwclockfirst.sh
20 - 0,6 /etc/init.d/sendsigs
20 - S /etc/init.d/module-init-tools
20 - S /etc/init.d/modutils
20 0,1,6 4,5 /etc/init.d/exim4
20 0,1,6 2,3,4,5 /etc/init.d/inetd
20 0,1,6 2,3,4,5 /etc/init.d/makedev
20 0,1,6 2,3,4,5 /etc/init.d/pcmcia
20 0,1,6 3,4,5 /etc/init.d/privoxy
20 0,1,6 4,5 /etc/init.d/ssh
20 0,1,6 4,5 /etc/init.d/gpm
22 - S /etc/init.d/hwclock.sh
30 - 0,6 /etc/init.d/urandom
25 0,6 - /etc/init.d/hwclock.sh
30 - S /etc/init.d/checkfs.sh
30 - S /etc/init.d/procps.sh
30 - 1 /etc/init.d/killprocs
31 - 0,6 /etc/init.d/umountnfs.sh
35 - 0,6 /etc/init.d/networking
35 - S /etc/init.d/mountall.sh
36 - 0,6 /etc/init.d/ifupdown
36 - S /etc/init.d/discover
36 - S /etc/init.d/mountall-bootclean.sh
36 - S /etc/init.d/mtab.sh
36 - S /etc/init.d/udev-mtab
39 - S /etc/init.d/ifupdown
40 - 0,6 /etc/init.d/umountfs
40 - S /etc/init.d/hostname.sh
40 - S /etc/init.d/networking
45 - S /etc/init.d/mountnfs.sh
46 - S /etc/init.d/mountnfs-bootclean.sh
48 - S /etc/init.d/console-screen.sh
50 0,6 S /etc/init.d/alsa-utils
55 - S /etc/init.d/bootmisc.sh
55 - S /etc/init.d/urandom
60 - 0,6 /etc/init.d/umountroot
70 - S /etc/init.d/nviboot
70 - S /etc/init.d/screen-cleanup
70 - S /etc/init.d/x11-common
71 - S /etc/init.d/xserver-xorg
75 0,6 - /etc/init.d/hdparm
75 - S /etc/init.d/sudo
89 - 3,4,5 /etc/init.d/cron
89 0,1,6 - /etc/init.d/klogd
89 0,1,6 2,3,4,5 /etc/init.d/atd
90 - 0 /etc/init.d/halt
90 - 6 /etc/init.d/reboot
90 0,1,6 - /etc/init.d/sysklogd
90 - 1 /etc/init.d/single
99 - 2,3,4,5 /etc/init.d/rmnologin
99 - 2,3,4,5 /etc/init.d/stop-bootlogd
99 - S /etc/init.d/stop-bootlogd-single
# THE LAST LINE IS NEVER READ
If you didn't want them inline, apologies.
~maru