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

97
Minix/old/1.7.1/README Normal file
View File

@@ -0,0 +1,97 @@
HOW TO GET AND INSTALL MINIX 1.7.1
This directory and subdirectories contains Minix version 1.7.1, 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.
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.0-1.7.1 - List of changes between 1.7.0 and 1.7.1
upgrade-1.7.0-1.7.1 - How to upgrade from 1.7.0 to 1.7.1
bugs - List of bugs in 1.7.1
fixes/ - Fixes to bugs in 1.7.1
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 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.03 USR.04 USR.05
i86: ROOT USR USR.01 USR.02 USR.03 USR.04 USR.05
xt: README TINYROOT TINYUSR1 TINYUSR2 (360K images)
src: SRC.01 SRC.02 SRC.03 SRC.04 ... SRC.08
The USR.nn and SRC.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 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 SRC.01 SRC.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)

117
Minix/old/1.7.1/README.html Normal file
View File

@@ -0,0 +1,117 @@
<head>
<title>Minix 1.7.1</title>
</head>
<body>
<h2>HOW TO GET AND INSTALL MINIX 1.7.1</h2>
This directory and subdirectories contains Minix version 1.7.1, 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.
<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.1/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.1/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.0-1.7.1">changes-1.7.0-1.7.1</a> - List of changes between 1.7.0 and 1.7.1
<a href="upgrade-1.7.0-1.7.1">upgrade-1.7.0-1.7.1</a> - How to upgrade from 1.7.0 to 1.7.1
<a href="bugs">bugs</a> - List of bugs in 1.7.1
<a href="fixes/">fixes/</a> - Fixes to bugs in 1.7.1
</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/old/1.7.1/i386.tar">i386.tar</a> - 386 binaries
<a href="ftp://ftp.cs.vu.nl/pub/minix/old/1.7.1/i86.tar">i86.tar</a> - 8086/286 binaries
<a href="ftp://ftp.cs.vu.nl/pub/minix/old/1.7.1/xt.tar">xt.tar</a> - Replacement files for tiny systems
<a href="ftp://ftp.cs.vu.nl/pub/minix/old/1.7.1/src.tar">src.tar</a> - Full sources 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.03 USR.04 USR.05
<a href="i86/">i86</a>: ROOT USR USR.01 USR.02 USR.03 USR.04 USR.05
<a href="xt/">xt</a>: README TINYROOT TINYUSR1 TINYUSR2 (360K images)
<a href="src/">src</a>: SRC.01 SRC.02 SRC.03 SRC.04 ... SRC.08
</pre>
The <b>USR.</b><i>nn</i> and <b>SRC.</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 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 SRC.01 SRC.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)

20
Minix/old/1.7.1/bugs Normal file
View File

@@ -0,0 +1,20 @@
List of bugs discovered in 1.7.1. Please report more bugs to kjb@cs.vu.nl.
- The updates to the BIOS driver have only been tested on a few machines.
If it doesn't work on your machine then type 'processor=86' to the
Boot Monitor to force Minix into real mode.
- The XT and PS disk drivers do not work, use the BIOS driver instead.
- Disabling all WINI drivers in <minix/config.h> leads to a compilation
error. (The definition of NR_TASKS in <minix/const.h> is wrong.)
Leave at least one of the WINI drivers enabled.
- The AT disk driver uses a scratch buffer in its initialization
routine that has not been initialized. This error is masked if the
Adaptec SCSI driver is initialized first, because it will then
initialize the scratch buffer for the AT driver. This is why the
installation ROOT floppy works. A kernel with only the AT driver
fails on an old AT disk, but an IDE disk will seemingly work. The
bug will cause the driver to report wrong parameters to 'part'.
A fix to this bug is found in fixes/fix-1.

View File

