January 26, 2015

MightyFrame Formatting Maxtor XT-2190 followed by mkfs

screen shots...wow...it took us SO long to get here.

Working with Sasa via Skype, I figured out how to trick the MightyFrame to format a Maxtor XT-2190 (physical) hard drive on D1, while the MFM Emulator ran the OS on D0.  


I discovered some bizarre thing that slice 1 is not really healthy, but s3 is, so if I fsck s3, then copy any program I want to run to s3, then I can trick the thing into actually working!

So, after 4 tries, I finally succeed at formatting the Maxtor the "factory" way, as far as I can tell...

I used the description file I list here. (note I did this on the MightyFrame, NOT the UNIX PC).

at the end, I get an i/o error, but enough worked before that, that I just don't care. It's now a formatted, recognizable disk with slices and next, mkfs on s1 and s3!

So, here's the terminal/console output for the process:


# iv -iv /dev/rdsk/c0d1s0 desc.190M

/dev/rdsk/c0d1s0
Device Type: HD   Name: Serno   (ecc format)    (hitech)
Cylinders: 1224  Heads: 15  Sectors: 17

** Phase 1 - Initializing Internal VHB.
** Phase 2 - Formatting Winchester Disk.
** Phase 3 - Performing Surface Check.
bad block: cyl=16 trk=251 sec=4275
adding bad block on read only test 4275
Added Bad Block: Cylinder 16, Track 11, Sector 8.
        Used Track 251 as the Alternate.
bad block: cyl=17 trk=266 sec=4530
adding bad block on read only test 4530
Added Bad Block: Cylinder 17, Track 11, Sector 8.
        Used Track 266 as the Alternate.
bad block: cyl=18 trk=281 sec=4785
adding bad block on read only test 4785
Added Bad Block: Cylinder 18, Track 11, Sector 8.
        Used Track 281 as the Alternate.
bad block: cyl=36 trk=550 sec=9351
adding bad block on read only test 9351
Added Bad Block: Cylinder 36, Track 10, Sector 1.
        Used Track 550 as the Alternate.
bad block: cyl=237 trk=3557 sec=60474
adding bad block on read only test 60474
Added Bad Block: Cylinder 237, Track 2, Sector 5.
        Used Track 3557 as the Alternate.
bad block: cyl=317 trk=4764 sec=80998
adding bad block on read only test 80998
Added Bad Block: Cylinder 317, Track 9, Sector 10.
        Used Track 4764 as the Alternate.
bad block: cyl=355 trk=5335 sec=90696
adding bad block on read only test 90696
Added Bad Block: Cylinder 355, Track 10, Sector 1.
        Used Track 5335 as the Alternate.
bad block: cyl=579 trk=8687 sec=147691
adding bad block on read only test 147691
Added Bad Block: Cylinder 579, Track 2, Sector 12.
        Used Track 8687 as the Alternate.
bad block: cyl=588 trk=8821 sec=149972
adding bad block on read only test 149972
Added Bad Block: Cylinder 588, Track 1, Sector 15.
        Used Track 8821 as the Alternate.
bad block: cyl=797 trk=11963 sec=203371
adding bad block on read only test 203371
Added Bad Block: Cylinder 797, Track 8, Sector 0.
        Used Track 11963 as the Alternate.
bad block: cyl=913 trk=13709 sec=233057
adding bad block on read only test 233057
Added Bad Block: Cylinder 913, Track 14, Sector 4.
        Used Track 13709 as the Alternate.
bad block: cyl=1147 trk=17214 sec=292638
adding bad block on read only test 292638
Added Bad Block: Cylinder 1147, Track 9, Sector 0.
        Used Track 17214 as the Alternate.
** Phase 4 - Writing out new VHB.
** Phase 5 - Writing out new BBT.
The Bad Block Table contains 12 entries.
iv: I/O error
#


And check the work.......

