[comp.sys.ibm.pc] MINIX

hartley@uvm-gen.UUCP (Stephen J. Hartley) (01/06/87)

ast@cs.vu.nl (Andy Tanenbaum) writes:
< 
<      If anyone is interested, we could set up a newsgroup comp.os.minix to
< discuss minix, report bug fixes, distribute updates of individual files etc.
< I propose that the initial discussion take place in comp.sys.ibm.pc (subject:
< MINIX).
<
I would like to second the idea that a news group, comp.os.minix, be set up for
discussion and bug reports for MINIX.  If the book becomes as popular as his
others, much discussion might result.  A group for discussion and bug reports
would be extremely useful, I think.
-- 
	Department of Computer Science and Elec. Eng.	Stephen J. Hartley
USENET:	{decvax,ihnp4}!dartvax!uvm-gen!uvm-cs!hartley	University of Vermont
CSNET:	hartley%uvm@csnet-relay				(802) 656-3330, 862-5323

bill@sigma.UUCP (William Swan) (01/08/87)

In article <485@uvm-gen.UUCP> hartley@uvm-gen.UUCP (Stephen J. Hartley) writes:
>>     If anyone is interested, we could set up a newsgroup comp.os.minix to
>>discuss minix, report bug fixes, distribute updates of individual files etc.
>>I propose that the initial discussion take place in comp.sys.ibm.pc [...]
>I would like to second the idea that a news group, comp.os.minix, be set up for
>discussion and bug reports for MINIX.  If the book becomes as popular as his
>others, much discussion might result.  A group for discussion and bug reports
>would be extremely useful, I think.

Please set up  comp.os.minix  soon. I am the "net connection" for three of us
interested in MINIX (one works here but doesn't read news, the other is at a
company too paranoid to connect to the net - but he has already ordered 
MINIX!). Because I don't care much for PCs and "mush-dos", I don't want to
read comp.sys.ibm.pc to learn about MINIX.



-- 
William Swan  {ihnp4,decvax,allegra,...}!uw-beaver!tikal!sigma!bill

"..When we look only for evidence of guilt and ignore all contradictory
evidence, these are the elements of a witch hunt."
	-Paul and Shirley Eberle, _The Politics of Child Abuse_

ast@botter.cs.vu.nl (Andy Tanenbaum) (01/11/87)

First, I would like to apologize if I over-crossposted.  I haven't posted much
to the net before, so I may have done things wrong.  I was under the impression
that if one sends to multiple groups it cross posts them in such a way that
each reader only gets the message once, even if the reader subscribes to all 
of them.  If I am wrong will somebody please tell me how to do it (by mail).
It is also possible that I messed up.  Furthermore, we were having news and
mail problems at the time, which may have contributed.    It was my intention
that a lot of people see it once, not that a few people see it many times.

As to being commercial, that's true I guess, but since I am supplying 50,000
lines of source code without copy protection  for $79, and I don't mind a 
limited amount of copying of the binary and source code, it is not in the same 
league as normal PC software in terms of the owners zealously guarding both 
binaries and sources.  In fact, it is probably somewhat closer to the Free 
Software Foundation's way of doing things (also copyrighted) than to Lotus.  
I assumed (and judging by the response, probably correctly) that there would be
a fair amount of interest.  Sorry if I offended people.  

Maybe it would be best to set up comp.os.minix now.  Will everyone who would
want to subscribe to it send me mail.  If there is a sufficient number, I
will ask the local guru how one sets up a new group and try to avoid messing 
that up too.  I will cross post this to various groups, but just stick to 
comp.sys.ibm.pc or comp.os.minix (depending on the reaction) in the future.

Several people have asked me questions whose answers may be of general interest,
so I will post them here.

