*BSD News Article 16173


Return to BSD News archive

Xref: sserve comp.os.386bsd.announce:56 comp.os.386bsd.questions:2492
Path: sserve!newshost.anu.edu.au!munnari.oz.au!spool.mu.edu!uwm.edu!cs.utexas.edu!sun-barr!ames!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 4
Followup-To: comp.os.386bsd.questions
Date: 15 May 1993 22:12:47 -0700
Organization: University of California, Berkeley
Lines: 247
Sender: cgd@agate.berkeley.edu
Approved: 386bsd-announce-request@agate.berkeley.edu
Message-ID: <9305131744.AA13422@hrd769.brooks.af.mil>
NNTP-Posting-Host: agate.berkeley.edu



Section 4.	(Kernel Additions)

  Thanks go to  Marc Wandschneider (storm@cs.mcgill.ca) for putting this
  section  of the FAQ together..

4.0	Introduction

   Contents:
	4.1 Common Kernel-related problems
	    4.1.1 Where are the commands "rpcinfo" and "rpcgen"?
	    4.1.2 Where can I get a working "netstat"?
	    4.1.3 How can I fix NFS to work with my NE2000 board?
	    4.1.4 How can I get "ps" to work?
	    4.1.5 Where are re_comp() and re_exec()?
	    4.1.6 Where are stty() and gtty()?
	4.2 Available Kernel add-ons
	    4.2.1 Patch-kit
	    4.2.2 Shared Libraries
	    4.2.3 SoundBlaster Drivers
	    4.2.4 BusMouse Drivers
	    4.2.5 PPP Support
	    4.2.6 re_comp and re_exec library functions
	    4.2.7 Intel i82586 Ethernet Controller driver
	    4.2.8 PC Speaker driver for NetHack

   Notes:

	If you have written some addition to the kernel, or know of
	one that feel should be mentioned, send mail to Dave Burgess 
	(burgess@hrd769.brooks.af.mil) with all the relevant information, 
	and it will be added for the next release.



4.1	Common Kernel-related problems


4.1.1	Where are the commands "rpcinfo" and "rpcgen"?

	Chris Flatters (cflatter@nrao.edu) informs us in the following
	posting excerpt where we can find them:

	--------------------------------------------------------------------
	The sources for the Sun OS 4.0 RPC are on titan.rice.edu (I don't have
	the inet number handy) in directory sun-sources.  You will have to pick
	up all the shell archives and unpack them to get at rpcgen.
	--------------------------------------------------------------------

 
4.1.2	Where can I get a working "netstat"?

	Havard Eidnes (Havard.Eidnes@runit.sintef.no) has ported it for us:

	--------------------------------------------------------------------
	Hi,

	I've ported netstat from NET2 to 386bsd version 0.1. The changes
	are mostly involved with inserting #ifdefs for ISO, NS and IMP at
	the relevant places ("removing" that code, essentially), not
	compiling some of the modules (although the source remains together
	with comments in the Makefile) plus modifying the "unixpr()" routine
	in unix.c to traverse the open file table the new way.  The
	"netstat -r" output looks a bit odd (although I guess this is the
	"new way"?), but gives the right information.

	The source and binary is available with anonymous ftp from
	ugle.unit.no (for lack of a better place) in the pub/unix/386bsd/
	directory as netstat-bin.tar.Z and netstat-src.tar.Z.  Unpack the
	source from /usr/src and the binary and formatted man page (as root)
	from /.  Use binaries at own risk ;-)

	- Havard
	--------------------------------------------------------------------

	In addition, netstat was released as a binary patch and source patch 
	in the patchkit.  As far as we're aware, netstat will be a part of 
	the 0.1.5  distribution currently under construction.


4.1.3	How can I fix NFS to work with my NE2000 board?

	Ken Raeburn (raeburn@cambridge.cygnus.com) has both identified the
	problem and provided us with a work around:

	--------------------------------------------------------------------
	I reported previously that I was seeing problems reading files over
	NFS using the ne2000 driver; timeouts would eventually be reported, no
	data would be read.  Listing files and directories (small ones
	anyways) were not a problem.

	After playing with etherfind and kernel printfs, I've come to this
	conclusion: Fragmented 8K UDP packets from the NFS server are not
	reaching the UDP layer in 386bsd.  The Sun is sending them (according
	to another Sun spying on the network), but the UDP input routine is
	never called.  I don't know if the bug here is on the 386bsd or Sun
	side, and won't have time to look into it in the next couple of days.

	In the meantime, mounting NFS file systems with "rsize=1024" does get
	rid of this problem.

	(It does nothing about TCP being slow, though.)
	Ken
	--------------------------------------------------------------------

	Hopefully, the real soloution (a UDP fix) will be forthcoming so
	that the slow TCP problem is fixed as well.


