sys-kernel/gentoo-sources-3.14.14 was built with the following: USE="symlink -build -deblob -experimental" ABI_X86="64" app-emulation/xen-4.3.2-r5 was built with the following: USE="efi -custom-cflags -debug -flask -xsm" ABI_X86="64" CFLAGS="" Booting the kernel directly works as it should. If I'm trying to boot kernel from xen.efi I'm keep getting error while modprobing efivars.ko: ERROR: could not insert 'efivars': No such device The problem is that mdadm unable to assemble Intel firmware RAID without access to EFI variables and thus can't boot into real root, getting stuck in initramfs. sys-fs/mdadm-3.2.6-r1 was built with the following: USE="-static" ABI_X86="64"
This seems like a missing module in your initramfs. What are you using to generate it?
Using dracut to generate initramfs. All related modules are included into initramfs, since system boots well without XEN hypervisor with (almost) the same initramfs. On the other hand, under XEN, trying to load efivars I was getting: but on load it says: "could not insert 'efivars': No such device" (since some massive work was done recently on XEN system to support EFI/UEFI). Btw, as far as I know it's might not be true anymore with latest XEN and kernel versions. Unfortunately, I'm currently unable to prove or otherwise since my new hardware is incompatible with XEN hypervisor.