Thursday, September 20, 2007

Installing Centos5 on Solaris-Xen

How to install Centos-5 into domu on Solaris "SunOS solx 5.11 xen-nv66-2007-06-24"

As I can find in Google, the usual way to install Centos in domu uses qemu. They suggest installing Centos in quemu, then convert qemu image into xen image. But there is easier way to do this with Centos-5 and Solaris.

How to boot into installation DVD

The first of the problems in this installation is the following:

  • Xen support booting linux machines if you have vmlinuz and initrd files
  • Xen also support booting from the media with grub installed on it
  • No other boot methods of Linux domu I have found in Xen.
  • Centos5 DVD (I think CD also) boots not by grub.

To solve this problem, lofiadm and mount Centos dvd image. Then take from this image files images/xen/vmlinuz and images/xen/initrd.img and place there, for example, in /boot. And add lines

kernel = "/boot/vmlinuz"
ramdisk = "/boot/initrd.img"
to domu configuration file.

Storage Drivers not working problem

The next problem you can run into - this anaconda can not see nor DVD, nor hard drive, although they are declared in domu configuration file like

disk = [ 'file:/storage/CentOS-5.0-x86_64-bin-DVD/CentOS-5.0-x86_64-bin-DVD.iso,6,cdrom,r', \
'phy:/dev/zvol/dsk/storage/zim5,0,w' ]

If your eyes are quick you may catch the lines "device without driver" among the lines running at the boot time of this domu.

This problem may be solved the following way:

  • Export NFS your Centos DVD lofi-mounted filesystem, and point installer to use media on NFS instead of CD/DVD
  • Export iscsi your zfs virtual volume so that it can be used in installation process instead of local hard drive.
  • When anaconda can't get cd, give her nfs share of this DVD.
  • When it can't see any disk, it gives you a button to add iscsi target to disks anaconda may use to install on. Add iscsi exported zfs volume at metal host and install Centos there.

The boot into installed system

The only one thing which may prevent you from booting into installed Centos system is vmlinuz and initrd of DVD, which will start installation process and will not allow you to do anything else. But this installed Centos zvol has grub on it if installation succeeded. So, just remove lines for kernel and ramdisk added to domu configuration file and you can start your centos.