4.1.4	How can I get "ps" and "w" to work?

	The patch-kit contains a fix for /src/lib/libutil/kvm.c, which,
	last we heard, was due to the work of Jim Paradis 
	(paradis@sousa.ltn.dec.com).  New versions of the kernel should
	have this problem fixed.

	In order for users to be able to use certain flags with ps, and
	the w/uptime commands, the kernel must have permissions 755.

	Also, in order to save space on the distribtuion, the kernel is 
	'stripped' of all its labels.  Programs that rely on those labels
	will not work.  There are several in this category, including ps, 
	w, and uptime.  Either ftp an unstripped kernel, or recompile.


4.1.5	Where are re_comp and re_exec?

	These two functions are currently not in libc.a.  However, there
	are two related functions that seem to work exactly the same in
	all cases we've heard of---These are regcomp() and regexec().

	Thus, a pretty ugly fix for the problem would be to always compile
	as follows:

	$(CC) -Dre_comp=regcomp -Dre_exec=regexec ....

	There is a slightly nicer fix available for this, listed in 4.2


4.1.6	Where are stty() and gtty()?

	These functions are missing from libc.a.  To fix, add the following
	#defines to your program:

	#define stty(f, m)	ioctl((f), TIOCSETP, (m))
	#define gtty(f, m)	ioctl((f), TIOCGETP, (m))

	A more elegant solution is to apply the patchkit.  These routines
	are included in there.


4.2	Available kernel add-ons


4.2.1	The Patch-Kit

	Perhaps the most famous of all additions to the kernel, the Patch-Kit,
	currently coordinated by Rodney Grimes (rgrimes@agora.rain.com)
	contains numerous bug fixes, Julian's SCSI drivers, as well as fixes
	for other parts of the system.

	The patch-kit, as well as all relevant information, is available on
	agate.berkeley.edu (and mirrors) in unofficial/patch-kit, as well
	as bsd.coe.montana.edu in /pub/patch-kit. (archie will likely list
	other sites as well)

	It is highly recommended that all users with space for the source code
	apply the patch-kits as many things that seem broken in 0.1 suddenly
	start working with the patch-kits.

4.2.2	Shared Libraries

	A basic and experimental implementation of shared libraries exists
	for 386bsd.  According to the author (Dr. Joerg Lohse, 
	lohse@tech7.informatik.uni-hamburg.de), features are as follows:

	-No kernel extension is necessary
	-Shared libraries use the approach used in SysV.

	Others are also working on different implementations of shared
	libraries.

	This code can be obtained from agate.berkeley.edu in 
	unofficial/from-ref/sys.extras.  The file is called

4.2.3	SoundBlaster Drivers

	A driver for the SoundBlaster card has been written by Steve
	Haehnichen (steveh@ucsd.edu) for BSD.  Steve Greakines has
	provided us with the information and the like necessary to
	get this driver working under 386bsd.

	Most features of the SB family of cards are supported save some
	stereo portions of the SBPro cards.

	The driver is availabe on agate.berkeley.edu in 
	unofficial/drivers/misc/soundblaster-1.4


4.2.4	BusMouse Drivers

	Fred Cawthorne (fcawth@delphi.umd.edu) has written a busmouse
	driver for 386bsd.  It supposedly works with X386, and the
	last version we have checked out was labelled as a BETA 
	release.

	This can be found on agate in unofficial/drivers/misc/busmouse
	
4.2.5	PPP Support

	A package to add PPP support to 386bsd can be found on agate
	in unofficial/drivers/net


4.2.6	re_comp and re_exec library functions

	As mentioned in section 4.1, re_comp and related functions, such
	as re_exec, are currently not in the library libc.a  Apart from
	using the rather crude fix listed above, there is another option.

	Kim Anderson (kim@dde.dk) has provided a patch that will add these
	to libc.a.  You can probably obtain this patch from the author, or
	you can ftp it from binkley.cs.mcgill.ca in pub/386bsd.

4.2.7	Intel i82586 Ethernet Controller driver

	Garrett A. Wollman has written a driver for the Intel i83586 
	Ethernet Controller.  The driver is available from agate
	in unofficial/from-ref/sys.extras.

	The authors e-mail address is listed as Garrett.Wollman@uvm.edu,
	attempts to send him mail there have failed.

4.2.8	PC Speaker driver for Nethack

	Andrew A. Chernov has ported the Nethack PC Speaker driver to
	386bsd.  It allows the speaker to be controlled by applications.

	Unfortunately, we are not aware of a site that distributes this,
	but this patch has been posted a couple of times to the various
	comp.os.386bsd groups, and the author can be contacted at
	ache@astral.msk.su

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