From: overby@plains.nodak.edu (Glen Overby)
Newsgroups: comp.os.minix,news.answers
Subject: MINIX Frequently Asked Questions (Last Changed: 3 May 1992)
Summary: Commonly Asked Questions -- With answers!
Keywords: info answers
Date: 16 Aug 92 22:58:49 GMT
Article-I.D.: plains.minix-faq_714005816
Expires: 31 Aug 92 10:56:56 GMT
Reply-To: overby@plains.nodak.edu (Glen Overby)
Followup-To: comp.os.minix
Organization: /dev/null -- the place everyone dumps on
Supersedes: <minix-faq_711332831@plains.nodak.edu>

Archive-name: minix-faq
Version: $Id: minix-faq,v 1.7 92/05/03 21:18:36 overby Exp $

If you have questions AND ANSWERS to contribute to this FAQ sheet,
please send them to me, overby@plains.nodak.edu.  

I'm looking for contributions to this FAQ, not questions from people who 
expect me to give them answers.

  [This line changed since my last posting, so LISTSERV doesn't have
   a right to bittch at me about duplicate postings]

                 Frequently Asked Questions on Comp.Os.MINIX

This Frequently Asked Questions (FAQ) list is intended to accompany the
Minix Information Sheet.  Some of the information here is duplicated from
the Information Sheet when deemed appropriate.

In creating this, I have attempted to recall the Great Questions (and their
answers) as well as the Great Discussions from the net.  Many thanks to
everyone who has contributed to this document.

Several things to remember when you ask questions on the net:

      Supply enough information for people to actually help you.  Things
      like what Minix version, your hardware configuration, and so-on are
      almost always necessary to not have to take shots in the dark.  If you
      are reluctant to tell any or all of this, don't expect a good answer.

      There are some questions for which there is no answer, because nobody
      has encountered the problem previously or there is no good solution to
      the problem.

1.  WHERE CAN I GET MINIX?
     Minix is sold by Prentice-Hall, Inc. and  their  authorized  distribu-
     tors.  They hold the Copyright on Minix, and sell it for profit (or at
     least we assume they make a profit on it).

                     IT IS NOT AVAILABLE FOR ANONYMOUS FTP!

     However, demonstration versions for the IBM PC and Atari ST exist and
     are available via FTP from ftp.cs.vu.nl, plains.nodak.edu and other
     archive sites. It is also available from Prentice-Hall for a small fee
     (see the Minix information sheet for more details & ISBN number).
     While far from a working system, the demo is sufficient to get a
     "feeling" of what Minix does.

2.  WHAT VERSIONS OF MINIX EXIST?  
     The most current version is 1.5.10, known simply as "1.5" if you buy it
     from Prentice-Hall.  Upgrade "diffs" have been posted to the net over
     the past several months; consult an archive site listed in the
     Information Sheet to find that.  Prentice-Hall has been shipping ALL
     versions of Minix 1.5 for several months.

     !!!!! PRENTICE HALL IS SHIPPING 1.5.10, BUT THEY CALL IT 1.5 !!!!!

3.  BUT I'VE HEARD OF THIS A NEWER VERSION, 1.6.16.
     Yes, that sort of exists; it is a mid-development beta release for the
     PC (only) released to beta-testers.

4.  HOW DOES PDP 11/44 MEMORY MANAGEMENT WORK?
     This was the first big off-the-topic discussion on the group, and it's
     still  not  an  appropriate topic, so if you are still intrigued about
     pdp-11 memory management, consult the DEC processor handbooks, or some
     harmless newsgroup like alt.dev.null.

5.  PLEASE SUBSCRIBE ME TO THE MAILING LIST
     why ask 26,000 people to do that, when there is one person who can  do
     it, and you can ask a computer to do it for you.

     If you are on bitnet or arpanet, you can  get  this  newsgroup  via  a
     mailing  list, info-minix.  To subscribe to the list, send a message to
     listserv@vm1.nodak.edu (internet) or listserv@ndsuvm1 (bitnet) saying:

               signup minix-l your_full_name

     If you have  trouble,  contact  the  list  maintainer  at  info-minix-
     request@udel.edu.

