*BSD News Article 3519


Return to BSD News archive

Newsgroups: comp.unix.bsd
Path: sserve!manuel!munnari.oz.au!mips!mips!darwin.sura.net!wupost!cs.utexas.edu!hellgate.utah.edu!fcom.cc.utah.edu!cs.weber.edu!terry
From: terry@cs.weber.edu (A Wizard of Earth C)
Subject: FAQ POSTING
Message-ID: <1992Aug10.154622.13283@fcom.cc.utah.edu>
Sender: terry@icarus.weber.edu
Organization: Weber State University  (Ogden, UT)
Date: Mon, 10 Aug 92 15:46:22 GMT
Lines: 1289


			Frequently Asked Questions
				386BSD 0.1


			    EXTREMELY UNOFFICIAL


			       Terry Lambert
		      terry_lambert@gateway.novell.com
			   terry@icarus.weber.edu


			   Last Update: 09 Aug 92
			   Version:	2


0.0	Organization

	This FAQ consists of five parts:

	0.*	Organization.
	1.*	Overview.
	2.*	Questions list (with accompanying personally or net derived
			answers).
	3.*	Acknowledgement (but not naming -- sorry) of Contributors.
	4.*	Future of this FAQ.
	5.*	Archivers, what they archive, how to submit and download.


1.0	Overview

	The 386BSD 0.1 operating system is a derivitive of the Berkeley
Net/2 release.  The definitive "man without whom we would have nothing" in 
this effort has been William Jolitz.  For more information, download the
code.

	This FAQ is derived from mail to me (terry@icarus.weber.edu), which
is a flaky mail link, and postings in the gorup comp.unix.bsd.  Some of the
people quoted here were quoted without permission.  Anyone wanting to amend
anything they have said should email me the *entire* ammended section (for
instance, 2.08) including their changes.

	The information in this FAQ is current as of postings and mail
received up to and including 02 Aug 92.


2.0	Questions list

	Here is an incomplete questions list (incomplete, because I do not
	have answers for all of them).  This will probably dissapoint my
	many fans, who no doubt consider me infallable 8-).  Items marked
	with an asterisk ('*') are new or have been updated since the last
	posting.  Numbering has been added to the questions list to aid in
	finding things.

	01 Where can I find the distribution?
	02 Where can I get the distribution on CD ROM?
	03 Why shouldn't I download 386BSD from UUNET?
	04 How do I get 386bsd 0.1 installed with "real" partitoning?
       *05 How do I get a second disk running under 0.1?
       *06 How can I fix the "flashing multicolored characters and
		ptdi81061 prompt" error?
	07 What is the highest baud rate supported?
	08 SLIP is configured, but doesn't seem to work: what's wrong?
       *09 The serial ports don't work on my machine; is it my UARTs?
	10 I can install; why won't it boot of my hard drive?
	11 How can I verify my checksums before I have 386bsd installed?
	12 How can I make my tty driver not lock up?
	13 Where are the commands "rpcinfo" and "rpcgen"?
	14 Why don't the man pages for "magic" and "file" work?
	15 Why is apropos broke?
       *16 Where can I get a working "netstat"?
	17 How can I fix NFS to work with my NE2000 board?
	18 How do I add swap space?
	19 Where can I get a kernel with second drive and second swap in it?
	20 How do I make a device that can see my DOS partition?
	21 How can I get "ps" to work?
	22 How can I read tapes with multiple extents?
	23 How do I get around the NFS "Permission denied" error?
       *24 Some of my SCSI devices (like a tape) dont work; why?
	25 The "mountd" hangs on exporting a file system subdirectory.
	26 Are EISA cards supported?
	27 Is microchannel (MCA, PS/2) supported?
	28 How much disk space do I need?
	29 How do I get rid of "startart" characters on my console?
	30 I'm having trouble installing the binaries... why is that?
	31 Where can I get X windows for 386BSD?
	32 Where can I get (FTP) info on how to configure a kernel?
	33 I get the error "isr 15 and error: isr 17" on an NE2000 card, OR
		I have some card on IRQ2 and it dosn't work; why?
	34 If I do a "pwd", my directory goes away.
	35 I can't unpack etc01 becuse of "too many files open".
       *36 Where is libcompat.a (for gtty, stty)?
       *37 What's the current status of the kernel using gcc-2.2.2?
       *38 What's the status of streams for 0.1?
       *39 How do I make my streaming SCSI tape work?
       *40 Tip gives "all ports used" message.
       *41 SCSI controller/sense errors with DAT/varible block size tape.
       *42 My Wangtek 5150EQ doesn't stream.
       *43 The "shutdown -todos" command doesn't work.
       *44 Making an HP Vectra work without a special boot disk.
       *45 Tip gives a "no file or no lock" error.
       *46 I get the error "newfs: /dev/rwd0a: can't rewrite disk label"
		when I try to install 386BSD.
       *47 Why can't I set up 386BSD as a router?
       *48 What tape devices are compatable with 386BSD?
       *49 Why do I have to type ^V twice in screen and elsewhere?
       *50 I get blinking characters instead of highlight-- why?
       *51 Where can I get a man page for ddb?
       *52 Where can I get 386BSD on tape?


2.01	Where can I find the distribution?

	The following host sites are listed in the file DISTRIBUTION.HOSTS
	in the 386/BSD distribution (bot name and address are provided):

		agate.berkeley.edu		128.32.136.1
		gatekeeper.dec.com		16.1.0.2
		MATH.ORST.EDU			128.193.16.60
		UTKUX1.UTK.EDU			128.169.200.67
		terminator.cc.umich.edu		141.211.164.8
		nic.funet.fi			128.214.6.100
		dsuvax.dsu.edu			138.247.32.2
		altair.cis.ksu.edu		129.130.10.84
		hpcsos.col.hp.com		15.255.240.16	*
		math.niu.edu			131.156.3.4
		sune.stacken.kth.se		130.237.234.42
		raquel.doc.ic.ac.uk		146.169.11.3
		rusmv1.rus.uni-stuttgart.de	129.69.1.12
		HELIUM.CLUB.CC.CMU.EDU		128.2.55.10
		banjo.concert.net		192.101.21.6
		kirk.bu.oz.au			131.244.1.1
		grand.central.org		192.54.226.100
		pascal.math.fu-berlin.de	130.133.4.50
		capella.eetech.mcgill.ca	132.206.1.17
		ftp.ibr.cs.tu-bs.de		134.169.34.15
		f.ms.uky.edu			128.163.128.6
		azathoth.sura.net		128.167.254.184

	Notes:	*Internal HP sites only

	The code is also soon to be available, or perhaps already available,
	from both CompuServe and BIX.


