Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 18 Jan 1995 19:09:18 +0100 (MET)
From:      j@uriah.sax.de (J Wunsch)
To:        freebsd-hackers@FreeBSD.org (FreeBSD hackers)
Subject:   Re: serial consoles and keyboard probes
Message-ID:  <199501181809.TAA19585@bonnie.tcd-dresden.de>
In-Reply-To: <199501180129.UAA01724@skynet.ctr.columbia.edu> from "Wankle Rotary Engine" at Jan 17, 95 08:29:13 pm

next in thread | previous in thread | raw e-mail | index | archive | help
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. ;-)



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199501181809.TAA19585>