chromiumos/third_party/gpt.git
4 years agoinherit review settings 0.10.134.B 0.10.136.B 0.10.138.B 0.10.140.B 0.10.142.B 0.10.144.B 0.10.146.B 0.10.148.B 0.10.150.B 0.10.152.B 0.10.154.B 0.10.156.B 0.11.158.B 0.11.166.B 0.11.208.B 0.11.218.B 0.11.227.B 0.11.241.B 0.11.257.B 0.11.257.B90 0.12.362.B 0.12.369.B 0.12.392.B 0.12.433.B 0.13.434.B 0.7.48.B 0.7.50.B 0.7.52.B 0.7.54.B 0.8.56.B 0.8.58.B 0.8.60.B 0.8.62.B 0.8.62.B_factory 0.8.64.B 0.8.66.B 0.8.68.B 0.8.70.B 0.8.71.B_factory 0.8.72.B 0.9.100.B 0.9.102.B 0.9.104.B 0.9.106.B 0.9.108.B 0.9.110.B 0.9.112.B 0.9.114.B 0.9.116.B 0.9.118.B 0.9.120.B 0.9.122.B 0.9.124.B 0.9.126.B 0.9.128.B 0.9.130.B 0.9.132.B 0.9.74.B 0.9.75.B_factory 0.9.76.B 0.9.78.B 0.9.80.B 0.9.82.B 0.9.84.B 0.9.86.B 0.9.90.B 0.9.90.T 0.9.92.B 0.9.94.B 0.9.94.T 0.9.96.T 0.9.98.B 11.1.241.B master 0.10.134.0 0.10.136.0 0.10.138.0 0.10.140.0 0.10.142.0 0.10.142.1 0.10.142.2 0.10.142.3 0.10.144.0 0.10.144.1 0.10.146.0 0.10.146.1 0.10.148.0 0.10.150.0 0.10.154.0 0.10.156.0 0.10.156.1 0.10.156.18 0.10.156.2 0.10.156.20 0.10.156.3 0.10.156.30 0.10.156.34 0.10.156.36 0.10.156.4 0.10.156.46 0.10.156.5 0.11.158.0 0.11.181.0 0.7.48.0 0.7.50.0 0.7.52.0 0.7.52.1 0.7.54.0 0.7.54.1 0.8.56.0 0.8.58.0 0.8.60.0 0.8.60.1 0.8.60.10 0.8.60.12 0.8.60.2 0.8.60.3 0.8.60.4 0.8.60.5 0.8.60.6 0.8.60.7 0.8.60.8 0.8.60.9 0.8.62.0 0.8.64.0 0.8.66.0 0.8.66.1 0.8.66.2 0.8.68.0 0.8.68.1 0.8.68.2 0.8.68.4 0.8.68.5 0.8.70.0 0.8.70.1 0.8.70.2 0.8.70.3 0.8.70.4 0.8.70.5 0.8.70.6 0.8.70.7 0.8.70.8 0.8.72.0 0.8.72.1 0.8.72.2 0.8.72.3 0.8.72.4 0.9.100.0 0.9.102.0 0.9.102.1 0.9.102.2 0.9.102.3 0.9.102.4 0.9.102.5 0.9.102.6 0.9.104.0 0.9.106.0 0.9.108.0 0.9.110.0 0.9.110.1 0.9.110.10 0.9.110.2 0.9.110.3 0.9.110.4 0.9.110.5 0.9.110.6 0.9.110.7 0.9.110.8 0.9.110.9 0.9.112.0 0.9.112.1 0.9.112.2 0.9.114.0 0.9.116.0 0.9.118.0 0.9.120.0 0.9.122.0 0.9.124.0 0.9.124.1 0.9.126.0 0.9.128.0 0.9.128.1 0.9.128.10 0.9.128.11 0.9.128.12 0.9.128.13 0.9.128.14 0.9.128.2 0.9.128.3 0.9.128.4 0.9.128.5 0.9.128.6 0.9.128.7 0.9.128.8 0.9.128.9 0.9.130.0 0.9.130.10 0.9.130.11 0.9.130.12 0.9.130.13 0.9.130.14 0.9.130.15 0.9.130.2 0.9.130.3 0.9.130.4 0.9.130.5 0.9.130.6 0.9.130.7 0.9.130.8 0.9.130.9 0.9.74.0 0.9.74.1 0.9.74.2 0.9.74.3 0.9.74.4 0.9.74.5 0.9.76.0 0.9.76.1 0.9.78.0 0.9.78.1 0.9.78.2 0.9.80.0 0.9.82.0 0.9.84.0 0.9.86.0 0.9.89.1 0.9.90.0 0.9.90.1 0.9.90.2 0.9.90.3 0.9.90.4 0.9.92.0 0.9.94.0 0.9.98.0 0.9.98.1 0.9.98.2 0.9.98.3 0.9.98.4
Mandeep Singh Baines [Mon, 24 May 2010 23:18:11 +0000 (16:18 -0700)]
inherit review settings