2.02	Where can I get the distribution on CD ROM?

	A company called "Yggdrasil Computing Infrastructure Corporation"
	has posted (in the person of Adam J. Richter) the following:

	-----------------------------------------------------------------
        I am considering selling the 386BSD 0.1 distribution on CDROM
	through my company, Yggdrasil.  The distribution would run $100,
	with $60 per CD donated to Lynne and Bill Jolitz, and would
	include the following.

        o An ISO9660 level 2 CDROM with a copy of the 386BSD 0.1
          distribution from agate and an unpacked directory tree
          of the distribution,

        o Bootable installation diskettes in both 3.5" (1.44MB) and
          5.25" (1.2MB) formats.  Each of these diskettes would have
          a kernel capable of mounting an ISO9660 file system and
          a script for installing from the CDROM.

        o Installation instructions.

        o An Yggdrasil "GNU World Order" T-shirt.


        At Bill Jolitz's suggestion, I plan to wait for the first patch
	for the early bugs, which should be out "very shortly."

        Please send me email if you have any comments or suggestions
	about this idea or if you're sure that you'd buy a CD.
	-----------------------------------------------------------------

	The posted email address is richter@nic.cerf.net (Adam J. Richter);
	I would greatly encourage anyone interested in 386BSD who also has
	a CD ROM drive to purchase this when it becomes available, and to
	send Adam email so that he can get a distribution list going.  If
	he's amenable to it, this distribution list should be used to
	email future items, such as "software catalogs", etc.


2.03	Why shouldn't I download 386BSD from UUNET?

	1)	William Jolitz, the author doesn't want you to.
	2)	UUNET has a policy against binaries, so you won't be able
		to boot it if you do download it.

	William F. Jolitz writes:

	--------------------------------------------------------------------
	"Do *not* obtain 386BSD from uunet!  BSDI is funded partially
	 from UUNET coffers, and those idiots still see 386BSD as a
	 rival to their hopes.

	 As with other related situations, they have come up with
	 'plausibly deniable' reasons to not provide information that
	 they feel affects their competitive advantages."
	--------------------------------------------------------------------

	'nuf said.