6.  PLEASE UNSUBSCRIBE ME FROM THE MAILING LIST
     Use the same procedure as for subscribing, but use  "unsubscribe"  in-
     stead of "signup".

7.  WHAT IS THE ROOT PASSWORD?
     It's in the book, on pages 373 (login "ast") and 380  (login  "root").
     If you didn't buy the book, that's only the start of your problems.

8.  MINIX DOESN'T WORK WITH MY HARD DISK.
     There are many potential sources of this.  Several are:

     You are running an RLL controller.  You must change "NR_SECTORS" in the
     configuration  file,  <minix/config.h>  from 17 (standard for MFM con-
     trollers) to 25 (Adaptec controllers) or 26 (Western Digital and  oth-
     ers).

9.  IS THERE A SCSI DRIVER FOR MINIX?
     The following info applies only to PCs.

     All SCSI controllers work differently, from the primitive Seagate ST01,
     to the smarter Always IN-2000, and Adaptec with it's own on-board CPU.

     Magnus Doell has released his driver for the ST-02, and James da
     Silva has written one for the Adaptec 154X.  They can be found
     on plains.nodak.edu in, respectively,
        pub/Minix/pc/scsi07a.tar.Z
        pub/Minix/usenet/1991.Jul/ahascsi1.0.shar

     The ROM wini driver should also run most SCSI controllers but you
     lose protected mode capability.

9A.  WHAT TAPE DRIVES WORK WITH MINIX?
     Minix comes from Prentice Hall with no support for tape drives.

     For the PC, James da Silva has written a SCSI driver for Adaptec
     154X type controllers (see section on SCSI support).  This driver
     provides support for SCSI tape drives; there are reports of
     people successfully using it with Archive Viper tape drives (NB:
     not all Archive Viper drives have a SCSI interface!)

10.  THE SINGLE THREADED FILESYSTEM IS A REAL BOTTLENCK.
     True.  It's only noticeable when you  are  running  massive  background
     processes, or putting multiple users on your computer.

     This "problem" has been recently "fixed" and the "solution" posted to
     the net.  See your nearby bit-bucket (archive site) for it!

     You've got the source.  Fix it.

11.  IS THERE A 386 MINIX?
     Minix 1.5.10/PC runs on 80286 and 80386 systems using 80286  protected
     mode  (so  all  your memory is used for programs, rather than as bank-
     switched memory "windows" or a big RAM disk).  There is an  experimen-
     tal   32-bit   kernel   from   Bruce  Evans.   It  is  available  from

     sirius.ucs.adelaide.edu.au: pub/minix/local
     plains.nodak.edu:pub/Minix/oz

12.  I HAVE AN OLD VERSION OF MINIX. HOW CAN I UPGRADE?
     You need to get an upgrade kit from one of the archive sites; see  the
     Minix  Information  Sheet  for  a  (supposedly) complete list of sites
     which archive Minix-related bits.

     Also, read the Upgrading Tutorial -- it was meant to help.

13.  WHAT SHELLS EXIST FOR MINIX?
     sh:     Your typical Bourne shell. Comes with distribution Minix
     clam:   Tcsh-like shell, runs under Minix & real Unix's. Available
             from ftp sites sirius, ccadfa, plains & others
     ksh:    Korn shell, ported to Minix. Diffs for Minix on plains.
     marvin: A kid's shell. Posted months ago in comp.os.minix.
     emacs:  Does this count as a shell? Works only under 68K-Minix's
             and perhaps 386-Minix.

14.  IS THERE X-WINDOWS FOR MINIX?
     No, there is not.  It would be difficult if not impossible  (that  was
     meant as a challenge!) to put X on Minix because X is huge.  Unless you
     have many megabytes of memory, it would be impossible to run X clients
     and  servers  on  one  machine.  It will also certainly require 32-bit
     mode operation.

     Don't be fooled by the (only) graphic user interface for MinixPC,
     Mini-X. Contrary to what its name seems to imply, this interface has
     nothing to do with a X-Windows implementation under Minix.

