Steven Sroka wrote:
Is there a "boot log" available after each boot up of openSUSE?
I know there are a lot of components/scripts that run during boot time so a unified log is probably a pipe dream, but is there anything similar? I got an error message during first boot up of 12.1 M3, but I couldn't read what was wrong, so I'm trying to find out and then report it.
Steven Sroka
I found this to be helpful in improving readability.... -rwxr-x--- 1 370 Feb 12 2008 boot_cons_log*
more boot_cons_log #!/bin/bash -ue BOOTMSGS=/var/log/boot.msg CONSBASE=/tmp/boot-cons CONSLOG=$CONSBASE.msg O_CONSLOG=$CONSBASE.omsg
if [ $CONSLOG -ot $BOOTMSGS ]; then if [ -e $CONSLOG ]; then mv $CONSLOG $O_CONSLOG fi /usr/bin/sed -r 's/(<[a-z]+>([^]]+]){2})|(^<[0-9]>)//' <$BOOTMSGS &> $CONSLOG echo "Bootlog stored in $CONSLOG" else echo "Bootlog in $CONSLOG" fi less $CONSLOG ----- Also, wondering where I could put a patch like this so it wouldn't get overwritten by system updates...(or if it would be useful in mainline in some form...) the first part is generally good about saving successive boot logs in a zipfile in /var/log, which built up a ~800K log file over a year (but I don't boot alot, -- but I could compare diffs between successive boots going back (as long as I take care not to have auto-updates on and remember to fix it when I upgrade (which I often don't until months have passed...and I hve some need for wanting to look at it... Could use tar w/append if you wanted to be more unix'y, but zip lets me test the archive integrity before committing any new logs, then stores a log -- all in 1 step. But as far as I know, there are no 'hooks' to call user-safe files at this point... The 2nd part of the patch -- should go into mainline/factory as currently the /bin/dmesg statement only transfers a max (according to manpage) of 16K of message unless you tell it too do more. I added a hard-coded 64k years ago, though now the kernel default is 128K, and I raised that in my own builds to 512K. Thus I added code taking out my hardcode, use current kernel defaults if I can't read proc, else look for the bufsize used in /proc, Anyway -- 1st just seems useful -- though maybe not for average end-user...but I've always been interested in looking down boot logs after installing new kernels to see what's changed...(not that I do so much these days, but collecting the data is low cost)... 2nd patch -- might not be necessary if someone's patched dmesg and didn't update the manpage....but mine will make an attempt to read the val from proc which won't work on every system)... Just some boot-log management/helper stuff I cooked up years ago (and just updated for the larger kernel defaults w/detecting actual from /proc if I can...) I added the 'dmesg -s' code years ago because my boot logs were losing the initial startup messages.... --- boot.klog.suse114 2010-03-08 07:41:06.000000000 -0800 +++ boot.klog 2011-07-22 02:44:30.605691797 -0700 @@ -24,15 +24,38 @@ case "$1" in start) # Read all kernel messages generated until now and put them in one file. - test -s /var/log/boot.msg && mv -f /var/log/boot.msg /var/log/boot.omsg - echo Creating /var/log/boot.msg + if [ -s /var/log/boot.msg ] ;then + ( cd "/var/log"; + fname="boot-$(date +'%y%m%d.%H%M')" + mv -f /var/log/boot.msg "/var/log/$fname" + # note zip assumed installed, -- it IS mounted + # at this point, as we don't try changing syslog to + # 'hard storage' until local fs's are mounted + zip -Tmou9y /var/log/boot.msg.zip "$fname" + ) + fi + + +# test -s /var/log/boot.msg && mv -f /var/log/boot.msg /var/log/boot.omsg if test -x /sbin/klogd ; then # klogd syncs out the file /sbin/klogd -s -o -n -f /var/log/boot.msg test -s /var/log/boot.msg rc_status -v1 -r elif test -x /bin/dmesg ; then - /bin/dmesg > /var/log/boot.msg + var='CONFIG_LOG_BUF_SHIFT=' + declare -i log_shift_dflt=17 + declare -i log_shift=$log_shift_dfl + ( 2>/dev/null + [[ clbs="$(gunzip 0?log_shift:logshift_dflt)) + } + ) + ((log_size=2**log_shift)) + /bin/dmesg -s$log_size > /var/log/boot.msg /bin/sync test -s /var/log/boot.msg rc_status -v1 -r -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-factory+help@opensuse.org