Return to BSD News archive
Path: sserve!manuel!munnari.oz.au!mips!mips!news.cs.indiana.edu!ux1.cso.uiuc.edu!roundup.crhc.uiuc.edu!uivlsisd.csl.uiuc.edu!terry From: terry@uivlsisd.csl.uiuc.edu (Terry Lee) Newsgroups: comp.unix.bsd Subject: Bad144 sector mapping tips Date: 24 Jul 1992 21:41:09 GMT Organization: Coordinated Science Lab., Univ. of Illinois at Urbana-Champaign Lines: 45 Message-ID: <l70u7lINNbh2@roundup.crhc.uiuc.edu> NNTP-Posting-Host: uivlsisd.csl.uiuc.edu Keywords: bad144 Thanks Bill and Lynne for making 386BSD possible! For anyone who is trying to get bad144 bad sector mapping to work for MFM/RLL/ESDI drives, here's some tips and anomalies (?) I've discovered: 1. The install program might not put the 'sf' flag (enable bad144 handling) in the disklabel. The output of 'disklabel -r wd0' should have a line that says "flags: badsect". If 'badsect' is not there, use 'disklabel -e wd0' to put it there. 2. According to INSTALL.NOTES, when a bad sector is accessed, an error message should indicate the bad sector number. So far, I've only gotten an error message (and not in the form given in INSTALL.NOTES) when the bad sector is in the swap partition. And the sector number reported is relative to the start of the 386BSD partition (bad144 expects sector numbers relative to cylinder 0). 3. Be sure to use 'bad144 wd0 0' to first clear the bad sector list. 4. To find bad sectors in the 386BSD partition, use 'dd if=/dev/wd0c of=/dev/null bs=512'. If error 5 is reported, then a bad sector is found. For example, let's assume the offset of wd0c is 200000. If 'dd if=/dev/wd0c of=/dev/null bs=512' reports error 5 ... 13500+0 records in 13500+0 records out then sector #213500 (relative to cylinder 0) is bad. However, the last part of /dev/wd0c (one cylinder + 126 sectors) is reserved for bad sector mapping; don't try to map any bad sectors found in this area! 5. According to INSTALL.NOTES, 'bad144 -a wd0 213500' (for our example) should have done the trick. But on my system, 'bad144 -a -c wd0 213500' is needed. Is this a bug? 6. Repeat steps 4 and 5 until all bad sectors (except those in the last cylinder + 126 sectors) are mapped out (I know, yech!). This is not very elegant, but it works. I'll try to write a program sometimes to do this better. Is someone already working on this? I hope this helps someone. Of course, standard disclaimers apply! ---------- Terry Lee terry@uivlsi.csl.uiuc.edu