Newsgroups: comp.answers,comp.os.minix,news.answers Path: network.ucsd.edu!ihnp4.ucsd.edu!swrinde!news.dell.com!tadpole.com!uunet!timbuk.cray.com!driftwood.cray.com!overby From: overby@cray.com (Glen Overby) Subject: MINIX Frequently Asked Questions (Last Changed: 30 April 1994) Message-ID: <minix-faq_771679802@birch.cray.com> Followup-To: comp.os.minix Summary: Commonly Asked Questions -- With answers! Originator: overby@birch104 Keywords: info answers Lines: 356 Supersedes: <minix-faq_770470202@birch.cray.com> Nntp-Posting-Host: birch104 Reply-To: overby@cray.com (Glen Overby) Organization: Cray Research, Inc. Eagan MN USA Date: 15 Jun 94 06:29:14 CDT Approved: news-answers-request@mit.edu Expires: 13 Jul 1994 11:30:02 GMT Xref: network.ucsd.edu comp.answers:5727 comp.os.minix:6427 news.answers:23456 Archive-name: minix-faq Version: $Id: minix-faq,v 1.13 1994/05/01 01:37:36 overby Exp $ If you have questions AND ANSWERS to contribute to this FAQ sheet, please send them to me, overby@cray.com. I'm looking for contributions to this FAQ, not questions from people who expect me to give them answers. 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, Atari ST, and Amiga 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). The Amiga version is available onf "Fish Disk" number 525, available from large Amiga FTP sites {don't ask me which ones and where -- Glen}, users groups and some retailers. 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, 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 listserv maintainer at postmaster@vm1.nodak.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. Amiga Minix has support for Commodore SCSI hard disks in the v1.5.10.1 update. 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. tcsh: The binaries for 68K-Minix and 386-Minix tcsh are available from ftp.uni-koeln.de. The v6.02 tcsh source distribution contains configuration information for 386-Minix systems. 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, mm in /usr/src/mm/mm, and fs in /usr/src/fs/fs for ps to read the namelist out of. The PC Minix compiler must have the "-s" flag to build the symbol table. 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 ftp.vmars.tuwien.ac.at (128.130.39.16) in the file /pub/minix/net/manpages.tar.Z. To extract the manuals, ftp the file binary-wise, uncompress it and extract 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. 28. BUT THERE *IS* AN AMIGA DEMO DISK! It can be found on Fish disk 525. Fish disks are available at ftp sites carrying Amiga stuff. They should also be available from various Amiga groups and retailers. 29. Is there a way to make a file system *not* use all of a partition or floppy disk? There are at least three utilities to do this. They all put the image to be booted from into a normal file on a Minix file system and change the boot block, so that it can read a file from a Minix FS and start it. Shoelace is the oldest of these utilities. It includes a lot of bells and whistles (you can check a file system, load the components of Minix seperately, start a debugger before Minix, so you can debug Minix at start up, ...), but is a little slow and a little difficult to set up. I have been using it for a long time now and am quite happy with it. MXboot. Sorry, don't know anything about it, except that it exists. Boot Monitor: Haven't tried it out yet, just read the docu. Faster and simpler than shoelace, and depends less on hardware. Does not let you choose partition on startup (You could still use shoelace for that or write your own program). It has one feature which tempts me to switch over to it: It lets you start up Minix in protected mode. While this won't help you with standard Minix it makes it possible to remove all the 16-bit stuff from the kernel. [ Peter J. Holzer, Technical University Vienna, hp@vmars.tuwien.ac.at ]