Date: Tue, 12 Sep 1995 07:43:06 +0200 (MET DST) From: J Wunsch <j@uriah.heep.sax.de> To: freebsd-chat@freebsd.org Cc: wpaul@ctr.columbia.edu, bde@kralizec.zeta.org.au (Bruce Evans), jgreco@brasil.moneng.mei.com (Joe Greco) Subject: Re: serial console Message-ID: <199509120543.HAA27982@uriah.heep.sax.de> In-Reply-To: <199509120249.VAA18581@brasil.moneng.mei.com> from "Joe Greco" at Sep 11, 95 09:49:46 pm
next in thread | previous in thread | raw e-mail | index | archive | help
Took this to -chat, maybe somebody is going to write a FreeBSD history some day... As Joe Greco wrote: > Anyways, kudos to Bill Paul(?) for his serial console work. Credit where credit is due. The code to use a serial _console_ has been there long since. I suspect it's already been in 386BSD 0.0, at least in 386BSD 0.1. I have checked both, 386BSD 1.0 and FreeBSD 1.0, it is there. (This is also the origin of the name ``COMCONSOLE'': the driver for it was the "com" driver.) It's been a compile-time option in all those systems. (Unfortunately, FreeBSD 1.0's LINT file does not mention this option.) Bruce Evans has also maintained similar code in his "sio" driver, so i think he deserves the credit of keeping the code actually working all the time. By the end of 1994, i've got an urgent need of serial _bootblocks_, too. I've used to maintain three machines that required it. (Two servers that didn't have a graphics screen all the time; one of them is sax.de's domain backbone. The third machine is a graphics work- station with a deluxe graphics card and an attached Sony GDM 1934 fixed-frequency monitor, where you cannot get a picture with the standard VGA frequencies at boot time.) I'm probably the first one who's been using FreeBSD with ``serial bootblocks'' then, and after posting my patches every now and then, there were so many requests for it that i eventually decided to put it into the CVS tree. I've created a subdirectory named "serialboot" under the sys/i386/boot directory for it, and if you've got CVS access, you can still checkout a copy of it by the date of around christmas 1994. :-) RCS file: /home/cvs/src/sys/i386/boot/serialboot/Attic/Makefile,v Working file: Makefile ... ---------------------------- revision 1.1 date: 1994/12/18 20:12:06; author: joerg; state: Exp; This became a frequently requested item now. The files in this directory are modified version of "biosboot". The only difference is in that they perform their I/O via a serial port, so their preferrable usage is to form bootblocks for systems where the kernel happens to have an "options COMCONSOLE". Most of the code is actually shared with "biosboot", and make will not (and should not) descend into this directory by default. It is in the responsibility of the user to build these bootblocks instead of the original ones. ---------------------------- Bill Paul deserves the credit of mucking around with all this, adding a keyboard probe function to the boot code (which is unfortunately still not working reliably due to the space constraints in the boot blocks and therefore disabled), and adding _dynamic_ serial console configuration support for the "sio" driver, so one can have both console variants in the same kernel, and decide at boot time which one to use. This was in January, 1995: revision 1.30 date: 1995/01/20 07:48:19; author: wpaul; state: Exp; lines: +37 -26 Submitted by: Bill Paul (wpaul@ctr.columbia.edu) Obtained from: bios boot block changed to allow booting from both the attached graphics display and from a serial port. (A specially compiled serial boot block is no longer necessary.) The boot block should detect the presence or absence of a keyboard: if there is no keyboard, COM1 is turned into the console. This simulates the behavior of the Sun boot PROMs. Unplug your keyboard, attach a terminal to COM1 and you should be ready to go. :) ---------------------------- I've later attempted to fix the keyboard probe, it's more reliable now, but Jordan and Poul-Henning have got too many complaints about hung keyboards at boot time, so they did disable it again before 2.0.5 shipped. Unfortunately, it's been disabled too badly so even the "FORCE_COMCONSOLE" option doesn't work right in 2.0.5. This has been corrected in -current and -stable, so you have now the options of either defining "FORCE_COMCONSOLE" for a permanent serial console, or specifying the boot flag -h to toggle between both. (There's the third alternative to compile the bootblocks with "notyet" defined, which should give you the keyboard probe back. :-) -- cheers, J"org joerg_wunsch@uriah.heep.sax.de -- http://www.sax.de/~joerg/ 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?199509120543.HAA27982>