Q1: Can you have multiple users on a PC?
A1: In theory yes.  The terminal driver has an array indexed by terminal
    number from 0 to some maximum.  At present that maximum is 1, so you
    have to change a constant and recompile the tty driver.  Also, there
    is no RS232 driver (the deadline had a race with RS232 and the deadline
    won).  Therefore such a driver has to be made, but it is quite simple.
    Most of the hooks and handles you need are already there, for example,
    when it is time to output a character on tty n, the driver calls a
    function pointed to by tty_struct[n].tty_devstart, so each terminal
    can have a different routine to actually output the character. In this
    way you can mix various device types.

Q2: How compatible does a machine have to be to run MINIX?
A2: It needs a NEC uD765 chip as floppy disk controller, a Motorola 6845 as
    video controller, etc.  If the hard disk controller is nonstandard, the
    hard disk won't work, but the rest will.  Machines with different I/O
    chips but try to hide this by presenting the same BIOS interface won't
    work.  About a dozen different clones have been tested.  MINIX worked
    without problems on 80% and failed on 20%.

Q3: Can you call assembler routines from the MINIX C compiler in order to
    write drivers for new devices?
A3: Yes.  The C compiler uses the standard UNIX calling convention of pushing
    the parameters onto the stack in reverse order, so there is no problem
    writing bits of a program in assembler.  The assembly language accepted
    by the MINIX assembler is identical to that of PC-IX, the "official" IBM
    UNIX system for the PC.  Assembly routines for reading and writing I/O
    ports are present in the file kernel/klib88.s (port_in and port_out).

Q4: What do you mean it will sort of run on a 512K machine?
A4: It will boot fine and run ok with 512K, but since it doesn't swap, it
    won't be possible to run a lot of background jobs without running out
    of memory.  Also, if you use make, you may discover that make + cc +
    the various passes that get forked off may not fit in core at once, which
    causes EXECs to fail and make to get an error return.  This can be solved
    by changing the amount of stack space allocated to the compiler passes
    using the chmem utility.  (chmem is functionally the same as in PC-IX,
    which works the same way.)  Reducing the stack allocated to compiler
    passes means that some very large programs may not compile.  With a 640K
    system, files > 50K characters have compiled.  With 512K, that limit may
    be lower.

Andy Tanenbaum (minix@cs.vu.nl)

ast@botter.cs.vu.nl (Andy Tanenbaum) (01/12/87)

John Diamant has asked what the difference between the various MINIX packages
is.  Here is a brief rundown.  The binary of the operating system is identical
on the 256K and 640K PC version.  The only difference is that the binary of
the C compiler has been deleted from the 256K version because some of the
passes are normally kept on the RAM disk, and with only 256K, the RAM disk is
too small to hold them. I just deleted the whole compiler, thus freeing up a
little extra space on the /usr diskette.

There are 3 differences between the 640K PC version and the 512K AT version:
1. The binary for the PC version has a hard disk driver for the XT type disk
   embedded in it.  The binary for the AT version has the AT type disk driver.
   Both versions contain the source code for both the XT and AT drivers, so
   if you upgrade your XT to an AT, you just have to recompile with the other
   driver.

2. The AT version comes on five 1.2M diskettes instead of eight 360K diskettes.
   The source programs present on both are identical.

3. The initial configuration of what is on the /usr diskette and what is on
   the RAM disk is different.  The compiler passes won't fit on the RAM disk
   here either with only 512K, but there is plenty of room on the 1.2M floppies.

If you have a 256K or 384K machine and a friend has a 640K machine, get the
640K system and make a new root file system (for the RAM disk) yourself using
mkfs.  About 55K is the right size, and it should contain the same /etc and
/dev as the 640K system; /bin should have only: getlf, sh, and sync.
If you have 256K and two floppy disks or a hard disk, you can also copy the
C compiler to a second file system, but you have to fix and recompile the little
driving program cc.c because the paths of the compiler passes are built into
it.  If you are going to put the compiler passes in /user/lib or somewhere
else, you have to change cc.c so it knows which files to EXEC.  When moving
the 640K PC system to a 512K AT you have to make the same change. 
As distributed, cc.c won't compile because I have intentionally included a
line saying: !!!!_SEE_BELOW_!!!   on line 30 to attract your attention to the
comment explaining all this.

