Created attachment 174717[details]
Patch to increase boot1.efifat size
This patch is a follow-up to PR 212604.
Now that ESP size has been enlarged to 200m, find attached a patch the enables the creation of a 200m boot1.efifat image.
- EFI partition is now FAT32 (as found on Linux distributions) and uses 4 sectors per cluster (arbitrary value to overcome the "too few clusters for FAT32" error reported by newfs_msdos)
- zfsboot script now uses dd to write partition data as gpart bootcode has a (arbitrary) hardcoded limit of 1MB files
- Do not forget to regenerate sys/boot/efi/boot1/fat*.tmpl.bz2.uu and sys/boot/efi/boot1/Makefile.fat files using sys/boot/efi/boot1/generate-fat.sh !
- Successfully tested on a Supermicro X9SRI-F motherboard (patch *NOT* tested on other platforms: arm, arm64, i386)
- We will probably have to remove boot1.efifat from media where it is useless and stored uncompressed (e.g. CD ISOs) as adding 200 MB is unacceptable there
Note: this patch includes ESP size increase patch from: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=212604

Note that the FAT filesystem image is still relatively small, but the EFI system partition is larger. You would need to newfs_msdos the partition and copy the bootloader bits back into the new filesystem to have more space.

(In reply to Ed Maste from comment #7)
> Note that the FAT filesystem image is still relatively small, but the EFI system partition is larger.
Thanks, that's a great workaround. The EFI partition is 200M, more than enough once reformatted.