Well, after a bit of playing I will have to streamline my last post. But before I get to that, I figured out a way to build the pvscsi module into the latest kernel update BEFORE you have rebooted. (So you are able to reboot into the new kernel without a Kernel Panic).
My lasy example used kernel vmlinuz-2.6.18-128.el5. The lastest kernel update at the time of writing for Centos 5.3 was vmlinuz-2.6.18-128.1.14.el5. Its modules directory is located under /lib/modules/2.6.18-128.1.14.el5. When the VMWare Tools are installed, it installs the relevant modules in /lib/modules/`uname -r`/misc. Where uname -r is the current running kernel. If we try make a ramdisk for initrd for the new kernel, we will get an error saying the modules are missing….which they are.
So here is my dodgy solution….
Create a misc directory in the new kernel’s module directory. # mkdir /lib/modules/2.6.18-128.1.14.el5/misc
Copy the pvscsi.o file from the current kernel’s directory to the new one. # cp /lib/modules/2.6.18-128.el5/misc/pvscsi.o /lib/modules/2.6.18-128.1.14.el5/misc
Create a symlink in that directory for the kernel module.
# cd /lib/modules/2.6.18-128.1.14.el5/misc
# ln -s pvscsi.o pvscsi.ko
You should then be able to make the new initrd image with the new kernel. Ceck out the /etc/grub.conf config file to get the vewrsion number of the latest kernel. In my example, you would run:
# mkinitrd -f –with=pvscsi/boot/initrd-2.6.18-128.1.14.el5.img 2.6.18-128.1.14.el5
This should succeed. The -f flag means to overwrite the current file with that name.
Ok, reboot and you should be successful in booting off the new kernel with the pvscsi module. The re-run ‘vmware-config-tools.pl’ as per normal to rebuild the the VMware Tools for this kernel. When it gets to pvscsi, it will ask to overwrite the current version. Select yes. You could remove this module before you run vmware-config-tools.pl. I have not tried that though.
Remember, this is not supported and YOU are responsible for any problem that may occur. I am not. Ok! Good.
It should work fine though.