[comp.os.minix] Hard disk hassles + minix.img format problem

Hugh_Messenger.EuroPARC@xerox.com (11/15/88)

Folks,

I'm having severe problems getting Minix flying on my Mega ST4 with (non
Atari) hard disk.  If I disconnect the hard drive (a Triangle Turbo 40Mb
drive from Soft Innovation) everything goes OK.  As soon as the hard drive
is connected, the boot sequence fails due to a persistent fd0 timeout when
it attempts to read the root file system disk (10.ROOT).

My set up is:  Mega ST4, colour monitor, Triangle 40Mb drive, SLM804 laser,
Dowtey modem on the serial port, Panasonic dot matrix on the parallel port.
I've tried disconnecting everything, and for all but the initial attempts I
had the hard drive plugged straight in the back of the Mega rather than in
to the SLM interface box.  The hard drive is configured as dma device 7.

I've tried using rflop in the cli to create a minix.img ("rflop a:
c:\minix\minix.img 130000")  and boot from TOS using minix.prg, but however
I try it (with or without hard disk connected, to/from floppy, to/from RAM
disk, to/from hard disk etc, altering the rflop parameters as appropriate),
when I run minix.prg it complains that minix.img is in the wrong format and
drops back to GEM.  This problem seems to be unrelated to the hard disk (as
it still occurs with the hard disk unconnected), but I was kind of hoping
that the minix.img boot procedure would be a work around for my fd0 timeout
problem.

Anyone got any suggestions?  If I can't use my hard disk, I can't use
minix, and I can't afford to go buy 2 Atari 20Mb drives to replace my one
40Mb unit (which hasn't given me any problems up till now).

Help!

   -- Hugh
   -- Hippo.EuroPARC@Xerox.COM

PS.  Feel free to mail to the list, but please include my direct address -
I've only just gotten round to asking to be put back on info-minix after
changing my mail address a while ago, and it may take a couple of days for
my request to get processed.

Hugh_Messenger.EuroPARC@xerox.com (11/16/88)

BTW, the Triangle 40Mb hard drive I refered to in my last posting (fd0
timeouts when accessing the root floppy during booting if the hard disk is
connected) has a custom disk controller based on the NEC ST506 / 412 chip
set.  I just talked to the manufacturer, and he is as puzzled as I am.
He's sending me the specs for the controller, but I just can't think where
to start looking for the problem.  How can having a hard disk connected
cause fd0 timeouts ...

Any suggestions whatsoever gratefully received.

   -- Hugh 
   -- Hippo.EuroPARC@Xerox.COM

Hugh_Messenger.EuroPARC@xerox.com (11/18/88)

My Triangle 40Mb hard disk problem has strangely mutated itself.  It now
doesn't get as far as attempting to find the root fs on fd0, and instead
the only message printed at boot time is

kernel panic: disk task got message from -1
Press reset button.

(or words to that effect)

I suspect that this may be due to having the SLM804 interface connected, as
this is the only change I have made since previous attempts at booting with
the hard disk connected.  Has anyone else experienced problems with the
SLM804C?  If the SLM804C is responsible, this could make developing a
driver for the SLM804 slightly tricky ..

I've resigned myself to having to write a new hard disk driver, and am
trying to get a hold of the specs and source code for the NEC ST506 and
original TOS driver.  Does anyone else out there have one of these Triangle
drives, or any drive that uses the NEC ST506 chip set?  Has anyone got any
non-standard hard disk drivers I could look at (I've never written a disk
driver before)?

As for the minix.img problem ("incorrect format") - has this been tracked
down yet?  I see from other postings that I'm not the only one with this
problem.

   -- Hugh
   -- Hippo.EuroPARC@Xerox.COM

/* Xerox PARC are in no way associated with my MINIX-ST traumas */
#include <std_disclaimer.h>

hcj@lzaz.ATT.COM (HC Johnson) (11/18/88)

<...Triangle 40 MB drive and SLM804 
<...minix.img

The core of the minix.img bad format problem is that the tos
program is brain damaged.  I recently posted fixes for it.

From the mixed litany on hard disk problems I think you all should
know about the following:

1. MINIX is interrupt driven.  As such it requires no spurious interrupts,
and no ambiguity in whether it will get one or not.  From the various
net reports its clear that the Atari SH204 and BMS-100 do it right.
Also, one can presume that the early Supra does it wrong.

   TOS uses no hard disk interrupts, so it can work perfectly and have
MINIX fail completely.  BTW, UNIX(r) has a  history of breaking computers!
It always does things differently from the manufacturer. Ask any DEC UNIX
GURU.

2. The interaction of a hard disk interface and the floppy is wicked.
If anything fouls up on the hard disk side it ors junk with the floppy
reads and both fail.

3. The stwini.c, as written, cannot handle more than drive 0 on controller 0.
Changing the NDRIVES to n will not do the job.

Howard C. Johnson
ATT Bell Labs
...lzaz!hcj

hyc@math.lsa.umich.edu (Howard Chu) (11/27/88)

In article <274@lzaz.ATT.COM> hcj@lzaz.ATT.COM (HC Johnson) writes:
>3. The stwini.c, as written, cannot handle more than drive 0 on controller 0.
>Changing the NDRIVES to n will not do the job.

I wish I knew what problems you were running into... I've just built a new
kernel with NDRIVES set to 4, and I can access my additional drives fine.
(Granted, I only have TOS partitions on the other drive... And by the way,
thanks very much for posting that fixed tos.c. It makes using Minix without
a serial driver so much more livable...)

Of course, I think there's something a bit flaky with the hard disk naming
scheme... Here's a little script I wrote to create hard drive entries in /dev,
in what I think is a better style...

::::::::::::::::::::::::::::::::
#!/bin/sh
# Run with arg1 as number of drive to create.  -- hyc
N=$1
M=`expr $N '*' 8`
for I in 0 a b c d e
do
J=hd${N}$I; echo $J
mknod $J b 3 $M; chmod 600 $J
mknod r$J c 3 $M; chmod 600 r$J
M=`expr $M + 1`
done
::::::::::::::::::::::::::::::::

As you can see, it loops over "0 a b c d e" for minor numbers 0-5. I omit
6 and 7 since they don't do anything right now... All it does is create
special files named, e.g., hd0a instead of hd1. Makes it easier to keep
track of multiple drives, I think. (I have two SCSI drives with embedded
controllers, so my system has hd0? and hd2? ... Is there any way to add
another drive to one of these Miniscribe embedded controllers?)
--
  /
 /_ , ,_.                      Howard Chu
/ /(_/(__                University of Michigan
    /           Computing Center          College of LS&A
   '              Unix Project          Information Systems