[comp.binaries.ibm.pc.d] minix on ibm pc clones

kjh@pollux.usc.edu (Kenneth J. Hendrickson) (12/25/89)

Is is possible to use "off the shelf" ibm pc clone hardware with the
minix operating system?  Please comment on the following:

bios chips on motherboard
hercules, cga, ega, or vga monitor cards
fdd controller cards, with appropriate drives of all sizes
hdd controller cards (western digital), with (multiple) hard disks
parallel printer ports, serial ports, game ports
bus mouse (I assume software can be written for a serial mouse if serial
	ports are supported.)
pc/xt (8088 or 8086) versus pc/at ('286) or '386
c compiler with support for math co-processor ('87, '287, '387)
running only minix - booting up (floppies and/or hard disk)

I have discovered with all my upgrading that I have an extra
(unassembled) pc (minus a case) lying around doing nothing.  It sure
would be nice to have a *ix system to play with!

In the rare case that original ideas   Kenneth J. Hendrickson    N8DGN
are found here, I am responsible.      Owen W328, E. Lansing, MI 48825
Internet: kjh@usc.edu                  UUCP: ...!uunet!usc!pollux!kjh

usenet@cps3xx.UUCP (Usenet file owner) (12/25/89)

In article <21959@usc.edu> kjh@usc.edu writes:
>Is is possible to use "off the shelf" ibm pc clone hardware with the
>minix operating system?  Please comment on the following:
Also, please comment on using exTENDed or exPANDed memory cards.

In the rare case that original ideas   Kenneth J. Hendrickson    N8DGN
are found here, I am responsible.      Owen W328, E. Lansing, MI 48825
Internet: kjh@usc.edu                  UUCP: ...!uunet!usc!pollux!kjh

jca@pnet01.cts.com (John C. Archambeau) (12/26/89)

Might as well post this out in the open since these are commonly asked
questions of Minix.  Now, I am by no means any authority of what's out there,
I just tinker with Minix in my spare (ha ha, what a concept) time.

kjh@pollux.usc.edu (Kenneth J. Hendrickson) writes:
>Is is possible to use "off the shelf" ibm pc clone hardware with the
>minix operating system?  Please comment on the following:
>
>bios chips on motherboard
 
All BIOS chips follow a realitively standard convention of what is in them, so
it's really not an issue, but I personally am biased towards the Phoenix BIOS.

Also, Phoenix puts out a softback BIOS manual that I have seen in bookstores
that documents all of the interrupts and functions in their AT and XT BIOS
chips, so if you have a Phoenix and this book you are set if you are going to
do anything serious with respect to playing around with the BIOS from Minix. 
The BIOS is used as little as possible since it is not interrupt driven as AST
documents in his textbook.  The only time that the BIOS is used for all
practical purposes is at startup time.

>hercules, cga, ega, or vga monitor cards
 
Your video card just has to follow the address conventions for MDA/HGA,
CGA, or EGA.  There's no support of high resolution color graphics in the
standard distribution, but it wouldn't surprise me if somebody tried to
implement something such as a windowing environment.  I expect most video
cards by major manufacturers to function properly, again, I only have a
generic Tiawanese MDA/HGA, CGA card with a printer and (bus) mouse port on it,
and Minix is happy with it.

>fdd controller cards, with appropriate drives of all sizes
 
I've used DTK's AT/XT floppy drive controller in my 16 MHz 286 box and it
works just fine.  Again, the floppy ports are more or less at a standard
address, so if the manufacturer of the card is deviating from the norm, than
that's stupidity on his part.
 
Note that 1.44 Mb 3.5" drives are not supported.  Of course, somebody might
have fixed this.  Minix is happy with both varieties of 5.25" drives and the
720K 3.5" drive.

>hdd controller cards (western digital), with (multiple) hard disks
 
As for hard drive controllers.  I highhly emphasize having one that is as
Western Digital compatable as you can get.  I have a WA3-16 by Kimpsion
International, and as far as Minix, MS-DOS, et. al. are concerned it's a
WD1003-WA2.  It has a WD chip set on it, and is a nice compact card.  Minix is
happy with it.  AST also states in the compatability sheet that all WD
controllers should work.  But I should add a corollary to this, all WD
controllers that support the ST412/506 interface specs will work.  I have yet
to see an ESDI or SCSI driver for Minix, but some kind soul who spent his or
her time and sweat working on one might have a functioning one, so my
apologies to this person if he or she did such a feat, and please send me
e-mail if you do have an ESDI or SCSI driver.
 
Also, RLL has always been a pain to implement, so if you can stay away from
RLL controllers, all the better.

>parallel printer ports, serial ports, game ports
 
The printer ports work if your card puts them at the standard address.  Serial
ports work just fine, and it is highly recommended that one use Bruce Evans'
TTY driver for good interrupt handling.  One can easily notice a significant
performance change before and after upgrading to Evans' driver.  My thanks to
Bruce Evans for his contributions to Minix.
 
Game ports are not support as of yet.  

>bus mouse (I assume software can be written for a serial mouse if serial
>	ports are supported.)
 
It isn't that easy, somebody (I'm terrible remembering who does what unless I
install their contribution to Minix in my system) wrote a serial mouse driver,
so I think there's a bit more than that.  The bus mouse is a different story,
I haven't seen a bus mouse driver.

>pc/xt (8088 or 8086) versus pc/at ('286) or '386
 
Minix was originally written around the 8086/8 architecture, but Evans' wrote
a 286 protect mode kernel upgrade kit.  Whether or not you want to upgrade to
Evans' kernel is up to you, I will probably apply the patches over the
holidays and see what comes of it.  A lot of it depends on what you want Minix
to do for you, if you have a large chuck of extended memory, then it is worth
your while (in my opinion) to go to Minix 286.  AST has stated that Evans'
kernel is part of the standard distribution now, so upgrading to Minix 286
will not put you out in cold.  Evans' is also working on Minix 286 as well.

>c compiler with support for math co-processor ('87, '287, '387)
 
This is my big peeve with Minix.  The C compiler, but then again, for what AST
had to work with, he did a good job.  The C compiler only supports two memory
models 64K (combined instruction and data segments) and 128K (seperate I&D. 
Minix has no support whatsoever for large model programs, but I suspect that
will change once Minix 386 sees the light of day since there is a 386 port of
GNU C (which by the way will run fine on the Atari ST Minix).  There is no
support for the 80x87, but there is a floating point emulation library for it,
one could easily change the FP emulation library just to generate code for the
80x87 chip instead of doing the emulation, but I haven't tinkered with that
library as of yet.  I don't expect to see the problems with the C compiler
disappear until Minix 386 is born or a 286 guru decides to do the ultimate act
of masochism and modify Minix to support large model programs.  The 286 is not
a nice processor to work around and to gain some insight into the matter, one
should probably pick up the book "UNIX Papers for UNIX Developers and Power
Users" by The Waite Group.  It has an article on the design implications of
Unix on an 80286 and 80386.  I just haven't read the article as of yet.  Those
two articles are what motivated me to purchase the book.

>running only minix - booting up (floppies and/or hard disk)
 
There are some patches to make Minix boot from hard disk, I tried Glen
Overby's but I couldn't get it to work, besides, I use DOS more often than
Minix (I know, shoot me!  I'd much rather use SCO Xenix as my primary OS) so
my 10 Mb DOS partition is the active one, I just boot Minix from floppy.  But
of course, my hard drive is dominated by Minix with about 15 Mb left over for
what not (the drive is a 40 Mb ST151).

> Expanded and extended memory cards.

Extended memory is supported as a ramdisk, but remember, you need a 286
machine on up to have extended memory.  There are no expanded memory drives to
to my knowledge, but they probably exist.

Note: My preaching here is based on the KISS (keep it simple, stupid)
philosophy of system administration.  If you feel you can get around the
caveats I have mentioned, then by all means tinker with it.  That's what Minix
is for, to take the mystery out of Unix based operating systems.
 
     // JCA

 /*
 **--------------------------------------------------------------------------*
 ** Flames  : /dev/null                     | My opinions are exactly that,
 ** ARPANET : crash!pnet01!jca@nosc.mil     | mine.  Bill Gates couldn't buy
 ** INTERNET: jca@pnet01.cts.com            | it, but he could rent it.  :)
 ** UUCP    : {nosc ucsd hplabs!hd-sdd}!crash!pnet01!jca
 **--------------------------------------------------------------------------*
 */

brian@trantext.UUCP (Brian Bainter) (12/29/89)

jca@pnet01.cts.com (John C. Archambeau) writes:

>Also, RLL has always been a pain to implement, so if you can stay away from
>RLL controllers, all the better.

John may be correct for a few RLL controllers, but all of those that I have
worked with will work fine if you change the sectors per track in the
program areas that use it (specifically the driver and fsck).  I may be an
exception (I don't think I am that much) but I have been using MINIX with
my ADAPTEC RLL controller for some time now.  I even got it up with version
1.1 of MINIX.  It wasn't really that hard once I found out how many sectors
there were per track on the thing.

Good Luck,
-- 
Brian R. Bainter  KA7TXA
gatech!kd4nc!trantext!brian or
gatech!tomcat!brian

dkadoch@mit-caf.MIT.EDU (Dani Kadoch) (12/29/89)

In article <284@trantext.UUCP> brian@trantext.UUCP (Brian Bainter) writes:
>jca@pnet01.cts.com (John C. Archambeau) writes:
>>Also, RLL has always been a pain to implement, so if you can stay away from
>>RLL controllers, all the better.
>
>John may be correct for a few RLL controllers, but all of those that I have
>worked with will work fine if you change the sectors per track in the
>program areas that use it (specifically the driver and fsck). 

I had MINIX running on a much wierder configuration, with a Perstor
controller card.  This card is similar to RLL in the sense that you
get more storage on your drive, as compared to an MFM standard format.
What it does is that it has 31 sectors per track (RLL = 27, MFM = 17)
so that I get almost twice the storage of an MFM format.  This card
can work on most MFM drives out there, and it uses its own proprietary
undocumented format, and comes with software to low-level format the
drive(s.)  There are no special drivers needed at boot time, since it
has some ROMs that kick in when booting.  Both DOS fdisk and MINIX
fdisk worked fine on it, recognizing the extra storage space.

For those interested in my setup: 10MHz Everex 286 motherboard (a
system 1800,) with a 16-bit Perstor controller, and two Miniscribe
44MB standard MFM drives.  When formatted, each one of these drives
has about 80MB of storage.  I was able to run MINIX with at_wini.c
with NO patches (versions 1.2 and 1.3d.)  DOS handled the drives
equally well.

-- 
/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\
> Dani Kadoch    Microsystems Technology Labs @ Massachusetts Inst. of Tech.  <
> INTERNET: dkadoch@mit-caf.mit.edu        UUCP: ..!ccicpg!cci632!ritcsh!dani <
>           dnk8842@ultb.isc.rit.edu     BITNET: dnk8842@ritvax               <

davidsen@sixhub.UUCP (Wm E. Davidsen Jr) (12/30/89)

In article <284@trantext.UUCP> brian@trantext.UUCP (Brian Bainter) writes:

| John may be correct for a few RLL controllers, but all of those that I have
| worked with will work fine if you change the sectors per track in the
| program areas that use it (specifically the driver and fsck).  

  Just so. The Western Digital RLL *and ESDI* controllers look just like
the standard MFM model, other than the number of sectors per track. I'm
told that the Perstor 180 (31 sector) and 200 (34 sector) units are that
way, too. The one which gets nasty is SCSI.
-- 
	bill davidsen - sysop *IX BBS and Public Access UNIX
davidsen@sixhub.uucp		...!uunet!crdgw1!sixhub!davidsen

"Getting old is bad, but it beats the hell out of the alternative" -anon