summaryrefslogtreecommitdiff
path: root/static/freebsd/man8/bsdlabel.8
diff options
context:
space:
mode:
authorJacob McDonnell <jacob@jacobmcdonnell.com>2026-04-25 19:55:43 -0400
committerJacob McDonnell <jacob@jacobmcdonnell.com>2026-04-25 19:55:43 -0400
commitac5e55f5f2af5b92794c2aded46c6bae85b5f5ed (patch)
tree9367490586c84cba28652e443e3166d66c33b0d9 /static/freebsd/man8/bsdlabel.8
parent253e67c8b3a72b3a4757fdbc5845297628db0a4a (diff)
docs: Added All FreeBSD Manuals
Diffstat (limited to 'static/freebsd/man8/bsdlabel.8')
-rw-r--r--static/freebsd/man8/bsdlabel.8523
1 files changed, 523 insertions, 0 deletions
diff --git a/static/freebsd/man8/bsdlabel.8 b/static/freebsd/man8/bsdlabel.8
new file mode 100644
index 00000000..cdf3cc24
--- /dev/null
+++ b/static/freebsd/man8/bsdlabel.8
@@ -0,0 +1,523 @@
+.\" Copyright (c) 1987, 1988, 1991, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" This code is derived from software contributed to Berkeley by
+.\" Symmetric Computer Systems.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.Dd January 23, 2025
+.Dt BSDLABEL 8
+.Os
+.Sh NAME
+.Nm bsdlabel
+.Nd read and write BSD label
+.Sh SYNOPSIS
+.Nm
+.Op Fl A
+.Ar disk | Fl f Ar file
+.Nm
+.Fl w
+.Op Fl \&An
+.Op Fl B Op Fl b Ar boot
+.Op Fl m Ar machine
+.Ar disk | Fl f Ar file
+.Op Ar type
+.Nm
+.Fl e
+.Op Fl \&An
+.Op Fl B Op Fl b Ar boot
+.Op Fl m Ar machine
+.Ar disk | Fl f Ar file
+.Nm
+.Fl R
+.Op Fl \&An
+.Op Fl B Op Fl b Ar boot
+.Op Fl m Ar machine
+.Op Fl f
+.Ar disk | Fl f Ar file
+.Ar protofile
+.Sh DEPRECATION NOTICE
+.Nm
+is deprecated and is not available in
+.Fx 16.0
+or later.
+Use
+.Xr gpart 8
+instead
+.Po
+with the
+.Cm BSD
+partitioning scheme
+.Pc ,
+or install the
+.Pa freebsd-bsdlabel
+port or package.
+.Sh DESCRIPTION
+The
+.Nm
+utility
+installs, examines or modifies the
+.Bx
+label on a disk partition, or on a file containing a partition image.
+In addition,
+.Nm
+can install bootstrap code.
+.Ss Disk Device Name
+When specifying the device (i.e., when the
+.Fl f
+option is not used),
+the
+.Pa /dev/
+path prefix may be omitted;
+the
+.Nm
+utility will automatically prepend it.
+.Ss General Options
+The
+.Fl A
+option enables processing of the historical parts of the
+.Bx
+label.
+If the option is not given, suitable values are set for these fields.
+.Pp
+The
+.Fl f
+option tells
+.Nm
+that the program will operate on a file instead of a disk partition.
+.Pp
+The
+.Fl n
+option stops the
+.Nm
+program right before the disk would have been modified, and displays
+the result instead of writing it.
+.Pp
+The
+.Fl m Ar machine
+argument forces
+.Nm
+to use a layout suitable for a different architecture.
+Current valid values are
+.Cm i386
+and
+.Cm amd64 .
+If this option is omitted,
+.Nm
+will use a layout suitable for the current machine.
+.Ss Reading the Disk Label
+To examine the label on a disk drive, use the form
+.Pp
+.Nm
+.Op Fl A
+.Op Fl m Ar machine
+.Ar disk
+.Pp
+.Ar disk
+represents the disk in question, and may be in the form
+.Pa da0
+or
+.Pa /dev/da0 .
+It will display the partition layout.
+.Ss Writing a Standard Label
+To write a standard label, use the form
+.Pp
+.Nm
+.Fl w
+.Op Fl \&An
+.Op Fl m Ar machine
+.Ar disk
+.Op Ar type
+.Pp
+If the drive
+.Ar type
+is specified, the entry of that name in the
+.Xr disktab 5
+file is used; otherwise, or if the type is specified as 'auto', a default
+layout is used.
+.Ss Editing an Existing Disk Label
+To edit an existing disk label, use the form
+.Pp
+.Nm
+.Fl e
+.Op Fl \&An
+.Op Fl m Ar machine
+.Ar disk
+.Pp
+This command opens the disk label in the default editor, and when the editor
+exits, the label is validated and if OK written to disk.
+.Ss Restoring a Disk Label From a File
+To restore a disk label from a file, use the form
+.Pp
+.Nm
+.Fl R
+.Op Fl \&An
+.Op Fl m Ar machine
+.Ar disk protofile
+.Pp
+The
+.Nm
+utility
+is capable of restoring a disk label that was previously saved in a file in
+.Tn ASCII
+format.
+The prototype file used to create the label should be in the same format as that
+produced when reading or editing a label.
+Comments are delimited by
+.Ql #
+and newline.
+.Ss Installing Bootstraps
+If the
+.Fl B
+option is specified, bootstrap code will be read from the file
+.Pa /boot/boot
+and written to the disk.
+The
+.Fl b Ar boot
+option allows a different file to be used.
+.Sh FILES
+.Bl -tag -width ".Pa /etc/disktab" -compact
+.It Pa /boot/boot
+Default boot image.
+.It Pa /etc/disktab
+Disk description file.
+.El
+.Sh SAVED FILE FORMAT
+The
+.Nm
+utility
+uses an
+.Tn ASCII
+version of the label when examining, editing, or restoring a disk
+label.
+The format is:
+.Bd -literal -offset 4n
+
+8 partitions:
+# size offset fstype [fsize bsize bps/cpg]
+ a: 81920 16 4.2BSD 2048 16384 5128
+ b: 1091994 81936 swap
+ c: 1173930 0 unused 0 0 # "raw" part, don't edit
+.Ed
+.Pp
+If the
+.Fl A
+option is specified, the format is:
+.Bd -literal -offset 4n
+# /dev/da1c:
+type: SCSI
+disk: da0s1
+label:
+flags:
+bytes/sector: 512
+sectors/track: 51
+tracks/cylinder: 19
+sectors/cylinder: 969
+cylinders: 1211
+sectors/unit: 1173930
+rpm: 3600
+interleave: 1
+trackskew: 0
+cylinderskew: 0
+headswitch: 0 # milliseconds
+track-to-track seek: 0 # milliseconds
+drivedata: 0
+
+8 partitions:
+# size offset fstype [fsize bsize bps/cpg]
+ a: 81920 16 4.2BSD 1024 8192 16
+ b: 160000 81936 swap
+ c: 1173930 0 unused 0 0 # "raw" part, don't edit
+.Ed
+.Pp
+Lines starting with a
+.Ql #
+mark are comments.
+.Pp
+The partition table can have up to 8 entries.
+It contains the following information:
+.Bl -tag -width indent
+.It Ar #
+The partition identifier is a single letter in the range
+.Ql a
+to
+.Ql h .
+By convention, partition
+.Ql c
+is reserved to describe the entire disk.
+.It Ar size
+The size of the partition in sectors,
+.Cm K
+(kilobytes - 1024),
+.Cm M
+(megabytes - 1024*1024),
+.Cm G
+(gigabytes - 1024*1024*1024),
+.Cm %
+(percentage of free space
+.Em after
+removing any fixed-size partitions other than partition
+.Ql c ) ,
+or
+.Cm *
+(all remaining free space
+.Em after
+fixed-size and percentage partitions).
+For partition
+.Ql c ,
+a size of
+.Cm *
+indicates the entire disk.
+Lowercase versions of suffixes
+.Cm K , M ,
+and
+.Cm G
+are allowed.
+Size and suffix should be specified without any spaces between them.
+.Pp
+Example: 2097152, 1G, 1024M and 1048576K are all the same size
+(assuming 512-byte sectors).
+.It Ar offset
+The offset of the start of the partition from the beginning of the
+drive in sectors, or
+.Cm *
+to have
+.Nm
+calculate the correct offset to use (the end of the previous partition plus
+one, ignoring partition
+.Ql c ) .
+For partition
+.Ql c ,
+.Cm *
+will be interpreted as an offset of 0.
+The first partition should start at offset 16, because the first 16 sectors are
+reserved for metadata.
+.It Ar fstype
+Describes the purpose of the partition.
+The above example shows all currently used partition types.
+For
+.Tn UFS
+file systems and
+.Xr ccd 4
+partitions, use type
+.Cm 4.2BSD .
+Other common types are
+.Cm swap
+and
+.Cm unused .
+By convention, partition
+.Ql c
+represents the entire slice and should be of type
+.Cm unused ,
+though
+.Nm
+does not enforce this convention.
+The
+.Nm
+utility
+also knows about a number of other partition types,
+none of which are in current use.
+(See the definitions starting with
+.Dv FS_UNUSED
+in
+.In sys/disklabel.h
+for more details.)
+.It Ar fsize
+For
+.Cm 4.2BSD
+file systems only, the fragment size; see
+.Xr newfs 8 .
+.It Ar bsize
+For
+.Cm 4.2BSD
+file systems only, the block size; see
+.Xr newfs 8 .
+.It Ar bps/cpg
+For
+.Cm 4.2BSD
+file systems, the number of cylinders in a cylinder group; see
+.Xr newfs 8 .
+.El
+.Sh EXAMPLES
+Display the label for the first slice of the
+.Pa da0
+disk, as obtained via
+.Pa /dev/da0s1 :
+.Pp
+.Dl "bsdlabel da0s1"
+.Pp
+Save the in-core label for
+.Pa da0s1
+into the file
+.Pa savedlabel .
+This file can be used with the
+.Fl R
+option to restore the label at a later date:
+.Pp
+.Dl "bsdlabel da0s1 > savedlabel"
+.Pp
+Create a label for
+.Pa da0s1 :
+.Pp
+.Dl "bsdlabel -w /dev/da0s1"
+.Pp
+Read the label for
+.Pa da0s1 ,
+edit it, and install the result:
+.Pp
+.Dl "bsdlabel -e da0s1"
+.Pp
+Read the on-disk label for
+.Pa da0s1 ,
+edit it, and display what the new label would be (in sectors).
+It does
+.Em not
+install the new label either in-core or on-disk:
+.Pp
+.Dl "bsdlabel -e -n da0s1"
+.Pp
+Write a default label on
+.Pa da0s1 .
+Use another
+.Nm Fl e
+command to edit the
+partitioning and file system information:
+.Pp
+.Dl "bsdlabel -w da0s1"
+.Pp
+Restore the on-disk and in-core label for
+.Pa da0s1
+from information in
+.Pa savedlabel :
+.Pp
+.Dl "bsdlabel -R da0s1 savedlabel"
+.Pp
+Display what the label would be for
+.Pa da0s1
+using the partition layout in
+.Pa label_layout .
+This is useful for determining how much space would be allotted for various
+partitions with a labeling scheme using
+.Cm % Ns -based
+or
+.Cm *
+partition sizes:
+.Pp
+.Dl "bsdlabel -R -n da0s1 label_layout"
+.Pp
+Install a new bootstrap on
+.Pa da0s1 .
+The boot code comes from
+.Pa /boot/boot :
+.Pp
+.Dl "bsdlabel -B da0s1"
+.Pp
+Install a new label and bootstrap.
+The bootstrap code comes from the file
+.Pa newboot
+in the current working directory:
+.Pp
+.Dl "bsdlabel -w -B -b newboot /dev/da0s1"
+.Pp
+Completely wipe any prior information on the disk, creating a new bootable
+disk with a
+.Tn DOS
+partition table containing one slice, covering the whole disk.
+Initialize the label on this slice,
+then edit it.
+The
+.Xr dd 1
+commands are optional, but may be necessary for some
+.Tn BIOS Ns es
+to properly
+recognize the disk:
+.Bd -literal -offset indent
+dd if=/dev/zero of=/dev/da0 bs=512 count=32
+gpart create -s MBR da0
+gpart add -t freebsd da0
+gpart set -a active -i 1 da0
+gpart bootcode -b /boot/mbr da0
+dd if=/dev/zero of=/dev/da0s1 bs=512 count=32
+bsdlabel -w -B da0s1
+bsdlabel -e da0s1
+.Ed
+.Pp
+This is an example disk label that uses some of the new partition size types
+such as
+.Cm % , M , G ,
+and
+.Cm * ,
+which could be used as a source file for
+.Dq Li "bsdlabel -R ada0s1 new_label_file" :
+.Bd -literal -offset 4n
+# /dev/ada0s1:
+
+8 partitions:
+# size offset fstype [fsize bsize bps/cpg]
+ a: 400M 16 4.2BSD 4096 16384 75 # (Cyl. 0 - 812*)
+ b: 1G * swap
+ c: * * unused
+ e: 204800 * 4.2BSD
+ f: 5g * 4.2BSD
+ g: * * 4.2BSD
+.Ed
+.Sh DIAGNOSTICS
+The kernel device drivers will not allow the size of a disk partition
+to be decreased or the offset of a partition to be changed while it is open.
+.Sh COMPATIBILITY
+Due to the use of an
+.Vt uint32_t
+to store the number of sectors,
+.Bx
+labels are restricted to a maximum of 2^32-1 sectors.
+This usually means 2TB of disk space.
+Larger disks should be partitioned using another method such as
+.Xr gpart 8 .
+.Pp
+The various
+.Bx Ns s
+all use slightly different versions of
+.Bx
+labels and
+are not generally compatible.
+.Sh SEE ALSO
+.Xr ccd 4 ,
+.Xr geom 4 ,
+.Xr md 4 ,
+.Xr disktab 5 ,
+.Xr boot0cfg 8 ,
+.Xr gpart 8 ,
+.Xr newfs 8
+.Sh HISTORY
+The
+.Nm disklabel
+utility appeared in
+.Bx 4.3 Tahoe .
+.Sh BUGS
+.\" PR276517
+The disklabel scheme supports up to 20 partitions, but
+.Nm
+supports only 8 partitions.