Return to BSD News archive
Newsgroups: comp.os.386bsd.bugs Path: sserve!newshost.anu.edu.au!munnari.oz.au!news.Hawaii.Edu!ames!haven.umd.edu!darwin.sura.net!europa.eng.gtefsd.com!uunet!pipex!ibmpcug!ibmpcug!iocgate!news!dfr From: dfr@rhino.ioc.co.uk (Doug Rabson) Subject: Re: bad144 problem? Sender: news@ioc.co.uk Message-ID: <DFR.93Aug26160534@rhino.ioc.co.uk> In-Reply-To: bde@kralizec.zeta.org.au's message of 24 Aug 1993 11:26:28 +1000 Date: Thu, 26 Aug 1993 15:05:34 GMT References: <9322908.27770@mulga.cs.mu.OZ.AU> <1993Aug16.180751.16931@crash> <24qnlt$s4p@hrd769.brooks.af.mil> <256js2INN1jk@kralizec.zeta.org.au> <25bqo4INNg1m@kralizec.zeta.org.au> Nntp-Posting-Host: rhino.ioc.co.uk Organization: Intelligent Office Company Ltd. Lines: 54 In article <25bqo4INNg1m@kralizec.zeta.org.au> bde@kralizec.zeta.org.au (Bruce Evans) writes: > > In <256js2INN1jk@kralizec.zeta.org.au> bde@kralizec.zeta.org.au (Bruce Evans) writes: > > >I previously gave an (untested) example of how to split a disk so that > >the 'c' partition ended at cylinder 1023. It would probably be better > >to end it just above partition 'a', e.g.: > > >386BSD partition: cylinders 400-1746: > > 'a' partition 400-598 (root) > > 'b' partition 600-799 (swap) > > 'c' partition 400-599 (label is on 400, bad144 stuff on 599) > > 'd' partition 0-1746 (whole disk) > > 'e' partition 600-1746 (usr) > > >This is also untested. > > This turns out not to work, due to a suite of bugs and one check. This > is what happens: > > [description of bugs 1-5 deleted] > > new boot blocks: > The new BIOS boot blocks think that the bad sector table is always at > the end of the disk (bug 6). > > [bug 7 deleted] > > The inconsistency between bad144 and everything else can be avoided by > making partition 'c' go to the end of the disk. This is dangerous if > the 386BSD partition doesn't go to the end of the disk, and it might > force the last cylinder above 1023 unecessarily. > > I've fixed bugs 1, 2, 3, 4, 5, 7 and 8. I'm not sure what to do about > the weak but sensible range checking in bad144. How have you fixed bug 6? If you put the bad sector table at the end of the disk (i.e. in track 1746) then the BIOS boot blocks cannot read it (track number too large). It HAS to be readable by the boot sector otherwise it cannot boot kernels which include bad (forwarded) sectors (this happened to me :-( ) For the BIOS to be able to read the bad sector table it needs to be in a reachable track so why not make all of the different things which read or write it take it from the end of partition 'c' (as bad144 expected) and then make partition 'c' cover the same region as the the DOS partition entry (isn't that what it is intended to do?) > -- > Bruce Evans bde@kralizec.zeta.org.au -- Doug Rabson, IOC Ltd. | Email: dfr@ioc.co.uk Phone: +44 81 528 9864 | Fax: +44 81 528 9878 |