SUNLABEL(8) BSD System Manager's Manual SUNLABEL(8)
sunlabel -- read or modify a SunOS disk label
sunlabel [-mnqs] device
sunlabel reads or modifies a SunOS disk label on device, which is used by the PROM on NetBSD/sparc hardware to find partitions to boot from.
sunlabel only reads/writes the first 512 bytes of device.
The supported options are:
-m Ignore an incorrect magic number in the disk label.
-n Synthesize a new label rather than reading what is there.
-q Quiet mode - don't print unnecessary babble (currently this suppresses the ``sunlabel>'' prompt).
-s Ignore checksum errors when reading the label.
Note that -m is dangerous, especially when combined with -s, since it will then happily believe whatever garbage it may find in the label.
When using these flags, all values should be checked carefully, both those printed by L and the partition table printed by P.
sunlabel prints a prompt ``sunlabel>'' and expects commands. The following commands are understood:
? Show a short help message.
[abcdefghijklmnop] <cylno> <size>
Change partition (see below).
L Print label, except for the partition table.
P Print the partition table.
Q Quit program (error if no write since last change).
Q! Quit program (unconditionally) [EOF also quits].
S Set label in the kernel (orthogonal to W).
V <name> <value> Change a non-partition label value.
W Write (possibly modified) label out.
The a through p commands will accept, for the <size> parameter, the nnn/nnn/nnn syntax used by SunOS 4.x format. (For those not familiar
with this syntax, a/b/c means a cylinders + b tracks + c sectors. For example, if the disk has 16 tracks of 32 sectors, 3/4/5 means
(3*16*32)+(4*32)+5=1669. This calculation always uses the nsect and ntrack values as printed by the L command; in particular, if they are
zero (which they will initially be if -n is used), this syntax is not very useful. Some additional strings are accepted. For the <cylno>
parameter, ``end-X'' (where X is a partition letter) indicates that the partition should start with the first free cylinder after partition
X; ``start-X'' indicates that the partition should start at the same place as partition X. For the <size> parameter, ``end-X'' indicates
that the partition should end at the same place as partition X (even if partition X ends partway through a cylinder); ``start-X'' indicates
that the partition should end with the last cylinder before partition X; and ``size-X'' means that the partition's size should exactly match
partition X's size.
Note that sunlabel supports 16 partitions. SunOS supports only 8. Labels written by sunlabel, when partitions i through p are all set
offset=0 size=0, are identical to Sun labels. If any of the ``extended'' partitions are nontrivial, information about them is tucked into
some otherwise unused space in the Sun label format.
The V command changes fields printed by the L command. For example, if the L command prints
ascii: ST15230N cyl 5657 alt 2 hd 19 sec 78
rpm: 0 pcyl: 0 apc: 0 obs1: 0
obs2: 0 intrlv: 1 ncyl: 5657 acyl: 0
nhead: 19 nsect: 78 obs3: 0 obs4: 0
then V ncyl 6204 would set the ncyl value to 6204, or V ascii Seagate ST15230N cyl 5657 hd 19 sec varying would set the ascii-label string to
that string. sunlabel performs very few consistency checks on the values you supply, and the ones it does perform never generate errors,
der Mouse <firstname.lastname@example.org>
It may be that the space in the label where the information for the extended partitions is saved is used by SunOS.
Not very many consistency checks are done on the V arguments, and those only produce warnings.
NetBSD doesn't support 16 partitions in a Sun disk label yet.
December 21, 2002 BSD