[CentOS-virt] Automate running grub-bootxen.sh for kernel installs in Xen4CentOS

Fri Oct 3 10:57:06 UTC 2014
Johnny Hughes <johnny at centos.org>

We need a way to do two things to /usr/bin/grub-bootxen.sh in Xen4CentOS.

1.  Automate running it if xen (the package) and the xen kernel are
installed.  But only if the user WANTS to run it.

2. Allow users to automatically modify the variables passed into the
xen.gz line (that is, more or less memory, add console settings, etc.) 
If you look at the current script, "--mbargs=dom0_mem=1024M,max:1024M
loglvl=all guest_loglvl=all" is hard coded in as the only option for the
xen.gz line.

While doing that we also still want to preserve the ability to run that
kernel in other places than just for xen dom0 setups.

Here is how I propose we do that.

Currently the /usr/bin/grub-bootxen.sh file is in centos-release-xen ...
that is a good place as it allows us to use a different file in
different major versions of CentOS (so the file in 7 can be different
than the file in 6, but still use the same auxiliary files, etc).

So, what we can do is setup a file in /etc/sysconfig/ (probably from the
xen package) that we call xen-boot or xen-kernel, etc.  In this file we
put some variables like these:


XEN_KERNEL_MBARGS="--mbargs=dom0_mem=1024M,max:1024M loglvl=all

Then we look for that file (/etc/sysconfig/xen-boot) as a post-install
from the xen kernel.  If the file exists, we source it ... an if
BOOT_XEN_AS_DEFAULT is yes, and if /usr/bin/grub-bootxen.sh exists we
run it passing in XEN_KERNEL_MBARGS as a variable.

The user can set BOOT_XEN_AS_DEFAULT to no if they want, so they do not
get a xen kernel entry in their grub config.

That should mean that if either there is no '/etc/sysconfig/xen-boot'
config file OR if '/usr/bin/grub-bootxen.sh' does not exist, we get only
the standard kernel entry .. but if they do exist, we also get a user
modifiable xen.gz kernel entry as well.

Also, we should likely use the centos-release-xen package to handle the 
'/etc/sysconfig/xen-boot' file as well, since it already has the
/usr/bin/grub-bootxen.sh script.


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: OpenPGP digital signature
URL: <http://lists.centos.org/pipermail/centos-virt/attachments/20141003/a805bad9/attachment-0002.sig>