Subject: Re: FW: Question/Help?
To: None <port-sparc@netbsd.org>
From: der Mouse <mouse@Rodents.Montreal.QC.CA>
List: port-sparc
Date: 10/07/1998 10:57:46
>> I think I don't quite understand.  In what sense does a partition
>> *have* a notion of blks/cyl? 

> The partition table is part of the disk label.  The disk label also
> has values for sectors per track, tracks per cylinder, and so on
> (i.e. disk drive geometry). If the number of blocks in any partition
> in the label is not a whole number of cylinders, the PROMs (which do
> read the disklabel) become unhappy.

This does not match my experience.

The machine in front of me right now boots from what it knows as sd0.
The machine is a SS1+ ("Sun 4/65", "MB86900/1A or L64801 @ 25 MHz,
WTL3170/2 FPU").  Here's what "disklabel sd0" reports:

# /dev/rsd0c:
type: SCSI
disk: SCSI disk
label: Seagate ST41600N
flags:
bytes/sector: 512
sectors/track: 64
tracks/cylinder: 32
sectors/cylinder: 2048
cylinders: 1308
total sectors: 2678784
rpm: 5400
interleave: 1
trackskew: 0
cylinderskew: 0
headswitch: 0		# milliseconds
track-to-track seek: 0	# milliseconds
drivedata: 0 

16 partitions:
#        size   offset     fstype   [fsize bsize   cpg]
  a:  2414592        0     4.2BSD     1024  8192    16   # (Cyl.    0 - 1178)
  b:   262254  2414592       swap                        # (Cyl. 1179 - 1307*)
  c:  2676846        0    unknown                        # (Cyl.    0 - 1307*)

At my other job, the machine on my desk is a SS2 ("SUNW,Sun 4/75",
"CY7C601 @ 40 MHz, TMS390C602A FPU").  It too boots from what it knows
as sd0, and "disklabel sd0" reports

# /dev/rsd0c:
type: SCSI
disk: SCSI disk
label: Seagate ST11200,
flags:
bytes/sector: 512
sectors/track: 64
tracks/cylinder: 32
sectors/cylinder: 2048
cylinders: 1012
total sectors: 2072576
rpm: 0
interleave: 1
trackskew: 0
cylinderskew: 0
headswitch: 0		# milliseconds
track-to-track seek: 0	# milliseconds
drivedata: 0 

16 partitions:
#        size   offset    fstype   [fsize bsize   cpg]
  a:     2048        0    4.2BSD     1024  8192    16 	# (Cyl.    0 - 0)
  c:  2072230        0   unknown                    	# (Cyl.    0 - 1011*)
  d:  2070182     2048    4.2BSD     1024  8192    16 	# (Cyl.    1 - 1011*)

I own another SS1+, one of my home machines.  It too boots from sd0,
and "disklabel sd0" reports

# /dev/rsd0c:
type: SCSI
disk: SCSI disk
label: Seagate ST12400N
flags:
bytes/sector: 512
sectors/track: 64
tracks/cylinder: 32
sectors/cylinder: 2048
cylinders: 2049
total sectors: 4196352
rpm: 7200
interleave: 1
trackskew: 0
cylinderskew: 0
headswitch: 0		# milliseconds
track-to-track seek: 0	# milliseconds
drivedata: 0 

16 partitions:
#        size   offset     fstype   [fsize bsize   cpg]
  a:   102400     2048     4.2BSD     1024  8192    16   # (Cyl.    1 - 50)
  b:   524288   104448       swap                        # (Cyl.   51 - 306)
  c:  4194685        0    unknown                        # (Cyl.    0 - 2048*)
  d:   358400   628736     4.2BSD     1024  8192    16   # (Cyl.  307 - 481)
  e:  3207168   987136     4.2BSD     1024  8192    16   # (Cyl.  482 - 2047)
  n:   102400     2048     4.2BSD     1024  8192    16   # (Cyl.    1 - 50)
  o:     2048        0     4.2BSD     1024  8192    16   # (Cyl.    0 - 0)
  p:      381  4194304     4.2BSD     1024  8192    16   # (Cyl. 2048 - 2048*)

Every one of these boot disks has a c partition that, according to the
label's idea of what a "cylinder" is, is not an exact number of
cylinders.  Every one of them has another "mis-sized" partition as
well, though in the last case the "mis-sized" partition is one of the
"extended" partitions, which the PROM knows nothing about.  But on the
other two the PROM knows about it, and on the SS2 that partition (d) is
even the boot/root partition!

I'm not about to try to tell you you *didn't* have the trouble you
describe. :-)  But I'm quite sure that it is not universal across
SPARCs.

					der Mouse

			       mouse@rodents.montreal.qc.ca
		     7D C8 61 52 5D E7 2D 39  4E F1 31 3E E8 B3 27 4B