[comp.os.minix] minix 1.3 on 386/vga/rll system

norsk@sequent.UUCP (Doug Thompson) (12/14/89)

I'm in the process of building my home system with the
following components:

	386 Mylex 20Mhz 4mb	$1350
	WD1006SVR-2		$ 125
	ST-4144R		$ 550
	Paradise-16 VGA		$ 299
	NEC-2A			$ 499
	2 TEAC 1.2mb floppy	$ 170

and one of the projects I plan on using the system for
is "playing" with Minix. I have ordered the current 1.3
from P-H and it is back ordered! (is there that much
demand???).

  I have followed the discusions on the use of RLL 
drives with Minix and understand the mods needed to
the wini driver to get it to work. (BTW: why doesn't
the wini driver - which I haven't yet examined -
(on the AT) do a ROM BIOS disk table lookup based
on the disk drive type stored in the CMOS ram??
This is the way I did it on the XENIX drivers I
wrote for a couple of disk controllers while at
Tandon. Is there a serious reason? or is it just
a lack of someone doing it?)

My question is: does 1.3 work on a VGA card? in
EGA mode? does it know the difference? (I haven't
looked at the console driver)

If not, I guess I'll need to move my kids CGA
card in-an-out of my system until a patch
comes across the net or a I it myself.

Finally, have any other individuals run Minix
on the above hardware and what problems have 
they encountered???

Since I am home brewing my system, some people might
not know the Mylex motherboard, since they are sold
mostly to OEMs who put their name on the box. I didn't
see the 'Mylex' Motherboard mentioned in the list
of systems Minix has run on.

TIA - and happy holidays!!!


Douglas Thompson		UUCP: ..{tektronix,ogicse,uunet}!sequent!norsk
Sequent Computer Systems	Phone: (503) 526-5727
15450 SW Koll Parkway	!"The scientist builds to learn;the engineer learns in
Beaverton OR 97006	!order to build."  Fred Brooks
-- 
Douglas Thompson		UUCP: ..{tektronix,ogicse,uunet}!sequent!norsk
Sequent Computer Systems	Phone: (503) 526-5727
15450 SW Koll Parkway	!"The scientist builds to learn;the engineer learns in
Beaverton OR 97006	!order to build."  Fred Brooks

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

norsk@sequent.UUCP (Doug Thompson) writes:
>I'm in the process of building my home system with the
>following components:
>
>	386 Mylex 20Mhz 4mb	$1350
>	WD1006SVR-2		$ 125
>	ST-4144R		$ 550
>	Paradise-16 VGA		$ 299
>	NEC-2A			$ 499
>	2 TEAC 1.2mb floppy	$ 170
>
>and one of the projects I plan on using the system for
>is "playing" with Minix. I have ordered the current 1.3
>from P-H and it is back ordered! (is there that much
>demand???).
 
Apparently so, it took a month for my 1.2 to arrive a few months back.
This was when P-H only understood (and I think they still only understand)
ISBN codes.

>  I have followed the discusions on the use of RLL 
>drives with Minix and understand the mods needed to
>the wini driver to get it to work. (BTW: why doesn't
>the wini driver - which I haven't yet examined -
>(on the AT) do a ROM BIOS disk table lookup based
>on the disk drive type stored in the CMOS ram??
>This is the way I did it on the XENIX drivers I
>wrote for a couple of disk controllers while at
>Tandon. Is there a serious reason? or is it just
>a lack of someone doing it?)
 
Simple, not all BIOS chips store the number of sectors per track in the CMOS
setup RAM.  I know my Phoenix 80286 BIOS Plus 3.10 doesn't (I know later
versions do such as the version that's in the ALR PowerFlex).  Best bet would
be for one to develop a driver so one could force the HD parameters down the
driver's throat.  The driver I'd like to see is a SCSI driver.  One does
not really need to know the HD parameters with respect to SCSI although there
is a command to get the parameters if one wants them.  Since ST412/506 with
MFM encoding seems to be the de facto standard, that's what the winchester
drivers revolve around.
 
>My question is: does 1.3 work on a VGA card? in
>EGA mode? does it know the difference? (I haven't
>looked at the console driver)
 
No, it doesn't know what VGA is.  In fact, to my understanding (please
somebody correct me if I'm wrong) it barely has a notion what EGA is.  The
console driver sole purpose is to put text to the screen, don't expect it to
function along the lines of SunOS whose console drivers know exactly what's
what unless you configure the kernel otherwise.  If I had a bus mouse, I'd
hack around with the mouse driver to try to make it work (if it doesn't
already) with the mouse port in my MDA/HGA/CGA card which is supposedly MS bus
mouse compatable.

>Finally, have any other individuals run Minix
>on the above hardware and what problems have 
>they encountered???
 