TBR=cmasone

Review URL: http://codereview.chromium.org/2177004

4 years agoAdd our Chrome OS Type GUIDs to the list that gpt recognizes.
Bill Richardson [Sat, 17 Apr 2010 01:01:14 +0000 (18:01 -0700)]
Add our Chrome OS Type GUIDs to the list that gpt recognizes.

This is just cosmetic, so that "gpt show" can display our GPT partition
types in human-readable form.

Review URL: http://codereview.chromium.org/1662003

4 years agoStop using O_EXCL by default when opening the device for writing.
Bill Richardson [Fri, 19 Mar 2010 20:52:44 +0000 (13:52 -0700)]
Stop using O_EXCL by default when opening the device for writing.

Using O_EXCL prevents the gpt tool from being able to modify any part of the
GPT while there is a mounted filesystem on that drive. We need to be able to
modify it so we can mark a newly upgraded image as bootable.

Also updated the man page a bit, although it's still way out of sync.

Review URL: http://codereview.chromium.org/1133004

4 years agoPreviously if any errors occurred in the gpt 'boot' command, it would just silently...
Bill Richardson [Wed, 17 Mar 2010 17:48:07 +0000 (10:48 -0700)]
Previously if any errors occurred in the gpt 'boot' command, it would just silently continue. This change makes it fail. Plus, we no longer consider it an error if we read fewer than 424 bytes of PMBR bootstrap code (ARM puts a U-Boot script there, which is shorted).

Review URL: http://codereview.chromium.org/1022004

4 years agoDescribe PMBR in terms of syslinux GPT extension.
Bill Richardson [Sat, 13 Mar 2010 16:24:57 +0000 (08:24 -0800)]
Describe PMBR in terms of syslinux GPT extension.

syslinux provides a GPT-aware MBR that interprets the MBR content like this:

Offset Size Contents
--------------------------------------------------
0x000/0 424 PMBR boot code
0x1a8/424 16 GUID of the boot partition
0x1b8/440 4 MBR-compatible disk ID
0x1bc/444 2 Magic number: 1D 9A
0x1be/446 16 PMBR protective entry
0x1ce/462 48 PMBR null entries
0x1fe/510 2 Boot signature: 55 AA

This change modifies the gpt program to understand that format:

1) Expect no more than 424 bytes of executable code for the 'boot' command.

2) Display the boot partition GUID when the PMBR has the magic numbers 1D 9A at offset 0x1bc for the 'show' command.

Review URL: http://codereview.chromium.org/866005

4 years agogpt: Switch to new cross-friendly packaging style
Colin Watson [Thu, 7 Jan 2010 17:44:02 +0000 (17:44 +0000)]
gpt: Switch to new cross-friendly packaging style

Use dh(1).
Pass toolchain parameters correctly for cross-compilation.

Review URL: http://codereview.chromium.org/523130

4 years agoAdd build of gpt-host binary to be run on the host. The host version statically
tedbo [Thu, 17 Dec 2009 18:19:24 +0000 (10:19 -0800)]
Add build of gpt-host binary to be run on the host. The host version statically
links libuuid to make it more likely to run on various Linux distros.

Review URL: http://codereview.chromium.org/502048

4 years agoAdd support for building a debian package to gpt.
Ted Bonkenburg [Wed, 25 Nov 2009 03:19:04 +0000 (19:19 -0800)]
Add support for building a debian package to gpt.

Review URL: http://codereview.chromium.org/432018

4 years agoPort BSD gpt utility to a Linux.
Ted Bonkenburg [Tue, 24 Nov 2009 22:45:38 +0000 (14:45 -0800)]
Port BSD gpt utility to a Linux.

The gpt utility is a command line tool for creating and
editing GPT format partition tables. It works against a
device or a raw file, which is exactly what we need.

The port depends on libuuid.

