Depois de muito de experimentação, finalmente encontrei a resposta:
Yes,
pygrub
needs an initrd/initramfs.
Então, eu faço assim:
-
Construa o kernel da maneira manual
make menuconfig && make && make modules_install
-
Copie o
bzImage
para/boot
resultante
-
Crie o initrd usando
genkernel --oldconfig ramdisk
-
Alimente o caminho para o kernel e o initrd para
pygrub
do console do XenServer