@@ -0,0 +1,421 @@
Short list of differences between 1.7.0 and 1.7.1:
- The BIOS driver can now operate in 286 or 386 protected mode.
- Higher RS232 baud rates
- More robust ethernet driver that supports the WD8003, WD8013, NE1000,
NE2000, and SMC Elite Ultra.
- Interface to the Boot Monitor changed so that Minix can return to
it. Also support for a BIOS disk I/O call added. Minix 1.7.1 must
be booted by the new Monitor.
- New are the Mitsumi & Soundblaster drivers. Neither of these have been
tested very well after integration in 1.7.1.
Long list of differences between 1.7.0 and 1.7.1:
include/errno.h
ERROR changed into EGENERIC (symbol ERROR often used in user code,
although all E* symbols are reserved if <errno.h> is included.)
include/unistd.h
Rebooting codes for various ways of rebooting added.
include/minix/cdrom.h
For the Mitsumi CD-ROM driver.
include/minix/com.h
Changed task number definitions of optional tasks to
#define TASK (PREVIOUS_TASK - ENABLE_TASK)
This replaces the former #ifdef spaghetti. The ENABLE_XXX defines
must be exactly 0 or 1.
include/minix/config.h
Z_MAP_SLOTS upped to 32 to allow V2 file systems of up to 256 Mb.
ENABLE_XXX variables for Mitsumi CD-ROM and Soundblaster drivers
added.
include/minix/const.h
NR_IOREQS symbol introduced as the maximum size of a scattered
I/O vector. Vectors used to be NR_BUFS in size, which is a
potentionally large value.
NR_TASKS redefined as (10 + ENABLE_XXX + ENABLE_YYY + ...).
include/minix/sound.h
For the Soundblaster driver.
include/minix/syslib.h
Declarations for all the interface functions to the system task
added.
include/sgtty.h
Definitions for higher baud rates. (Some so high that they are
not likely to even work, but you can never know.) Untested!
include/sys/ioctl.h
Carloads of ioctl request codes added for font loading, CD-ROM,
and Soundblaster.
man
Various manpages updated, several new ones for new commands.
The boot(8) manpage contains several new or changed boot
parameters, and the TCP/IP configuration section is updated for
the new ethernet driver.
New manual pages: loadfont(0), isodir(1), isoinfo(1), isoread(1),
mixer(1), playwave(1), cdplay(1), isoread(1), recwave(1),
screendump(8).
src/boot/boot.c
Boot device name in boot monitor prompt.
src/boot/boothead.s
Allow Minix to return to the monitor. This means that Minix is
just a subprocess to the monitor. The monitor either reboots Minix
(this is very fast) or shows the monitor prompt (halt).
Offer a support function for Minix-386 to make a BIOS int 13 call
for bios_wini.
src/boot/edparams.c
Don't edit boot parameters unless there is a genuine Minix
bootstrap on the device. Exit command to exit to Minix.
src/boot/extboot.s
Bootstrap that boots Minix in an logical (extended) partition.
For if you really, really, need to have Minix in logical
partition. (For the brave and foolish.)
src/boot/installboot.c
Support for extboot.s.
src/boot/masterboot.s
Stupid bug fixed in the "BOOT B:" trick. (Boot the other floppy
if floppy 0 contains masterboot.)
src/commands/aal/archiver.c
Use a temp file in /usr/tmp for /tmp may not be big enough to
contain a copy of the library.
src/commands/ellec.c
Bug fixed to make 'ellec -Profile' work.
src/commands/i386/asmconv
Translation of complex jmp and call targets from ACK to NCC or GNU
fixed. Proper translation of CBW, CDQ, CWD, and CWDE from BAS to
ACK.
src/commands/i86/cc.c
Give better advise than using chmem.
src/commands/ibm
New commands: cdplay, loadfont, mixer, playwave, recwave.
Moved in from commands/simple: loadkeys, screendump, term.
src/commands/ibm/fdisk.c
Fixed master bootstrap included.
src/commands/ibm/part.c
User interface changed to make it tad more user friendly. Also
fixed master bootstrap included.
src/commands/ibm/readclock.c
Don't complain if the machine is not an AT or PS/2.
src/commands/ibm/screendump.c
Mono or colour? Just look at BIOS variable 0x40:0x63 and you know.
src/commands/kermit
Higher baud rates. Untested!
src/commands/mined/mined1.c
Allow characters with bit 8 set. (KJB's idea of internationalization
is that all characters with bit 8 set are letters.)
src/commands/reboot/shutdown.c
New flags: -R: reboot with a hard reset (old style reboot),
-x "boot hd1": execute this monitor code on reboot.
src/commands/scripts/DESCRIBE.sh
src/commands/scripts/MAKEDEV.sh
Add knowledge of /dev/cd*, /dev/audio, and /dev/mixer.
src/commands/scripts/instdist.sh
Added more text to make it more expert hostile. Find out what our
root and usr devices are. If usr=fd0c then root is on fd0, etc.
src/commands/scripts/mkdist.sh
Make V1 file systems to save a few bytes.
src/commands/scripts/whatis.sh
Search expression fixed.
src/commands/simple
New command: isoread.
Obsolete or useless and thus removed: fix, getlf, gres, hyphenate.
Moved to commands/ibm: loadkeys, screendump, term.
src/commands/simple/dd.c
Added 'conv=silent' to suppress "records in/out" messages. This
option is unportable, but useful in Minix specific scripts.
src/commands/simple/file.c
Replaced by the Minix-386vm version for it understands more
executable types. (Old file didn't know Minix-386 binaries.)
src/commands/simple/in.rshd.c
Some port selection bug fixed. (Je ne parle pas TCP/IP.)
src/commands/simple/rarpd.c
Major overhaul. Checks if networks already configured, makes RARP
requests, slices bread, answers RARP if /etc/ethers exists.
src/commands/simple/rsh.c
Proper path to rlogin.
src/commands/simple/vol.c
Added knowledge of tape block sizes. Very useful now for compressed
backups to tape. New manual page.
src/fs/cache.c::rw_scattered()
Limit I/O vectors to NR_IOREQS blocks. NR_IOREQS = max(NR_BUFS, 64).
src/fs/const.h
FS_STACK_BYTES symbol removed. FS is now loaded with a normal
crtso.s instead of the special head.s. The stack size is set
with chmem. The stack is allocated by the boot monitor.
src/fs/file.h
Locking definitions moved to lock.h.
src/fs/glo.h
The fstack array removed.
src/fs/lock.[hc]
Locking code formerly in file.h and misc.c.
src/fs/misc.c
Locking code moved to lock.c.
src/fs/read.c
Bug with large pipe writes fixed. (Return count was wrong.)
The rw_user() function removed. All calls to rw_user() are
replaced by sys_copy() calls.
Read ahead limited to NR_IOREQS blocks.
src/fs/table.c
Device table cleaned up and CD-ROM, AUDIO, and MIXER devices
added.
src/fs/utility.c
The sys_xxx() functions moved to src/lib/syslib.
src/inet
Broadcast ethernet address properly recognized, and other little
fixes.
Stack array removed in favour of a stack created by the monitor.
src/kernel/aha_scsi.c
Deadly bug fixed in the CD-ROM reading code.
Drives larger than 1 Gb have a fake 255x63 geometry. (This was
already so in the 386vm driver. Stupid of me not to adapt this
one.)
Major overhaul to remove code that issues multiple commands to the
same target. Hardly made a performance difference, but complicated
the code leading to crashes on moon phase changes.
src/kernel/*_wini.c
Partititions is not speled that way.
src/kernel/bios_wini.c
Adapted to run in protected mode. (Both 286 and 386 protected mode!)
Max number of drives set to 4.
src/kernel/clock.c
Code added to reprogram the clock to the BIOS rate at Minix halt.
Tricks added to collect clock ticks that get lost when the BIOS
driver is active.
New millisecond timer primitives to aid in high speed polling of
I/O registers. Various drivers adapted to use them.
src/kernel/console.c
Don't blank the screen when switching to software scrolling. Don't
change the cursor shape. Code added to load a new font into the
VGA card. There are no fonts yet though.
src/kernel/dp8390.[hc]
New ethernet driver for cards based on the DP8390 chip.
src/kernel/driver.c
Several nop_xxx functions removed. Tasks are now completely
configured out of the kernel, they no longer run a dummy loop.
src/kernel/ether.[hc]
src/kernel/hw_conf.h
Old ethernet driver. Removed.
src/kernel/i8259.c
Reprogram the interrupt controllers only if in protected mode. In
real mode we use the normal BIOS interrupt vectors, and only
reprogram those that Minix needs.
src/kernel/keyboard.c
CTRL-ALT-DEL now halts instead of rebooting. (The monitor would
otherwise reboot Minix-386. This is usually not what the person
behind the console wants.)
Reboot code changed to return to the monitor for Minix-386. All
devices appropriately reprogrammed for the BIOS.
src/kernel/keymaps/spanish.src
Modified by Javier Garcia Martin (jawa@inf.deusto.es).
src/kernel/klib386.s
src/kernel/klib88.s
8086 bios13 code changed to enable all unused IRQ's and to
disable them afterward, so that bios_wini need not know the IRQ
of the disk. 286 bios13 allows bios_wini to operate in
protected mode. It steps back to real mode with a processor
shutdown, makes the BIOS call, and steps back up to protected
mode. The 386 version makes a call to a monitor function that
makes the call using 386 ways to step in and out of real mode.
Don't read this code if mentally unstable.
Port_read_byte() and port_write_byte() functions added that do
block port I/O in byte mode. (Needed for the NE1000 driver and
the Mitsumi CD-ROM driver.)
Protected mode initialization code cleaned up and calls to it
removed from C code.
Extended memory copy removed from klib88.s::phys_copy() for lack
of use.
src/kernel/main.c
Stack pointers of servers initialized to the top of their
address space where the monitor has made a stack.
Stack guard words for the tasks added. The system now panics
early if a tasks overruns its stack, instead of crashing in an
adjacent task.
Real mode vector initialization code removed. Minix now runs in
real mode with only minimum changes to BIOS parameters. All the
special case code for real mode is gone. One should be able to
make BIOS calls from user programs, but that's just an unfortunate
side-effect of the cleanup. (The BIOS disk driver is happy though.)
src/kernel/mcd.c
Mitsumi CD-ROM driver by Michel Prevenier (mrpreve@cs.vu.nl).
(Andy has these fun projects for his students. :-) )
src/kernel/memory.c
The RAM disk can no longer be placed in extended memory. Minix
should now be able to run in protected mode on any 286 or better,
so we can forget about "extended memory" being special.
src/kernel/mpx386.s
src/kernel/mpx88.s
Flags set to tell the monitor that stacks must be made for the
servers, and that Minix-386 would like to return on reboot or
halt. (Requires a new boot monitor, 1.7.0 monitor won't work.)
Cruft removed, protected mode initialization cleaned up.
Real mode int08-16 removed.
src/kernel/ne2000.[hc]
NE1000 and NE2000 code for the ethernet driver.
src/kernel/proc.c
Stack guard check in unready().
src/kernel/ps_wini.c
Writing enabled, driver otherwise nonfunctional. (See comments
in the file.)
src/kernel/rs2.s
src/kernel/rs232.c
RS232 hangup code contributed by Will Rose (cwr@cts.com).
Untested.
src/kernel/sb16.h
src/kernel/sb16_dsp.h
src/kernel/sb16_mixer.h
Soundblaster driver by Michel Prevenier (mrpreve@cs.vu.nl).
Hardly tested.
src/kernel/start.c
Several changes for the monitor return and BIOS calls. Call to
sel_wini_task() removed, as the BIOS driver is now even useable
in 286 protected mode. Simplyfied a bit w.r.t. real/protected
mode.
src/kernel/table.c
New definitions, stack sizes, etc. for the new drivers.
src/kernel/tty.c
New font change ioctl. RS232 hangup.
src/kernel/wdeth.[hc]
WD8003 and WD8013 parts of the ethernet driver.
src/kernel/wini.c
Panic if the selected hd driver doesn't exist instead of
silently failing.
Sel_wini_task() folded into winchester_task().
src/lib/*/rts/head.s
Removed.
src/lib/other/printk.c
Replaced by the Minix-386vm version that is somewhat smaller
and somewhat more ANSI C compliant.
src/lib/other/syslib.c
Moved to src/lib/syslib and split up.
src/lib/posix/_getcwd.c
Initialization bug fixed.
src/lib/syslib
All the sys_xxx() functions from other/syslib.c and the
utility.c files of MM and FS gathered here in separate files.
(Much like the system call stubs in the posix directory.) The
sys_copy() function is changed to look like the former
mem_copy() function of MM.
src/mm
SIGMASK changed to SIGPROCMASK in lower or upper case.
src/mm/alloc.c
src/mm/main.c
Get_mem() removed from main.c and built into alloc.c::mem_init().
src/mm/const.h
src/mm/glo.h
src/mm/table.c
Stack stuff removed.
src/mm/utility.c
Sys_xxx() functions moved to src/lib/syslib. All calls to
mem_copy replaced by sys_copy() calls. (Sys_copy has been
changed to have the same interface as old mem_copy, save a few
type changes.)
src/tools/init.c
Stack array removed. Abort signal (CTRL-ALT-DEL) now does a
halt.
src/tools/mkboot
Delay added to 'make hdtest' to make it visible that another
device is booted. The other device has its own set of boot
parameters! Test and floppy boot device changed into file
systems with copies of /dev and /minix. This script must now
be run as root from the start, 'su root' calls removed.

115
Minix/old/1.7.1/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");
}

