It's not out of the question that this is actually a parted bug. I merged the Apple gptsync patch up to 2.2 more or less blindly, and I could have broken something.
I think you're analysing this incorrectly, though. What I'm seeing in the kernel is that you need a valid *protective* MBR, as specified in EFI. The gptsync patch in parted is to deal with the fact that Apple diverged from the GPT spec in requiring (approximately) a copy of the first four GPT partitions in MBR-speak rather than a dummy protective MBR whose only purpose is to say "hi, this is really GPT", so on Apple systems (only), parted has to act differently. A synced MBR is usually also a valid protective MBR as far as the kernel is concerned, but only if you have an EFI System Partition.
Therefore, I think the problem might well be that you haven't created an EFI System Partition, only a random FAT partition. Could you try this modification to your recipe?
mklabel gpt
mkpart primary fat 0 50
set 1 boot on
quit
It's not out of the question that this is actually a parted bug. I merged the Apple gptsync patch up to 2.2 more or less blindly, and I could have broken something.
I think you're analysing this incorrectly, though. What I'm seeing in the kernel is that you need a valid *protective* MBR, as specified in EFI. The gptsync patch in parted is to deal with the fact that Apple diverged from the GPT spec in requiring (approximately) a copy of the first four GPT partitions in MBR-speak rather than a dummy protective MBR whose only purpose is to say "hi, this is really GPT", so on Apple systems (only), parted has to act differently. A synced MBR is usually also a valid protective MBR as far as the kernel is concerned, but only if you have an EFI System Partition.
Therefore, I think the problem might well be that you haven't created an EFI System Partition, only a random FAT partition. Could you try this modification to your recipe?
mklabel gpt
mkpart primary fat 0 50
set 1 boot on
quit