1 .\" Copyright (c) 2007, 2008 Marcel Moolenaar
2 .\" All rights reserved.
4 .\" Redistribution and use in source and binary forms, with or without
5 .\" modification, are permitted provided that the following conditions
7 .\" 1. Redistributions of source code must retain the above copyright
8 .\" notice, this list of conditions and the following disclaimer.
9 .\" 2. Redistributions in binary form must reproduce the above copyright
10 .\" notice, this list of conditions and the following disclaimer in the
11 .\" documentation and/or other materials provided with the distribution.
13 .\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS AND CONTRIBUTORS ``AS IS'' AND
14 .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15 .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
16 .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE
17 .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
18 .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
19 .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
20 .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
21 .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
22 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
32 .Nd "control utility for the disk partitioning GEOM class"
34 To add support for the disk partitioning GEOM class,
35 place one or more of the following
36 lines in your kernel configuration file:
37 .Bd -ragged -offset indent
38 .Cd "options GEOM_PART_APM"
39 .Cd "options GEOM_PART_BSD"
40 .Cd "options GEOM_PART_EBR"
41 .Cd "options GEOM_PART_GPT"
42 .Cd "options GEOM_PART_MBR"
43 .Cd "options GEOM_PART_PC98"
44 .Cd "options GEOM_PART_VTOC8"
49 option adds support for the Apple Partition Map (APM)
50 found on Apple Macintosh computers.
53 option adds support for the traditional
58 option adds support for the Extended Boot Record (EBR),
59 which is used to define a logical partition.
62 option adds support for the GUID Partition Table (GPT)
63 found on Intel Itanium computers and Intel-based Macintosh computers.
66 option adds support for the Master Boot Record (MBR)
67 found on PCs and used on many removable media.
70 option adds support for the MBR variant as used on
74 option adds support for Sun's SMI VTOC8 label as
75 found on computers based on
94 .\" ==== BOOTCODE ====
98 .Op Fl p Ar partcode Fl i Ar index
118 .\" ==== DESTROY ====
164 utility is used to partition GEOM providers, normally disks.
165 The first argument of which is the action to be taken:
166 .Bl -tag -width ".Cm bootcode"
169 Add a new partition to the partitioning scheme given by
171 The partition begins on the logical block address given by the
174 Its size is expressed in logical block numbers and given by the
177 The type of the partition is given by the
180 Partition types are discussed below in the section entitled
181 .Sx "PARTITION TYPES" .
183 Additional options include:
186 The index in the partition table at which the new partition is to be
188 The index determines the name of the device special file used
189 to represent the partition.
191 The label attached to the partition.
192 This option is only valid when used on partitioning schemes that support
195 Additional operational flags.
196 See the section entitled
197 .Sx "OPERATIONAL FLAGS"
198 below for a discussion
201 .\" ==== BOOTCODE ====
203 Embed bootstrap code into the partitioning scheme's metadata on the
207 or write bootstrap code into a partition (using
211 Not all partitioning schemes have embedded bootstrap code, so the
213 option is scheme-specific in nature.
214 For the GPT scheme, embedded bootstrap code is supported.
215 The bootstrap code is embedded in the protective MBR rather than the GPT.
218 option specifies a file that contains the bootstrap code.
219 The contents and size of the file are determined by the partitioning
221 For the MBR scheme, it is a 512 byte file of which the first 446 bytes
222 are installed as bootstrap code.
225 option specifies a file that contains the bootstrap code intended to be
226 written to a partition.
227 For the VTOC8 scheme, it is a 8192 byte file of which the last 7680 bytes
228 are installed as bootstrap code.
229 The partition is specified by the
232 For the VTOC8 scheme, if the
234 option is omitted, the bootstrap code is written to all sufficiently large
236 The size of the file must be smaller than the size of the partition.
238 Additional options include:
241 Additional operational flags.
242 See the section entitled
243 .Sx "OPERATIONAL FLAGS"
244 below for a discussion
249 Commit any pending changes for geom
251 All actions are being committed by default and will not result in
253 Actions can be modified with the
255 option so that they are not being committed by default.
256 As such, they become pending.
257 Pending changes are reflected by the geom and the
259 utility, but they are not actually written to disk.
262 action will write any and all pending changes to disk.
265 Create a new partitioning scheme on a provider given by
269 option determines the scheme to use.
270 The kernel needs to have support for a particular scheme before
271 that scheme can be used to partition a disk.
273 Additional options include:
276 The number of entries in the partition table.
277 Every partitioning scheme has a minimum and a maximum number of entries
278 and this option allows tables to be created with the number of entries
279 that lies anywhere between the minimum and the maximum.
280 Some schemes have a maximum equal to the minimum and some schemes have
281 a maximum large enough to be considered unlimited.
282 By default, partition tables are created with the minimum number of
285 Additional operational flags.
286 See the section entitled
287 .Sx "OPERATIONAL FLAGS"
288 below for a discussion
293 Delete a partition from geom
295 and further identified by the
298 The partition cannot be actively used by the kernel.
300 Additional options include:
303 Additional operational flags.
304 See the section entitled
305 .Sx "OPERATIONAL FLAGS"
306 below for a discussion
309 .\" ==== DESTROY ====
311 Destroy the partitioning scheme as implemented by geom
314 Additional options include:
317 Additional operational flags.
318 See the section entitled
319 .Sx "OPERATIONAL FLAGS"
320 below for a discussion
325 Modify a partition from geom
327 and further identified by the
330 Only the the type and/or label of the partition can be modified.
331 To change the type of a partition, specify the new type with the
334 To change the label of a partition, specify the new label with the
337 Not all partitioning schemes support labels and it is invalid to
338 try to change a partition label in such cases.
340 Additional options include:
343 Additional operational flags.
344 See the section entitled
345 .Sx "OPERATIONAL FLAGS"
346 below for a discussion
351 Resize a partition from geom
353 and further identified by the
356 New partition size is expressed in logical block
357 numbers and can be given by the
362 option is ommited then new size is automatically calculated
363 to maximum available from given geom
366 Additional options include:
369 Additional operational flags.
370 See the section entitled
371 .Sx "OPERATIONAL FLAGS"
372 below for a discussion
377 Set the named attribute on the partition entry.
379 Additional options include:
382 Additional operational flags.
383 See the section entitled
384 .Sx "OPERATIONAL FLAGS"
385 below for a discussion
390 Show the current partition information of the specified geoms
391 or all geoms if none are specified.
394 Revert any pending changes for geom
396 This action is the opposite of the
398 action and can be used to undo any changes that have not been committed.
401 Clear the named attribute on the partition entry.
403 Additional options include:
406 Additional operational flags.
407 See the section entitled
408 .Sx "OPERATIONAL FLAGS"
409 below for a discussion
417 utility uses symbolic names for common partition types to avoid that the
418 user needs to know what the partitioning scheme in question is and what
419 the actual number or identification needs to be used for a particular
423 utility also allows the user to specify scheme-specific partition types
424 for partition types that do not have symbol names.
425 The symbolic names currently understood are:
426 .Bl -tag -width ".Cm freebsd-vinum"
428 The system partition for computers that use the Extensible Firmware
430 In such cases, the GPT partitioning scheme is being used and the
431 actual partition type for the system partition can also be specified as
432 .Qq Li "!c12a7328-f81f-11d2-ba4b-00a0c93ec93ab" .
436 partition that uses the
438 disklabel to sub-divide the
439 partition into file systems.
440 This is a legacy partition type and should not be used for the APM
442 The scheme-specific types are
447 .Qq Li "!516e7cb4-6ecf-11d6-8ff8-00022d09712b"
452 partition dedicated to bootstrap code.
453 The scheme-specific type is
454 .Qq Li "!83bd6b9d-7f41-11dc-be0b-001560b84f0f"
459 partition dedicated to swap space.
460 The scheme-specific types are
461 .Qq Li "!FreeBSD-swap"
463 .Qq Li "!516e7cb5-6ecf-11d6-8ff8-00022d09712b"
464 for GPT, and tag 0x0901 for VTOC8.
468 partition that contains a UFS or UFS2 file system.
469 The scheme-specific types are
470 .Qq Li "!FreeBSD-UFS"
472 .Qq Li "!516e7cb6-6ecf-11d6-8ff8-00022d09712b"
473 for GPT, and tag 0x0902 for VTOC8.
477 partition that contains a Vinum volume.
478 The scheme-specific types are
479 .Qq Li "!FreeBSD-Vinum"
481 .Qq Li "!516e7cb8-6ecf-11d6-8ff8-00022d09712b"
482 for GPT, and tag 0x0903 for VTOC8.
486 partition that contains a ZFS volume.
487 The scheme-specific types are
488 .Qq Li "!FreeBSD-ZFS"
490 .Qq Li "!516e7cba-6ecf-11d6-8ff8-00022d09712b"
491 for GPT, and 0x0904 for VTOC8.
493 A partition that is sub-partitioned by a master boot record (MBR).
494 This type is known as
495 .Qq Li "!024dee41-33e7-11d3-9d69-0008c781f39f"
498 .Sh OPERATIONAL FLAGS
499 Actions other than the
503 actions take an optional
506 This option is used to specify action-specific operational flags.
511 flag so that the action is immediately
515 to have the action result in a pending change that can later, with
516 other pending changes, be committed as a single compound change with
519 action or reverted with the
523 Exit status is 0 on success, and 1 if the command fails.
527 .Bd -literal -offset indent
528 /sbin/gpart create -s GPT ad0
531 Embed GPT bootstrap code into protective MBR.
532 .Bd -literal -offset indent
533 /sbin/gpart bootcode -b /boot/pmbr ad0
538 partition that can boot
542 partition, and install bootstrap code into it.
543 This partition must be larger than
545 or the GPT boot you are planning to write.
546 A size of 15 blocks (7680 bytes) would be sufficient for
547 booting from UFS but let's use 128 blocks (64 KB) here in
548 this example, in order to reserve some space for potential
549 future need (e.g.\& from a ZFS partition).
550 .Bd -literal -offset indent
551 /sbin/gpart add -b 34 -s 128 -t freebsd-boot ad0
552 /sbin/gpart bootcode -p /boot/gptboot -i 1 ad0
557 partition that would contain UFS where the system boots from.
558 .Bd -literal -offset indent
559 /sbin/gpart add -b 162 -s 1048576 -t freebsd-ufs ad0
562 Create VTOC8 scheme on
564 .Bd -literal -offset indent
565 /sbin/gpart create -s VTOC8 da0
570 partition that would contain UFS where the system boots from.
571 .Bd -literal -offset indent
572 /sbin/gpart add -b 0 -s 1048576 -t freebsd-ufs da0
575 After having created all required partitions, embed bootstrap code into them.
576 .Bd -literal -offset indent
577 /sbin/gpart bootcode -p /boot/boot1 da0
588 .An Marcel Moolenaar Aq marcel@FreeBSD.org