util-linux/fdisks
Davidlohr Bueso 766d5156c4 fdisk: add GPT support
This patch allows fdisk to handle GUID partition tables, based on the latest UEFI specifications
version 2.3.1, from June 27th, 2012. The following operations are supported:

  - Probing (detects both protective and hybrid MBRs)
  - Writing to disk
  - Listing used partitions
  - Adding partitions
  - Deleting partitions
  - Data integrity verifications (for both headers and partitions).

A few considerations:
  - Currently we do not fix invalid primary headers -- we just abort!
  - Header checksums are updated upon every change (ie: add/delete partitions), this allows us
    to mathematically verify the changes on-the-fly, and not only when writing to disk, like
    most other related tools do.
  - We are extremly picky when writing to disk, any error aborts the opeartion.
  - When creating a new partition, the following GUIDs are available:
     http://en.wikipedia.org/wiki/GUID_Partition_Table#Partition_type_GUIDs

For test cases, the gpt.img from libblkid tests, scsi_debug and my own hard drive (/dev/sda) were used.
For the image, all operations were tested successfully, and for /dev/sda all except write, which
was not tested - hey, I'm not suicidal!

[kzak@redhat.com: - add get/set partition type functions
                  - use unified on strings based table for partition types
                  - add partition type to table list function]

Tested-and-reviewed-by: Petr Uzel <petr.uzel@suse.cz>
Signed-off-by: Davidlohr Bueso <dave@gnu.org>
Signed-off-by: Karel Zak <kzak@redhat.com>
2012-09-27 13:38:14 +02:00
..
Makemodule.am fdisk: add GPT support 2012-09-27 13:38:14 +02:00
cfdisk.8 build-sys: rename fdisk -> fdisks/, convert to module 2012-06-26 20:50:53 +02:00
cfdisk.c fdisk: add GPT support 2012-09-27 13:38:14 +02:00
common.h fdisk: move partition types to label specific part 2012-09-27 13:38:13 +02:00
dos_part_types.h fdisk: move partition types to label specific part 2012-09-27 13:38:13 +02:00
fdisk.8 fdisk: document FDISK_DEBUG 2012-09-04 12:48:23 +02:00
fdisk.c fdisk: add GPT support 2012-09-27 13:38:14 +02:00
fdisk.h fdisk: add GPT support 2012-09-27 13:38:14 +02:00
fdiskaixlabel.c fdisk: use fdisk_parttype in add_partition 2012-09-27 13:38:13 +02:00
fdiskaixlabel.h fdisk: move partition types to label specific part 2012-09-27 13:38:13 +02:00
fdiskbsdlabel.c fdisk: use fdisk_parttype in add_partition 2012-09-27 13:38:13 +02:00
fdiskbsdlabel.h fdisk: move partition types to label specific part 2012-09-27 13:38:13 +02:00
fdiskdoslabel.c fdisk: use fdisk_parttype in add_partition 2012-09-27 13:38:13 +02:00
fdiskdoslabel.h fdisk: add fdisk_set_partition_type() 2012-09-27 13:38:13 +02:00
fdiskmaclabel.c fdisk: use fdisk_parttype in add_partition 2012-09-27 13:38:13 +02:00
fdiskmaclabel.h fdisk: move partition types to label specific part 2012-09-27 13:38:13 +02:00
fdisksgilabel.c fdisk: use fdisk_parttype in add_partition 2012-09-27 13:38:13 +02:00
fdisksgilabel.h fdisk: add fdisk_get_partition_type() 2012-09-27 13:38:13 +02:00
fdisksunlabel.c fdisk: use fdisk_parttype in add_partition 2012-09-27 13:38:13 +02:00
fdisksunlabel.h fdisk: add fdisk_get_partition_type() 2012-09-27 13:38:13 +02:00
gpt.c fdisk: add GPT support 2012-09-27 13:38:14 +02:00
gpt.h fdisk: add GPT support 2012-09-27 13:38:14 +02:00
partname.c build-sys: rename fdisk -> fdisks/, convert to module 2012-06-26 20:50:53 +02:00
sfdisk.8 build-sys: rename fdisk -> fdisks/, convert to module 2012-06-26 20:50:53 +02:00
sfdisk.c fdisk: add GPT support 2012-09-27 13:38:14 +02:00
utils.c fdisk: add GPT support 2012-09-27 13:38:14 +02:00