Index: head/lib/geom/part/gpart.8 =================================================================== --- head/lib/geom/part/gpart.8 +++ head/lib/geom/part/gpart.8 @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd December 23, 2019 +.Dd August 17, 2020 .Dt GPART 8 .Os .Sh NAME @@ -312,7 +312,7 @@ The partition cannot be actively used by the kernel. .Pp The -.cm delete +.Cm delete command accepts these options: .Bl -tag -width 10n .It Fl f Ar flags @@ -755,6 +755,15 @@ for APM and .Qq Li "!55465300-0000-11aa-aa11-00306543ecac" for GPT. +.It Cm apple-zfs +An Apple Mac OS X partition that contains a ZFS volume. +The scheme-specific type is +.Qq Li "!6a898cc3-1dd2-11b2-99a6-080020736631" +for GPT. The same GUID is being used also for +.Sy illumos/Solaris /usr partition . +See +.Sx CAVEATS +section below. .It Cm dragonfly-label32 A DragonFlyBSD partition subdivided into filesystems with a .Bx @@ -920,8 +929,48 @@ The scheme-specific types are .Qq Li "!65" for MBR and -.Qq Li "!0x9e1a2d38-c612-4316-aa26-8b49521e5a8b" +.Qq Li "!9e1a2d38-c612-4316-aa26-8b49521e5a8b" for GPT. +.It Cm solaris-boot +A illumos/Solaris partition dedicated to boot loader. +The scheme-specific type is +.Qq Li "!6a82cb45-1dd2-11b2-99a6-080020736631" +for GPT. +.It Cm solaris-root +A illumos/Solaris partition dedicated to root filesystem. +The scheme-specific type is +.Qq Li "!6a85cf4d-1dd2-11b2-99a6-080020736631" +for GPT. +.It Cm solaris-swap +A illumos/Solaris partition dedicated to swap. +The scheme-specific type is +.Qq Li "!6a87c46f-1dd2-11b2-99a6-080020736631" +for GPT. +.It Cm solaris-backup +A illumos/Solaris partition dedicated to backup. +The scheme-specific type is +.Qq Li "!6a8b642b-1dd2-11b2-99a6-080020736631" +for GPT. +.It Cm solaris-var +A illumos/Solaris partition dedicated to /var filesystem. +The scheme-specific type is +.Qq Li "!6a8ef2e9-1dd2-11b2-99a6-080020736631" +for GPT. +.It Cm solaris-home +A illumos/Solaris partition dedicated to /home filesystem. +The scheme-specific type is +.Qq Li "!6a90ba39-1dd2-11b2-99a6-080020736631" +for GPT. +.It Cm solaris-altsec +A illumos/Solaris partition dedicated to alternate sector. +The scheme-specific type is +.Qq Li "!6a9283a5-1dd2-11b2-99a6-080020736631" +for GPT. +.It Cm solaris-reserved +A illumos/Solaris partition dedicated to reserved space. +The scheme-specific type is +.Qq Li "!6a945a3b-1dd2-11b2-99a6-080020736631" +for GPT. .It Cm vmware-vmfs A partition that contains a VMware File System (VMFS). The scheme-specific types are @@ -1466,3 +1515,8 @@ .Fx 7.0 . .Sh AUTHORS .An Marcel Moolenaar Aq Mt marcel@FreeBSD.org +.Sh CAVEATS +Partition type +.Em apple-zfs +(6a898cc3-1dd2-11b2-99a6-080020736631) is also being used +on illumos/Solaris platforms for ZFS volumes. Index: head/sys/geom/part/g_part.h =================================================================== --- head/sys/geom/part/g_part.h +++ head/sys/geom/part/g_part.h @@ -47,6 +47,8 @@ G_PART_ALIAS_APPLE_RAID_OFFLINE,/* An Apple RAID (offline) part entry.*/ G_PART_ALIAS_APPLE_TV_RECOVERY, /* An Apple TV recovery part entry. */ G_PART_ALIAS_APPLE_UFS, /* An Apple UFS partition entry. */ + G_PART_ALIAS_APPLE_ZFS, /* An Apple ZFS partition entry. + Also used for Solaris /usr partition. */ G_PART_ALIAS_BIOS_BOOT, /* A GRUB 2 boot partition entry. */ G_PART_ALIAS_CHROMEOS_FIRMWARE, /* A ChromeOS firmware part. entry. */ G_PART_ALIAS_CHROMEOS_KERNEL, /* A ChromeOS Kernel part. entry. */ @@ -93,6 +95,14 @@ G_PART_ALIAS_NETBSD_SWAP, /* A NetBSD swap partition entry. */ G_PART_ALIAS_OPENBSD_DATA, /* An OpenBSD data partition entry. */ G_PART_ALIAS_PREP_BOOT, /* A PREP/CHRP boot partition entry. */ + G_PART_ALIAS_SOLARIS_BOOT, /* A Solaris boot partition entry. */ + G_PART_ALIAS_SOLARIS_ROOT, /* A Solaris root partition entry. */ + G_PART_ALIAS_SOLARIS_SWAP, /* A Solaris swap partition entry. */ + G_PART_ALIAS_SOLARIS_BACKUP, /* A Solaris backup partition entry. */ + G_PART_ALIAS_SOLARIS_VAR, /* A Solaris /var partition entry. */ + G_PART_ALIAS_SOLARIS_HOME, /* A Solaris /home partition entry. */ + G_PART_ALIAS_SOLARIS_ALTSEC, /* A Solaris alternate sector partition entry. */ + G_PART_ALIAS_SOLARIS_RESERVED, /* A Solaris reserved partition entry. */ G_PART_ALIAS_VMFS, /* A VMware VMFS partition entry */ G_PART_ALIAS_VMKDIAG, /* A VMware vmkDiagnostic partition entry */ G_PART_ALIAS_VMRESERVED, /* A VMware reserved partition entry */ Index: head/sys/geom/part/g_part.c =================================================================== --- head/sys/geom/part/g_part.c +++ head/sys/geom/part/g_part.c @@ -76,6 +76,7 @@ { "apple-raid-offline", G_PART_ALIAS_APPLE_RAID_OFFLINE }, { "apple-tv-recovery", G_PART_ALIAS_APPLE_TV_RECOVERY }, { "apple-ufs", G_PART_ALIAS_APPLE_UFS }, + { "apple-zfs", G_PART_ALIAS_APPLE_ZFS }, { "bios-boot", G_PART_ALIAS_BIOS_BOOT }, { "chromeos-firmware", G_PART_ALIAS_CHROMEOS_FIRMWARE }, { "chromeos-kernel", G_PART_ALIAS_CHROMEOS_KERNEL }, @@ -122,6 +123,14 @@ { "ntfs", G_PART_ALIAS_MS_NTFS }, { "openbsd-data", G_PART_ALIAS_OPENBSD_DATA }, { "prep-boot", G_PART_ALIAS_PREP_BOOT }, + { "solaris-boot", G_PART_ALIAS_SOLARIS_BOOT }, + { "solaris-root", G_PART_ALIAS_SOLARIS_ROOT }, + { "solaris-swap", G_PART_ALIAS_SOLARIS_SWAP }, + { "solaris-backup", G_PART_ALIAS_SOLARIS_BACKUP }, + { "solaris-var", G_PART_ALIAS_SOLARIS_VAR }, + { "solaris-home", G_PART_ALIAS_SOLARIS_HOME }, + { "solaris-altsec", G_PART_ALIAS_SOLARIS_ALTSEC }, + { "solaris-reserved", G_PART_ALIAS_SOLARIS_RESERVED }, { "vmware-reserved", G_PART_ALIAS_VMRESERVED }, { "vmware-vmfs", G_PART_ALIAS_VMFS }, { "vmware-vmkdiag", G_PART_ALIAS_VMKDIAG }, Index: head/sys/geom/part/g_part_gpt.c =================================================================== --- head/sys/geom/part/g_part_gpt.c +++ head/sys/geom/part/g_part_gpt.c @@ -168,6 +168,7 @@ static struct uuid gpt_uuid_apple_raid_offline = GPT_ENT_TYPE_APPLE_RAID_OFFLINE; static struct uuid gpt_uuid_apple_tv_recovery = GPT_ENT_TYPE_APPLE_TV_RECOVERY; static struct uuid gpt_uuid_apple_ufs = GPT_ENT_TYPE_APPLE_UFS; +static struct uuid gpt_uuid_apple_zfs = GPT_ENT_TYPE_APPLE_ZFS; static struct uuid gpt_uuid_bios_boot = GPT_ENT_TYPE_BIOS_BOOT; static struct uuid gpt_uuid_chromeos_firmware = GPT_ENT_TYPE_CHROMEOS_FIRMWARE; static struct uuid gpt_uuid_chromeos_kernel = GPT_ENT_TYPE_CHROMEOS_KERNEL; @@ -209,6 +210,14 @@ static struct uuid gpt_uuid_netbsd_swap = GPT_ENT_TYPE_NETBSD_SWAP; static struct uuid gpt_uuid_openbsd_data = GPT_ENT_TYPE_OPENBSD_DATA; static struct uuid gpt_uuid_prep_boot = GPT_ENT_TYPE_PREP_BOOT; +static struct uuid gpt_uuid_solaris_boot = GPT_ENT_TYPE_SOLARIS_BOOT; +static struct uuid gpt_uuid_solaris_root = GPT_ENT_TYPE_SOLARIS_ROOT; +static struct uuid gpt_uuid_solaris_swap = GPT_ENT_TYPE_SOLARIS_SWAP; +static struct uuid gpt_uuid_solaris_backup = GPT_ENT_TYPE_SOLARIS_BACKUP; +static struct uuid gpt_uuid_solaris_var = GPT_ENT_TYPE_SOLARIS_VAR; +static struct uuid gpt_uuid_solaris_home = GPT_ENT_TYPE_SOLARIS_HOME; +static struct uuid gpt_uuid_solaris_altsec = GPT_ENT_TYPE_SOLARIS_ALTSEC; +static struct uuid gpt_uuid_solaris_reserved = GPT_ENT_TYPE_SOLARIS_RESERVED; static struct uuid gpt_uuid_unused = GPT_ENT_TYPE_UNUSED; static struct uuid gpt_uuid_vmfs = GPT_ENT_TYPE_VMFS; static struct uuid gpt_uuid_vmkdiag = GPT_ENT_TYPE_VMKDIAG; @@ -229,6 +238,7 @@ { &gpt_uuid_apple_raid_offline, G_PART_ALIAS_APPLE_RAID_OFFLINE, 0 }, { &gpt_uuid_apple_tv_recovery, G_PART_ALIAS_APPLE_TV_RECOVERY, 0 }, { &gpt_uuid_apple_ufs, G_PART_ALIAS_APPLE_UFS, 0 }, + { &gpt_uuid_apple_zfs, G_PART_ALIAS_APPLE_ZFS, 0 }, { &gpt_uuid_bios_boot, G_PART_ALIAS_BIOS_BOOT, 0 }, { &gpt_uuid_chromeos_firmware, G_PART_ALIAS_CHROMEOS_FIRMWARE, 0 }, { &gpt_uuid_chromeos_kernel, G_PART_ALIAS_CHROMEOS_KERNEL, 0 }, @@ -270,6 +280,14 @@ { &gpt_uuid_netbsd_swap, G_PART_ALIAS_NETBSD_SWAP, 0 }, { &gpt_uuid_openbsd_data, G_PART_ALIAS_OPENBSD_DATA, 0 }, { &gpt_uuid_prep_boot, G_PART_ALIAS_PREP_BOOT, 0x41 }, + { &gpt_uuid_solaris_boot, G_PART_ALIAS_SOLARIS_BOOT, 0 }, + { &gpt_uuid_solaris_root, G_PART_ALIAS_SOLARIS_ROOT, 0 }, + { &gpt_uuid_solaris_swap, G_PART_ALIAS_SOLARIS_SWAP, 0 }, + { &gpt_uuid_solaris_backup, G_PART_ALIAS_SOLARIS_BACKUP, 0 }, + { &gpt_uuid_solaris_var, G_PART_ALIAS_SOLARIS_VAR, 0 }, + { &gpt_uuid_solaris_home, G_PART_ALIAS_SOLARIS_HOME, 0 }, + { &gpt_uuid_solaris_altsec, G_PART_ALIAS_SOLARIS_ALTSEC, 0 }, + { &gpt_uuid_solaris_reserved, G_PART_ALIAS_SOLARIS_RESERVED, 0 }, { &gpt_uuid_vmfs, G_PART_ALIAS_VMFS, 0 }, { &gpt_uuid_vmkdiag, G_PART_ALIAS_VMKDIAG, 0 }, { &gpt_uuid_vmreserved, G_PART_ALIAS_VMRESERVED, 0 }, Index: head/sys/sys/disk/gpt.h =================================================================== --- head/sys/sys/disk/gpt.h +++ head/sys/sys/disk/gpt.h @@ -230,6 +230,23 @@ #define GPT_ENT_TYPE_OPENBSD_DATA \ {0x824cc7a0,0x36a8,0x11e3,0x89,0x0a,{0x95,0x25,0x19,0xad,0x3f,0x61}} +#define GPT_ENT_TYPE_SOLARIS_BOOT \ + {0x6a82cb45,0x1dd2,0x11b2,0x99,0xa6,{0x08,0x00,0x20,0x73,0x66,0x31}} +#define GPT_ENT_TYPE_SOLARIS_ROOT \ + {0x6a85cf4d,0x1dd2,0x11b2,0x99,0xa6,{0x08,0x00,0x20,0x73,0x66,0x31}} +#define GPT_ENT_TYPE_SOLARIS_SWAP \ + {0x6a87c46f,0x1dd2,0x11b2,0x99,0xa6,{0x08,0x00,0x20,0x73,0x66,0x31}} +#define GPT_ENT_TYPE_SOLARIS_BACKUP \ + {0x6a8b642b,0x1dd2,0x11b2,0x99,0xa6,{0x08,0x00,0x20,0x73,0x66,0x31}} +#define GPT_ENT_TYPE_SOLARIS_VAR \ + {0x6a8ef2e9,0x1dd2,0x11b2,0x99,0xa6,{0x08,0x00,0x20,0x73,0x66,0x31}} +#define GPT_ENT_TYPE_SOLARIS_HOME \ + {0x6a90ba39,0x1dd2,0x11b2,0x99,0xa6,{0x08,0x00,0x20,0x73,0x66,0x31}} +#define GPT_ENT_TYPE_SOLARIS_ALTSEC \ + {0x6a9283a5,0x1dd2,0x11b2,0x99,0xa6,{0x08,0x00,0x20,0x73,0x66,0x31}} +#define GPT_ENT_TYPE_SOLARIS_RESERVED \ + {0x6a945a3b,0x1dd2,0x11b2,0x99,0xa6,{0x08,0x00,0x20,0x73,0x66,0x31}} + /* * Boot partition used by GRUB 2. */