*BSD News Article 3383


Return to BSD News archive

Newsgroups: comp.unix.bsd
Path: sserve!manuel!munnari.oz.au!uunet!math.fu-berlin.de!fub!einoed!bitcave!jdb
From: jdb@bitcave.in-berlin.de (Joern D. Busch)
Subject: bad144 / ESDI question
Message-ID: <1992Aug09.220730.6246@bitcave.in-berlin.de>
Organization: BitCave BBS, Berlin, FRG
Date: Sun, 09 Aug 1992 22:07:30 GMT
Lines: 61


I'm trying to custom install 386bsd on a WD-1007V/st2383e combination.
Everything works ok, except I don't get bad sector handling to work.

When doing the controller's low-level format I disabled 'alternate sectors',
but I do let the controller mark the bad sectors it knows about. 

After booting the new fixit.fs I proceed:

disklabel -w -r wd0 st2383e	(disktab entry see below)
newfs wd0a
newfs wd0h
bad144 wd0 0

Then I install the files from floppy as described by Chris D. G. (see FAQ).

After that I mread bin01.* to /tmp.  Extract then tells me repeatedly
that there are corrupt files, and when I move or delete those and reload
them, extract eventually proceeds, but produces random damaged files.

So I guess it writes happily onto the bad sectors, and I should mark
them by hand using bad144.  Or does 'format' take care about bad sectors
marked by the controller?  There is no 'format' in fixit.fs, however.
Or should I use the controller's 'alternate sector' option?

Assuming I have to bad144 the bad sectors by hand, how do I translate
the controller's output when marking bad sectors:

	Head x, Cylinder y, Byte count from index z

to a bad144 parameter?  I'm not sure what 'byte count from index' really
means.  I assumed it is the byte offset of a bad sector within a given
Cyl/Head area, leading to the following formula (:nt#7:ns#53:) :

	(Cyl*7*53) + (Head*53) + (ByteCount/512)

Using this as a parameter to bad144 -a the right cyls and heads get
marked, except ByteCount/512 is out of range (max 53) in some cases,
so that cyl/head numbers get wrapped.  Do I have to divide ByteCount
by something other than the sector size?  Like sector size plus a
certain overhead?

What am I missing?  Am I totally off the right track?  ;-)
Any hints appreciated  8-)

cheers,
	Joern.

------------------disktab entry follows----------------
st2383e|Seagate ST-2383E (94246-383) Wren 6 ESDI connected to WD-1007V :\
	:ty=winchester:dt=ESDI:se#512:nt#7:ns#53:nc#1744:rm#3600:sf: \
	:pa#47488:oa#0:ba#8192:fa#1024:ta=4.2BSD: \
	:pb#47488:ob#47488:tb=swap: \
	:pc#647024:oc#0: \
	:pd#647024:od#0: \
	:ph#550193:oh#94976:bh#8192:fh#1024:th=4.2BSD:
(leaving 5 cyls room for bad sector handling)

-- 
     Joern D. Busch, Postfach 210401, 1000 Berlin 21, FRG, (+49 30) 3931111
jdb@bitcave.in-berlin.de ..!mcsun!unido!fub!einoed!bitcave!jdb ..which reality?