On Tue, Feb 13, 2007 at 12:07:57PM +0100, frantisek holop wrote: > hmm, on Tue, Feb 13, 2007 at 08:56:24PM +1100, Shane J Pearson said that > > On 13/02/2007, at 8:18 PM, frantisek holop wrote: > > > > >how am i (and fdisk) supposed to make partitions on CHS boundaries > > >if instead of 19457/255/63 fdisk sees the disk as 152627/64/32? > > > > What is the point in trying to align to such boundaries, when the > > physical HDD does not have 255 or 64 heads and those numbers are > > faked due to working around legacy limitations? > > fdisk(8): > > CAVEATS > Hand crafted disk layouts are highly error prone. MBR partitions should > start on a cylinder boundary (head 0, sector 1), except when starting on > track 0, (these should begin at head 1, sector 1). MBR partitions should > also end at cylinder boundaries. > > > as far as i know most of the other OSs also align to boundaries. > > -f > -- > the borg are coming! quick! try and look useless! >
OpenBSD aligns to boundaries. It just makes up the boundaries, as do other OS's. It's unfortunate that all OS's don't make up the same boundaries but until you can convince all OS developers to use the same fake geometry you'll have to live with the current situation. OpenBSD makes absolutely no effort to get 'real' geometry information from USB attached disks. Too many such devices simply freak out and stop working when asked this difficult question. Others make up even more bizarre geometries than the one we use. So OpenBSD uses 64*32, divides the number of sectors (which all devices do provide) by this value to give a cylinder count, and truncates the fractional cylinder. So up to 64*31 = 1984 sectors will be 'wasted'. Windows uses 255 * 63, so up to 255 * 62 = 15,810 sectors could be 'wasted'. Interested parties can examine /usr/src/sys/scsi/sd.c, lines 1344 and 1453. .... Ken