Review URL: http://codereview.chromium.org/435013

4 years ago[gpt]: Add COPYRIGHT file from the FreeBSD distribution that this code
Ted Bonkenburg [Mon, 23 Nov 2009 22:06:25 +0000 (14:06 -0800)]
[gpt]: Add COPYRIGHT file from the FreeBSD distribution that this code
came from as well as metadata.chromium.

This is in preparation to begin modifying this code to run on
a Chromium-based OS.

Review URL: http://codereview.chromium.org/431017

5 years agoSVN rev 191087 on 2009-04-15 03:14:26Z by kensmith
kensmith [Wed, 15 Apr 2009 03:14:26 +0000 (03:14 +0000)]
SVN rev 191087 on 2009-04-15 03:14:26Z by kensmith

Create releng/7.2 from stable/7 in preparation for 7.2-RELEASE.

Approved by: re (implicit)

6 years agoMFC: Add 'zfs' as an alias for the FreeBSD ZFS UUID.
jhb [Wed, 23 Apr 2008 18:48:36 +0000 (18:48 +0000)]
MFC: Add 'zfs' as an alias for the FreeBSD ZFS UUID.

6 years agoMFC: Add ZFS support.
jhb [Tue, 12 Feb 2008 20:27:33 +0000 (20:27 +0000)]
MFC: Add ZFS support.

6 years agoMFC: Map 'boot' to GPT_ENT_TYPE_FREEBSD_BOOT when parsing UUIDs.
jhb [Tue, 12 Feb 2008 19:22:58 +0000 (19:22 +0000)]
MFC: Map 'boot' to GPT_ENT_TYPE_FREEBSD_BOOT when parsing UUIDs.

6 years agoMFC: Add support for booting from GPT-labeled disks from the BIOS. This
jhb [Thu, 24 Jan 2008 19:42:16 +0000 (19:42 +0000)]
MFC: Add support for booting from GPT-labeled disks from the BIOS.  This
includes /boot/pmbr, /boot/gptboot, and 'gpt boot'.

6 years agoMFC: Don't look for GPT primary and secondary tables on a disk unless we
jhb [Fri, 9 Nov 2007 02:29:43 +0000 (02:29 +0000)]
MFC: Don't look for GPT primary and secondary tables on a disk unless we
have a valid PMBR.

Approved by: re (kensmith)

6 years agoFix 'gpt boot' to work on disk devices and not just plain files. Writes to
jhb [Thu, 1 Nov 2007 20:06:12 +0000 (20:06 +0000)]
Fix 'gpt boot' to work on disk devices and not just plain files.  Writes to
disk devices have to consist of a block of sectors.  Thus, when writing
gptboot to the boot partition, round the size of the gptboot file up to a
sector boundary, pre-zero it, and write out the full buffer to disk.

6 years agoFirst cut at support for booting a GPT labeled disk via the BIOS bootstrap
jhb [Wed, 24 Oct 2007 21:32:58 +0000 (21:32 +0000)]
First cut at support for booting a GPT labeled disk via the BIOS bootstrap
on i386 and amd64 machines.  The overall process is that /boot/pmbr lives
in the PMBR (similar to /boot/mbr for MBR disks) and is responsible for
locating and loading /boot/gptboot.  /boot/gptboot is similar to /boot/boot
except that it groks GPT rather than MBR + bsdlabel.  Unlike /boot/boot,
/boot/gptboot lives in its own dedicated GPT partition with a new
"FreeBSD boot" type.  This partition does not have a fixed size in that
/boot/pmbr will load the entire partition into the lower 640k.  However,
it is limited in that it can only be 545k.  That's still a lot better than
the current 7.5k limit for boot2 on MBR.  gptboot mostly acts just like
boot2 in that it reads /boot.config and loads up /boot/loader.  Some more
details:
- Include uuid_equal() and uuid_is_nil() in libstand.
- Add a new 'boot' command to gpt(8) which makes a GPT disk bootable using
  /boot/pmbr and /boot/gptboot.  Note that the disk must have some free
  space for the boot partition.
  - This required exposing the backend of the 'add' function as a
    gpt_add_part() function to the rest of gpt(8).  'boot' uses this to
    create a boot partition if needed.
- Don't cripple cgbase() in the UFS boot code for /boot/gptboot so that
  it can handle a filesystem > 1.5 TB.