In summary, you can use the 640K system to reconstruct a RAM disk (root device)
for 256K or 384K or any other size using mkfs.  You don't have to recompile
the operating system.  The reason for two different sets is that the RAM disk
image (diskette #2) is different for 256K and 640K as described above.  The
only kernel tuning utility is chmem, which changes the amount of stack space
allocated to a program.

The mag tape has all the sources but no binaries at all.  It was intended for
university courses on operating systems that have to use a VAX for the student
projects.  The tape contains a simulator for the IBM PC (8088 interpreter plus
some I/O device simulation) so students can modify MINIX on the VAX and run
it on the PC simulator.  I would be less than honest to suggest that 
interpreting a PC on a VAX is blindingly fast, but if you compile the C to
assembly code and then patch up the main decode loop by hand and hack away at
the condition code routine, you can help somewhat.  The tape also contains
software to run the file-system-only via a pipe to a test program.  This
runs at normal speed, but only allows the students to test the file system.
Neither of these directories are available on diskette.  The complete PC
simulator is not a real small program :-)  I have found the simulator very
useful for debugging however, as it has a wealth of options for tracing,
breakpoints, and other debugging.

I have had a lot of mail asking about uucp.  I don't have one.  If anyone has
a version that runs on V7 and isn't huge and works (a tall order), let me
know or post it.

There was also some discussion about whether or not B. Dalton deals in 
textbooks.  They certainly do.  I have bought many textbooks at some of their
stores.  The problem is this.  Prentice-Hall, Addison-Wesley, and similar
publishers mostly sell to college book stores.  The discount off list price is
based on the way college book stores work.  B. Dalton simply says "We are big
and we want a bigger discount."  This causes friction.  Sometimes B. Dalton
gives in, sometimes the publisher gives in, and sometimes nobody gives in.
If your local B. Dalton refuses to order the book, try a college book store,
or Prentice-Hall's mail order dept.

Andy Tanenbaum 

bruceb@telesoft.UUCP (Bruce Bergman @favorite) (01/12/87)

> In article <485@uvm-gen.UUCP> hartley@uvm-gen.UUCP (Stephen J. Hartley) writes:
> >>     If anyone is interested, we could set up a newsgroup comp.os.minix to
> >>discuss minix, report bug fixes, distribute updates of individual files etc.
> >>I propose that the initial discussion take place in comp.sys.ibm.pc [...]

> >I would like to second the idea that a news group, comp.os.minix, be set up for
> >discussion and bug reports for MINIX.  If the book becomes as popular as his
> >others, much discussion might result.  A group for discussion and bug reports
> >would be extremely useful, I think.
> -- 
> William Swan  {ihnp4,decvax,allegra,...}!uw-beaver!tikal!sigma!bill

I would also like to see comp.os.minix be created.  I know that there are at least
four people in my company who are really excited about MINIX and are going to buy
a copy as soon as te books arrive.  I can forsee comp.os.minix as being a very
useful newsgroup.

Bruce Bergman
-- 
                 bang!-
allegra!\              \
gould9!  \      crash!--\
ihnp4!    \              \
           >--sdcsvax!---->--telesoft!bruceb  (Bruce Bergman N7HAW)
noscvax!  /              /
scgvaxd! /   sdencore!--/
ucbvax! /              /
              talaris!-

lauren@vortex.UUCP (01/13/87)

I just thought I'd point out something that should be pretty obvious--
but given all the new people on the nets maybe it should be said
explicitly occasionally:

DON'T POST AT&T UNIX BINARIES OR SOURCE (OR BINARIES OR SOURCE BASED ON 
AT&T UNIX SOURCES) TO THE NETWORK!  FOR THAT MATTER, NEVER POST
ANY NON-PUBLIC-DOMAIN SOFTWARE UNLESS YOU HAVE EXPLICIT 
PERMISSION TO DO SO FROM THE ENTITY THAT LICENSES SUCH SOFTWARE!

