Newsgroups: comp.os.minix,news.answers,comp.answers Subject: MINIX Frequently Asked Questions (Last Changed: 18 January 1996) From: glen@winternet.com (Glen Overby) Reply-To: glen@winternetcom (Glen Overby) Followup-To: comp.os.minix Distribution: world Organization: $HOMEs for wayward hackers Keywords: info answers Summary: Commonly Asked Questions -- With answers! Approved: news-answers-request@mit.edu Archive-name: minix-faq Version: $Id: minix-faq,v 1.15 1995/03/03 17:17:35 overby Exp overby $If you have questions and answers to contribute to this FAQ sheet, please send them to me, glen@winternet.com. I'm looking for contributions to this FAQ, not for questions to be answered privately.
All contributions are considered to be in the Public Domain, and the contributor accepts their work being redistributed.
Specificly, I will be permiting this FAQ to be distributed in any way (CD-ROM or otherwise) so long as it is not modified from it's original form.
No contributions to this FAQ will be accepted if they contain any redistribution restrictions (i.e. not to the XXX network or YYY on-line service).
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:
Minix 1.7 is distributed for free on the Interenet. See Andrew Tanenbaum's minix web page page
There are two releases of Minix currently in wide distribution:
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, your local DEC historian, a newsgroup on that topic such as alt.sys.pdp11 or some harmless newsgroup like alt.dev.null.
Please don't ask 26,000 people on the newsgroup to do that, since you can ask a computer to do it for you!
If you are on the Internet, or can send email to the Internet, then you can get this newsgroup via a mailing list, MINIX-L (aka 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_nameIf you have trouble, contact the listserv maintainer at postmaster@vm1.nodak.edu
Use the same procedure as for subscribing, but use "unsubscribe" in- stead of "signup".
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.
Is this still applicable?
There are many potential sources of this. Several are:
You are running an RLL controller on an XT. You must change
"NR_SECTORS" in the configuration file,
Quite 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.
Not for standard Minix. 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.
Minix-386vm, however, does support X11R5 (see question 11).
Don't be fooled by Mini-X. This is just an EGA- or VGA-graphics driver and a windowing library for Minix-PC. The API is similar to X11 (but not identical), so porting X programs might be easy. It is not possible to run several programs using it at once, however.
There is also a port of MGR, but I don't know about its current status.
Is this still correct?
Yes, Minix supports TCP/IP. However, you must build a new kernel -- the distributed one does not have TCP/IP built in.
There is no NFS for Minix.a
There is no difference between 386sx/386dx except for the bus (24-bit addresses and 16-bit data).
check the docs on this one
Theoretically you can run it on an XT with 512kB RAM and 2 floppies.
Unless you are particularly fond of juggling disks, you would want at
least 20MB on a hard disk, though.
A 286 will give you memory protection and the ability to use more the 640k of memory. 2MB are recommended.
If you have a 386 and decide to use one of the 32-bit kernels, you should have at least 4MB RAM. For Minix-386vm 60MB of hard disk are probably the minimum, if you want to keep the sources online.
For the i386 Minix, you need at least two megabytes of RAM
Vol in write mode accepts a stream of data and writes it to a device, pausing after every n blocks to prompt for insertion of a new disk. In read mode vol generates a stream of data from a series of disks. There is no file system on disks used by vol, and the disks are not mounted; if a file system exists all the file system structures will be overwritten with data. Thus vol can be used to transfer files between operating systems, as long as both operating systems can read raw disk sectors in the same format. But none of the normal file system mechanisms to prevent use of bad sectors are available.
Vol cannot detect the end of a file or any errors within a file. In write mode vol will terminate when the process preceding it in the pipeline terminates. In read mode vol receives a SIGPIPE signal when the pipe it is writing to no longer has a process reading from it.
In the ftp distribution of Minix 1.7 the USR.* and SRC.* disks contain pieces of a big file -- you can think of it as USR.tar.Z or SRC.tar.Z, although it never appears as a named file. In installing Minix this stream of data is read, decompressed, and then extracted into directories and files by the vol | zcat | tar pipeline. If vol stops asking for disks before you get to the last one it usually means that the data is corrupt and zcat or tar reacted as if the end of the file had been reached. In this case tar is the only program in the pipeline that can actually detect errors in the file, so the zcat | tar pipe will break first when tar terminates, causing zcat to terminate and the vol | zcat pipe to break. The problem is most likely on the last disk accepted, but it is possible it could have been the next-to last one -- sometimes the pipeline will not detect the end of the data before you are asked for one more disk. It can also happen normally that vol in read mode will ask for one more disk than was actually written originally. Just any old disk, including the one previously read, will do in this case.
Since vol does a raw write of data to a disk with no file system there are no file system mechanisms to lock out bad sectors. Thus, you must use perfect disks. If you are not absolutely sure of your disks you should either check them (use readall under Minix) or reformat them with a format program that verifies all sectors are good (format -v under Minix), before you use vol (or any other program that writes raw data to a disk) to write disks to be read by vol.
First, let's discuss the default size of the RAM disk. This is the size of the root file system on the boot device. This is 200K for the TINYROOT boot floppy, or 600K for the standard ROOT boot floppy. So, in the first place, when you are starting Minix for the first time you should use the TINYROOT file system if you have a machine with only 640K or 1M memory.
If you use the instdist script to install on a hard disk the boot device file system will be 720K for 16 bit (i86) Minix or 1024K for 32 bit (i386) Minix. (Note that instdist makes a 1.44M partition for the root, but the file system it puts on the partition doesn't use the entire partition). If you want to continue to use a RAM disk after you have installed to the hard disk, but you want its size to be smaller than the default 720K or 1024K, you will have to use mkfs to make a new file system of the desired size on the root subpartition and then copy the files you want on your root device, reinstall the bootblock, etc. The usage.8 man page and the text of instdist itself provide information on how to do a manual installation.
There are several other possible manipulations of the RAM disk.
No RAM disk: In the boot monitor (which you enter by pressing ESC when you see the "Press = to start Minix" prompt), enter "rootdev=bootdev". Type "set" to verify the boot parameter settings and type "save" if you want to make this a permanent change, and then type "main" or "menu" to continue booting. On a small system this will allow you to use all of memory for programs, at the price of slower access to the root file system. Most hard disks are fast enough that a RAM disk isn't really needed. You may get more of an effective speedup by recompiling Minix and using more memory for buffers, anyway.
Root on a RAM disk larger than the boot device: In Minix 1.7 you can change the size of the RAM disk from the boot monitor prompt. By default the ramsize parameter is initially set to zero, and the RAM disk takes the size of the file system that is copied to it. You can change ramsize to any size up to 8192K by changing the ramsize parameter (for example, "ramsize=4096"). Of course, the RAM disk can't be smaller than the boot device that will be copied to it.
RAM disk not used as root device: In Minix 1.7 you can also create a RAM disk that is not used for the root. This is more complicated than the other options. In the boot monitor set "rootdev=bootdev" so the root image will not be copied to the RAM disk. Then use the ramsize parameter to specify the desired size of RAM disk. This will create an empty RAM disk without any file system at boot time. Once Minix has started you can use mkfs to create a file system and then mount /dev/ram. If you have a reason to do this regularly you could put the mkfs and mount commands in your /etc/rc file.
Last modified: January 16, 1996