Minix finds my 80-Data 16 MHz 286 board kosher along with the WA3-16
controller by Kimpsion International (it's a WD1003-WA2 clone) without any
modifications to the at_wini driver.  You are going to have problems with RLL,
I have no doubts about that, even if all you have to do is to change the
define macro for the number of sectors, it's going to be a pain.  Also, if
your hard drive does NOT have 4 heads, you have to change the define in
fsck.c and in fdisk.c for it to function properly.  I have an ST151 (5 heads,
977 cylinders), and that's what needs to be done or fdisk and fsck will not be
happy.  As for Mylex, Mylex is a major motherboard manufacturer, I suspect it
should work just fine.  I am getting ready to upgrade to a 386SX, and a
prerequisite for the motherboard of the system is that it uses the NEAT Chip
Set by Chips and Technology.  There is a 386 Neat Chip set out there, and I've
see the 386SX's use the original 286 Neat chips since they're only operationg
operating on a 16-bit data bus, they really don't need the 32-bit capability
of the 386 version.  I personally would kill for a Mylex motherboard, but I
think I'll probably try Minix 1.3 on one of the ALR PowerFlex's at work.  I
don't know if they'll work with the embedded 16-bit hard drive controller, but
I do know that SCO certifies them to work with Xenix.  It'd be a shame if it
didn't work since I am considering buying one through the company since it is
upgradeable to a 386SX or 486.
 
     // 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    : {nsoc ucsd hplabs!hd-sdd}!crash!pnet01!jca
 **--------------------------------------------------------------------------*
 */

car@trux.UUCP (Chris Rende) (12/15/89)

In article <901@crash.cts.com>, jca@pnet01.cts.com (John C. Archambeau) writes:
> norsk@sequent.UUCP (Doug Thompson) writes:
> 
> >  I have followed the discusions on the use of RLL 
> >drives with Minix and understand the mods needed to
> >the wini driver to get it to work. (BTW: why doesn't
> >the wini driver - which I haven't yet examined -
> >(on the AT) do a ROM BIOS disk table lookup based
> >on the disk drive type stored in the CMOS ram??
>  
> Simple, not all BIOS chips store the number of sectors per track in the CMOS
> setup RAM.  I know my Phoenix 80286 BIOS Plus 3.10 doesn't (I know later
> versions do such as the version that's in the ALR PowerFlex).  Best bet would
> be for one to develop a driver so one could force the HD parameters down the
> driver's throat.

I'm running Minix 1.2 on an XT with a SMS OMTI 5510/5520 HD controller using
a modified xt_wini. I have 1 ST-213 disk (10Mb: 612 cyl, 2 hds) and
1 ST-412 disk (10Mb: 306 cyl, 4 hds).

The problem I had was that my HD controller does not reveal the disk type
to the computer in the same manner that the standard IBM/WD HD controller
does. The 4 jumpers that are readable by the BIOS mean something different.

So, when xt_wini read the jumpers and looked into the ROM BIOS table of
disk parameters it got bad disk configuration data.

Also, the BIOS ROM supports 16 HD drive types (corresponding to 4 jumpers).
My ST-412 disk is not one of the 16 drives supported in the BIOS ROM.

I solved both problems by hard-coding the drive parameters and forcing the
HD controller to accept the new paramaters (rather than relying on the
jumper settings).

I did this in xt_wini.c:init_params(). [ That's Multics notation :-) ]
After loading the param0 and param1 structures with the appropriate disk
geometry info I make two calls to xt_wini.c:win_specify() to force the
HD controller to accept the new parameters.

I just got this working last night and looks great.

Note that in my case I had to have a HD controller which allows the two
disks to have a different geometry. I <think> that some OMTI 5510
controllers don't allow this.

The next problem I had was fsck. (Talk about a program with lots of magic
numbers all over the place!). It took a bit of looking around to find that
fsck was hardcoded to think that the HD has 4 heads. But, don't look for
the string "HEADS" anywhere, don't look for "4" anywhere, no, you have to
look for "68". Yes, that's the number. You see, "68" is "4*17". Or, 4 heads
times 17 sectors.

However, one of my disks has 2 heads and the other has 4. I put a test in
fsck that changes the number of heads based on which drive is selected.
So far that looks OK too.


car.
-- 
Christopher A. Rende           Central Cartage (Nixdorf/Pyramid/SysVR2/BSD4.3)
uunet!edsews!rphroy!trux!car   Multics,DTSS,Unix,Shortwave,Scanners,StarTrek
 trux!car@uunet.uu.net         Minix 1.2,PC/XT,Mac+,TRS-80 Model I,1802 ELF
       "I don't ever remember forgetting anything." - Chris Rende

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

car@trux.UUCP (Chris Rende) writes:
>I'm running Minix 1.2 on an XT with a SMS OMTI 5510/5520 HD controller using
>a modified xt_wini. I have 1 ST-213 disk (10Mb: 612 cyl, 2 hds) and
>1 ST-412 disk (10Mb: 306 cyl, 4 hds).
>
> [ ... explanation of problem with OMTI 5510/5520 which I'm VERY
>       familiar with, but got very tired of mucking with.        ]
 
I'm very familiar with the OMTI 5520A.  And there's a bit more than getting
around the parameters.  There's a problem with DMA as well, at least with my
system there was.  I finally chucked the thing for a WA3-16 (WD1003-WA2 clone)
controller, Minix works great now.  Although CTRL-ALT-DEL reset makes the
system hang when Minix is rebooted and = is hit.  I believe I have the patch
for that somewhere.  Apparently it deals with resetting the 16-bit AT drive
controller.

>Note that in my case I had to have a HD controller which allows the two
>disks to have a different geometry. I <think> that some OMTI 5510
>controllers don't allow this.
 
The 5520A will allow it, but you have to enter the parameters at low level
format.

>The next problem I had was fsck. (Talk about a program with lots of magic
>numbers all over the place!). It took a bit of looking around to find that
>fsck was hardcoded to think that the HD has 4 heads. But, don't look for
>the string "HEADS" anywhere, don't look for "4" anywhere, no, you have to
>look for "68". Yes, that's the number. You see, "68" is "4*17". Or, 4 heads
>times 17 sectors.
 
Maybe I should have made myself clear, in fsck.c there's a define for the
number of heads, but maybe not in 1.2.  I don't know why you'd be running 1.2
anyway unless you just can't get 1.3 anywhere or it's just too much of a
hassle to get (which I believe is the sole reason why people are still playing
with 1.2 which has some problems, 1.3d is clean for most part).
 
As for controllers, I can not emphasize enough about getting one that is as
Western Digital compatable as you can get.  It saves a lot of wear and tear on
the user.  If anybody is planning on buying a system just for Minix, make
sure the hard drive controller is Western Digital compatable.  The WA3-16 I
personally certify as being WD1003-WA2 as far as Minix is concerned.  I
haven't tried the WA6-V yet which is Kimpsion International's WD1006V-MM2
clone, but I'm sure it will work because of how good the WA3-16 has been.

As Minix evolves, the need to develop standards to get around certain problems
such as hard drive parameters will have to be developed.  Since Phoenix has
put out a BIOS manual that I have seen, it's a trivial matter of now getting
documentation of where hard drive parameters are stored for an AT with an AT
controller, but what if you have an AT with an XT controller?  Or an XT?  Then
there's a problem since everybody (Scientific Micro, Adaptec, Western Digital
(which is the de facto standard), Future Domain, etc.) does it differently. 
So what do we do?  Well, one can have a methodology for overriding hard drive
parameters.  These things will be developed during the evolution of Minix.
 
     // 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
 **--------------------------------------------------------------------------*
 */

car@trux.UUCP (Chris Rende) (12/18/89)

In article <913@crash.cts.com>, jca@pnet01.cts.com (John C. Archambeau) writes:
> car@trux.UUCP (Chris Rende) writes:
> >I'm running Minix 1.2 on an XT with a SMS OMTI 5510/5520 HD controller using
> >a modified xt_wini. I have 1 ST-213 disk (10Mb: 612 cyl, 2 hds) and
> >1 ST-412 disk (10Mb: 306 cyl, 4 hds).
>  
> I'm very familiar with the OMTI 5520A.  And there's a bit more than getting
> around the parameters.  There's a problem with DMA as well, at least with my
> system there was.

Once I changed xt_wini.c:init_params() to call win_specify() with the hard
coded disk geometry information everything started working great.
I'm running Minix 1.2 on an XT, your system sounds like Minix 1.3 on an AT.

> >Note that in my case I had to have a HD controller which allows the two
> >disks to have a different geometry.
>  
> The 5520A will allow it, but you have to enter the parameters at low level
> format.

I used DISK_MANAGER to do the low level format. I just told DISK_MANAGER how
I wanted the disk formatted and it did it.

> I don't know why you'd be running 1.2
> anyway unless you just can't get 1.3 anywhere or it's just too much of a
> hassle to get (which I believe is the sole reason why people are still playing
> with 1.2 which has some problems, 1.3d is clean for most part).

I bought Minix when 1.2 was being shipped. Since I couldn't get Minix to work
with my HD and because I only have one floppy drive I put Minix on the shelf.
Eventually I borrowed another floppy drive, did some hacking on xt_wini, and
got my HD up and running.

Now it is time to catch-up to the rest of the Minix world.

> As for controllers, I can not emphasize enough about getting one that is as
> Western Digital compatable as you can get.

I had to make do with what I could afford. I got a controller and a 10Mb drive
for $50.

car.
-- 
Christopher A. Rende           Central Cartage (Nixdorf/Pyramid/SysVR2/BSD4.3)
uunet!edsews!rphroy!trux!car   Multics,DTSS,Unix,Shortwave,Scanners,StarTrek
 trux!car@uunet.uu.net         Minix 1.2,PC/XT,Mac+,TRS-80 Model I,1802 ELF
       "I don't ever remember forgetting anything." - Chris Rende