I mention this in response to Andy's comment to a uucp query where he said
(more or less): "if you have one that runs under V7 let me know or post it."
I assume that he meant to add, "IF and only IF it is PUBLIC-DOMAIN AND NOT
BASED ON AT&T CODE."  This should apply to any and all utilities/programs
(communications programs, compilers, or whatever) that anyone might 
consider for use with MINIX or anything else for that matter--they should not
be non-public-domain code nor should they be based on non-public-domain code.

I know that Andy has been scrupulous in making sure that nothing relating
in any way to AT&T Unix source or binaries has been included in MINIX,
and I assume he wants others to share his respect for non-public-domain code
as well.

As I said above, I believe that most people on the network would consider
the above to be self-evident, but it never hurts to be explicit
once in a while when dealing with a growing network community!

--Lauren--

ast@botter.cs.vu.nl (Andy Tanenbaum) (01/13/87)

Bruce Martin writes:
>   I suppose this should wait until I get the book, but I'm to interested and
> impatient.
> 
>   First, does MINIX run in the protected mode on an AT?  If not, are there
> any plans to support it in the future?
> 
>   Secondly, has anyone given thought to adding swapping to MINIX.  It
> would be very useful, and with hard drives becoming so common-place, not
> out of the question.  It sounds like a lot of work (to me) but well worth
> the trouble.
>

MINIX does not use protected mode on the 286, but adding it wouldn't be that
hard, provided one didn't get overambitious and try to redesign the whole
memory management scheme to use all those segments.  I don't have the time to 
do it, but maybe someone else does.

Although hard disks are getting cheap, so is memory.  I think a better 
improvement would be to allow MINIX to use memory above 640K.  On a system
with lots of memory and fairly small programs, swapping isn't so important.

Andy Tanenbaum (minix@cs.vu.nl)

harris@ecsvax.UUCP (Mark Harris) (01/14/87)

In article <1028@botter.cs.vu.nl>, ast@botter.cs.vu.nl (Andy Tanenbaum) writes:
> Q2: How compatible does a machine have to be to run MINIX?
> A2: It needs a NEC uD765 chip as floppy disk controller, a Motorola 6845 as
>     video controller, etc. 

Will MINIX run with an Enhanced Graphics Adapter?  My system has an
EGA/monochrome monitor.

- Mark Harris, Appalachian State University

rmtodd@uokmax.UUCP (Richard Michael Todd) (01/14/87)

In article <1028@botter.cs.vu.nl>, ast@botter.cs.vu.nl (Andy Tanenbaum) writes:
> Q2: How compatible does a machine have to be to run MINIX?
> A2: It needs a NEC uD765 chip as floppy disk controller, a Motorola 6845 as
>     video controller, etc.  If the hard disk controller is nonstandard, the
>     hard disk won't work, but the rest will.  
This raises an interesting question: how can one tell if one's hard disk
controller is compatible or not (besides getting a copy of MINIX and trying it)?
Does anyone know what type of chips the "standard" controller uses so that I
can see if mine has the same type?
Incidentally, my machine is a Clone (yes, that's the name) by Aerocomp, a
company in Fort Worth.  So far I haven't found anything it won't run.
Thanks for any info anyone out there can give.
--------------------------------------------------------------------------
Richard Todd
USSnail:820 Annie Court,Norman OK 73069
UUCP: {allegra!cbosgd|ihnp4}!okstate!uokmax!rmtodd

jjc@sdiris1.UUCP (Jim Carter) (01/15/87)

As in the Summary, I am new to usenet.  Is MINIX a mini unix,
or is something brand new ??

Jim Carter
Path : ...!sdcsvax!jack!man!sdiris1!jjc

ast@botter.cs.vu.nl (Andy Tanenbaum) (01/15/87)

lauren@vortex writes:

> DON'T POST AT&T UNIX BINARIES OR SOURCE (OR BINARIES OR SOURCE BASED ON 
> AT&T UNIX SOURCES) TO THE NETWORK!  FOR THAT MATTER, NEVER POST
> ANY NON-PUBLIC-DOMAIN SOFTWARE UNLESS YOU HAVE EXPLICIT 
> PERMISSION TO DO SO FROM THE ENTITY THAT LICENSES SUCH SOFTWARE!
> 
> I mention this in response to Andy's comment to a uucp query where he said
> (more or less): "if you have one that runs under V7 let me know or post it."
> I assume that he meant to add, "IF and only IF it is PUBLIC-DOMAIN AND NOT
> BASED ON AT&T CODE."  

