*BSD News Article 11519


Return to BSD News archive

Received: by minnie.vk1xwt.ampr.org with NNTP
	id AA1515 ; Tue, 23 Feb 93 14:46:35 EST
Path: sserve!manuel.anu.edu.au!munnari.oz.au!news.Hawaii.Edu!ames!agate!howland.reston.ans.net!gatech!ncar!destroyer!news.itd.umich.edu!spumco.css.itd.umich.edu!pauls
From: pauls@css.itd.umich.edu (Paul Southworth)
Newsgroups: comp.os.386bsd.questions
Subject: oops
Date: 18 Feb 1993 03:24:39 GMT
Organization: University of Michigan ITD Consulting and Support Services
Lines: 1284
Distribution: world
Message-ID: <1luvho$b4d@terminator.rs.itd.umich.edu>
NNTP-Posting-Host: spumco.css.itd.umich.edu


That was bug list, not FAQ.

Here's FAQ.....

---------

                        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