*BSD News Article 16174


Return to BSD News archive

Xref: sserve comp.os.386bsd.announce:57 comp.os.386bsd.questions:2493
Path: sserve!newshost.anu.edu.au!munnari.oz.au!spool.mu.edu!wupost!cs.utexas.edu!uunet!olivea!pagesat!netsys!agate!agate!usenet
From: burgess@hrd769.brooks.af.mil (Dave Burgess)
Newsgroups: comp.os.386bsd.announce,comp.os.386bsd.questions
Subject: 386bsd/NetBSD FAQ Section 5
Followup-To: comp.os.386bsd.questions
Date: 15 May 1993 22:13:06 -0700
Organization: University of California, Berkeley
Lines: 206
Sender: cgd@agate.berkeley.edu
Approved: 386bsd-announce-request@agate.berkeley.edu
Message-ID: <9305131744.AA13424@hrd769.brooks.af.mil>
NNTP-Posting-Host: agate.berkeley.edu



Section 5.	(Kernel Replacements)

5.0	Introduction

   Contents:
	5.1 Available Kernel Replacements
		5.1.1 keycap/codrv
		5.1.2 pcvt
		5.1.3 syscons
		5.1.4 Fast Symbolic Links
		5.1.5 npx fixes
		5.1.6 CGD's COM drivers
		5.1.7 Tom Ivar Helbekkmo's wd.c replacement
		5.1.8 Interruptless LPT Driver Kit


   Notes:

	If you know of any replacements for the kernel, please send
	[FAQ COORDINATOR NAME HERE] a message detailing the package
	(possibly include a README), where it can be found, and what
	version of the OS (ie. NetBSD, 386bsd 0.1 + pk 0.2) it
	was designed to run under.

	When the exact directory is not listed for a package, the
	places to look on agate.berkeley.edu are in unofficial/drivers
	and unofficial/from-ref/sys.extras.

	Many a goodie can be found in these directories.



5.1	Available Kernel Replacements


5.1.1	keycap/codrv

	These server as replacements for the generic pccons driver
	that comes (by default) with 386bsd 0.1.

	Holger Veit (author of these) writes:

	"The same type of driver, but keycap has the version number 0.1.1
	and codrv has the version number 0.1.2.  The latter is much 
	improved and downward compatibil.  Codrv was developed to provide
	a universal way of mapping national keyboard layouts during
	runtime (ie, not by patching the kernel tables) and providing
	better X11 support.  Codrv uses a superset of the pc3 terminal 
	emulation, and a termcap-like database for keymaps (therefore
	"keycap").  X11 is supported by two dedicated console raw devices
	/dev/kbd and /dev/vga, which avoids all the existing problems
	pccons has with X11.  The latest version has vritual consoles.
	Codrv will become part of patchkit 0.2.4"

	This package is available on agate.berkeley.edu.

	

5.1.2	pcvt

	A superset of pccons, this driver supports virtual consoles, 
	and some form of database oriented keyboard mappings.  It was
	also designed to emulate a vt220 terminal as best as possible.

	This is also available on agate.


5.1.3	syscons

	Another superset of pccons that was designed to emulate SCO as
	well as possible.  Many of the ioctls from SysV have been 
	implemented.  XFree86 requires special patches to be run with
	kernels using this console driver. Available on agate.


5.1.4	Fast Symbolic Links

	The following is taken from the README for the fast sym-links
	patch:

	"This cruddy but complete hack answers one of the objections to
	 symlinks: that they are slow, and cost an entire frag.  Symlinks
	 of less than length 60 are stored in the inode itself.  Symlinks
	 longer than this are still in the inode.  To make the illusion
	 of normality complete, dump and fsck also need changing.  
	 Additionally, I made dumpfs verbose to excess."

	Available on agate.


5.1.5	npx fixes

	There are some problems with the floating point error handling 
	routines, and there are some fixes available for this problem.

	The code for these fixes is available on agate.berkeley.edu
	in unofficial/from-ref/sys.extras/bde-npx.

	Note the most of the code is applicable to floating point hardware
	as opposed to emulation.



5.1.6	CGD's COM drivers

	Chris G. Demetriou (cgd@blah blah blah) has written some COM drivers
	for 386bsd.  These, among other things, support multi-port serial
	packages.

	The latest (and last) version is 0.2, and is available on agate
	in unofficial/from-ref/sys.extras/cgd-com-ports.  Please note that
	this is not going be developed any further by the author, and no 
	new versions will appear.  Users who do not absolutely need the
	features this provides are encouraged to use the newest drivers
	that come with the patch-kits.


5.1.7 Tom Ivar Helbekkmo's wd.c replacement

	Tom Ivar Helbekkmo (tih@barsoom.nhh.no) has rewritten much of the
	wd.c file that handles common hard disks, and added many new
	features to the code.

	The patches to use these can be obtained from barsoom.nhh.no
	in pub/386bsd.  Users should consult the README file for more
	information.


5.1.8	Interruptless LPT Driver Kit

	An Interruptless lpr driver kit is available from agate.berkeley.edu
	in unofficial/drivers/lpt.

	This driver was designed with faster performance and lower system
	load in mind.  See the INSTALL-NOTES that come with the package
	for more details and installation information.

5.2	Floppy Disk problems.

	One of the most common problems in 386BSD involves working with 
	new boot sector and/or reformatting a floppy.  Dave Silvia 
	provided this section on using floppy disks.

5.2.1	How do I get a bootable floppy?

	Several ways, ranging from brain-dead-but-works to simplest.  
	Classification into categories is left to the reader (is there 
	really a difference between 'brain-dead' and 'simple'?:')

	1) rawrite (or dd) dist.fs (or fixit.fs) to a disk,
	   mount it, cd to the mount point, and execute:

		rm -rf .

	   you now have a bootable floppy!;^}

	2) Take your existing dist.fs or fixit.fs boot disk and
	   diskcopy it on a DOS machine.  Mount and rm as in 1)
	   above.  Again, you have a bootable floppy!;^}

	3) Run disklabel on the floppy, e.g.:

		disklabel -w -r fd0a floppy5

	   where 'floppy5' is a 'name' for an entry in the disktab
	   file in /etc.  You'll get a couple of ioctl errors because
	   writing a label to a floppy isn't supported (yet?), but
	   the boot blocks have indeed been written.

	4) Write the boot blocks to the floppy:

		cat /usr/mdec/fdboot /usr/mdec/bootfd | dd of=/dev/rfd0a

	   or, more simply:

		cat /usr/mdec/fdboot /usr/mdec/bootfd > /dev/rfd0a

	Methods 3) and 4) require you to run newfs on the floppy, e.g.:

	newfs /dev/rfd0a floppy5

	If you have a floppy that was originally bootable, but the boot
	blocks were somehow damaged, you can use method 3) or 4) to
	restore bootability (do _NOT_ run newfs).  You _could_, through
	the convolutions of copying a floppy whose boot blocks are damaged
	to a temporary location and then recopying to a bootable floppy,
	use method 1) or 2) (if you really want to!;^})

	5)  If the disk is already newfs'ed and is otherwise ready to use,
	disklabel will write the boot blocks on the disk.  Read the man page
	for disklabel.

5.2	Unit Record
5.2.1	Printers
5.2.2	Terminals/Keyboards
5.2.3	Modems

	

5.3	Network

--
Please send submissions for comp.os.386bsd.announce to:
					386bsd-announce@agate.berkeley.edu