I’ve installed Xen dozens of times on CentOS 6, it’s a pretty straight forward process.  You can follow the Xen Quickstart documentation. It goes something like this…

Running the following commands:

yum -y install centos-release-xen
yum -y update
yum -y install xen

Well I tried that on a CentOS 7 install and everything installed, no errors, looked like we were good.  When I reboot the server after grub all I get for output is this

Loading Xen 4.6.6-8.el7 ... 
Loading Linux 4.9.63-29.el7.x86_64 ... 
Loading initial ramdisk ... 

Then reboot…

We have a PXE installation server using Cobbler so the template is essentially the same for all servers.   I thought maybe I messed up something, went through the install process and attempted to upgrade, same problem.  Tried different kernel versions.  Even tried booting just on the 4.9.63-29.el7.x86_64 kernel, they all booted alone just fine.

So this issue had to be something specific to Xen when it’s enabled.  Spent some time researching, and others suggested, Xen doesn’t support UEFI boot, of course there’s always people that say it worked fine for them, and no one had a specific answer that actually worked.

I took a break and installed CentOS 6 to get this SolusVM node up and running with Xen 4.6.6, but the next node needs to be CentOS 7.

This to this article helped me on getting me past the issue.

After the installation is completed, we need to make an adjustment to the Domain0 memory parameters to match your server. You’ll need to edit file /etc/default/grub

vi /etc/default/grub

The default for GRUB_CMDLINE_XEN_DEFAULT  looks like this for me:

GRUB_CMDLINE_XEN_DEFAULT="dom0_mem=1024M,max:1024M cpuinfo com1=115200,8n1 console=com1,tty loglvl=all guest_loglvl=all"

I made adjustments to the memory so it looked like this now

GRUB_CMDLINE_XEN_DEFAULT="dom0_mem=2048M,max:4096M cpuinfo com1=115200,8n1 console=com1,tty loglvl=all guest_loglvl=all"

After you save your changes, then run grub-bootxen.sh to update the grub2 configuration file.

/usr/bin/grub-bootxen.sh

After that command runs you can reboot your server.  Once the server is back to a prompt, login and check running kernel .

# uname -r
4.9.63-29.el7.x86_64

Good I got the right kernel version. Next check Xen is running.

# xl info

release : 4.9.63-29.el7.x86_64
version : #1 SMP Mon Nov 20 14:39:22 UTC 2017
machine : x86_64
nr_cpus : 8
max_cpu_id : 7
nr_nodes : 1
cores_per_socket : 2
threads_per_core : 2
cpu_mhz : 2992
...
...
...

That worked, this server is now running Xen and ready to create virtual host.