From owner-freebsd-hackers Wed Jan 18 10:31:37 1995 Return-Path: hackers-owner Received: (from root@localhost) by freefall.cdrom.com (8.6.9/8.6.6) id KAA11024 for hackers-outgoing; Wed, 18 Jan 1995 10:31:37 -0800 Received: from irz301.inf.tu-dresden.de (irz301.inf.tu-dresden.de [141.76.1.11]) by freefall.cdrom.com (8.6.9/8.6.6) with SMTP id KAA11008 for ; Wed, 18 Jan 1995 10:31:06 -0800 Received: from sax.sax.de by irz301.inf.tu-dresden.de with SMTP (5.67b+/DEC-Ultrix/4.3) id AA27058; Wed, 18 Jan 1995 19:31:56 +0100 Received: by sax.sax.de (8.6.9/8.6.9-s1) with UUCP id TAA08038 for freebsd-hackers@freebsd.org; Wed, 18 Jan 1995 19:31:56 +0100 Received: by bonnie.tcd-dresden.de (8.6.8/8.6.6) id TAA19585; Wed, 18 Jan 1995 19:09:19 +0100 From: j@uriah.sax.de (J Wunsch) Message-Id: <199501181809.TAA19585@bonnie.tcd-dresden.de> Subject: Re: serial consoles and keyboard probes To: freebsd-hackers@FreeBSD.org (FreeBSD hackers) Date: Wed, 18 Jan 1995 19:09:18 +0100 (MET) In-Reply-To: <199501180129.UAA01724@skynet.ctr.columbia.edu> from "Wankle Rotary Engine" at Jan 17, 95 08:29:13 pm X-Phone: +49-351-8141 137 Reply-To: joerg_wunsch@uriah.sax.de X-Mailer: ELM [version 2.4 PL23] Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit Content-Length: 2526 Sender: hackers-owner@FreeBSD.org Precedence: bulk As Wankle Rotary Engine wrote: [Bruce] | > I rewrote the bootstrap serial console i/o routines in C. This takes | > only about 32 bytes more, but 32 is too many for Joerg :-). Hmm, no, not for me. I've only been afraid that even a single byte more for the serial bootblocks compared to the VGA/kbd blocks would have caused troubles since people tend to fill up the latter to the last available byte without even bothering to test the serial blocks, too. But now that our Rotary Engine rotated :-)... | Well, now that I smushed twiddle() down a bit and merged a bunch of | printf()s, I can put the other code back. Essentially, I managed to | incorporate both the serial console code and the keyboard probe while | keeping the second stage boot loader under 7168 bytes. ...all my objections against coding the stuff in C are blown away! | - The bootblock probes for the keyboard. If you don't have it plugged in, | it defaults over to the serial port. If you _do_ have it plugged in, | things proceed from the VGA display and keyboard just as always. I'd like to have some e.g. compile-time option to force it to use the serial boot, though. The reason: old fixed-frequency monitors (large and expensive things) can nicely be recycled for use with FreeBSD if the system boots up on a serial console (kermit, or a spare VT320), while the graphics screen doesn't display anything useful until the system runs mutli-user with xdm enabled. I see that this is not a very common case, but it should be an option (and RB_SERIAL doesn't help me allot since it would require user interaction at boot time which is considered not desired). | End result (again :): The bootblock simulates the behavior of the Sun | boot PROM, in that you can boot with a serial port as the console just | by attaching a terminal to COM1 and unplugging the keyboard. (And you | can install the system this way too. :) Btw., Data General's do it also this way. | The only bad part is that there's no way to specify a different serial | port on the fly; both the bootblock and the kernel need to be recompiled. | I'm thinking about finding a way around this, but for the moment that's | just a pipe dream. I'm plenty happy with what I have now. Not a big deal, since the comconsole stuff is also hard-coded by now. -- cheers, J"org work: --- no longer --- private: joerg_wunsch@uriah.sax.de Never trust an operating system you don't have sources for. ;-)