15.  WHY CAN'T MY PC BOOT PC-MINIX FROM 1.44MB FLOPPY DISKS ?
     There's a couple of reasons for this.  First, straight out of the box,
     MINIX  doesn't  plan on dealing with 1.44Mb floppy disks.  The entries
     in /dev should be set up specifically for your machine,  so  pick  out
     the correct entries here:
          mknod /dev/fd0-dsdd5in b 2  4 360               # Drive A, 360K 5.25"
          mknod /dev/fd0-dshd5in b 2  8 1200              # Drive A, 1.2M 5.25"
          mknod /dev/fd0-dsdd3in b 2 16 720               # Drive A, 720K 3.5"
          mknod /dev/fd0-dshd3in b 2 28 1440              # Drive A, 1.44M 3.5"
                     ^^^             ^^
     Change 'fd0' to 'fd1' and add 1 to the minor device number  to  create
     an entry for floppy drive B.  It may be a good idea to link the gener-
     ic  floppy  disk  entries  (/dev/fd0  and  /dev/fd1)  to  the   proper
     /dev/fd0-ds{whatever}  entries for your machine, so that programs like
     dosread continue to work.

     All possible formats are:
        mknod /dev/fd0  b 2  0    0       # Drive A, automatic
        mknod /dev/pc0  b 2  4  360       # Drive A, 360K 5.25"
        mknod /dev/at0  b 2  8 1200       # Drive A, 1.2M 5.25"
        mknod /dev/qd0  b 2 12  360       # Drive A, 360K in a 720K 5.25"
        mknod /dev/ps0  b 2 16  720       # Drive A, 720K 3.5" and 5.25"
        mknod /dev/pat0 b 2 20  360       # Drive A, 360K in a 1.2M 5.25"
        mknod /dev/qh0  b 2 24  720       # Drive A, 720K in a 1.2M 5.25"
        mknod /dev/PS0  b 2 28 1440       # Drive A, 1.44M 3.5"

     Second reason your PC won't boot from 1.44Mb floppy disks, even though
     you've  fixed  up  the  floppy  disk  device entries: tools/bootblok.s
     doesn't know about 1.44M disks, so it blindly loads the boot image in-
     correctly  and  then tries to execute it.  Get Guy Helmer's bootblok.s
     from an archive site, or get shoelace.

16.  WHAT'S WRONG WITH 'ps'?
     You   need   to   have   a   copy   of   the   compiled   kernel    in
     /usr/src/kernel/kernel  for ps to read the namelist out of.  Note that
     this MUST be the SAME kernel that is booted.

17.  HOW IS THE FORK(2) SYSTEM  CALL  IMPLEMENTED  ON  THE  68K  PROCESSORS
     WITHOUT A MEMORY MANAGEMENT UNIT?
     This is done by shadowing. This is copying the memory around  as  long
     as  both  child  and parent processes do exist.  Although this seems very
     expensive, it is not because most processes exec(2) almost immediately
     after  the fork(). But most terminal emulators who fork() en keep run-
     ning loose.

18.  WHY IS KERMIT SO ABSURDLY SLOW UNDER MINIX-68k?
     See the above question.  Kermit forks so that one process  listens  to
     the  serial  port  and  writes  to  the  screen, and the other process
     listens to the keyboard and writes to  the  serial  port.   Since  the
     second  process  never  "exec's",  the  two  processes are continually
     swapped in and out of one memory slot.

19.  IS THERE ALSO A 64K+64K LIMIT FOR MINIX 68K & MINIX 386?
     For minix 68k, there isn't. For minix 386 there isn't provided you use
     the proper compiler (This means no ACK)

20.  DOES MINIX HAVE BERKELY JOB CONTROL?
     No. Nor does it have its associated signals like SIGSTOP, SIGCONT etc.

21.  DOES MINIX SUPPORT TCP/IP AND NFS
     No. TCP/IP does exist as an experimental package.  NFS is a dream  for
     many ;-)

22.  WHY CAN'T I RECOMPILE KERMIT OR ELLE ON PC-MINIX 1.5?
     You can't assemble Kermit or elle on a PC using Minix 1.5 or  earlier;
     asld  reports an "out of space" error, which means it ran out of space
     in the output object file.  That is why the  binaries  are  (certainly
     were) on the P-H distribution.  Those binaries were compiled by a dif-
     ferent, more efficient compiler.

