Thursday, May 08, 2008

Install OpenSolaris 2008/05 DomU at Xen 3.2.1 CentOS 5.1 & Ubuntu 7.10 (Desktop) Dom0 (64-bit)

Install OpenSolaris 2008/05, based on Nevada build 86, requires workaround
recently suggested by Jurgen Keil ([1]). It's runtime profile differs from
reqular one due to utilizing ZFS filesystem (vs UFS for regular Nevada
builds) as was noticed by Mark Jonson at xen-discuss forum
Place OpenSolaris 2008/05 DVD in drive, wait until gets mounted
and run:-

# dd if=/dev/hda of=/usr/lib/xen-solaris/os200805.iso

Then copy 64-bit xen-solaris kernel and x86.microroot to Dom0:-

mkdir -p /mnt01/tmp
mount -o loop,ro os200805.iso /mnt01/tmp
cp /mnt01/tmp/boot/x86.microroot /usr/lib/xen-solaris/x86.microroot
cp /mnt01/tmp/boot/platform/i86xpv/kernel/amd64/unix /usr/lib/xen-solaris/unix-0805
umount /mnt01/tmp

Installation profile:-

name = "OpenSolaris"
vcpus = 1
memory = "1024"
kernel = "/usr/lib/xen-solaris/unix-0805"
ramdisk = "/usr/lib/xen-solaris/x86.microroot"
extra = "/platform/i86xpv/kernel/amd64/unix -kd - nowin -B install_media=cdrom"
disk = ['file:/usr/lib/xen-solaris/os200805.iso,6:cdrom,r','phy:/dev/sdb8,0,w']
vif = ['bridge=eth0']
on_shutdown = "destroy"
on_reboot = "destroy"
on_crash = "destroy"

During startup manage like in [1]:-

Welcome to kmdb
Loaded modules: [ unix krtld genunix ]
[0]> gnttab_init+0xce/W 403
gnttab_init+0xce: 0x3 = 0x403
[0]> :c

Login as jack/jack and follow [2] to perform
graphical install from Live CD to hard drive.
When graphical install ends don't click reboot.
Open root's terminal session,with password assigned by yourself
at installation startup, and run:-

# mdb -w /a/platform/i86xpv/kernel/amd64/unix
> gnttab_init+0xce?W 403
unix`gnttab_init+0xce: 0x403 = 0x403
> $q

# /usr/bin/scp -S /usr/bin/ssh /a/platform/i86xpv/kernel/amd64/unix \
> IP-ADDRESS-Dom0:/usr/lib/xen-solaris/unix-0805

# /usr/bin/scp -S /usr/bin/ssh /a/platform/i86pc/amd64/boot_archive \
> IP-ADDRESS-Dom0:/usr/lib/xen-solaris/boot_archive

bash-3.2# shutdown -y -i0 -g0

Runtime profile:-

name = "OpenSolaris"
vcpus = 1
memory = "1024"
kernel = "/usr/lib/xen-solaris/unix-0805"
ramdisk = "/usr/lib/xen-solaris/boot_archive"
extra = "/platform/i86xpv/kernel/amd64/unix -B zfs-bootfs=rpool/27"
disk = ['file:/usr/lib/xen-solaris/os200805.iso,6:cdrom,r','phy:/dev/sdb8,0,w']
vif = ['bridge=eth0']
on_shutdown = "destroy"
on_reboot = "destroy"
on_crash = "destroy"

Notice that patched kernel and boot_archive are already copied to Dom0.
Login as user, been created during graphical install,into domU and tune
vncserver startup in same way like after boot from Live CD ([2]).
Your environment may be picked up from another loaded just for several minutes Live CD's instance.


Same schema also works at Xen 3.2.1 Ubuntu 7.10 (Desktop) Dom0.
Pygrub may be used for original install , but still cannot help
at runtime (no ZFS support for pygrub in Xen 3.2.1)

Patching kernel and copy it along with boot_archive to Dom0:-

Starting up DomU:-