Display proper error message when mirroring boot device fails due to target device size being too small
Mirroring a boot device can fail due to there not being enough space on the new device. This results in a middleware error that tells the user nothing helpful.
The process should be:
Get size of existing freebsd-zfs partition on old boot device in blocks.
Add that to size of EFI partition that must be created (ignore the old EFI partition, it might be smaller).
If new device does not have enough free space to fit GPT table plus new EFI partition plus old freebsd-zfs partition, tell the user:
The device called "XYZ USB Flash Drive" (xx GB, xyz blocks) does not have enough space to mirror the old device "ABC USB Flash Drive". Please use a larger device.
(Drive name and size from camcontrol or diskinfo.)