There is some interest lately in making a self-contained grub2 boot image - call it pvgrub2, used for booting paravirtual domU in xen where a grub2 config is installed.

First attempt
------------------
I first tried using the grub2*.src.rpm from the C7 vault.

I configured as shown below
https://blog.xenproject.org/2015/01/07/using-grub-2-as-a-bootloader-for-xen-pv-guests/

for headers, I used xen-devel, xen-libs, xen-licenses from a recent build I did
http://107.185.144.55/xen/cent7/dom0/RPMS/stable-4.5/mock/

this gave a segfault from grub2-mkimage with a cmdline like
/usr/bin/grub2-mkimage  -O x86_64-xen   -C auto  -d /usr/lib/grub/x86_64-xen -c ./grub-bootstrap.cfg     -m ./memdisk.tar     -o ./grub2-x86_64-xen.bin -v  ext2 fat file font fshelp gzio halt hashsum help legacycfg linux loadenv loopback part_dvh part_gpt part_msdos part_plan part_sun xfs xnu_uuid xnu_uuid_test xzio

the image would finish if I cut down the module list to about 8 or less modules. This is not enough for a useful image .

Second Attempt
----------------
In the same build env, I started with the git clone (see link). Now when running grub-mkimage I included all the modules in
/usr/lib/grub/x86_64-xen/ and the image formed without error and works as expected as a xen bootloader.

The only difference in the two builds is the size of grubX-mkimage: one is stripped and the other not.
 Using the official grub2 C7 packages failed and a rogue build from git worked.

regards,
PryMar56