b11e1b7ea1
The default is 128 partitions (entries in partitions array). The size of the entry is 128 bytes, it means 32 sectors (512-byte) for the array. The default is too large for tiny devices and it seems better to dynamically reduce the number to fix the device size. The reduction is reported to user. Example: $ dd if=/dev/zero of=8-sectors.img count=8 bs=512 $ fdisk 8-sectors.img ... Command (m for help): g Created a new GPT disklabel (GUID: 3DB3EECE-BCCA-6C46-95FA-7E23783BB3B2). The maximal number of partitions is 8 (default is 128). Command (m for help): x Expert command (m for help): p Disk 8-sectors.img: 4 KiB, 4096 bytes, 8 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: gpt Disk identifier: 3DB3EECE-BCCA-6C46-95FA-7E23783BB3B2 First LBA: 4 Last LBA: 4 Alternative LBA: 7 Partition entries LBA: 2 Allocated partition entries: 8 In this case, sectors: 0 - PMBR 1 - GPT header 2-3 - GPT array of partitions (8 entries, 128 bytes each) 4 - partition data 5-6 - backup GPT array of partitions 7 - backup GPT header The smallest image is 6 sectors with 4 entries in array of partitions. Note that Linux kernel has no problem to accept 4K image with 1 512-bytes GPT partition. # losetup -P -f 4K.img # lsblk /dev/loop0 NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT loop0 7:0 0 4K 0 loop └─loop0p1 259:5 0 512B 0 part ... but we need to fix libblkid, it ignores so small devices to probe for GPT :) Addresses: https://github.com/karelzak/util-linux/issues/1147 Signed-off-by: Karel Zak <kzak@redhat.com> |
||
---|---|---|
.. | ||
docs | ||
samples | ||
src | ||
COPYING | ||
Makemodule.am | ||
fdisk.pc.in |