23.  WHY AREN'T THE MANUALS ONLINE? WHERE CAN I GET THE MANUALS?
     The  online   manuals   are   available   via   anonymous   ftp   from
     ccadfa.cc.adfa.oz.au  [131.236.1.2] in the file pub/minix/mantar.Z. To
     extract the manuals, ftp the file binary-wise, uncompress it  and  ex-
     tract  using  tar when you are in your /usr/man directory. Each manual
     is in a separate file, and to use the distribution 1.5 man(1) you will
     need  to  read  the  source  to man(1) to see how to create the single
     manual file.

     Alternatively, the source to a more Unix-like man(1) is  available  on
     ccadfa  in  the  file  pub/minix/mansrc.Z.  To  extract  the code, ftp
     binary-wise, uncompress and unshar. Before compiling the code,  modify
     the header file to reflect your system setup. Compile the code. If you
     are using less(1) as a pager,  you  will  need  to  modify  main.c  in
     nroff(1); instructions are included in mansrc.Z

24.  WHAT IS THE DIFFERENCE BETWEEN THE 80386 AND THE 386sx?
     There is no difference between 386sx/386dx except for the bus  (24-bit
     addresses and 16-bit data).

25.  DOES MINIX SUPPORT MAIL/NEWS/UUCP?
     As shipped from Prentice Hall, Minix 1.5 include only local Email, and
     no Uucp nor Usenet News support. Various additional packages from the
     net exist:
     There are two UUCP implementations, by Fred van Kempen and by Will Rose.
     Fred wrote an Email interface, UMail/WMail and a news software, WNews.
     A BNews implementation and the Tass newsreader from alt.sources also
     exist under Minix. All these packages are available via anonymous FTP
     from archive sites.

26.  WHY IS THE DIRECTORY ON PLAINS CALLED "oz" INSTEAD OF 386

     Plains maintains several "shadows" of other sites.  To allow easy
     automatic updating of packages from the remote sites, we place
     everything from that site in a directory reminiscent of that site's
     name.  To absorb the remote site's files into the local directory
     structure would frustrate this, and it probably wouldn't happen.

27. WHERE CAN I GET THE NEW ANSI C COMPILER?
    (from Andy Tanenbaum's posting <13286@star.cs.vu.nl> 11 Mar 92)

    There are three compilers available:

      - ANSI C, conforming to ANS X3.159-1989

      - Modula-2, conforming to
          "Report on The Programming Language Modula-2", in "Programming in
	  Modula-2, 3rd ed." by Niklaus Wirth, Springer-verlag, 1983

      - Pascal confrming to level 1 of BSI standard BS 6192: 1982 (ISO 7185), 
          with a few small exceptions

    Also, a Modula-2 makefile generator and some utilities for handling
    relocatable object files are included (aal, nm, size, strip, etc).
    Complete libraries for ANSI C, Pascal, and Modula 2 are provided. 

    This package is available in 4 different versions:

      - 5.25" DS/DD floppies for 8088/286/386 (4 360K floppies);
      - 5.25" DS/HD floppies for 8088/286/386 (1 1.2M floppy);
      - 3.5"  DS/DD floppies for 8088/286/386 (2 720K floppies);
      - 3.5"  DS/DD floppies for Commodore Amiga or Atari ST (2 720K floppies).
    
    Many problems with the old Minix C compiler have been resolved:
      - All versions have separate as and ld programs.  Asld is gone.
      - Floating point is now supported
      - Library is greatly improved and is ANSI conformant
      - A program aal is provided to manage libraries (ranlib-like)
    
    The package is available from two companies:
    
    Transmediair Products & Support B.V.	Unipress Software
    Box 297					2025 Lincoln Highway
    3720 AG  Bilthoven				Edison, NJ 08817
    The Netherlands				U.S.A.
    Tel: +31 30 281820				Tel: +1 908 287 2100
    FAX: +31 30 292294				FAX: +1 908 287 4929
    						Email: msk@unipress.com
    
    Transmediair charges US $200,- for the 4 floppy PC version, US $150,-
    for the other versions. Unipress charges US $199,- for all versions.