Yes of course that is what I meant.  While developing MINIX I was offered
some software from people who shall here remain nameless.  This software
consisted of utilities taken from AT&T UNIX with the identifiers all
changed, the layout modified, and a few changes here and there.  Needless
to say I sent it all back, warning the authors that making cosmetic
changes to AT&T code does not suddenly void their copyright.  If you ever
get taken to court for copyright violation the judge can easily find an
impartial expert witness and ask him if in his opinion the copy was based
on the original.  If he says "yes" there will be trouble.

The MINIX utilities and libraries were all genuinely written from scratch,
without even peeking at the UNIX code.  The only place you may find some
resemblance is in very small subroutines like strcmp.  There are not really
a large number of fundamentally different algorithms for strcmp, so there
will be some similarity.  For larger programs like ls or even cp, there
is no similarity at all.  

The policy on posting MINIX source code is this.  Although it is copyright,
if you have modified some file and think people might be interested in it,
it is ok to mail or post it.  The only thing to keep in mind is that a
large amount of the network traffic goes over dial up phone lines, even if
your site happens to be on the ARPANET.  When you post something, remember
that other people are paying the phone bills.  If you want to post a large
file, it might be a good idea to first announce it and ask people to send
you mail if they are interested.  If there isn't much response, mailing
it to a few people is much cheaper than posting it to the whole world.

On another subject, as you can imagine, I have gotten LOTS of mail, all
of it very encouraging.  However, one person who works for a major defense
contractor said that his employer was planning to aquire MINIX to run on
some PCs.  Perhaps a word of caution is in order.  MINIX was designed with
the goal of being an educational tool, for teaching in university or
corporate classes, or studying yourself.  It was also designed for hackers
to play with at home on their PCs, and things like that.   I don't think I
would like to trust the defense of the entire Western World to it.

If you sort of have the vague notion that putting MINIX on your PC will 
suddenly turn the PC into something like the VAX running 4.3 that you use at 
work, you will be disappointed.  What it does do, is turn the PC into something 
roughly comparable to a low-end PDP-11 running V7.

Mark Harris posted a question concerning MINIX and the EGA board.  I honestly
don't know if MINIX will work with the EGA board.  I don't have access to
one.  Since the terminal driver is very straightforward, if the EGA board
makes a reasonable attempt to emulate the 6845, patching the driver shouldn't
be too hard even if it doesn't work initially.

Andy Tanenbaum

news@cit-vax.Caltech.Edu (Usenet netnews) (01/19/87)

Organization : California Institute of Technology
Keywords: 
From: tim@tomcat.Caltech.Edu (Tim Kay)
Path: tomcat!tim

In article <1033@botter.cs.vu.nl> ast@cs.vu.nl (Andy Tanenbaum) writes:
  [article deleted]
>Andy Tanenbaum

I'd be surprised if I am the first to point out that comp.os.minix
exists, and this information should be posted or at least cross
posted over there.

Timothy L. Kay				tim@csvax.caltech.edu
Department of Computer Science
Caltech, 256-80
Pasadena, CA  91125

petel@teksce.SCE.TEK.COM (Pete Lancashire) (01/22/87)

In article <1033@botter.cs.vu.nl>, ast@botter.cs.vu.nl (Andy Tanenbaum) writes:
....
> 
> On another subject, as you can imagine, I have gotten LOTS of mail, all
> of it very encouraging.  However, one person who works for a major defense
> contractor said that his employer was planning to aquire MINIX to run on
> some PCs.  Perhaps a word of caution is in order.  MINIX....

DOD software might work sometimes if it had a little *hacker* quality to
it.