[Oberon] Partitions.Show failure
eas-lab at absamail.co.za
eas-lab at absamail.co.za
Tue Aug 19 20:03:31 CEST 2003
> > Vasile Rotaru wrote:
> > > I am trying to install NO on a new comp, and after mid-clicking on
> > > Partitions.Show it barfs on me with "error 9". Any suggestions?
> > >
> > > The disk is a WDC WD200BB-00DEA0 model (18 GB), and was
> > > partioned with Debian cfdisk.
> >
> > You don't say what version of NO.
> > I use ver 2001 and Partitions.Show always works on all/several IDE's.
> >
>
> It is the version I used before (the alpha/last one, I guess).
> I must have somewhere other version of NO. I'll try it too, thank you.
>
>
> > Searching for "error" on Partitions.Mod shows:
> > ] Texts.WriteString(w, "error "); Texts.WriteInt(w, res, 1)
> > which doesn't fit your report.
> >
> > Nor does:
> > ] NoSpaceAvailable = 9001;
> > ] CoreMismatch = 9002; (* core file on disk does not match *)
> > ] CoreChecksumError = 9003; (* core file checksum mismatch *)
> > ] OutOfSlots = 9004; (* out of primary partition slots *)
> > ] PartitionTooSmall = 9005; (* partition too small to create *)
> >
> >
> > > Or has is anything to do with the BIOS settings (LBA, NORMAL...)?
> > If linux sees the partitions, I'd expect NO to also see them ?
> >
>
> As far as I know, the linux kernel does not use BIOS calls at all...,
> but LILO (the bootloader) should use them, so I just don't know.
> I have found an NO version 2.3.6 and have tried it.
This should be a well tested version ?
My v2.3.6s are Linux and DOSbased. Obviously yours is StandAlone ?
>
> When I select the ATA/EIDE driver, Partition.Show fails with error 9.
> When I select the IDE(old) driver, Partition.Show/Create works OK,
> but Partition.Check fails. (Or it fails later with the same trap if I skip
> Partition.Check). I have tried to move the partition forth and back,
> but it didn't help. I will have to check the disk for bad blocks :(.
>
This looks like a BIG problem.
> Anyway, I'm appending both traps,
>
> Partition.Show, widh ATA/EIDE driver
> ATADisk* ==> ATADisks.Obj Watson.ShowDef ^
> PROCEDURE Install;
>
> TRAP 17 Disk error
> ATADisk.Report PC = 9213
> err = 9
> ATADisk.TransferBlocks PC = 9806
> bufAdr = 1176324
> ctrl = 0030EC60H
> dev = 0030ECE0H
> drive = 0
> lba = 1
> num = 0
> num1 = 1
> read = TRUE
> res = 9
> try = 0
> ATADisk.GetBlocks PC = 9854
> buf = L, O, 00000001X, 00000000X, 00000016X, 00000002X, 00000000X, 00000000X ...
> drive = 0
> num = 1
> ofs = 0
> start = 0
> Partition.GetHDParams PC = 7258
Can't you look at PROC ATADisk.TransferBlocks
using the value of the variables shown in the TRAP, and try to see
what condition causes "err = 9"
And if need be, work your way down the 'calling-chain' as shown by the
Trap-trace: ATADisk.TransferBlock > ATADisk.GetBlocks >
Partition.GetHDParams > Partition.GetInfo> ....
------------------------------------------
> Partition.Check, with IDE(old) driver
>
> TRAP 17 Disk error
> IDEDisk.GetBlocks PC = 4107
> Error.err = 0
> buf = 000000E9X, 000000BCX, 00000001X, 00000000X, 00000000X, h, 00000080X, % ...
> drive = 0
> err = 6013
> num = 16
> ofs = 0
> start = 24805896
> Partition.Check PC = 14880
> ch = 00000000X
> date = 53009
> i = 1536
> len = 16
> num = 6
> pc = 0
> pr = 10
> seed = 5294032
> size = 192780
> start = 24804360
> t0 = 66935
> t1 = 0
> ticks = 83058
> Oberon.Call PC = 4672
This one also fails with the hardware driver AFAIK ?
So it looks as if the problem is with the IDE, not the software.
Perhaps the way NO initially starts 'getting to the partition'
is a problem that linux avoids - is more tolerant to ?
> I have allocated a partition, I have checked it with linux "badblocks".
> No bad blocks found. But Partition. Check still fails. :(
>
I suppose you don't have another IDE to check ?
-- Chris Glur.
More information about the Oberon
mailing list