- /boot/gptboot has a simple loader (gptldr) that doesn't do any I/O
  unlike boot1 since /boot/pmbr loads all of gptboot up front.  The
  C portion of gptboot (gptboot.c) has been repocopied from boot2.c.
  The primary changes are to parse the GPT to find a root filesystem
  and to use 64-bit disk addresses.  Currently gptboot assumes that the
  first UFS partition on the disk is the / filesystem, but this algorithm
  will likely be improved in the future.
- Teach the biosdisk driver in /boot/loader to understand GPT tables.
  GPT partitions are identified as 'disk0pX:' (e.g. disk0p2:) which is
  similar to the /dev names the kernel uses (e.g. /dev/ad0p2).
- Add a new "freebsd-boot" alias to g_part() for the new boot UUID.

MFC after: 1 month
Discussed with: marcel (some things might still change, but am committing
what I have so far)

7 years agoUse strtoll(3) instead of strtol(3) for the starting block or
marcel [Wed, 4 Oct 2006 18:20:25 +0000 (18:20 +0000)]
Use strtoll(3) instead of strtol(3) for the starting block or
partition size. On 32-bit platforms sizeof(long) < sizeof(off_t)
and using strtol(3) would prevent partitions larger than 4G
sectors or beyond 4G blocks.

PR: bin/103991
MFC after: 3 days

8 years agoFix cut-n-paste bug: compare argument s against known aliases,
marcel [Fri, 7 Jul 2006 02:44:23 +0000 (02:44 +0000)]
Fix cut-n-paste bug: compare argument s against known aliases,
not the global optarg. This bug goes unnoticed because optarg
is so far always the actual argument for the formal argument s.

8 years agoImprove support for Intel based Macs:
marcel [Thu, 22 Jun 2006 22:22:32 +0000 (22:22 +0000)]
Improve support for Intel based Macs:
o  Accept hfs as partition type.
o  Print Apple HFS partitions using a friendly name.

8 years agoMove the duplicated logic of parsing partition types into a new
marcel [Thu, 22 Jun 2006 22:05:28 +0000 (22:05 +0000)]
Move the duplicated logic of parsing partition types into a new
function called parse_uuid().

8 years ago-mdoc sweep.
ru [Fri, 18 Nov 2005 10:32:10 +0000 (10:32 +0000)]
-mdoc sweep.

8 years agoAdd support for setting GPT partition labels. The partitions to be
marcel [Thu, 1 Sep 2005 02:49:20 +0000 (02:49 +0000)]
Add support for setting GPT partition labels. The partitions to be
labeled are selected in the same way as with the remove command.
Update the manpage to have the selection options described for the
label command and referenced to it from the remove command.
The label can be specified on the command line with the -l option
or read from a file with the -f option. In both cases, the label
is assumed to be encoded in UTF-8.

PR: ia64/83124
MFC after: 1 week

8 years agoDot the i's: multiple devices can be specified, so the usage should
marcel [Thu, 1 Sep 2005 02:42:52 +0000 (02:42 +0000)]
Dot the i's: multiple devices can be specified, so the usage should
have ellipsis following the device.

8 years agoAdd a comment before the statement that is responsible for the
marcel [Thu, 1 Sep 2005 01:15:22 +0000 (01:15 +0000)]
Add a comment before the statement that is responsible for the
removal of the GPT entry. There's a bit of code around that one
statement that it's good to have it stand out a bit more.

8 years agoDocument the -l and -u options of the show command.
marcel [Wed, 31 Aug 2005 05:56:21 +0000 (05:56 +0000)]
Document the -l and -u options of the show command.

8 years agoo Replace unicode16() by utf8_to_utf16().
marcel [Wed, 31 Aug 2005 05:40:41 +0000 (05:40 +0000)]
o  Replace unicode16() by utf8_to_utf16().
o  Introduce utf16_to_utf8().
o  Add option -l to the show command to display the GPT label instead
   of the friendly partition type.
o  Add option -u to the show command to suppress the friendly output
   and print th raw UUIDs instead.

