Date: 25 Nov 1996 18:16:04 +0000 From: Paul Richards <p.richards@elsevier.co.uk> To: Bruce Evans <bde@zeta.org.au> Cc: current@freebsd.org, fenner@parc.xerox.com Subject: Re: 2.2-ALPHA install failure Message-ID: <57ohgmniqj.fsf@tees.elsevier.co.uk> In-Reply-To: Bruce Evans's message of Sun, 24 Nov 1996 08:19:46 %2B1100 References: <199611232119.IAA05102@godzilla.zeta.org.au>
next in thread | previous in thread | raw e-mail | index | archive | help
Bruce Evans <bde@zeta.org.au> writes: > This behaviour is very natural if you know that there are only 6 sector > bits, 8 head bits and 10 cylinder bits. Values larger than 1023/255/63 > get truncated mod 1024/256/64 in each field. Geometries which would > cause truncated sector or head bits must not be used. Truncation of > cylinder bits is usually harmless provided you don't want to boot from > a partition above cylinder 1023 or run a lesser O/S that doesn't support > such partitions. A colleague here that I just co-erced into switching from SCO to FreeBSD (Ok, didn't take that much effort) has had some problem that I'm still collecting info on but basically, it seems that he had set the number of cylinders in his BIOS to some large value and that SCO had written a MBR that had used the full number of bits from the BIOS for the number of cylinders (i.e. without truncation) and from our initial guess and put FF's into the other MBR entries. FreeBSD isn't seeing the partitions on the the end of the disk because our bootblock masks the high bits of the no. cylinder field from the BIOS (perfectly correctly as per spec) so FreeBSD has a weird idea of things since SCO wrote the MBR and cheats by using the all the bits the BIOS sends provides it. He's going to provide more complete details. > Flexible SCSI BIOS geometries also cause interesting bootstrapping > problems. Suppose that the geometry is initially 64/32 for some reason, > but you don't want that. You run fdisk and tell it the geometry that > you want (normally 255/63) and then change the partition table, being > careful to end partitions on (new) cylinder boundaries. The kernel will > detect the changed geometry in some circumstances. The SCSI BIOS will > detect on the next boot. However, if you make a mistake with the > cylinder boundaries, then the SCSI BIOS might detect garbage and switch > to a default that might not work. It's safest to reboot immediately and > check that the changes worked right. Hmm, can't the driver contain this knowledge? i.e. the driver could export it's default geometry to userland so libdisk knows what the default geometry for that controller is and use it in preference to guessing. DOS never seems to have these problems and when I run into difficulties I usuall stick a small DOS partition on the disk to get a valid MBR. I assume it's just letting the controller pick a default. -- Paul Richards. Originative Solutions Ltd. (Netcraft Ltd. contractor) Elsevier Science TIS online journal project. Email: p.richards@elsevier.co.uk Phone: 0370 462071 (Mobile), +44 (0)1865 843155
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?57ohgmniqj.fsf>