Reading VMware documentation, it seems to be quite easy but it's not : You can P2V, but not reconfigure the HD image and finally have a kernel panic when you boot your new virtual machine because Unix is very near from the Hardware. For example an initial hardware Compaq Proliant RAID controller could not run as an emulated one, and a Buslogic BTLD - Boot Time Loadable Driver in the SCO World - does not run better in vSphere as you could find in some blogs because it's the IDE that is recognize in vSphere. So let's try another way ....
1st, download an OS image from Sco's ftp site : ftp://ftp.sco.com/pub/openserver5/507/iso/OpenServer-5.0.7-July2005/OpenServer-5.0.7Hw-10Jun05_1800.iso
and Nics update with Intel Pro 1000 support
ftp://ftp.sco.com/pub/openserver5/507/drivers/eeG_5.0.7g/VOL.000.000, save it as VOL.000.000.flp
Create a VM as other OS : Define 1 CPU, 256Mb of ram, choose BusLogic controller, X Gb of Virtual HD as needed, choose Intel Pro 1000 as Nic, Hardware v7 even if you find SCO support with v7 : there is no VMware tools compliant in vSphere ....
On the physical machine, you need several informations
- hostname, ip adress, netmask using 'netconfig' at prompt, navigate from up to center window using tab key.
- get default gateway with a cat /etc/default/tcp GATEWAY=
- find the HD driver with a hwconfig at prompt and get th TYPE= where you will find the actual hardware HD driver. For example, 'cha' is for Compaq Smart Array controller.
If you got enough space, create a backup file of your entire disk inside the file system with :
cd / ; find ./ -print cpio -ovfB > /backupfile.cpio &
If you filesystem is full, mount a network drive via NFS and backup onto :
mount -f NFS X.X.X.X:/share /local_mount_directory
cd / ; find ./ -print cpio -ovfB > /local_mount_directory/backupfile.cpio &
If NFS client package is not installed, put the SCO Installation CD in drive and install it with the 'custom' command.
Be careful, you could not create a backup file larger more than 2GB.... it's the old world. If so, make .cpio file for each directory you need.
Boot your fresh Openserver image.
Press CTRL-D to boot in multi user level, login with root account (give the password created during installation) Get with ftp all backup .cpio files. Now, install them with
cpio –ivdmlu < /backupfile.cpio &
You will probably have some time to spend drinking coffee :)
When it’s finished, don’t reboot !!
Mount from vCenter VOL.000.000.flp as floppy in your Openserver image. Use ‘custom’ to install from floppy image, INTEL Pro 1000 driver.
When you will exit 'custom' with tab key/file/exit, an Unix kernel will be relinked.
Now it's time to configure networking
launch 'netconfig' command and select hardware/Add New lan Adapter
Choose TCP/IP, forget IPX/SPX is an old Novell Network Protocol
Configure IP adress as usual, exit and edit /etc/default/tcp to indicate GATEWAY= X.X.X.X as default gateway.
Declare actual disk driver with 'mkdev hd 0 SCSI-0 0 blc 0
FYI :
- blc is the SCO's BusLogic driver which support vSphere's virtual one
- mkdev hd [TARGET] [HA/Controller number] [LUN] [Driver] [Bus Number] will cause another kernel relink.
Edit /etc/default/boot
add disable=[old driver] Sdsk=(0,0,0,0) at the end of defbootstr :
ie : DEFBOOTSTR=hd(40)unix swap=hd(41) dump=hd(41) root=hd(42) disable=cha Sdsk=blc(0,0,0,0)
Your old controller driver will be disable and dynamically replaced by the supported BusLogic one.Reboot with : sync;sync;sync;reboot or sync;sync;sync;haltsys
If you forgot the edit part of /etc/default/boot, don't worry, add 'defbootstr disable={ctl driver] Sdsk=blc(0,0,0,0)' after boot: prompt ( be careful, you are in QWERTY world ...)
You may delete old disk driver from the kernel with editing 2 files :
/etc/conf/cf.d/mscsi, enter "blc Sdsk 0 0 0 0" and remove lines with the old driver
In /etc/conf/sdevice.d, edit file with old driver name such as "cha" and remplace "Y" by "N" - :1,$s/Y/N/g in vi .... which means from line 1 to end of file, substitue Y by N in all file :)
In /etc/conf.d/sdevice.d/wd, verify the 2 lines are validated with "Y"
Relink the kernel /etc/conf/cf.d/link_unix and reboot.
You may delete old disk driver from the kernel with editing 2 files :
/etc/conf/cf.d/mscsi, enter "blc Sdsk 0 0 0 0" and remove lines with the old driver
In /etc/conf/sdevice.d, edit file with old driver name such as "cha" and remplace "Y" by "N" - :1,$s/Y/N/g in vi .... which means from line 1 to end of file, substitue Y by N in all file :)
In /etc/conf/sdevice.d/blc edit the file and remplace "N" by "Y" - :1,$s/Y/N/g in vi
Finally relink the kernel /etc/conf/cf.d/link_unix and reboot.
update : If you installed OpenServer on ide (0:0) drive, it's possible to use 'wd' driver instead of BusLogic 'blc' one without BTLD driver
I hope this post was useful, and now enjoy !!