8 years ago/* -> /*- for license.
marcel [Wed, 31 Aug 2005 01:47:19 +0000 (01:47 +0000)]
/* -> /*- for license.

8 years agoThis script was helpful during development, but has no reason to
marcel [Tue, 30 Aug 2005 06:20:20 +0000 (06:20 +0000)]
This script was helpful during development, but has no reason to
be kept alive. Removal is long overdue as it is.

8 years agoDon't print the total number of partitions removed now that we print
marcel [Tue, 30 Aug 2005 06:16:31 +0000 (06:16 +0000)]
Don't print the total number of partitions removed now that we print
the name of the partitions that we remove. A summary is unnecessary
and even makes parsing of the output more difficult.

MFC after: 1 week

9 years agoMarkup fixes.
ru [Tue, 14 Jun 2005 11:24:55 +0000 (11:24 +0000)]
Markup fixes.

Approved by: re (blanket)

9 years ago- distinguish between the device name (what the user called it on the
des [Sun, 24 Apr 2005 20:08:29 +0000 (20:08 +0000)]
- distinguish between the device name (what the user called it on the
  command line) and the device path (what we passed to open()).  Use
  the former in diagnostics.
- when adding or removing partitions, print a single line to stdout for
  each partition that was added or removed, indicating its name.
- add an -a option to 'gpt remove' which must be explicitly specified
  to remove all partitions.

Approved by: marcel (in prinicple)
MFC after: 2 weeks

9 years agoScheduled mdoc(7) sweep.
ru [Mon, 10 Jan 2005 16:17:32 +0000 (16:17 +0000)]
Scheduled mdoc(7) sweep.

9 years agoFor create and migrate, remove the `.Op Fl f' introduced in the
marcel [Sat, 13 Nov 2004 08:01:48 +0000 (08:01 +0000)]
For create and migrate, remove the `.Op Fl f' introduced in the
previous two commits and combine them with the existing flags
that were already there.

Pointed out by: ru@

9 years agoAdd an -f option (for force) to the migrate command. Normally an MBR
marcel [Sat, 13 Nov 2004 05:44:02 +0000 (05:44 +0000)]
Add an -f option (for force) to the migrate command. Normally an MBR
with unknown partitions is not migrated. By specifying the -f option
migration will happen and unknown partitions will be lost.

9 years agoAdd an -f option (for force) to the create command. The -f option
marcel [Sat, 13 Nov 2004 05:13:33 +0000 (05:13 +0000)]
Add an -f option (for force) to the create command. The -f option
allows the user to force the creation of a GPT even when there's a
MBR on the device. The MBR is simply wiped and any partitions
described by it are lost. Without the -f option one cannot create
a GPT when there's a MBR.

9 years agoFix a braino: the partition size in the PMBR is in sectors, not bytes
marcel [Fri, 12 Nov 2004 04:34:46 +0000 (04:34 +0000)]
Fix a braino: the partition size in the PMBR is in sectors, not bytes
and 'mediasz' is in bytes. As it so happens, we define 'last' as the
sector number of the last sector on the medium which also is the size
of the PMBR partition. Therefore, use 'last' instead of 'mediasz'.

Submitted by: Dan Markarian <markarian at apple dot com>

9 years agoRemove the -k option to migrate. The option causes gpt(8) to preserve
marcel [Sun, 31 Oct 2004 02:20:17 +0000 (02:20 +0000)]
Remove the -k option to migrate. The option causes gpt(8) to preserve
the MBR after it is migrated to a GPT. While this was useful during
the early days when GPT support was under development, it's something
that users can use without knowing what they're getting themselves
into. The possible harm outweights the marginal usefulness it now has.

9 years agoRemove useless inclusion of <sys/disklabel.h>
marcel [Mon, 25 Oct 2004 03:44:10 +0000 (03:44 +0000)]
Remove useless inclusion of <sys/disklabel.h>

Obtained from: Dan Markarian <markarian at apple dot com>

9 years agoDeclare variables as static, like I intended.
marcel [Mon, 25 Oct 2004 03:39:31 +0000 (03:39 +0000)]
Declare variables as static, like I intended.

Obtained from: Dan Markarian <markarian at apple dot com>

9 years agoFix bogon. Create the BSD label in the FreeBSD slice.
marcel [Mon, 25 Oct 2004 03:29:21 +0000 (03:29 +0000)]
Fix bogon. Create the BSD label in the FreeBSD slice.

9 years agoCatch up with the BSD label changes. The partition offsets are relative
marcel [Mon, 25 Oct 2004 03:27:31 +0000 (03:27 +0000)]
Catch up with the BSD label changes. The partition offsets are relative
to the partition now. While here, make sure we skip unused partition
entries.

9 years agoAdd byte swapping and UUID encoding/decoding to allow gpt to be compiled
marcel [Mon, 25 Oct 2004 02:23:39 +0000 (02:23 +0000)]
Add byte swapping and UUID encoding/decoding to allow gpt to be compiled
on big-endian machines.

Obtained from: Dan Markarian <markarian at apple dot com>

9 years agoDocument the remove command.
marcel [Sat, 7 Aug 2004 07:52:31 +0000 (07:52 +0000)]
Document the remove command.

9 years agoImplement a remove command. The remove command iterates the GPT
marcel [Sat, 7 Aug 2004 07:41:37 +0000 (07:41 +0000)]
Implement a remove command. The remove command iterates the GPT
partitions and removes any that matches the pre-conditions. The
options are the same for the add command and are used to select
the partitions to remove.
Currently the remove command without any options deletes all GPT
partitions. This is rather harmful and will need anti-footshooting
measures.

9 years agoUse __FBSDID.
marcel [Sat, 7 Aug 2004 06:24:25 +0000 (06:24 +0000)]
Use __FBSDID.

9 years agoo Save the partition number (=index) in the internal map. The index
marcel [Sat, 7 Aug 2004 06:10:45 +0000 (06:10 +0000)]
o  Save the partition number (=index) in the internal map. The index
   starts at 1. No index is represented by 0.
o  Change the show command to display the partition number at the expense
   of the partition end columm. We already display the start and size.
o  Enhance the add command to accept the -i option. The -i option allows
   the user to specify which partition number the new partition should
   get.
o  Update the manpage accordingly.

10 years agoAdd Linux swap partition and MS reserved partition descriptions.
marcel [Mon, 2 Aug 2004 19:28:03 +0000 (19:28 +0000)]
Add Linux swap partition and MS reserved partition descriptions.
While here:
o  Make the UUIDs static to avoid runtime initialization,
o  Rename ext to mslinux,
o  Replace the use of memcmp() with uuid_equal(),
o  Various style(9) improvements,
o  Order the comparisons based on importance,
o  Remove the word partition from all the descriptions,
o  Other description improvements.

Includes patch from: T. Muthu Mohan < Muthu_T at dell dot com >

10 years agoWhat's in a name: s/disklabel/bsdlabel/
marcel [Mon, 2 Aug 2004 19:22:11 +0000 (19:22 +0000)]
What's in a name: s/disklabel/bsdlabel/

10 years agoBump up the date and add spaces around commas. Thanks to ru@ for noticing.
arun [Fri, 2 Jul 2004 18:39:15 +0000 (18:39 +0000)]
Bump up the date and add spaces around commas. Thanks to ru@ for noticing.

10 years agoAdded the ability to create and display Linux/Windows GPT partitions to gpt(8).
arun [Thu, 1 Jul 2004 22:27:12 +0000 (22:27 +0000)]
Added the ability to create and display Linux/Windows GPT partitions to gpt(8).

10 years agostyle.Makefile(5):
johan [Mon, 23 Feb 2004 20:13:52 +0000 (20:13 +0000)]
style.Makefile(5):
Use WARNS?= instead of WARNS=.

10 years ago - Add GPT header/table recovery command
kensmith [Sun, 16 Nov 2003 06:45:26 +0000 (06:45 +0000)]
- Add GPT header/table recovery command
- Minor related cleanup in add command

Approved by: marcel

10 years ago - Provide default values for LABELOFFSET and LABELSECTOR so
kensmith [Sun, 16 Nov 2003 06:43:25 +0000 (06:43 +0000)]
- Provide default values for LABELOFFSET and LABELSECTOR so
  it compiles on all architectures.

Approved by: marcel

11 years agoAssorted mdoc(7) fixes.
ru [Mon, 2 Jun 2003 11:19:23 +0000 (11:19 +0000)]
Assorted mdoc(7) fixes.

11 years agoShow the paritition types that we recognize in human readable format. eg:
peter [Thu, 13 Feb 2003 01:00:26 +0000 (01:00 +0000)]
Show the paritition types that we recognize in human readable format.  eg:
pluto2# gpt show da0
     start       end      size  contents
         0         0         1  PMBR
         1         1         1  Pri GPT header
         2        33        32  Pri GPT table
        34    401595    401562  GPT part - EFI System partition
    401596    925883    524288  GPT part - FreeBSD ufs partition
    925884   9314491   8388608  GPT part - FreeBSD swap partition
...
It'll print a plain uuid string for unrecognized types.

11 years agoo Newer EFI implementations require that a GPT is preceeded by
marcel [Mon, 2 Dec 2002 01:42:03 +0000 (01:42 +0000)]
o  Newer EFI implementations require that a GPT is preceeded by
   a PMBR. Make sure the create command creates a PMBR as well
   (if not already present).
o  When parsing the MBR, explicitly check for a PMBR and create
   a PMBR map node if one is found.
o  When parsing the MBR, recurse to handle extended partitions.
   This allows us to flatten nested MBRs when migrating to a
   GPT.
o  Have the migrate command bail out if it encounters a partition
   it doesn't know how to migrate. This avoids data loss.
o  Change the output of the show command so that the UUIDs of the
   GPT partitions fit on the same line.
o  Show when partitions are extended partitions and add the PMBR
   type.

Approved by: re (blanket)

11 years agoAdd a manpage. Nobody expects the spanish inquisition, but the
marcel [Sun, 1 Dec 2002 02:10:34 +0000 (02:10 +0000)]
Add a manpage. Nobody expects the spanish inquisition, but the
mdoc(7) police... It's all yours ru :-)

Approved by: re (blanket)

11 years agoAllow aliases to be used when specifying partition types. The use of
marcel [Sat, 30 Nov 2002 22:51:46 +0000 (22:51 +0000)]
Allow aliases to be used when specifying partition types. The use of
UUIDs can then be limited to those cases when an alias doesn't exist.
This greatly increases the likelyhood that a sysadmin finishes the
partitioning without intermittent mental breakdowns. Current aliases
are "efi", "swap" and "ufs".

While here, staticize global variables and expand the usage message.

Approved by: re (blanket)

11 years agoRemove inclusion of <sys/uuid.h>. We now include <sys/uuid.h> in
marcel [Sun, 10 Nov 2002 20:22:25 +0000 (20:22 +0000)]
Remove inclusion of <sys/uuid.h>. We now include <sys/uuid.h> in
<sys/gpt.h>. This avoids having to include both <sys/uuid.h> and
<uuid.h>, which is considered by your friendly committer to be
aestheticly displeasing (= ballyhoo barf barf :-)

11 years agoo Remove the fallback implementations of uuid_create(),
marcel [Sat, 2 Nov 2002 07:08:15 +0000 (07:08 +0000)]
o  Remove the fallback implementations of uuid_create(),
   uuid_from_string(), uuid_is_nil() and uuid_to_string().
o  Include <uuid.h> where appropriate.

11 years agoo Add functionality to add a GPT partition,
marcel [Sun, 27 Oct 2002 03:23:05 +0000 (03:23 +0000)]
o  Add functionality to add a GPT partition,
o  Use DCE compliant UUID functions and provide local
   implementations if they don't exist,
o  Move dumping of the map to show.c and print the
   partition type,
o  Some cleanups and rearrangements.

The default GPT partition type is UFS. When no starting block
or size are specified, the tool will create a partition in the
first free space it find (or that fits, depending on the size).

11 years agoAdd the functionality to create an (empty) GPT from scratch. The
marcel [Fri, 25 Oct 2002 05:23:08 +0000 (05:23 +0000)]
Add the functionality to create an (empty) GPT from scratch. The
code is directly copied from migrate.c. The intend is to express
migrate in terms of create and add. The functionality to add
partitions is not yet there.

11 years agoDon't complain if we have an inconsistent map that may be the
marcel [Wed, 23 Oct 2002 03:33:06 +0000 (03:33 +0000)]
Don't complain if we have an inconsistent map that may be the
result of an incomplete migration. An incomplete migration is
one where the MBR is not turned into a PMBR after creating the
GPT. This early in the game it's more convenient to allow the
inconsistency, because that avoids that we have to destroy the
MBR partitioning for now.

11 years agoMake this compile without needing NO_WERROR.
peter [Sun, 25 Aug 2002 02:51:13 +0000 (02:51 +0000)]
Make this compile without needing NO_WERROR.

12 years agoGrab a snapshot of Marcel's gpt tool. This is still a work-in-progress
peter [Sat, 20 Jul 2002 19:27:43 +0000 (19:27 +0000)]
Grab a snapshot of Marcel's gpt tool.  This is still a work-in-progress
but is useful to have handy.  EFI GPT partitions are used instead of the
fdisk+disklabel combination.  They are pure 64 bit LBA, are fully
extensible, support up to 16383 partitons per disk, etc.