I'll assume that "mod" is wrong and that you're not 
complaining about too small a kernel buffer. You want to 
capture not only the kernel messages written to dmesg but 
also the output of all the rc scripts.

I agree with this goal. I always wanted to capture the 
boot-time messages and all of the extra console output 
during the boot when I was working with Digital UNIX. In 
the end, the only complete solution I found was indeed 
the one Bill Freeman mentioned: a serial console and, in 
my case, an expect script recording the output and the 
timing on another machine (I was investigating the time 
it took to boot, so I even wanted the console firmware 
output).

Recently I set up a Digital UNIX system again (I'm 
working on contract to Compaq) and developed a partial 
solution. Perhaps you can adapt it to your Linux 
distribution if it's using the SysV-like inittab + rcN 
directories.

I modified the rc2 and rc3 scripts to check for both a 
config file flag LOG_INITSCRIPTS and a command-line 
argument. The addition went in near the top of the file 
and looked like this:

LOG_INITSCRIPTS=`/usr/sbin/rcmgr get LOG_INITSCRIPTS`
[ "LOG_INITSCRIPTS" = "TRUE" ] && \
  [ $# = 0 ] && \
  exec /bin/sh -xv $0 LOGGING 2>&1 | tee /var/adm/rc2.log

The rcmgr line will have to be replaced by something else 
on Linux...maybe just a test for the existence of a file 
in /etc. The re-exec of the script with a shell having 
the -xv flags set is only executed if you pass the first 
gate (which says you want to log the scripts' output) and 
the second gate (which says there are no command line 
options, like the "LOGGING" option). I didn't go so far 
as to try to get the -xv flags propagated into each of 
the startup scripts.

You can still get your kernel console messages with 
dmesg. (I copied /var/adm/syslog.dated/current/kern.log 
to a place where it would not be rotated out by log 
rotation). The way I have it set up, these boot logs are 
overwritten at each boot.

What's missing are the messages, if any, from bcheckrc, 
fsck, etc -- since there's no writable file system space 
available before they've run -- and any other scripts or 
commands started directly from /etc/inittab.

Jim McGinness


**********************************************************
To unsubscribe from this list, send mail to
[EMAIL PROTECTED] with the following text in the
*body* (*not* the subject line) of the letter:
unsubscribe gnhlug
**********************************************************

Reply via email to