From: krw Date: Tue, 3 May 2022 11:48:47 +0000 (+0000) Subject: Rework display of partition types, removing unnecessary trailing X-Git-Url: http://artulab.com/gitweb/?a=commitdiff_plain;h=72c8f31d9ea24f5af469536cb17e867b23fe1f6b;p=openbsd Rework display of partition types, removing unnecessary trailing blanks in the arrays of type names, simplifying the code and making better use of printf(). Along the way discover that "APFS Recovery" fits, so nuke the annoying "AFPS Recovry" contraction. No intentional functional change. Some "APFS Recovery" nits pointed out by jsg@ --- diff --git a/distrib/miniroot/install.sub b/distrib/miniroot/install.sub index 987be8f82be..4bc44f10942 100644 --- a/distrib/miniroot/install.sub +++ b/distrib/miniroot/install.sub @@ -1,5 +1,5 @@ #!/bin/ksh -# $OpenBSD: install.sub,v 1.1194 2022/04/22 17:25:10 deraadt Exp $ +# $OpenBSD: install.sub,v 1.1195 2022/05/03 11:48:47 krw Exp $ # # Copyright (c) 1997-2015 Todd Miller, Theo de Raadt, Ken Westerback # Copyright (c) 2015, Robert Peichaer @@ -381,7 +381,7 @@ disk_has() { local _p_gpt_openbsd='^[ *]...: OpenBSD ' local _p_gpt_apfs='^[ *]...: APFS ' local _p_gpt_apfsisc='^[ *]...: APFS ISC ' - local _p_gpt_apfsrecovery='^[ *]...: APFS Recovry ' + local _p_gpt_apfsrecovery='^[ *]...: APFS Recovery ' local _p_gpt_biosboot='^[ *]...: BIOS Boot ' local _p_gpt_efisys='^[ *]...: EFI Sys ' local _p_hfs='^Partition map ' diff --git a/sbin/fdisk/fdisk.8 b/sbin/fdisk/fdisk.8 index aa462b54e1a..480f60c18c5 100644 --- a/sbin/fdisk/fdisk.8 +++ b/sbin/fdisk/fdisk.8 @@ -1,4 +1,4 @@ -.\" $OpenBSD: fdisk.8,v 1.112 2022/03/31 17:27:19 naddy Exp $ +.\" $OpenBSD: fdisk.8,v 1.113 2022/05/03 11:48:47 krw Exp $ .\" .\" .\" Copyright (c) 1997 Tobias Weingartner @@ -15,7 +15,7 @@ .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. .\" -.Dd $Mdocdate: March 31 2022 $ +.Dd $Mdocdate: May 3 2022 $ .Dt FDISK 8 .Os .Sh NAME @@ -64,7 +64,7 @@ The free space is maximized by deleting all existing partitions except the boot partitions .Sq APFS ISC , .Sq APFS , -.Sq APFS Recovry , +.Sq APFS Recovery , .Sq BIOS Boot , .Sq HiFive FSBL and @@ -74,7 +74,7 @@ If one of .Sq APFS ISC , .Sq APFS , or -.Sq APFS Recovry +.Sq APFS Recovery is detected then any existing .Sq EFI system will also be preserved. diff --git a/sbin/fdisk/part.c b/sbin/fdisk/part.c index ca5f00712c2..b98756ef0c3 100644 --- a/sbin/fdisk/part.c +++ b/sbin/fdisk/part.c @@ -1,4 +1,4 @@ -/* $OpenBSD: part.c,v 1.124 2022/04/28 13:22:19 krw Exp $ */ +/* $OpenBSD: part.c,v 1.125 2022/05/03 11:48:47 krw Exp $ */ /* * Copyright (c) 1997 Tobias Weingartner @@ -39,101 +39,101 @@ struct mbr_type { }; const struct mbr_type mbr_types[] = { - { 0x00, "unused " }, /* unused */ - { 0x01, "DOS FAT-12 " }, /* Primary DOS with 12 bit FAT */ - { 0x02, "XENIX / " }, /* XENIX / filesystem */ - { 0x03, "XENIX /usr " }, /* XENIX /usr filesystem */ - { 0x04, "DOS FAT-16 " }, /* Primary DOS with 16 bit FAT */ - { 0x05, "Extended DOS" }, /* Extended DOS */ - { 0x06, "DOS > 32MB " }, /* Primary 'big' DOS (> 32MB) */ - { 0x07, "NTFS " }, /* NTFS */ - { 0x08, "AIX fs " }, /* AIX filesystem */ - { 0x09, "AIX/Coherent" }, /* AIX boot partition or Coherent */ - { 0x0A, "OS/2 Bootmgr" }, /* OS/2 Boot Manager or OPUS */ - { 0x0B, "Win95 FAT-32" }, /* Primary Win95 w/ 32-bit FAT */ - { 0x0C, "Win95 FAT32L" }, /* Primary Win95 w/ 32-bit FAT LBA-mapped */ - { 0x0E, "DOS FAT-16 " }, /* Primary DOS w/ 16-bit FAT, CHS-mapped */ - { 0x0F, "Extended LBA" }, /* Extended DOS LBA-mapped */ - { 0x10, "OPUS " }, /* OPUS */ - { 0x11, "OS/2 hidden " }, /* OS/2 BM: hidden DOS 12-bit FAT */ - { 0x12, "Compaq Diag." }, /* Compaq Diagnostics */ - { 0x14, "OS/2 hidden " }, /* OS/2 BM: hidden DOS 16-bit FAT <32M or Novell DOS 7.0 bug */ - { 0x16, "OS/2 hidden " }, /* OS/2 BM: hidden DOS 16-bit FAT >=32M */ - { 0x17, "OS/2 hidden " }, /* OS/2 BM: hidden IFS */ - { 0x18, "AST swap " }, /* AST Windows swapfile */ - { 0x19, "Willowtech " }, /* Willowtech Photon coS */ - { 0x1C, "ThinkPad Rec" }, /* IBM ThinkPad recovery partition */ - { 0x20, "Willowsoft " }, /* Willowsoft OFS1 */ - { 0x24, "NEC DOS " }, /* NEC DOS */ - { 0x27, "Win Recovery" }, /* Windows hidden Recovery Partition */ - { 0x38, "Theos " }, /* Theos */ - { 0x39, "Plan 9 " }, /* Plan 9 */ - { 0x40, "VENIX 286 " }, /* VENIX 286 or LynxOS */ - { 0x41, "Lin/Minux DR" }, /* Linux/MINIX (sharing disk with DRDOS) or Personal RISC boot */ - { 0x42, "LinuxSwap DR" }, /* SFS or Linux swap (sharing disk with DRDOS) */ - { 0x43, "Linux DR " }, /* Linux native (sharing disk with DRDOS) */ - { 0x4D, "QNX 4.2 Pri " }, /* QNX 4.2 Primary */ - { 0x4E, "QNX 4.2 Sec " }, /* QNX 4.2 Secondary */ - { 0x4F, "QNX 4.2 Ter " }, /* QNX 4.2 Tertiary */ - { 0x50, "DM " }, /* DM (disk manager) */ - { 0x51, "DM " }, /* DM6 Aux1 (or Novell) */ - { 0x52, "CP/M or SysV" }, /* CP/M or Microport SysV/AT */ - { 0x53, "DM " }, /* DM6 Aux3 */ - { 0x54, "Ontrack " }, /* Ontrack */ - { 0x55, "EZ-Drive " }, /* EZ-Drive (disk manager) */ - { 0x56, "Golden Bow " }, /* Golden Bow (disk manager) */ - { 0x5C, "Priam " }, /* Priam Edisk (disk manager) */ - { 0x61, "SpeedStor " }, /* SpeedStor */ - { 0x63, "ISC, HURD, *" }, /* ISC, System V/386, GNU HURD or Mach */ - { 0x64, "NetWare 2.xx" }, /* Novell NetWare 2.xx */ - { 0x65, "NetWare 3.xx" }, /* Novell NetWare 3.xx */ - { 0x66, "NetWare 386 " }, /* Novell 386 NetWare */ - { 0x67, "Novell " }, /* Novell */ - { 0x68, "Novell " }, /* Novell */ - { 0x69, "Novell " }, /* Novell */ - { 0x70, "DiskSecure " }, /* DiskSecure Multi-Boot */ - { 0x75, "PCIX " }, /* PCIX */ - { 0x80, "Minix (old) " }, /* Minix 1.1 ... 1.4a */ - { 0x81, "Minix (new) " }, /* Minix 1.4b ... 1.5.10 */ - { 0x82, "Linux swap " }, /* Linux swap */ - { 0x83, "Linux files*" }, /* Linux filesystem */ - { 0x84, "OS/2 hidden " }, /* OS/2 hidden C: drive */ - { 0x85, "Linux ext. " }, /* Linux extended */ - { 0x86, "NT FAT VS " }, /* NT FAT volume set */ - { 0x87, "NTFS VS " }, /* NTFS volume set or HPFS mirrored */ - { 0x8E, "Linux LVM " }, /* Linux LVM */ - { 0x93, "Amoeba FS " }, /* Amoeba filesystem */ - { 0x94, "Amoeba BBT " }, /* Amoeba bad block table */ - { 0x99, "Mylex " }, /* Mylex EISA SCSI */ - { 0x9F, "BSDI " }, /* BSDI BSD/OS */ - { 0xA0, "NotebookSave" }, /* Phoenix NoteBIOS save-to-disk */ - { 0xA5, "FreeBSD " }, /* FreeBSD */ - { 0xA6, "OpenBSD " }, /* OpenBSD */ - { 0xA7, "NEXTSTEP " }, /* NEXTSTEP */ - { 0xA8, "MacOS X " }, /* MacOS X main partition */ - { 0xA9, "NetBSD " }, /* NetBSD */ - { 0xAB, "MacOS X boot" }, /* MacOS X boot partition */ - { 0xAF, "MacOS X HFS+" }, /* MacOS X HFS+ partition */ - { 0xB7, "BSDI filesy*" }, /* BSDI BSD/386 filesystem */ - { 0xB8, "BSDI swap " }, /* BSDI BSD/386 swap */ - { 0xBF, "Solaris " }, /* Solaris */ - { 0xC0, "CTOS " }, /* CTOS */ - { 0xC1, "DRDOSs FAT12" }, /* DRDOS/sec (FAT-12) */ - { 0xC4, "DRDOSs < 32M" }, /* DRDOS/sec (FAT-16, < 32M) */ - { 0xC6, "DRDOSs >=32M" }, /* DRDOS/sec (FAT-16, >= 32M) */ - { 0xC7, "HPFS Disbled" }, /* Syrinx (Cyrnix?) or HPFS disabled */ - { 0xDB, "CPM/C.DOS/C*" }, /* Concurrent CPM or C.DOS or CTOS */ - { 0xDE, "Dell Maint " }, /* Dell maintenance partition */ - { 0xE1, "SpeedStor " }, /* DOS access or SpeedStor 12-bit FAT extended partition */ - { 0xE3, "SpeedStor " }, /* DOS R/O or SpeedStor or Storage Dimensions */ - { 0xE4, "SpeedStor " }, /* SpeedStor 16-bit FAT extended partition < 1024 cyl. */ - { 0xEB, "BeOS/i386 " }, /* BeOS for Intel */ - { 0xEE, "EFI GPT " }, /* EFI Protective Partition */ - { 0xEF, "EFI Sys " }, /* EFI System Partition */ - { 0xF1, "SpeedStor " }, /* SpeedStor or Storage Dimensions */ - { 0xF2, "DOS 3.3+ Sec" }, /* DOS 3.3+ Secondary */ - { 0xF4, "SpeedStor " }, /* SpeedStor >1024 cyl. or LANstep or IBM PS/2 IML */ - { 0xFF, "Xenix BBT " }, /* Xenix Bad Block Table */ + { 0x00, "unused" }, /* unused */ + { 0x01, "DOS FAT-12" }, /* Primary DOS with 12 bit FAT */ + { 0x02, "XENIX /" }, /* XENIX / filesystem */ + { 0x03, "XENIX /usr" }, /* XENIX /usr filesystem */ + { 0x04, "DOS FAT-16" }, /* Primary DOS with 16 bit FAT */ + { 0x05, "Extended DOS" }, /* Extended DOS */ + { 0x06, "DOS > 32MB" }, /* Primary 'big' DOS (> 32MB) */ + { 0x07, "NTFS" }, /* NTFS */ + { 0x08, "AIX fs" }, /* AIX filesystem */ + { 0x09, "AIX/Coherent" }, /* AIX boot partition or Coherent */ + { 0x0A, "OS/2 Bootmgr" }, /* OS/2 Boot Manager or OPUS */ + { 0x0B, "Win95 FAT-32" }, /* Primary Win95 w/ 32-bit FAT */ + { 0x0C, "Win95 FAT32L" }, /* Primary Win95 w/ 32-bit FAT LBA-mapped */ + { 0x0E, "DOS FAT-16" }, /* Primary DOS w/ 16-bit FAT, CHS-mapped */ + { 0x0F, "Extended LBA" }, /* Extended DOS LBA-mapped */ + { 0x10, "OPUS" }, /* OPUS */ + { 0x11, "OS/2 hidden" }, /* OS/2 BM: hidden DOS 12-bit FAT */ + { 0x12, "Compaq Diag" }, /* Compaq Diagnostics */ + { 0x14, "OS/2 hidden" }, /* OS/2 BM: hidden DOS 16-bit FAT <32M or Novell DOS 7.0 bug */ + { 0x16, "OS/2 hidden" }, /* OS/2 BM: hidden DOS 16-bit FAT >=32M */ + { 0x17, "OS/2 hidden" }, /* OS/2 BM: hidden IFS */ + { 0x18, "AST swap" }, /* AST Windows swapfile */ + { 0x19, "Willowtech" }, /* Willowtech Photon coS */ + { 0x1C, "ThinkPad Rec" }, /* IBM ThinkPad recovery partition */ + { 0x20, "Willowsoft" }, /* Willowsoft OFS1 */ + { 0x24, "NEC DOS" }, /* NEC DOS */ + { 0x27, "Win Recovery" }, /* Windows hidden Recovery Partition */ + { 0x38, "Theos" }, /* Theos */ + { 0x39, "Plan 9" }, /* Plan 9 */ + { 0x40, "VENIX 286" }, /* VENIX 286 or LynxOS */ + { 0x41, "Lin/Minux DR" }, /* Linux/MINIX (sharing disk with DRDOS) or Personal RISC boot */ + { 0x42, "LinuxSwap DR" }, /* SFS or Linux swap (sharing disk with DRDOS) */ + { 0x43, "Linux DR" }, /* Linux native (sharing disk with DRDOS) */ + { 0x4D, "QNX 4.2 Pri" }, /* QNX 4.2 Primary */ + { 0x4E, "QNX 4.2 Sec" }, /* QNX 4.2 Secondary */ + { 0x4F, "QNX 4.2 Ter" }, /* QNX 4.2 Tertiary */ + { 0x50, "DM" }, /* DM (disk manager) */ + { 0x51, "DM" }, /* DM6 Aux1 (or Novell) */ + { 0x52, "CP/M or SysV" }, /* CP/M or Microport SysV/AT */ + { 0x53, "DM" }, /* DM6 Aux3 */ + { 0x54, "Ontrack" }, /* Ontrack */ + { 0x55, "EZ-Drive" }, /* EZ-Drive (disk manager) */ + { 0x56, "Golden Bow" }, /* Golden Bow (disk manager) */ + { 0x5C, "Priam" }, /* Priam Edisk (disk manager) */ + { 0x61, "SpeedStor" }, /* SpeedStor */ + { 0x63, "ISC, HURD, *" }, /* ISC, System V/386, GNU HURD or Mach */ + { 0x64, "NetWare 2.xx" }, /* Novell NetWare 2.xx */ + { 0x65, "NetWare 3.xx" }, /* Novell NetWare 3.xx */ + { 0x66, "NetWare 386" }, /* Novell 386 NetWare */ + { 0x67, "Novell" }, /* Novell */ + { 0x68, "Novell" }, /* Novell */ + { 0x69, "Novell" }, /* Novell */ + { 0x70, "DiskSecure" }, /* DiskSecure Multi-Boot */ + { 0x75, "PCIX" }, /* PCIX */ + { 0x80, "Minix (old)" }, /* Minix 1.1 ... 1.4a */ + { 0x81, "Minix (new)" }, /* Minix 1.4b ... 1.5.10 */ + { 0x82, "Linux swap" }, /* Linux swap */ + { 0x83, "Linux files*" }, /* Linux filesystem */ + { 0x84, "OS/2 hidden" }, /* OS/2 hidden C: drive */ + { 0x85, "Linux ext." }, /* Linux extended */ + { 0x86, "NT FAT VS" }, /* NT FAT volume set */ + { 0x87, "NTFS VS" }, /* NTFS volume set or HPFS mirrored */ + { 0x8E, "Linux LVM" }, /* Linux LVM */ + { 0x93, "Amoeba FS" }, /* Amoeba filesystem */ + { 0x94, "Amoeba BBT" }, /* Amoeba bad block table */ + { 0x99, "Mylex" }, /* Mylex EISA SCSI */ + { 0x9F, "BSDI" }, /* BSDI BSD/OS */ + { 0xA0, "NotebookSave" }, /* Phoenix NoteBIOS save-to-disk */ + { 0xA5, "FreeBSD" }, /* FreeBSD */ + { 0xA6, "OpenBSD" }, /* OpenBSD */ + { 0xA7, "NEXTSTEP" }, /* NEXTSTEP */ + { 0xA8, "MacOS X" }, /* MacOS X main partition */ + { 0xA9, "NetBSD" }, /* NetBSD */ + { 0xAB, "MacOS X boot" }, /* MacOS X boot partition */ + { 0xAF, "MacOS X HFS+" }, /* MacOS X HFS+ partition */ + { 0xB7, "BSDI filesy*" }, /* BSDI BSD/386 filesystem */ + { 0xB8, "BSDI swap" }, /* BSDI BSD/386 swap */ + { 0xBF, "Solaris" }, /* Solaris */ + { 0xC0, "CTOS" }, /* CTOS */ + { 0xC1, "DRDOSs FAT12" }, /* DRDOS/sec (FAT-12) */ + { 0xC4, "DRDOSs < 32M" }, /* DRDOS/sec (FAT-16, < 32M) */ + { 0xC6, "DRDOSs >=32M" }, /* DRDOS/sec (FAT-16, >= 32M) */ + { 0xC7, "HPFS Disbled" }, /* Syrinx (Cyrnix?) or HPFS disabled */ + { 0xDB, "CPM/C.DOS/C*" }, /* Concurrent CPM or C.DOS or CTOS */ + { 0xDE, "Dell Maint" }, /* Dell maintenance partition */ + { 0xE1, "SpeedStor" }, /* DOS access or SpeedStor 12-bit FAT extended partition */ + { 0xE3, "SpeedStor" }, /* DOS R/O or SpeedStor or Storage Dimensions */ + { 0xE4, "SpeedStor" }, /* SpeedStor 16-bit FAT extended partition < 1024 cyl. */ + { 0xEB, "BeOS/i386" }, /* BeOS for Intel */ + { 0xEE, "EFI GPT" }, /* EFI Protective Partition */ + { 0xEF, "EFI Sys" }, /* EFI System Partition */ + { 0xF1, "SpeedStor" }, /* SpeedStor or Storage Dimensions */ + { 0xF2, "DOS 3.3+ Sec" }, /* DOS 3.3+ Secondary */ + { 0xF4, "SpeedStor" }, /* SpeedStor >1024 cyl. or LANstep or IBM PS/2 IML */ + { 0xFF, "Xenix BBT" }, /* Xenix Bad Block Table */ }; struct gpt_type { @@ -144,40 +144,40 @@ struct gpt_type { }; const struct gpt_type gpt_types[] = { - { 0x00, 0, "unused ", "00000000-0000-0000-0000-000000000000" }, - { 0x01, 0, "FAT12 ", "ebd0a0a2-b9e5-4433-87c0-68b6b72699c7" }, - { 0x04, 0, "FAT16S ", "ebd0a0a2-b9e5-4433-87c0-68b6b72699c7" }, - { 0x06, 0, "FAT16B ", "ebd0a0a2-b9e5-4433-87c0-68b6b72699c7" }, - { 0x07, 0, "NTFS ", "ebd0a0a2-b9e5-4433-87c0-68b6b72699c7" }, - { 0x0B, 0, "FAT32 ", "ebd0a0a2-b9e5-4433-87c0-68b6b72699c7" }, - { 0x0C, 0, "FAT32L ", "ebd0a0a2-b9e5-4433-87c0-68b6b72699c7" }, - { 0x0D, 1, "BIOS Boot ", "21686148-6449-6e6f-744e-656564454649" }, - { 0x0E, 0, "FAT16L ", "ebd0a0a2-b9e5-4433-87c0-68b6b72699c7" }, - { 0x11, 0, "OS/2 hidden ", "ebd0a0a2-b9e5-4433-87c0-68b6b72699c7" }, - { 0x14, 0, "OS/2 hidden ", "ebd0a0a2-b9e5-4433-87c0-68b6b72699c7" }, - { 0x16, 0, "OS/2 hidden ", "ebd0a0a2-b9e5-4433-87c0-68b6b72699c7" }, - { 0x17, 0, "OS/2 hidden ", "ebd0a0a2-b9e5-4433-87c0-68b6b72699c7" }, - { 0x1C, 0, "ThinkPad Rec", "ebd0a0a2-b9e5-4433-87c0-68b6b72699c7" }, - { 0x27, 0, "Win Recovery", "de94bba4-06d1-4d40-a16a-bfd50179d6ac" }, - { 0x42, 0, "LinuxSwap DR", "af9b60a0-1431-4f62-bc68-3311714a69ad" }, - { 0x7f, 0, "ChromeKernel", "fe3a2a5d-4f32-41a7-b725-accc3285a309" }, - { 0x82, 0, "Linux swap ", "0657fd6d-a4ab-43c4-84e5-0933c84b4f4f" }, - { 0x83, 0, "Linux files*", "0fc63daf-8483-4772-8e79-3d69d8477de4" }, - { 0x8E, 0, "Linux LVM ", "e6d6d379-f507-44c2-a23c-238f2a3df928" }, - { 0xA5, 0, "FreeBSD ", "516e7cb4-6ecf-11d6-8ff8-00022d09712b" }, - { 0xA6, 0, "OpenBSD ", "824cc7a0-36a8-11e3-890a-952519ad3f61" }, - { 0xA8, 0, "MacOS X ", "55465300-0000-11aa-aa11-00306543ecac" }, - { 0xA9, 0, "NetBSD ", "516e7cb4-6ecf-11d6-8ff8-00022d09712b" }, - { 0xAB, 0, "MacOS X boot", "426f6f74-0000-11aa-aa11-00306543ecac" }, - { 0xAF, 0, "MacOS X HFS+", "48465300-0000-11aa-aa11-00306543ecac" }, - { 0xB0, 1, "APFS ", "7c3457ef-0000-11aa-aa11-00306543ecac" }, - { 0xB1, 1, "APFS ISC ", "69646961-6700-11aa-aa11-00306543ecac" }, - { 0xB2, 1, "APFS Recovry", "52637672-7900-11aa-aa11-00306543ecac" }, - { 0xB3, 1, "HiFive FSBL ", "5b193300-fc78-40cd-8002-e86c45580b47" }, - { 0xB4, 1, "HiFive BBL ", "2e54b353-1271-4842-806f-e436d6af6985" }, - { 0xBF, 0, "Solaris ", "6a85cf4d-1dd2-11b2-99a6-080020736631" }, - { 0xEB, 0, "BeOS/i386 ", "42465331-3ba3-10f1-802a-4861696b7521" }, - { 0xEF, 0, "EFI Sys ", "c12a7328-f81f-11d2-ba4b-00a0c93ec93b" }, + { 0x00, 0, "unused", "00000000-0000-0000-0000-000000000000" }, + { 0x01, 0, "FAT12", "ebd0a0a2-b9e5-4433-87c0-68b6b72699c7" }, + { 0x04, 0, "FAT16S", "ebd0a0a2-b9e5-4433-87c0-68b6b72699c7" }, + { 0x06, 0, "FAT16B", "ebd0a0a2-b9e5-4433-87c0-68b6b72699c7" }, + { 0x07, 0, "NTFS", "ebd0a0a2-b9e5-4433-87c0-68b6b72699c7" }, + { 0x0B, 0, "FAT32", "ebd0a0a2-b9e5-4433-87c0-68b6b72699c7" }, + { 0x0C, 0, "FAT32L", "ebd0a0a2-b9e5-4433-87c0-68b6b72699c7" }, + { 0x0D, 1, "BIOS Boot", "21686148-6449-6e6f-744e-656564454649" }, + { 0x0E, 0, "FAT16L", "ebd0a0a2-b9e5-4433-87c0-68b6b72699c7" }, + { 0x11, 0, "OS/2 hidden", "ebd0a0a2-b9e5-4433-87c0-68b6b72699c7" }, + { 0x14, 0, "OS/2 hidden", "ebd0a0a2-b9e5-4433-87c0-68b6b72699c7" }, + { 0x16, 0, "OS/2 hidden", "ebd0a0a2-b9e5-4433-87c0-68b6b72699c7" }, + { 0x17, 0, "OS/2 hidden", "ebd0a0a2-b9e5-4433-87c0-68b6b72699c7" }, + { 0x1C, 0, "ThinkPad Rec", "ebd0a0a2-b9e5-4433-87c0-68b6b72699c7" }, + { 0x27, 0, "Win Recovery", "de94bba4-06d1-4d40-a16a-bfd50179d6ac" }, + { 0x42, 0, "LinuxSwap DR", "af9b60a0-1431-4f62-bc68-3311714a69ad" }, + { 0x7f, 0, "ChromeKernel", "fe3a2a5d-4f32-41a7-b725-accc3285a309" }, + { 0x82, 0, "Linux swap", "0657fd6d-a4ab-43c4-84e5-0933c84b4f4f" }, + { 0x83, 0, "Linux files*", "0fc63daf-8483-4772-8e79-3d69d8477de4" }, + { 0x8E, 0, "Linux LVM", "e6d6d379-f507-44c2-a23c-238f2a3df928" }, + { 0xA5, 0, "FreeBSD", "516e7cb4-6ecf-11d6-8ff8-00022d09712b" }, + { 0xA6, 0, "OpenBSD", "824cc7a0-36a8-11e3-890a-952519ad3f61" }, + { 0xA8, 0, "MacOS X", "55465300-0000-11aa-aa11-00306543ecac" }, + { 0xA9, 0, "NetBSD", "516e7cb4-6ecf-11d6-8ff8-00022d09712b" }, + { 0xAB, 0, "MacOS X boot", "426f6f74-0000-11aa-aa11-00306543ecac" }, + { 0xAF, 0, "MacOS X HFS+", "48465300-0000-11aa-aa11-00306543ecac" }, + { 0xB0, 1, "APFS", "7c3457ef-0000-11aa-aa11-00306543ecac" }, + { 0xB1, 1, "APFS ISC", "69646961-6700-11aa-aa11-00306543ecac" }, + { 0xB2, 1, "APFS Recovery", "52637672-7900-11aa-aa11-00306543ecac" }, + { 0xB3, 1, "HiFive FSBL", "5b193300-fc78-40cd-8002-e86c45580b47" }, + { 0xB4, 1, "HiFive BBL", "2e54b353-1271-4842-806f-e436d6af6985" }, + { 0xBF, 0, "Solaris", "6a85cf4d-1dd2-11b2-99a6-080020736631" }, + { 0xEB, 0, "BeOS/i386", "42465331-3ba3-10f1-802a-4861696b7521" }, + { 0xEF, 0, "EFI Sys", "c12a7328-f81f-11d2-ba4b-00a0c93ec93b" }, }; const struct gpt_type *find_gpt_type(const struct uuid *); @@ -235,46 +235,42 @@ PRT_protected_guid(const struct uuid *uuid) void PRT_print_mbrtypes(void) { - unsigned int i, idrows; + unsigned int cidx, i, idrows; idrows = (nitems(mbr_types) + 3) / 4; printf("Choose from the following Partition id values:\n"); for (i = 0; i < idrows; i++) { - printf("%02X %s %02X %s %02X %s", - mbr_types[i].mt_type, mbr_types[i].mt_sname, - mbr_types[i+idrows].mt_type, mbr_types[i+idrows].mt_sname, - mbr_types[i+idrows*2].mt_type, - mbr_types[i+idrows*2].mt_sname); - if ((i+idrows*3) < nitems(mbr_types)) { - printf(" %02X %s\n", - mbr_types[i+idrows*3].mt_type, - mbr_types[i+idrows*3].mt_sname); - } else - printf( "\n" ); + for (cidx = i; cidx < i + idrows * 3; cidx += idrows) { + printf("%02X %-*s", mbr_types[cidx].mt_type, + (int)sizeof(mbr_types[cidx].mt_sname) + 1, + mbr_types[cidx].mt_sname); + } + if (cidx < nitems(mbr_types)) + printf("%02X %s", mbr_types[cidx].mt_type, + mbr_types[cidx].mt_sname); + printf("\n"); } } void PRT_print_gpttypes(void) { - unsigned int i, idrows; + unsigned int cidx, i, idrows; idrows = (nitems(gpt_types) + 3) / 4; printf("Choose from the following Partition id values:\n"); for (i = 0; i < idrows; i++) { - printf("%02X %s %02X %s %02X %s", - gpt_types[i].gt_type, gpt_types[i].gt_sname, - gpt_types[i+idrows].gt_type, gpt_types[i+idrows].gt_sname, - gpt_types[i+idrows*2].gt_type, - gpt_types[i+idrows*2].gt_sname); - if ((i+idrows*3) < nitems(gpt_types)) { - printf(" %02X %s\n", - gpt_types[i+idrows*3].gt_type, - gpt_types[i+idrows*3].gt_sname); - } else - printf( "\n" ); + for (cidx = i; cidx < i + idrows * 3; cidx += idrows) { + printf("%02X %-*s", gpt_types[cidx].gt_type, + (int)sizeof(gpt_types[cidx].gt_sname) + 1, + gpt_types[cidx].gt_sname); + } + if (cidx < nitems(gpt_types)) + printf("%02X %s", gpt_types[cidx].gt_type, + gpt_types[cidx].gt_sname); + printf("\n"); } }