# iv -t /dev/rdsk/c0d1s0
Winchester disk
Volume Name:  Serno
1224 Cylinders. 15 Heads per Cylinder.
There are 17 Physical Sectors (of 512 bytes) per Track.
        255 Physical Sectors per Cylinder, 312120 Physical Sectors per Disk.
There are 8 Logical Blocks (of 1024 bytes) per Track.
        120 Logical Blocks per Cylinder, 146880 Logical Blocks per Disk.
Head select bit 3 is valid.
Write precompensation is not set.
The Step Rate supplied to the Controller is 14.
ECC mode
Partition 0: start Block=0 (track 0), size (in Blocks)=1360
Partition 1: start Block=1360 (track 170), size (in Blocks)=16000
Partition 2: start Block=17360 (track 2170), size (in Blocks)=8000
Partition 3: start Block=25360 (track 3170), size (in Blocks)=20000
Partition 4: start Block=45360 (track 5670), size (in Blocks)=20000
Partition 5: start Block=65360 (track 8170), size (in Blocks)=20000
Partition 6: start Block=85360 (track 10670), size (in Blocks)=20000
Partition 7: start Block=105360 (track 13170), size (in Blocks)=20000
Partition 8: start Block=125360 (track 15670), size (in Blocks)=21520
Loader starts at Block 3 (size=30 Blocks).
Bad Block Table starts at Block 1 (size=2 Blocks).
Dump Area starts at Block 33 (size=1024 Blocks).
Down Load File starts at Block 1057 (size=290 Blocks).
The Bad Block Table contains 11 entries.
#

See the VHB for the first time!  Note, no bootloader, but I don't care...I know exactly how to put one on.



# mkfs /dev/dsk/c0d1s1
slice 1, blocks 16000, sectors per cyl 240
Mkfs: /dev/dsk/c0d1s1?
(DEL if wrong)
bytes per logical block = 1024
total logical blocks = 16000
total inodes = 4000
gap (physical blocks) = 1
cylinder size (physical blocks) = 240
#
# mkfs /dev/dsk/c0d1s3
slice 3, blocks 20000, sectors per cyl 240
Mkfs: /dev/dsk/c0d1s3?
(DEL if wrong)
yes
bytes per logical block = 1024
total logical blocks = 20000
total inodes = 4992
gap (physical blocks) = 1
cylinder size (physical blocks) = 240
# yes: not found

mkdir wouldn't run from anywhere, until I copied it from /etc/mkdir to /usr/mkdir (where /usr is mounted to c0d0s3).  But then I have to specify the system to run THAT mkdir.

# cd /usr
# cd data2
# ls
vhb.xt2190.mf

# /usr/mkdir d1s1
# /usr/mkdir d1s3
# mount /dev/dsk/c0d1s1 d1s1
usage: preceed argument with / such as : /d1s1
#
# mount /dev/dsk/c0d1s1 /usr/data2/d1s1
WARNING!! - mounting: <> as </usr/d>
# ls
d1s1           d1s3           vhb.xt2190.mf
# cd d1s1
# ls -l
total 0
#
# /usr/mkdir /usr/data2/d1s1/bin
# ls -l
total 2
drwxrwxrwx   2 root     0             32 Jan 16 14:30 bin
# cd bin
# ls -l
total 0
# cp /bin/* /usr/data2/d1s1/bin
cp: bad copy to /usr/data2/d1s1/bin/telinit
cp: bad copy to /usr/data2/d1s1/bin/time
cp: bad copy to /usr/data2/d1s1/bin/touch
cp: bad copy to /usr/data2/d1s1/bin/true
cp: bad copy to /usr/data2/d1s1/bin/tty
cp: bad copy to /usr/data2/d1s1/bin/u370
cp: bad copy to /usr/data2/d1s1/bin/u3b
cp: cannot create /usr/data2/d1s1/bin/u3b5
cp: cannot open /bin/uname
cp: cannot open /bin/vax
cp: cannot open /bin/wc
cp: cannot open /bin/who
cp: cannot open /bin/write

#