28
Minix/old/1.7.1/crclist Normal file
View File

@@ -0,0 +1,28 @@
17311 4026 crc.c
13909 69352 man.tar.Z
28086 50404 man.zip
28245 614400 i386/ROOT
63907 614400 i386/USR
63874 737280 i386/USR.01
08359 737280 i386/USR.02
50912 737280 i386/USR.03
27537 737280 i386/USR.04
63657 655705 i386/USR.05
58116 614400 i86/ROOT
49907 614400 i86/USR
65351 737280 i86/USR.01
45636 737280 i86/USR.02
53037 737280 i86/USR.03
33385 737280 i86/USR.04
24433 641197 i86/USR.05
27741 737280 src/SRC.01
62006 737280 src/SRC.02
07805 737280 src/SRC.03
21746 737280 src/SRC.04
42089 737280 src/SRC.05
53717 737280 src/SRC.06
27214 737280 src/SRC.07
21683 191735 src/SRC.08
36976 299008 xt/TINYROOT
62020 368640 xt/TINYUSR1
24199 368640 xt/TINYUSR2

View File

@@ -0,0 +1,52 @@
Bug: The AT disk driver uses a scratch buffer in its initialization
routine that has not been initialized. This will cause the driver
to fail on old AT disks, and act funny with IDE disks.
How to fix:
Login as bin and type:
cd /usr && patch -p0 < this-file
Compile and install a new kernel image.
*** /save/std/1.7.1/src/kernel/at_wini.c Tue Oct 31 21:21:02 1995
--- src/kernel/at_wini.c Tue Nov 07 20:16:01 1995
***************
*** 923,928 ****
struct wini *wn;
/* Get the number of drives from the BIOS data area */
! phys_copy(0x475L, tmp_phys, 1L);
! if ((nr_drives = tmp_buf[0]) > 2) nr_drives = 2;
--- 923,930 ----
struct wini *wn;
+ u8_t params[16];
+ phys_bytes param_phys = vir2phys(params);
/* Get the number of drives from the BIOS data area */
! phys_copy(0x475L, param_phys, 1L);
! if ((nr_drives = params[0]) > 2) nr_drives = 2;
***************
*** 935,943 ****
/* Calculate the address of the parameters and copy them */
! phys_copy(hclick_to_physb(parv[1]) + parv[0], tmp_phys, 16L);
/* Copy the parameters to the structures of the drive */
! wn->lcylinders = bp_cylinders(tmp_buf);
! wn->lheads = bp_heads(tmp_buf);
! wn->lsectors = bp_sectors(tmp_buf);
! wn->precomp = bp_precomp(tmp_buf) >> 2;
}
--- 937,945 ----
/* Calculate the address of the parameters and copy them */
! phys_copy(hclick_to_physb(parv[1]) + parv[0], param_phys, 16L);
/* Copy the parameters to the structures of the drive */
! wn->lcylinders = bp_cylinders(params);
! wn->lheads = bp_heads(params);
! wn->lsectors = bp_sectors(params);
! wn->precomp = bp_precomp(params) >> 2;
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
Minix/old/1.7.1/i386/USR.gz Normal file

