home *** CD-ROM | disk | FTP | other *** search
- Path: sparky!uunet!mcsun!sunic!dkuug!flshub!phk
- From: phk@data.fls.dk (Poul-Henning Kamp)
- Newsgroups: comp.unix.bsd
- Subject: 386BSD 0.1, disklabel problem isolated !
- Message-ID: <1992Jul26.080147.4506@data.fls.dk>
- Date: 26 Jul 92 08:01:47 GMT
- Organization: FLS Data A/S, Valby, Copenhagen, Denmark.
- Lines: 43
-
- I have a Western Digital WDC 4200 "Piranha" disk, it's an IDE of 202 Mb.
- The real physical layout is 1263 cyl, 8 heads, 41 sectors. But to keep
- MS/DOS happy the drive reports 967 cyl, 12 heads 35 sect. If I set the
- BIOS to the real values 1263,8,41 and create a 15 Mb DOS partition,
- install 386BSD 0.1 from the dist.fs things are OK until I try to boot the
- 386BSD from the disk.
-
- It seems from the debug that the disklabel IS found, but then the drive
- is probed and the cylinder count is clipped to 967, though the heads and the
- sect counts is left untouched.
-
- Since a lot of this translation stuff is going on, I think it is important
- to get this handled right:
-
- 1) Use BIOS-values and boot-block to find disklabel.
-
- 2) Use values in disklabel, unless the drive tells us otherwise:
-
- if(drive.sect == label.sect && drive.head == label.head)
- label.cyl = drive.cyl;
-
- In my experience this will solve the most widespread problems with
- ESDI/IDE drives:
-
- 1) drives simply not matched by the BIOS, in this case the disklabel
- can containe the right values, supported by the drives own idea.
-
- 2) drives crippled by manufactures to match a "VENDOR_X"-67 Mb drive,
- even though the drive is 84 Mb, the right cylinder count can be picked
- up from the drive.
-
- 3) cases like mine where even the bloddy drive is exposed to the famous
- MS-DOS brain-damage...
-
- As soon as I can I'll produce a patch for this.
-
- Don't forget to enjoy other aspects of life, even though you have got your
- own unix box at home now ! :-)
- --
- phk@data.fls.dk || If you can't join 'em -- beat 'em !
- Poul-Henning Kamp || the Danish foreign minister
- FLS DATA A/S ||
- Phone: (+45) 36 18 12 35 ||
-