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