2.04	How do I get 386bsd 0.1 installed with "real" partitoning?

	This method also comes to us, as so much else does, by way of
	Chris G. Demetriou.  The following is excerpted and edited from
	a post by him on the matter:

	--------------------------------------------------------------------
	HOW TO GET 386bsd 0.1 INSTALLED WITH "REAL" PARTITONING:

	(remember, if things don't work, they might be in places that aren't
	normally looked in... things should work as below, but you might have
	to use explicit paths occasionally... the 'better' stuff -- mount,
	umount, cp, etc... is in /usr/distbin on the fixit floppy...  even
	mknod is there, if the devices you need aren't on the fixit floppy...)

	(1) boot the fixit floppy
	(2) disklabel the disk as appropriate
	(3) newfs the partitions
	(4) mount the new root partition under /mnt
	(5) mkdir /mnt/usr
	(6) mount the new /usr partition under /mnt/usr
	(7) cpio directory-by-directory (recursively -- by hand!) the entire
		contents of the fixit floppy to the hard drive

		you'll do something like:

		cd /
		ls | cpio -pdalmu /mnt
		cd /sbin
		ls | cpio -pdalmu /mnt/sbin
		cd /usr
		ls | cpio -pdalmu /mnt/usr
		cd /usr/bin
		ls | cpio -pdalmu /mnt/usr/bin

		etc.  yes, it's tiring.

	(8) copy /usr/distbin/mount and /usr/distbin/umount to /mnt (so that
		they'll be in the new root partition, so you can mount the
		new /usr partition...)
	(9) shutdown
		and the eject the floppy.
	(10) reboot off the hard drive, the fsck -p <root raw device>
		If there are any errors, after the fsck is done, hit
		ctl-alt-delete, and repeat this step.
	(11) fsck -p <usr raw device>
	(12) mount -u <root device> /
	(13) mount <usr device> /usr
	(14) insert 0.1 boot/install floppy (dist.fs) into floppy drive
		and "mount /dev/fd0a /mnt"
	(15) cd /mnt
		and then
		usr/bin/zcat etc/baselist.Z | usr/bin/cpio -pdalmu /
	(16) cd /
		and then
	/mnt/usr/bin/zcat /mnt/etc/baseutils.cpio.Z | /mnt/usr/bin/cpio -idalmu
	(17) umount /mnt	then eject the floppy
	(18) umount /usr
	(19) shutdown
	(20) reboot off the hard drive, and get all of the various files (the
		bindist files, srcdist files, etc...).
		I put them into /usr/tmp, because there wasn't enough space
		in /tmp (because it was on a small root partition...).
	(21) cd / ; cat <all the binary files> | uncompress | cpio -idalmu
	(22) rm <all the binary files>
	(23) put your hostname into "/etc/myname" and put your ip addr/hostname
		into /etc/hosts.
	(24) make an fstab for yourself.  specifically, you want something like:
		<root device name>	/	ufs rw 1 1
		<usr device name>	/usr	ufs rw 1 2

	congrats.  you now have a working system!

	you can repeat step 21 for the srcdist and etcdist files, as well,
	if you wish...

	If they don't work for you, sorry...

		Chris
	--------------------------------------------------------------------

	If it doesn't work, I'll be sorry too, if it'll help.


2.05	How do I get a second disk running under 0.1?

	This is the result of the boot disk not auto-recognizing multiple
	hard drives.  A very good fix to this, if you can recompile your
	kernel without first needing a second drive, was posted as an
	article by Christoph Robitschko.  The patch is available (or will
	be soon) from agate.berkeley.edu.

	If you can't recompile due to a lack of disk space, or some other
	overriding reason, a compile that has at least second drive support,
	and second swap device support, is available from James Risner
	(email risner@ms.uky.edu) and is also available by anonymous FTP
	from f.ms.uky.edu:/pub2/386bsd-0.1/unofficial/second.drive.randy/*.

	I don't know if this work is based on Christoph's, or if it was
	independantly developed; I also do not know if the sources are
	available or not.


2.06	How can I fix the "flashing multicolored characters and
		ptdi81061 prompt" error?

	This error is a major error, as far as I'm concerned, as it effects
	the majority of the equipment that I have available to me.  It is
	also present on the HP vectra.  I have a soloution that works on
	AT&T 6386E/WGS, but I warn you, it's very dirty.

	The problem is that the code checking the return from the read of
	the CMOS RAM value falls through in the case of an invalid value.
	What really is needed is the non-existance "else" case for a bad
	CMOS setup, which goes and probes memory to see it's size.  What
	currently happens is that the code falls through, the Maxmem is set
	to zero, and the maxmem and physmem are set to -1 (this is a bad
	thing).

	To solve this, I wrote a program in (forgive me!) Turbo C to read
	and write CMOS values, so that I could force the memory count to
	the correct value.  For a machine with a base  memory of 640K, the
	expected value in CMOS is 0280 (in bytes x16 and x15, respectively).
	What the AT&T boxes and the HP vectra have here is 027f, so it falls
	through to the default case and blows up.

	The quick and dirty workaround:  If you download dist.fs from
	Chris G. Demetriou's upload on agate.berkeley.edu for the hard disk
	boot problem (this MUST be dist.fs, and not one of the other dist.fs
	files modified for Isolan or WD ethernet and named something else!),
	you can use uzap (available for anon ftp from wuarchive.wustl.edu,
	located at mirrors2/unix-c/editors/uzap.tar-z) to binary edit the
	dist.fs at byte offset 946834; it should be changed from 81FE8002
	to 81FE7F02.  This is the compare for 640K in the bogus code.  You
	can look for the pattern 81FE8002 in the other *.fs files, including
	fixit.fs, and change it there, if you MUST use one of them instead.

	I have uploaded a patched version of dist.fs, and this is also on
	agate.berkeley.edu.

	It should be noted that, if you download uzap, you should "touch"
	uzap.c, as otherwise, make will try to use lex to create it, and
	will probably fail.  This is due to the tar extraction order from
	the uzap tar archive.


2.07	What is the highest baud rate supported?

	The highes baud rate that is supported is 38400.  This is somewhat
	a misnomer, however, since it implies that you will get "support"
	if 386BSD fails to perform at this baud rate.  This is incorrect;
	if it doesn't perform at 38400, try a lower baud rate.  No one is
	going to commit to "fix it" for you based on a complaint.  If anyone
	wants to write a faster driver, the canonical method of running
	higher baud rates is to take one interrupt an poll like hell.  This
	would probably impact performace pretty significantly.

	If you need more than 38400, you should consider an ehternet card.


2.08	SLIP is configured, but doesn't seem to work: what's wrong?

	Warren Toomey and Peter Cooper have together discovered the soloution
	for this one.  Place a "nohup" on the command line in front of the
	"slattach", like so:

		nohup slattach /dev/com2 9600

	The problem is apparently related to the idea of controlling tty.
	The slattach should have /dev/com2 as it's controlling tty after
	it has been run, and does not.  This causes slattach to shut down.
	Understandably, this leads to another workaround: restart slattach
	once you're up.


2.09	The serial ports don't work on my machine; is it my UARTs?

	It doesn't matter if you have old (8250) or new (16450) UART's in
	your box.  Most likely, the problem is related to something living
	at IRQ4 (if you are trying to use com1/com3) or IRQ3 (if com2/com4).
	You should move the conflicting card to another interrupt, since, in
	general, you won't beable to move the com card.  This is because
	interrupt sharing requires either the interrupt line not being
	current sinked (thus preventing other interrupts), or a *lot* of
	fancy footwork and some very explicit knowledge of the cards
	involved.  The first condition is not going to be met by most AT
	bus (ISA) cards.  The second would require a general change in the
	way com cards are made and nearly a driver per card.  DOS doesn't
	have this problem because it'scom drivers in BIOS poll the cards for
	input rather than being interrupt driven.  This is generally not a
	good idea in a multiprocessing (say 386BSD) environment.

	A further note on this topic: if you want to run at a higher baud
	rate, you should probably consider rewriting the driver, replacing
	your 8250's with 16550's, or not running at the higher rate.


2.10	I can install; why won't it boot of my hard drive?

	In general, this will show up as a "bad disk label" error, and
	can result in in not booting from the hard drive "most of the time".
	You may be able to partially (or even completely) work around this
	problem by making your machine run at a lower clock rate.

	This problem is the result of the kernel reading the wrong register
	waiting for the drive controller to come ready.  On some controllers,
	this isn't a problem; on others, it's fatal.

	The correct soloution is to use a patched "dist.fs" or "fixit.fs"
	boot disk.  These have been provided by Chris G. Demetriou, and
	are located on the machine agate.berkeley.edu in the directory
	pub/386BSD/386bsd-0.1/unofficial/newbootables.cgd.  There are a
	number of other bootables ther for WD8003 and Isolan ethernet cards,
	since the probing for both can cause problems.


2.11	How can I verify my checksums before I have 386bsd installed?

	A "cksum" program for the 386BSD distribution which runs on
	SVR4, and which can probably be easily modified to run elsewhere,
	has been provided by Henry G. Juengst (whose email address is
	juengst@boss1.physik.uni-bonn.de).  Henry states about his port:


	--------------------------------------------------------------------
	I found cksum in srcdist and compiled it. Some definition problems
	had to be resolved (quick hack). DG/UX 5.4.1 is a System V R4. Now
	I can begin to verify all files here (first check done) and use 386BSD
	for education (for no money) in an astronomical observatory
	(SNH, Erkrath/Germany) which is open for everybody.

	I hope this modified cksum will help anybody just to verify the
	contributed files before moving them to anywhere. Use make.sh to
	compile it. But have a look before you start. May be you have
	to change _PROTO_ARGS in all *.c & *.h using
	sed 's/_PROTO_ARGS/YOUR_PROTOTYPE_MACRO/g' file.c >file.new.c
	(it was __P in the original source). If you are not sure you should
	have a look into your /usr/include/stdio.h (for example).

	THIS IS NO PATCH FOR 386BSD !

	Henry

	Sorry, here should be the uuencoded .tar.Z file. But the nntp server
	fails because out of disk space; 40 kbytes - mmmh. You can get it via
	anonymous ftp from

	boss1.physik.uni-bonn.de:~ftp/pub/386bsd/cksum_dgux/cksum_dg.uue
	[131.220.221.30]

	for the next two month. You won't waste your time if you have a look
	into the other directories (e.g. ~ftp/pub/dcl) !

	If you don't have ftp access you can mail me. I will send it to you.
	--------------------------------------------------------------------

	I'm sure that Henry's work will soon find its way to agate and other
	canonical distribution sites.


2.12	How can I make my tty driver not lock up?

	1)	Don't use it (8-)).
	2)	Apply Mark Eichin's (eichin@athena.mit.edu) patch for the
		file tty_ring.c.
		
	Sorry, no binaries with this patch already installed.  Hopefully, it
	will show up in the usual places soon.  Currently, the patch is
	article 1930 of comp.unix.bsd.  You can get it form your favorite
	news archive (mine is wuarchive.wustl.edu).

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

	Chris Flatters (cflatter@nrao.edu) informs us in the following
	posting except 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.
	--------------------------------------------------------------------


2.14	Why don't the man pages for "magic" and "file" work?

	James Jegers (jimj@miller.cs.uwm.edu) enlightens us:

	--------------------------------------------------------------------
	The manual page for magic and file all have two dots
	before the commands,  eg.    "..SH" it should be ".SH"
	just delete one of the double dots in the whole file and then 
	it will work.
	--------------------------------------------------------------------


2.15	Why is apropos broke?

	Also from James Jegers:

	--------------------------------------------------------------------
	The Makefile in /usr/othersrc/share/man/Makefile creates the
	whatis.db.  The problem is that it doesn't strip the backspaces in
	the title and apropos can't handle that.  So add a "col -b" to strip
	those.

	exerpt from the makefile.

	makedb:
	   for file in `find /usr/share/man -type f -name '*.0' -print`; do \
		sed -n -f /usr/share/man/makewhatis.sed $$file; \
	   done | col -b | sort -u > whatis.db
	   install -o ${BINOWN} -g ${BINGRP} -m 444 whatis.db \
	              ${DESTDIR}/usr/share/man
	--------------------------------------------------------------------


2.16	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
	--------------------------------------------------------------------

	This is also available from agate.berkeley.edu and it's mirror
	sites.

	Hopefully, this will find it's way into the regular distribution.


2.17	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.


2.18	How do I add swap space?

	William F. Jolitz fprovides the soloution to this problem himself,
	by way of a reply to Randy Suess' question on the matter:

	--------------------------------------------------------------------
	>To add swap space, the device needs to be compiled into the kernel
	>in advance, even if you don't plan to use it. It reserves space in
	>it's swap space map for this (so eventually it can interleave them).

	Ok, that did it.  Thanks.  I am now able to have the swap
	partition on the second drive added with swapon. (at least
	the command completes with no errors.  Any way to actually
	see if the system knows about the second swap partition?)

	in /sys/compile/YOUR_SYSTEM_NAME/swap386bsd.c,
	duplicate the makedev(0,1) line in the swdevt struct
	and change the 1 to a 9.
	--------------------------------------------------------------------

	The swdevt struct fix is Randy's, the quoted material Bill's.


2.19	Where can I get a kernel with second drive and second swap in it?

	As mentioned elsewhere, James Risner (risner@ms.uky.edu) has
	provided at least binaries (I havent checked for sources yet):

	--------------------------------------------------------------------
	A recompiled kernel with second drive support and second drive swap
	support is available on
	f.ms.uky.edu:/pub2/386bsd-0.1/unofficial/second.drive.randy/*
	--------------------------------------------------------------------


2.20	How do I make a device that can see my DOS partition?

	The correct answer to this problem is "one /dev/wdXX per partition
	and a DOSFS VFS module".  Barring that, the soloution provided by
	Jim Paradis (paradis@sousa.ltn.dec.com) will have to do:

	--------------------------------------------------------------------
	To build a devices.c file that lets you access the DOS partition, you
	need to know the byte offset of the DOS partition from the start of
	the hard disk.  You would then add an entry to the devices[] array
	as follows:

	{'C', "/dev/wd0d", <byteoffset>L, 16, 0, (int (*) ()) 0, 0, 0, 0},

	So, f'rinstance, if your DOS partition starts at the beginning of
	the disk, you'd have:

	{'C', "/dev/wd0d", 0L, 16, 0, (int (*) ()) 0, 0, 0, 0},

	On the other hand, if your DOS partition starts 32Mb into the disk,
	you'd say something like:

	{'C', "/dev/wd0d", (32768L * 1024L), 16, 0, (int (*) ()) 0, 0, 0, 0},
	--------------------------------------------------------------------

	Once I have my machine a happy camper, the second soloution should be
	available shortly.


2.21	How can I get "ps" to work?

	Jim Paradis (paradis@sousa.ltn.dec.com) has given us a patch to
	./src/lib/libutil/kvm.c in article 2115 of comp.unix.bsd.  Get it
	from your usenet archive, or the usualt FTP sites when it becomes
	generally available.


2.22	How can I read tapes with multiple extents?

	With a no-rewind device.  Tore Haraldsen (toreh@bootes.sds.no) has
	given us the information to make one:

	--------------------------------------------------------------------
	It IS possible to read multiple file tapes, if you do the following
	modifications to i386/isa/as.c:

	1) Change the definition of dev_rewind macro to use a mask outside the
	   other fields used by the scsi driver. Using the partition field for
	   no-rewind flags will not work, due to imprecise coding elsewhere in
	   the driver. Use 0100 for instance. Make a new kernel.

	2) Create a device with this capability:
			mknod /dev/nras2a c 13 80

	   The last number, 80 = 16 (=minor device number for as2) + 64
	   (decimal representation of 0100).

	3) When using the tape device for the first time, do some sort of dummy
	   access to it: tar a cpio tape or vice versa. There seems to be some
	   sort of race condition otherwise that will otherwise give you the
	   unwanted rewind.

	4) Good luck. This is just a hack, somebody compentent will have to
	   rewrite the whole damn thing...

	-- Tore Haraldsen
	--------------------------------------------------------------------


2.23	How do I get around the NFS "Permission denied" error?

	The problem is not the configuration of the server (unless there is
	no real requirement to run it in "secure" mode, and you happen to
	be running it that way anyway).  The problem is the fact that,
	even though mount request are sent on a priveledged port, NFS
	connections are not.  This is part of secure NFS, and is not
	supported in 386BSD.
	
	There is a patch to cause NFS to use a secure port in 386BSD 0.1
	-- unfortunately, I don't have references for it.  It did appear
	as a postisting, somewhere between article 1600 and 2100 (I know,
	big help).


2.24	Some of my SCSI devices (like a tape) dont work; why?

	This 
	Gary Ward (gpw10@phoenixcd.amdahl.com) has seemingly discovered
	that the SCSI driver likes devices to start at 0 and work their
	way up.  That means that you should put your first device at
	LUN 0, the second at LUN 1, and so on.  The typical arrangement
	of disks at 0 and 1, and a tape at 4 will cause the tape to
	not be recognized.  Change this to disks at 0 and 1 ans the tape
	at 2, and voila! the tape is suddenly there.


2.25	The "mountd" hangs on exporting a file system subdirectory.

	This is because of a bug in mountd itself, as identified by Roe
	Peterson (roe@Unibase.SK.CA).  As yet, there is not a fixed
	binary available, so you will have to make the change and compile
	it yourself.  The change, as posted by Roe, is as follows:

	--------------------------------------------------------------------
	Found a little bug in mountd:  If /etc/exports contained:

		/usr/src -root=0

	And /usr was not a file system unto itself, mountd went into an
	infinite loop and stayed there.

	The fix:  in /usr/src/sbin/mountd/mountd.c, line 592 reads:
		while (*cp == '/' && cp > ep->ex_dirp)
	and should read:
		while (*(cp-1) == '/' && cp > ep->ex_dirp)
	--------------------------------------------------------------------


2.26	Are EISA cards supported?

	No, EISA cards are not directly support; however several, especially
	Adaptek SCSI controllers will work in ISA mode.  When and if EISA
	is directly supported, they will give a significant performance
	advantage to EISA bus machines.  Until then, there is nothing that
	is intrinsically better about owning an EISA bus machine.


2.27	Is microchannel (MCA, PS/2) supported?

	No.  Like EISA, this is unsupported currently; unlike EISA, it can't
	work anyway until it is supported, as it doesn't fall back to ISA
	operation.  If you want to work on this problem, I'm sure that
	many people will appreciate it; you will probably need an ISA or
	EISA machine to do the work, however.


2.28	How much disk space do I need?

	The following is culled down from the INSTALL.NOTES file of the
	distribution:

	Binary only:	49 M (30 disk, 5 swap, 14 extraction)
	Source:		125 M (49 bin, 37 disk, +6 extraction, 25 recompile)
	User software:	+51 M

	Everything plus files from recompilation is 176 M with no space left
	over.

	I personally recommend at least 20-60 M of empty space for room to
	grow, build your own software, keep patches, read news, etc.  Call
	it around 200 M for a full distribution you can rebuild from scratch
	and as a general usable system.

	If you are binary only, call it 70-160 M, depending on the space you
	want left over, and whether you load the additional user software.

	Add more space for X windows, additional swap, or anything else you
	want to use disk for.  I find that I'm comfortable in 300 M with the
	developement work I'm doing.

	NB:  Given the recent proliferation of postings for "multiple drive"
	kernels, it's always possible to "start small" and expand later, if
	you need to.  You can also NFS mount disk space from another machine
	if you have networking installed, in which case you only need the
	space required for the binary distribution, no mater what you want
	to do.


2.29	How do I get rid of "startart" characters on my console?

	This has been a rather highly reported problem.  Ken Raeburn reports
	that simply rebuilding the kernel from the supplied sources will
	get rid of it.  Others have reported that moving the ethernet card
	to another IRQ also seems to sovle the problem.


2.30	I'm having trouble installing the binaries... why is that?

	.
2.31	Where can I get X windows for 386BSD?

	The writer of the X for 386BSD FAQ, Amancio Hasty Jr. (email at
	hasty@netcom.com) says:

	--------------------------------------------------------------------
	"Patches and binaries for X11R5 patch level 13 and X386-1.2E version
	 1.0.1 are available by anon ftp from agate.berkeley.edu and
	 banjo.concert.net in /pub/386BSD/0.1-ports/X386 and from
	 nova.cc.purdue.edu in /pub/386bsd/submissions.  The file
	 386BSD.X386-1.2E.diff contains contex diffs against X386-1.2E-1.0.1
	 and 386BSD.X386-1.2E.bin.tar.Z contains the binaries for 386BSD.

	 The binaries are 61Mb when extracted.  See the file INSTALL for
	 further info. Files in usr/lib/X11/etc contain information on how
	 to construct a required Xconfig file for your graphics card and
	 monitor.

	 In order to run the server, you will need either the supplied
	 patched GENERICISA kernel binary or you will need to patch two
	 kernel source files: pccons.c and locore.s.  Since these patches
	 are unofficial, we suggest you copy them to /sys/compile/...,
	 where the kernel is compiled and patch them there.  The patch for
	 /usr/include/stdlib.h is not needed unless you are rebuilding X
	 from sources.

	 The X server uses both Glenn Lai's `SpeedUp' optimizations for
	 ET4000 based SVGA and Jim Tsillas' generic `fX386' optimizations.
	 Unfortunately, this release does not support the TRIDENT chipset,
	 although a working port would be very welcome.  The server binary
	 was created with PEX support and compiled with both -O and -g, so
	 although it is optimized for speed you can still get detailed
	 debugging info if needed.  Use `strip' on /usr/bin/X11/X386 if
	 you aren't interested in debugging.

	 To rebuild the binaries you will need 175Mb of disk, mit X11R5,
	 fixes 1-13 and X386-1.2E-1.0.1 and these patches.  On
	 export.lcs.mit.edu the files are: /pub/R5/mit-*/mit-*,
	 /pub/R5/fixes/fix-01 through 13, and
	 /contrib/X386-1.2E/X386-1.2E-1.0.1.diff.  Apply mit's fixes,
	 then X386-1.2E-1.0.1, then these for 386BSD.  The files
	 mit/RELNOTES.TXT and mit/server/ddx/x386/README.X386-1.2E contain
	 information on how to configure and build the distribution."
	--------------------------------------------------------------------


2.32	Where can I get (FTP) info on how to configure a kernel?

	One of the more frequent questions asked recently is "how do I
	rebuild the kernel?"  Another, only slightly less frequently asked,
	is "now that I've rebuilt the kernel, what do I do with it?"  The
	answers to both questions have been provided by Richard Murphey
	(email address rich@Rice.edu).  Thank you, Rich, for the following
	information:

	--------------------------------------------------------------------

	Ready-to-print PostScript files for each section of the net2 system
	maintainer's manual are on nova.cc.purdue.edu in
	pub/386bsd/submissions/bsd.manuals.

	smm.02.config.ps.Z describes kernel configuration for the vax, however
	some of it is relevant to 386BSD.  There is no freely available
	rewrite for 386BSD that I know of.

	More specificly, for /dev/com2 you might look at the MAKEDEV script
	which is generated when you configure the kernel.  Ideally, it should
	have a mknod command with the appropriate numbers for each device.
	Rich
	--------------------------------------------------------------------


2.33	I get the error "isr 15 and error: isr 17" on an NE2000 card, OR
		I have some card on IRQ2 and it dosn't work; why?
	

	James Van Artsdalen (email at james@bigtex.cactus.org) has given
	us the answer:

	--------------------------------------------------------------------
	Some VGA cards use IRQ 2 for a vertical retrace interrupt.  Even when
	the interrupt is not enabled in the VGA, some cards drive IRQ 2
	inactive instead of leaving the signal tristate.

	If this is the problem, you can use Scotch tape to cover the IRQ 2
	signal on the VGA's ISA connector.
	--------------------------------------------------------------------

	There has been some discussion as to whether scoth tape is really
	appropriate inside a card slot.  My answer would be "yes".  This is
	because the alternate soloution of cutting the trace on the video
	board seems, to my mind, to reduce the value of the board.  It is
	possible that, in the future, with a bi-partite driver, you would
	want to catch the retrace interrupt to get rid of "sparklies" or to
	implement a driver for a very high resoloution monitor for X.  In
	this happens, given a choice between alcohol and solder, I vote for
	alcohol.

	An alternate soloution would be to remove your ethernet card until
	you have rebuilt the kernel so that it expects it at an interrupt
	other than 2, rejumper it, and reinstall it.  This gets around both
	the tape and exacto knife soloutions, plus you don't have to know
	which pin is IRQ2 (something you need a techincal reference for
	the bus to find out).


2.34	If I do a "pwd", my directory goes away.

	There is a bug in "pwd".  This problem also shows in other programs,
	but is seen most in "pwd".  At the shell prompt, type a control-C
	(^C, interrput).  This will make the shell "come back".

	Some people have suggested using bash (GNU's "Born Again SHell") as
	a replacement to fix this problem.  *THIS DOES NOT WORK, AND WILL
	RESULT IN YOUR MACHINE HANGING IN BOOT OR AN "init failed" MESSAGE!*.
	Once you have your shell up, you can exec bash without a problem.
	Wait until the shell is up to do this, however.


2.35	I can't unpack etc01 becuse of "too many files open".

	The "too many files open" is a result of the "cat" command leaving
	files open after it has read a file.  Hopefully, this will be fixed
	soon.  In the mean time, Dwight E. Cass (email address at
	dec@lazarus.nrtc.northrop.com) has provided us with this enecdotal
	work around for his own experiences:

	--------------------------------------------------------------------
	So - back to installation.  This time, when I get to the etc01
	partition, I am a bit more awake, so I run it from csh (with the
	open file limit at 256).  Works pretty well - but complains at the end
	that it could not do the final configuration because it could not find
	the configuration file - I checked the MANIFEST and the file is not
	there, so I finally decided to ignore the message (but it was
	bothersome!)  Once etc01 was done - source was easy ... and I am now
	up and running, and quite impressed!!!
	--------------------------------------------------------------------

	The moral:  Use csh! 8-).


2.36	Where is libcompat.a (for gtty, stty)?

	There is no such thing as a libcompat.a library.  Remove the -l line;
	it's that simple.

	For gtty and stty, add the following lines to a header file (like
	termios.h):

	#define gtty(fd, argp) ioctl(fd, TIOCGETP, argp)
	#define stty(fd, argp) ioctl(fd, TIOCSETP, argp)


2.37	What's the current status of the kernel using gcc-2.2.2?

	Current status from a posting by one James Van Artsdalen
	(james@raid.dell.com):

	"Change in ../../i386/*/npx.c the lines it complains about to
	 use 'X' instead of 'g' ('m' will fail in some cases).  There is
	 a failure problem is in machdep.o.  The kernel being larger is
	 probably due to large constant multiplies (gcc will use a sequence
	 of shifts and adds instead of a multiply opcode), loop alignment
	 on 32 bit boundaries, and poor handling of bit tests in some cases."


2.38	What's the status of streams for 0.1?

	According to Bill himself:

	"There is work underway on a streams-like mechanism for 386BSD
	 called CURRENTS.

	 Among other things, CURRENTS manages to allow for both sockets
	 and TLI or mixtures of both. It is heavily object-oriented, and
	 manages to allow for very small new streams protocol modules to
	 be written and added. It manages to do most of it's processing
	 in the put routines, implements flow control in a novel fashion,
	 and avoids unecessary context switching.

	 CURRENTS must almost certainly be incompatible with USL's streams
	 within the kernel, and obviously won't implement the existing
	 streams drivers. However, it won't suffer from the drawbacks of
	 STREAMS/TLI either. 

	 We are walking on brand new ground with this, and if you are
	 extrodinarily experienced in this area, and have the time,
	 dedication, and guts for this, please get in touch with us."


2.39	How do I make my streaming SCSI tape work?

	Generally, the driver provided will work simply by setting large
	enough blocking factor.

2.40	Tip gives "all ports used" message.

	The messages "lock: open:" and "all ports used" show when you try to
	"tip com1" per the install notes.

	A recompile of the tip software will fix this problem.  Cause is
	unknown.

2.41	SCSI controller/sense errors with DAT/varible block size tape.

	Thanks to Scott Burris (scott@pita.cns.ucla.edu) for the fix for
	this one:

	"The SCSI driver is broken for variable length tape devices.  The
	 problem is that the data transfer length is computed by code which
	 assumes a fixed block tape drive.  This causes the computer to
	 transfer less data than the SCSI transaction calls for, which hangs
	 the SCSI bus.  Context diff's follow.  


---------------------------------------------------------------------------
*** as.c	Sun Jul 19 08:15:02 1992
--- as.c.orig	Sat Jul 18 20:10:32 1992
***************
*** 899,906 ****
	n = 0;
	sp = as->scatter_list;
	nscatter = 0;
- 	if (as->tape && as->bs == 1)
- 		total = bp->b_bcount;
	while (n < total && nscatter < NSCATTER) {
		thistime = page_size - ((vm_offset_t)p - trunc_page (p));
  
--- 889,894 ----
--
---------------------------------------------------------------------------

2.42	My Wangtek 5150EQ doesn't stream.

	Enable buffered mode on the 5150ES. You can either set the jumper
	or use the SCSI command to enable it.


2.43	The "shutdown -todos" command doesn't work.

	There are two flavors of this problem.  The first is if your path
	is set so that you are using the wrong "shutdown" command.

	The second is that it gives the message "can not make DOS partition
	bootable".  This will not work if your partition is larger than about
	30K (the point at which DOS will use a 16 bit FAT).  Apparently, it
	will only work with 8 bit FATs, so if it is possible, use a smaller
	DOS partition, or several smaller partitions instea of one large one.


2.44	Making an HP Vectra work without a special boot disk.

	Thanks to Alan Yang (ayang@pollux.svale.hp.com)!  The incantation is:

	"For those of you are using HP VECTRA QS/RS model, you probably have
	 observed the 'flashing multicolored characters and ptdi81061 prompt'
	 error.  The cause for that had been described in the FAQ posting.
	 The way that you can get around with the problem is by doing:

	 1.	Run setup, and type 'yada' at the Enter option number and
		'press <ENTER>:' prompt .
	 2.	Select 1 from next menu to turn off the EX_BIOS and HIL_BIOS.
	 3.	Exit after that.

	 HP Vectra QS/RS system is using 4k memory for EX_BIOS and HP HIL
	 bios at the bottom of 640K.  By doing the above, you are turning
	 off the bios and the system gives you back the 4k memory which
	 allows the 386bsd0.1 to boot and install successfully without any
	 patches."


2.45	Tip gives a "no file or no lock" error.

	As distributed, the directory '/var/spool/lock' is owned by root and
	tip is SUID uucp.  The fix is to do the following:

		chown uucp /var/spool/lock
		chown uucp /var/log/aculog


2.46	I get the error "newfs: /dev/rwd0a: can't rewrite disk label" when
	I try to install 386BSD.

	-------------------------------------------------------------------
	The soloution, from Holger Veit (veit@du9ds3.uni-duisburg.de) is:

	"Your A5 partition *MUST* start at a cylinder boundary.  This will
	 be done automatically if you prepare the partition by FDISK and 
	 change the ID to A5.  NEWFS does not like to start at a
	 non-cylinder boundary and does not find the location to store the
	 disk label.  I think this is not a bug, but a vital feature, so
	 don't patch the newfs source to get the remaining 238 sectors
	 (they won't save your life)."
	-------------------------------------------------------------------

	If you change your partition offset to an even cylinder boundry, or
	use "OnTrack" or some other DOS utility capable of setting up A5
	partitions, the problem will go away.


2.47	Why can't I set up 386BSD as a router?

	You can, but it takes some hacking.  It is currently there, but has
	been "hard wired" off.  Ronald Khoo (ronald@gate.demon.co.uk) tells
	us why:

	"Quoting Bill: 'By default, BSD system's *DON'T* act as routers,
	 primarily for network security reasons."

	 The reasons are specified in RFC 1122 HOST REQUIREMENTS.  Please
	 do NOT change the default behaviour.  This is REQUIRED.  I quote:

	 [ from RFC 1122 3.1 INTRODUCTION ]

	 [ ... ] Any host that forwards datagrams generated by another host is
	 acting as a gateway and MUST also meet the specifications laid out
	 in the gateway requirements RFC [INTRO:2].  An Internet host that
	 includes embedded gateway code MUST have a configuration switch to
	 disable the gateway function, and this switch MUST default to the
	 non-gateway mode. [ ... ]"


2.48	What tape devices are compatable with 386BSD?

	Per Fred Walter's request, here's the list:

		Wangtek 5099EN
		Wangtek 5150EQ


2.49	Why do I have to type ^V twice in screen and elsewhere?

	This is a tricky problem involving 386BSD's slightly different
	interpretation of the POSIX standard.  The following was posted
	by Christoph by way of explanation:

	"From 'Portable Operating System Interface (POSIX) Part 1:
	 System Application Program Interface (API) [C Language]' ('IEEE
	 Std 1003.1 - 1990'), Chapter 7.1.2.4:

	 # If IEXTEN is set,implementation-defined functions shall be
	 # recognized from the input data. It is implementation defined
	 # how IEXTEN being set interacts with ICANON, ISIG, IXON, or
	 # IXOFF. If IEXTEN is not set, then implementation-defined
	 # functions shall not be recognized, and the corresponding input
	 # characters shall be processed as described for ICANON, ISIG,
	 # IXON, or IXOFF."

	Basically, it boils down to this: "386BSD handles IEXTEN differently
	from most Berkeley implementations with which we are familiar.  The
	fix is to take applications (like screen) and unset IEXTEN when the
	ICANNON is unset, and to reset it to it's previous value otherwise.
	In 386BSD's opinion, the extensions to input processing do not fall
	into the category of "canonical processing".  It has been suggested
	that this will help find "errors" in programs before they occur on
	on other systems that take the same view as 386BSD.  Unfortunately,
	I have to disagree, since this means 386BSD does not follow the
	"least astonishment" rule.  Hopefully, IEXTEN will be saved across
	unsetting/setting ICANNON in a future release.


2.50	I get blinking characters instead of highlight-- why?

	This has to do with whether or not register 2 is correctly set up
	on your video controller (bit 4 or bit 5, if I remember correctly).
	Most video adapters which emulate the register set will not do so
	unless jumpered for "extended VGA" or something similar.  ATI's
	EGA Wonder has this problem.  Check out the "IBM Techinal Reference
	Manual", the section on the CGA card.  The register controls whether
	the high bit of the Background color nibble is the "highlight color
	bit" or the "blink bit".


2.51	Where can I get a man page for ddb?

	The mach ddb man page is available by anonymous FTP from
	ernst.mach.cs.cmu.edu:src/src/mk/kernel/man/ddb.man


2.52	Where can I get 386BSD on tape?

	Paul A Vixie (vixie@pa.dec.com) has volunteered (I think he is about
	to regret it!):

	"I'll make tapes for anybody, and I've got a TK50(95MB) to do it
	 with.  I've also got 8MM(2GB or 5GB), 4MM(1GB RDAT), TK70(295MB),
	 QIC(60MB, 150MB, and 525MB), and 9-track(1600 or 6250).

	 Terms are as follows: send me a tape and a stamped, self-addressed
	 return mailer (I will NOT reuse the mailer you use to get it to me
	 and I will NOT lick any stamps for you).  Somewhere on the tape
	 write "386BSD 0.1".  Do not include any notes, money, or special
	 requests.  Tapes arriving that deviate from those terms in any
	 way are mine to keep with no notice to you.
	 
	 Mail all this junk to:
	 
		Paul Vixie
		3477 South Court
		Palo Alto, CA, 94306"

	Paul:  I suggest you retract the "no money" clause 8-).


3.0	Contributors

	I have tried to give credit to the contributors, where possible, in
	the text of this FAQ.  Some of this was transcribed from memory from
	postings seen more than a week ago, so if I have used a soloution
	for which you feel you should have received credit, and didn't, I'm
	sorry.

	Most of this information has been culled over the last few weeks of
	postings to usenet, so it is by no means complete.


4.0	The future

	This is an unofficial FAQ.  I have created and posted it as an interim
	soloution until an officially sanctioned FAQ can be arrived at by
	someone-better-equiped-but-currently-too-busy-to-do-anything-about-it.
	Since this is the second revision, I'll assume that I am now elected
	as the official unoficcial FAQ keeper (a dubious honor).

	This FAQ does not represent an official position by William Jolitz
	or any of the other people quoted, without their permission, in it,
	and should not be considered as such.

	Any misrepresentations of attitudes or views of individual (and
	unwitting) contributors are due to my poor editorial skills.


5.0	Archivers

	There are several archival projects taking place currently.  The
	following is a list of them, and where new information may be sent,
	and the locations that the gathered information may be retrieved
	from:


	NAME:		DISKTAB ARCHIVE
	ARCHIVER:	CHRIS G. DEMETRIOU
	EMAIL:		cgd@agate.berkeley.edu
	UPLOAD:		Email
	DOWNLOAD:	Anonymous FTP at agate.berkeley.edu
	COMMENTS:	If you've got a wierd type of disk, and installed
			386bsd on your whole disk, SEND ME YOUR DISKTAB!
			I'm collecting them... but please don't send ones
			created solely by the install program; I don't want
			to have to deal with partition tables munged for DOS,
			nor with broken ones which have no "/usr".
			[NOTE: Given the following, I suspect that Chris
			 would want DISKTAB, in all caps, in the subject
			 line for any disktab entries you send him.]


	NAME:		PATCH ARCHIVE
	ARCHIVER:	CHRIS G. DEMETRIOU
	EMAIL:		cgd@agate.berkeley.edu
	UPLOAD:		Email, Anonymous FTP at agate.berkeley.edu
	DOWNLOAD:	Anonymous FTP at agate.berkeley.edu
	COMMENTS:	Have you made a patch, etc. for 386bsd 0.1?  If so:
			Please send it to me.  For files of moderate size,
			please uuencode and send them to me, (or, you can
			just "mail" the diff output, etc.)  For large things,
			please put them up in ~ftp/pub/incoming on
			agate.berkeley.edu and send me mail about it.  I'd
			appreciate it if the mail were titled (minimally)
			PATCHES or IN INCOMING (all caps for that part,
			please), and gave a description of what you're
			sending/have put up.  If you put some stuff up
			elsewhere on the net (boot disks, etc), please put
			them in incoming as well, and send mail -- I spend
			several hours per day answering 386bsd mail alone,
			and i'm a full time student, with a part time job
			(*NOT* doing this -- read, i don't have much time...)


6.0	END-OF-FAQ

					Terry Lambert
					terry_lambert@gateway.novell.com
					terry@icarus.weber.edu
---
Any opinions in this posting are my own and not those of my present
or previous employers.
-- 
-------------------------------------------------------------------------------
                                                       terry@icarus.weber.edu
 "I have an 8 user poetic license" - me
-------------------------------------------------------------------------------