On 17 Jan 1996 15:13:36 GMT James Skerritt (skerritt@magi.com) wrote in comp.os.minix: : I have minix installed OK, except that the USR.0? disks aren't all : installed, I've only got it to install up to USR.02 the other disks : haven't been used. any ideas? You are probably having a problem with the vol command. I think it will be helpful if I answer this question: Q: How does vol work? A: 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. (If you have formatted disks under MS-DOS you have noticed sometimes you get a message saying there are bad sectors, but the disk is still usable. Minix has a mechanism, the badblocks command, to lock out bad sectors on a Minix file system.) With vol 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. -- Albert S. Woodhull Hampshire College, Amherst, MA awoodhull@hamp.hampshire.edu