Binary file not shown.

BIN
Minix/old/1.7.1/i86/ROOT.gz Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
Minix/old/1.7.1/i86/USR.gz Normal file

Binary file not shown.

BIN
Minix/old/1.7.1/man.zip Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,40 @@
How to upgrade from 1.7.0 to 1.7.1.
- Replace the sources, that's /usr/include, /usr/man, and /usr/src, with
the 1.7.1 sources by extracting the SRC.nn images in the normal way.
(Don't forget to move or remove the 1.7.0 stuff.)
- There are two ways to continue. You can do the daring aproach and
type 'make install' in /usr/src to recompile everything, or you can
compile only the pieces you need right now to get a 1.7.1 kernel up.
1.7.1 compiled command should run under a 1.7.0 kernel, so there are
no problems there. Let's take the careful road:
- Move to /usr/src/lib and type 'make install'. You need new libraries
for the new kernel.
- In /usr/src/boot type 'make install'. The new kernel needs a new boot
monitor.
- In /usr/src/commands/simple type 'make bin /usr/bin/dd'. The next
step uses a new dd option.
- Customize /usr/include/minix/config.h to add or remove drivers. In
/usr/src/tools type 'make hdtest', or 'make fdboot'. Test the new
kernel.
- If the kernel works then go back to /usr/src/tools and type
'make bootable' to install a new boot monitor on the root partition.
- Next use 'make hdinstall' to install an new kernel image on the root
partition.
- Your system is now running 1.7.1. You can use 'make install' in
/usr/src to recompile the rest if you didn't do so already.
- Run 'checkhier' as root. 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 have
changed and should be replaced. Be careful not to lose changes you
have made to files in /etc.

43
Minix/old/1.7.1/xt/README Normal file
View File

@@ -0,0 +1,43 @@
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 use as /minix.
A machine with only 640 kb memory will have trouble to run the
installation script. Use
exec instdist
to overlay the login shell of root with the script. 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)

Binary file not shown.

Binary file not shown.

Binary file not shown.