add directory Minix

This commit is contained in:
gohigh
2024-02-19 00:21:39 -05:00
parent 56596ada90
commit 5a46ddb732
2923 changed files with 1764412 additions and 0 deletions

104
Minix/1.7.4/README Normal file
View File

@@ -0,0 +1,104 @@
HOW TO GET AND INSTALL MINIX 1.7.4
This directory and subdirectories contains Minix version 1.7.4, a small
educational UNIX-like system for IBM PC's and compatibles.
Before installing Minix, do the unthinkable and read the installation
manual in the file usage.8. On a UNIX machine you can unpack
man.tar.Z and use a reasonably smart pager (one that understands
backspace overstrikes) to read the man pages. The same manual
pages can be found in man.zip as flat text for use under MS-DOS.
Note that the ZIP file contains subdirectories that you may or may not
want to keep intact. These manual pages are preformatted to 66 lines
per page and should be send to the printer uninterpreted.
man.tar.Z - Installation manual pages (UNIX)
man.zip - Installation manual pages (MS-DOS)
Alternatively, by WWW you can view the whole manual page set. The
page to start with is usage(8).
Before fetching Minix, you should get the checksum list (to verify
correct transmission and unpacking). If you do not already have it,
you will need the program to compute the checksums on your
machine, crc.c:
crclist - CRC's of all the files here
crc.c - Command to make CRC checksums
Eventually, you may also want these files:
changes-1.7.4 - List of changes between 1.7.2 and 1.7.4
upgrade-1.7.4 - How to upgrade from 1.7.x to 1.7.4
bugs - List of bugs in 1.7.4
fixes/ - Fixes to bugs in 1.7.4
Minix for the Intel architecture comes in three flavors:
- Regular (for 386, 486, and Pentium machines)
- Small (for 8086 and 286 machines)
- Tiny (for 8086 and 286 machines with small memories and/or 360K
diskette drives)
For the regular distribution, use the i386 directory. For the small
distribution, use the i86 directory. For the tiny distribution, use the
both the i86 and xt directories. All these directories contain the
executable programs of Minix. In addition, the src directory contains
the full Minix source code, which is identical for all three flavors (the
code contains #ifdef's where the difference matters).
Two versions of the distribution have been prepared. If you are
reasonably experienced in dealing with UNIX or Minix and are
downloading to a UNIX or Minix system with 10MB of free disk space,
and a connection that can transfer megabyte files without loss (even
if this is not the target system), just fetch whichever of the following
you need:
i386.tar - 386 binaries
i86.tar - 8086/286 binaries
xt.tar - Replacement files for tiny systems
src.tar - Full sources and manual pages for all versions
Under all other circumstances, use the second distribution, which
consists of many 720K floppy disk images (you can also use bigger
diskettes, but remember that the size of the images is still 720K).
i386: ROOT USR USR.01 USR.02 ... USR.06
i86: ROOT USR USR.01 USR.02 ... USR.06
xt: README TINYROOT TINYUSR1 TINYUSR2 (360K images)
src: SYS.01 ... CMD.01 ...
The USR.nn, SYS.nn, and CMD.nn series of diskette images were
created by commands like this one, so they are just a compressed tar
file cut to pieces:
tar cf - * | compress | vol 720 /dev/fd0
(The usage(8) manual uses the names USR.TAZ, SYS.TAZ and
CMD.TAZ to refer to these floppy sets, because those will be their
names on the upcoming Minix CD-ROM.)
The two installation floppies can be combined on a 1.2 Mb or 1.44 Mb
diskette, the other images can be combined on 1.44 Mb floppies,
turning them into 1440K images:
cat ROOT USR >/dev/fd0
cat USR.01 USR.02 >/dev/fd0 (odd/even pairs)
cat USR.03 USR.04 >/dev/fd0
...
cat SYS.01 SYS.02 >/dev/fd0
...
cat CMD.01 CMD.02 >/dev/fd0
...
/dev/fd0 is a random floppy device name. You have to find out what
your Operating System names it today. Under MS-DOS you can use
the WrtDsk command in the ../dosutil directory to write the floppy
images.
Be careful when you install Minix, many of the commands are
potentionally dangerous in a way that a simple typing mistake may
destroy all other data on your system. So make backups first!
Kees J. Bot (kjb@cs.vu.nl)

127
Minix/1.7.4/README.html Normal file
View File

@@ -0,0 +1,127 @@
<head>
<title>Minix 1.7.4</title>
</head>
<body>
<h2>HOW TO GET AND INSTALL MINIX 1.7.4</h2>
This directory and subdirectories contains Minix version 1.7.4, a small
educational UNIX-like system for IBM PC's and compatibles.
<br><br>
Before installing Minix, do the unthinkable and read the installation manual
in the file <b>usage.8</b>.
On a UNIX machine you can unpack <b>man.tar.Z</b> and use a reasonably smart
pager (one that understands backspace overstrikes) to read the man pages.
The same manual pages can be found in <b>man.zip</b> as flat text for use
under MS-DOS. Note that the ZIP file contains subdirectories that you may
or may not want to keep intact. These manual pages are preformatted to 66
lines per page and should be send to the printer uninterpreted.
<br><br>
<pre>
<a href="man.tar.Z">man.tar.Z</a> - Installation manual pages (UNIX)
<a href="man.zip">man.zip</a> - Installation manual pages (MS-DOS)
</pre>
Alternatively, by WWW you can view the
<a href="http://nano.am.cs.vu.nl/man/Minix/1.7.4/whatis.html">whole manual page set</a>.
The page to start with is
<a href="http://nano.am.cs.vu.nl/man/Minix/1.7.4/man8/usage.8.html">usage(8)</a>.
<hr>
Before fetching Minix, you should get the checksum list (to verify correct
transmission and unpacking). If you do not already have it, you will need
the program to compute the checksums on your machine, crc.c:
<pre>
<a href="crclist">crclist</a> - CRC's of all the files here
<a href="crc.c">crc.c</a> - Command to make CRC checksums
</pre>
Eventually, you may also want these files:
<pre>
<a href="changes-1.7.4">changes-1.7.4</a> - List of changes between 1.7.2 and 1.7.4
<a href="upgrade-1.7.4">upgrade-1.7.4</a> - How to upgrade from 1.7.x to 1.7.4
<a href="bugs">bugs</a> - List of bugs in 1.7.4
<a href="fixes/">fixes/</a> - Fixes to bugs in 1.7.4
</pre>
<hr>
Minix for the Intel architecture comes in three flavors:
<pre>
- Regular (for 386, 486, and Pentium machines)
- Small (for 8086 and 286 machines)
- Tiny (for 8086 and 286 machines with small memories and/or 360K
diskette drives)
</pre>
For the regular distribution, use the <b>i386</b> directory. For the small
distribution, use the <b>i86</b> directory. For the tiny distribution, use
the both the <b>i86</b> and <b>xt</b> directories. All these directories
contain the executable programs of Minix. In addition, the <b>src</b>
directory contains the full Minix source code, which is identical for all
three flavors (the code contains #ifdef's where the difference matters).
<hr>
<b>Two</b> versions of the distribution have been prepared. If you are
reasonably experienced in dealing with UNIX or Minix and are
downloading to a UNIX or Minix system with 10MB of free disk space, and a
connection that can transfer megabyte files without loss (even if this is not
the target system), just fetch whichever of the following you need:
<pre>
<a href="ftp://ftp.cs.vu.nl/pub/minix/1.7.4/i386.tar">i386.tar</a> - 386 binaries
<a href="ftp://ftp.cs.vu.nl/pub/minix/1.7.4/i86.tar">i86.tar</a> - 8086/286 binaries
<a href="ftp://ftp.cs.vu.nl/pub/minix/1.7.4/xt.tar">xt.tar</a> - Replacement files for tiny systems
<a href="ftp://ftp.cs.vu.nl/pub/minix/1.7.4/src.tar">src.tar</a> - Full sources and manual pages for all versions
</pre>
Under all other circumstances, use the second distribution, which consists
of many 720K floppy disk images (you can also use bigger diskettes, but
remember that the size of the images is still 720K).
<pre>
<a href="i386/">i386</a>: ROOT USR USR.01 USR.02 ... USR.06
<a href="i86/">i86</a>: ROOT USR USR.01 USR.02 ... USR.06
<a href="xt/">xt</a>: README TINYROOT TINYUSR1 TINYUSR2 (360K images)
<a href="src/">src</a>: SYS.01 ... CMD.01 ...
</pre>
The <b>USR.</b><i>nn</i>, <b>SYS.</b><i>nn</i>, and <b>CMD.</b><i>nn</i> series of diskette images
were created by commands like this one, so they are just a compressed tar
file cut to pieces:
<pre>
<b>tar cf - * | compress | vol 720 /dev/fd0</b>
</pre>
(The
<a href="http://nano.am.cs.vu.nl/man/Minix/1.7.4/man8/usage.8.html">usage(8)</a>
manual uses the names <b>USR.TAZ</b>, <b>SYS.TAZ</b> and <b>CMD.TAZ</b> to
refer to these floppy sets, because those will be their names on the
upcoming Minix CD-ROM.)
<p>
The two installation floppies can be combined on a 1.2 Mb or 1.44 Mb
diskette, the other images can be combined on 1.44 Mb floppies, turning
them into 1440K images:
<pre>
<b>cat ROOT USR >/dev/fd0</b>
<b>cat USR.01 USR.02 >/dev/fd0</b> (odd/even pairs)
<b>cat USR.03 USR.04 >/dev/fd0</b>
...
<b>cat SYS.01 SYS.02 >/dev/fd0</b>
...
<b>cat CMD.01 CMD.02 >/dev/fd0</b>
...
</pre>
<b>/dev/fd0</b> is a random floppy device name. You have to find out what
your Operating System names it today. Under MS-DOS you can use the
<b>WrtDsk</b> command in the <a href="../dosutil/">../dosutil</a> directory
to write the floppy images.
<p>
Be careful when you install Minix, many of the commands are potentionally
dangerous in a way that a simple typing mistake may destroy all other data
on your system. So make backups first!
<pre>
Kees J. Bot (kjb@cs.vu.nl)

4
Minix/1.7.4/bugs Normal file
View File

@@ -0,0 +1,4 @@
List of bugs discovered in 1.7.4. Please report more bugs to kjb@cs.vu.nl.
- The setup command was changed after src/crclist was computed, so if
you check the CRCs you can expect one discrepancy.

Binary file not shown.

115
Minix/1.7.4/crc.c Normal file
View File

@@ -0,0 +1,115 @@
/* Compute checksum Author: Johan W. Stevenson */
/* Copyright 1988 by Johan W. Stevenson */
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
int errs;
#if __STDC__
int main(int argc, char **argv);
void crc(char *fname);
#else
void crc();
#endif
int main(argc, argv)
int argc;
char **argv;
{
char line[256];
if (argc <= 1)
crc((char *) 0);
else if (argc == 2 && strcmp(argv[1], "-") == 0)
while (fgets(line, sizeof line, stdin) != NULL) {
if (line[strlen(line) - 1] == '\n')
line[strlen(line) - 1] = '\0';
crc(line);
}
else
do {
crc(argv[1]);
argv++;
argc--;
} while (argc > 1);
return(errs != 0);
}
/* Crctab calculated by Mark G. Mendel, Network Systems Corporation */
static unsigned short crctab[256] = {
0x0000, 0x1021, 0x2042, 0x3063, 0x4084, 0x50a5, 0x60c6, 0x70e7,
0x8108, 0x9129, 0xa14a, 0xb16b, 0xc18c, 0xd1ad, 0xe1ce, 0xf1ef,
0x1231, 0x0210, 0x3273, 0x2252, 0x52b5, 0x4294, 0x72f7, 0x62d6,
0x9339, 0x8318, 0xb37b, 0xa35a, 0xd3bd, 0xc39c, 0xf3ff, 0xe3de,
0x2462, 0x3443, 0x0420, 0x1401, 0x64e6, 0x74c7, 0x44a4, 0x5485,
0xa56a, 0xb54b, 0x8528, 0x9509, 0xe5ee, 0xf5cf, 0xc5ac, 0xd58d,
0x3653, 0x2672, 0x1611, 0x0630, 0x76d7, 0x66f6, 0x5695, 0x46b4,
0xb75b, 0xa77a, 0x9719, 0x8738, 0xf7df, 0xe7fe, 0xd79d, 0xc7bc,
0x48c4, 0x58e5, 0x6886, 0x78a7, 0x0840, 0x1861, 0x2802, 0x3823,
0xc9cc, 0xd9ed, 0xe98e, 0xf9af, 0x8948, 0x9969, 0xa90a, 0xb92b,
0x5af5, 0x4ad4, 0x7ab7, 0x6a96, 0x1a71, 0x0a50, 0x3a33, 0x2a12,
0xdbfd, 0xcbdc, 0xfbbf, 0xeb9e, 0x9b79, 0x8b58, 0xbb3b, 0xab1a,
0x6ca6, 0x7c87, 0x4ce4, 0x5cc5, 0x2c22, 0x3c03, 0x0c60, 0x1c41,
0xedae, 0xfd8f, 0xcdec, 0xddcd, 0xad2a, 0xbd0b, 0x8d68, 0x9d49,
0x7e97, 0x6eb6, 0x5ed5, 0x4ef4, 0x3e13, 0x2e32, 0x1e51, 0x0e70,
0xff9f, 0xefbe, 0xdfdd, 0xcffc, 0xbf1b, 0xaf3a, 0x9f59, 0x8f78,
0x9188, 0x81a9, 0xb1ca, 0xa1eb, 0xd10c, 0xc12d, 0xf14e, 0xe16f,
0x1080, 0x00a1, 0x30c2, 0x20e3, 0x5004, 0x4025, 0x7046, 0x6067,
0x83b9, 0x9398, 0xa3fb, 0xb3da, 0xc33d, 0xd31c, 0xe37f, 0xf35e,
0x02b1, 0x1290, 0x22f3, 0x32d2, 0x4235, 0x5214, 0x6277, 0x7256,
0xb5ea, 0xa5cb, 0x95a8, 0x8589, 0xf56e, 0xe54f, 0xd52c, 0xc50d,
0x34e2, 0x24c3, 0x14a0, 0x0481, 0x7466, 0x6447, 0x5424, 0x4405,
0xa7db, 0xb7fa, 0x8799, 0x97b8, 0xe75f, 0xf77e, 0xc71d, 0xd73c,
0x26d3, 0x36f2, 0x0691, 0x16b0, 0x6657, 0x7676, 0x4615, 0x5634,
0xd94c, 0xc96d, 0xf90e, 0xe92f, 0x99c8, 0x89e9, 0xb98a, 0xa9ab,
0x5844, 0x4865, 0x7806, 0x6827, 0x18c0, 0x08e1, 0x3882, 0x28a3,
0xcb7d, 0xdb5c, 0xeb3f, 0xfb1e, 0x8bf9, 0x9bd8, 0xabbb, 0xbb9a,
0x4a75, 0x5a54, 0x6a37, 0x7a16, 0x0af1, 0x1ad0, 0x2ab3, 0x3a92,
0xfd2e, 0xed0f, 0xdd6c, 0xcd4d, 0xbdaa, 0xad8b, 0x9de8, 0x8dc9,
0x7c26, 0x6c07, 0x5c64, 0x4c45, 0x3ca2, 0x2c83, 0x1ce0, 0x0cc1,
0xef1f, 0xff3e, 0xcf5d, 0xdf7c, 0xaf9b, 0xbfba, 0x8fd9, 0x9ff8,
0x6e17, 0x7e36, 0x4e55, 0x5e74, 0x2e93, 0x3eb2, 0x0ed1, 0x1ef0
};
/* Updcrc macro derived from article Copyright (C) 1986 Stephen Satchell.
* NOTE: First argument must be in range 0 to 255.
* Second argument is referenced twice.
*
* Programmers may incorporate any or all code into their programs,
* giving proper credit within the source. Publication of the
* source routines is permitted so long as proper credit is given
* to Stephen Satchell, Satchell Evaluations and Chuck Forsberg,
* Omen Technology.
*/
#define updcrc(cp, crc) ( crctab[((crc >> 8) & 255)] ^ (crc << 8) ^ cp)
void crc(fname)
char *fname;
{
register int c;
register long len = 0;
register unsigned short crc = 0;
register FILE *fp;
if (fname == NULL)
fp = stdin;
else if ((fp = fopen(fname, "r")) == NULL) {
fprintf(stderr, "crc: cannot open %s\n", fname);
errs++;
return;
}
while ((c = getc(fp)) != EOF) {
len++;
crc = updcrc(c, crc);
}
printf("%05u %6ld", crc, len);
if (fname) {
printf(" %s", fname);
fclose(fp);
}
printf("\n");
}

30
Minix/1.7.4/crclist Normal file
View File

@@ -0,0 +1,30 @@
17311 4026 crc.c
64434 74550 man.tar.Z
08166 60472 man.zip
30125 491520 i386/ROOT
45303 737280 i386/USR
41952 737280 i386/USR.01
20827 737280 i386/USR.02
37377 737280 i386/USR.03
59361 737280 i386/USR.04
15997 737280 i386/USR.05
18114 72218 i386/USR.06
62194 491520 i86/ROOT
33363 737280 i86/USR
21961 737280 i86/USR.01
17079 737280 i86/USR.02
16992 737280 i86/USR.03
29900 737280 i86/USR.04
22147 737280 i86/USR.05
37766 43285 i86/USR.06
31086 737280 src/CMD.01
44489 737280 src/CMD.02
14433 737280 src/CMD.03
49487 737280 src/CMD.04
06478 345137 src/CMD.05
03630 737280 src/SYS.01
24298 737280 src/SYS.02
40881 702009 src/SYS.03
39431 301568 xt/TINYROOT
44999 368640 xt/TINYUSR1
46659 368640 xt/TINYUSR2

BIN
Minix/1.7.4/i386/ROOT.gz Normal file

Binary file not shown.

BIN
Minix/1.7.4/i386/USR.01.gz Normal file

Binary file not shown.

BIN
Minix/1.7.4/i386/USR.02.gz Normal file

Binary file not shown.

BIN
Minix/1.7.4/i386/USR.03.gz Normal file

Binary file not shown.

BIN
Minix/1.7.4/i386/USR.04.gz Normal file

Binary file not shown.

BIN
Minix/1.7.4/i386/USR.05.gz Normal file

Binary file not shown.

BIN
Minix/1.7.4/i386/USR.06.gz Normal file

Binary file not shown.

BIN
Minix/1.7.4/i386/USR.gz Normal file

Binary file not shown.

BIN
Minix/1.7.4/i86/ROOT.gz Normal file

Binary file not shown.

BIN
Minix/1.7.4/i86/USR.01.gz Normal file

Binary file not shown.

BIN
Minix/1.7.4/i86/USR.02.gz Normal file

Binary file not shown.

BIN
Minix/1.7.4/i86/USR.03.gz Normal file

Binary file not shown.

BIN
Minix/1.7.4/i86/USR.04.gz Normal file

Binary file not shown.

BIN
Minix/1.7.4/i86/USR.05.gz Normal file

Binary file not shown.

BIN
Minix/1.7.4/i86/USR.06.gz Normal file

Binary file not shown.

BIN
Minix/1.7.4/i86/USR.gz Normal file

Binary file not shown.

BIN
Minix/1.7.4/man.zip Normal file

Binary file not shown.

BIN
Minix/1.7.4/src/CMD.01.gz Normal file

Binary file not shown.

BIN
Minix/1.7.4/src/CMD.02.gz Normal file

Binary file not shown.

BIN
Minix/1.7.4/src/CMD.03.gz Normal file

Binary file not shown.

BIN
Minix/1.7.4/src/CMD.04.gz Normal file

Binary file not shown.

BIN
Minix/1.7.4/src/CMD.05.gz Normal file

Binary file not shown.

BIN
Minix/1.7.4/src/SYS.01.gz Normal file

Binary file not shown.

BIN
Minix/1.7.4/src/SYS.02.gz Normal file

Binary file not shown.

BIN
Minix/1.7.4/src/SYS.03.gz Normal file

Binary file not shown.

48
Minix/1.7.4/upgrade-1.7.4 Normal file
View File

@@ -0,0 +1,48 @@
How to upgrade from 1.7.2 to 1.7.4.
First, the 'setup' script that used used for a normal installation now
notices that a Minix system is already present and will offer to "upgrade"
it. This means that is will save the contents of /usr/ in /usr/.old/ and
then install normally. So the root file system is replaced, /usr is filled
with new stuff, and you can rescue some old files from /usr/.old/.
If you'd rather replace the source and recompile like real programmers do,
then here is the list of steps to take:
Note: Things you have to do as root are marked with a # sign. The ! sign
marks the actions of bin.
# Replace the sources, that's /usr/include, /usr/man, and /usr/src, with
the 1.7.4 sources by extracting the SYS.nn images in the normal way.
(Don't forget to move or remove the 1.7.2 stuff.)
! All 1.7.4 commands can run under 1.7.2, and all 1.7.2 commands can run
under 1.7.4 if BINCOMPAT and SRCCOMPAT are set to 1 in <minix/config.h>.
Nothing really interesting changed in this upgrade to make things difficult.
! Move to /usr/src/lib and type 'make install'. You need new libraries
for the new kernel.
! Customize /usr/include/minix/config.h to add or remove drivers. In
/usr/src/tools type 'make hdboot'. The /minix file should automatically
be transformed into a directory containing both the old 1.7.2 and the
new 1.7.4 kernel. The newest of these two is chosen on boot. Try it.
If it doesn't work then 'image=minix/old-image' is the way to recover if
it fails.
! If it works then halt the system again to return to the boot monitor
prompt. Now set 'rootdev' to the same value as 'ramimagedev'. If your
system is a 286 then set the RAM disk size with 'ramsize' to as much as
you can spare up to 512 Mb for the so-called "second level cache".
(Minix-386 should have been configured with a large primary block cache.)
Type 'save' to record the changes. Boot the system.
! Your system should now be running 1.7.4. Install the commands from CMD.nn
and use 'make install' in /usr/src to recompile the rest of the system.
# Run 'checkhier' to check your top level directory tree. It suggest
commands to execute to fix descrepancies in the top level directory
tree.
# Compare all files in /usr/src/etc with those in /etc. Some may have
changed and should be replaced. Be careful not to lose changes you
have made to files in /etc.

44
Minix/1.7.4/xt/README Normal file
View File

@@ -0,0 +1,44 @@
Suggestions on installing Minix on a machine with little memory.
The file TINYROOT is a small replacement for the ROOT image that is
needed if your machine has only one floppy drive and less than 2
megabytes of memory. You can use it to boot your machine, but you
should use ROOT for the installation if you can.
If your floppy drive is only 360 kb then have to use TINYROOT for ROOT,
and TINYUSR1 for USR. The very last step of the installation, filling
/usr from USR.nn, will fail, because you need some commands that are on
TINYUSR2. You have to copy those commands into the /usr tree (mount the
floppy and cpdir the lot). TINYUSR2 also contains the kernel image
used for TINYROOT in the tmp directory that you can put into /minix/.
A machine with only 640 kb memory will have trouble to run the
installation script. Use
exec setup
to overlay the login shell of root with the script. A few things may
still fail, but nothing critical ("sleep: not found"). The USR.nn and
SRC.nn images can be split in two 360 kb pieces with the commands:
dd if=image of=first-half bs=1k count=360
dd if=image of=second-half bs=1k skip=360
If you want to compile a new kernel as bin use
chsh /bin/sh
to change the login shell of bin from ash to the much smaller sh. Log
out, log back in, and use
exec make xxx
If it still fails then you have to make things bit by bit by running
make in subdirectories.
Note that you are on your own in this enterprise, anyone mad enough to
still use an XT had better be smart enough to find his own way. Testing
the TINYXXX stuff has consumed enough of my time. If you still dare to
ask me questions then you'd better make it very interesting questions.
--
Kees J. Bot (kjb@cs.vu.nl)

BIN
Minix/1.7.4/xt/TINYROOT.gz Normal file

Binary file not shown.

BIN
Minix/1.7.4/xt/TINYUSR1.gz Normal file

Binary file not shown.

BIN
Minix/1.7.4/xt/TINYUSR2.gz Normal file

Binary file not shown.