I found using VMware server or workstation on udev based linux kernel (2.6.x) hosts, that I had to re-run the vmware-config.pl script after every reboot - which is quite annoying when you want the guest OS to run as the service starts.
The issue is that due to udev being a dynamic system, nodes are wiped and re-created in /dev each boot.
So the simple solution is to get the VMware init script to check for and re-create the nodes as required:
Add the following just under the start) line in /etc/init.d/vmware
start)
# Start insert
if [ ! -e "/dev/vmmon" ]; then
mknod /dev/vmmon c 10 165
chmod 600 /dev/vmmon
fi
for a in `seq 0 9`; do
if [ ! -e "/dev/vmnet$a" ]; then
mknod /dev/vmnet$a c 119 $a
chmod 600 /dev/vmnet$a
fi
done
# End insert
if [ -e "$vmware_etc_dir"/not_configured ]; then
Which recreates the nodes that are required - just need VMware to pick that up for future versions. Remember, you'll still need to re-run vmware-config.pl after a kernel upgrade.