From owner-freebsd-hackers Mon Jan 27 17:24:22 1997 Return-Path: Received: (from root@localhost) by freefall.freebsd.org (8.8.5/8.8.5) id RAA03359 for hackers-outgoing; Mon, 27 Jan 1997 17:24:22 -0800 (PST) Received: from who.cdrom.com (who.cdrom.com [204.216.27.3]) by freefall.freebsd.org (8.8.5/8.8.5) with ESMTP id RAA03325 for ; Mon, 27 Jan 1997 17:24:14 -0800 (PST) Received: from sendero.i-connect.net ([206.190.144.100]) by who.cdrom.com (8.7.5/8.6.11) with SMTP id OAA27389 for ; Mon, 27 Jan 1997 14:32:04 -0800 (PST) Received: (qmail 3717 invoked by uid 1000); 27 Jan 1997 23:30:07 -0000 Message-ID: X-Mailer: XFMail 1.1-alpha [p0] on FreeBSD Content-Type: text/plain; charset=iso-8859-8 Content-Transfer-Encoding: 8bit MIME-Version: 1.0 In-Reply-To: <199701252032.NAA20427@seagull.rtd.com> Date: Mon, 27 Jan 1997 14:23:10 -0800 (PST) Organization: iConnect Corp. From: Simon Shapiro To: Don Yuniskis Subject: Re: suggestion for kernel printk() ? Cc: freebsd-hackers@freefall.freebsd.org, (Bruce Evans) Sender: owner-hackers@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk Hi Don Yuniskis; On 25-Jan-97 you wrote: > It seems that Bruce Evans said: > > > > > I just spent some time fighting a kernel that died miserably > > >on boot :-( I was inundated with an endless stream of kernel > > >messages (in highlighted text) followed promptly by a hard reset. > > >It was quite frustrating to find that there doesn't seem to be a > > >mechanism to pause the display at this point! > > > > I use a serial console and `terminalprogram | tee foo' to capture > > the output. > > Yes, but I would have had to have built the kernel with COMCONSOLE > (which I didn't). > > > > OK, reboot from /kernel.old and look through the logs. Hmmm... > > >nothing here! Probably the filesystem wasn't even functional when > > >the boot ran into trouble. > > > > Boot messages are supposed to be preserved in the message buffer > > across reboots. However, many PC BIOSes and/or memory systems do > > something that invalidates the message buffer even for a soft reboot. > > Well, I wasn't observant enough to notice what type of restart the > PC went through (two different varieties here -- one of which actually > rampages through memory, etc.) but suspect this is the problem. > > However, is it worthwhile for the mechanism that printk() ?? uses to > observe some kind of flow control? It did not recognize scroll_lock, > pause, ^S, etc. This would have at least enabled me to read some > (i.e. one screen full) of the messages to see what the kernel was > complaining about. I may be offbase here, but scroll-lock, etc. are INPUT, while printk is output. No? Maybe a (oops :-) SysV-like mechanism where print{kf} go to a circular buffer andanother mechanism dumps it to ``the console''. If you like ugly, (if memory serves), you can either pass an additional arg to the output routine (A la Linux) or designate the first character in the string to tell what to do, as in ~==console and buffer, !=bufferonly, etc. Simon