At work we have Linux users who understandably prefer using Ubuntu. Problem is, we also have developer tools that only work with 'officially' supported Linux distributions that use much older 2.6.18 based kernels. (And even if they worked with newer ones, the vendors could always say they won't "support" the software unless it's on one of their 'officially' supported platforms.)
We could of course just tell them to use CentOS or something else 2.6.18-based, and I'm sure their response would be something like: "you can take Ubuntu from our cold, dead hands." :)
Which brings to me some questions--is there any good/easy/recommended way to run something like Ubuntu as a host VM and Centos 5.x as a guest OS (with which system--Xen,KVM,VMWare, ...?), and then roll that into our own custom internal distribution that could be easily installed?
KVM looks like a good high-performance option just recently included in RHEL 5.4, but if hardware support for virtualization like Intel-VT or AMD-V is necessary, then I'd guess only those folks with fairly new PCs will be able to do it.
Would be very interested to hear how anyone else has addressed this kind issue.
EDIT: The target audience / users of this kind of system would be developers, each one needs to run locally licensed commercial software, so building out some separate beefy central machines isn't an option unfortunately due to license restrictions. Even if that weren't the case, a couple developers could quickly eat up the resources with parallel builds. :)
Ideally, I was hoping there was some step-by-step guide out there to build your own pre-built distribution that had e.g. CentOS 5.x and Ubuntu Desktop as a guest.
You could build out a few beefy workstations that meet the requirements of the software vendor and have the developers use remote X to run the app on that machine while displaying it on whatever linux distribution each developer likes.
If the software runs just fine on non-supported distributions, you could let the developers do that, and simply provide an machine for them to replicate bugs on before speaking with support. All work with official support would use the supported machine to replicate and perform troubleshooting on.
If you want something similar to KVM without the need for Intel-VT/AMD-V and still achieve near native speeds, look at QEMU, which KVM is based on. The easiest way might be to run KVM headless in the background and log in to it through the virtual 'network' from the host machine. I have found NX to be very easy to use and configure (as compared to XDMCP.
Xen, VirtualBox or VMware would be recommended if you want local access (QEMU is lacking in performance, even with the kqemu kernel module). You'd probably have the best results with Xen (CentOS is a well-supported guest), but it's worth noting that the Xen dom0 kernels are fairly out of date, and the Ubuntu users may not like that so much.
NX to a remote server is a great suggestion.