Creating gpt partition with ptgen results in invalid PMBR.
Steps to reproduce:
1) compile ptgen with WANT_ALTERNATE_PTABLE
gcc -Wall -DWANT_ALTERNATE_PTABLE -o ptgen ptgen.c cyg_crc32.c
2) Create an image with ptgen
./ptgen -g -o s.img -p 509m
3) Investigate an image with /sbin/fdisk
/sbin/fdisk s.img
4) fdisk reports GPT PMBR size mismatch
Welcome to fdisk (util-linux 2.40.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
GPT PMBR size mismatch (
1042497 !=
1042498) will be corrected by write.
Command (m for help):
Signed-off-by: Mikhail Kshevetskiy <[email protected]>
pte[0].type = 0xEE;
pte[0].start = cpu_to_le32(GPT_HEADER_SECTOR);
- pte[0].length = cpu_to_le32(end - GPT_HEADER_SECTOR);
+ pte[0].length = cpu_to_le32(end + 1 - GPT_HEADER_SECTOR);
to_chs(GPT_HEADER_SECTOR, pte[0].chs_start);
to_chs(end, pte[0].chs_end);