Red Hat Bugzilla – Bug 134641
vmware udev, missing /sys devices
Last modified: 2007-11-30 17:07:04 EST
Description of problem:
(Filing here because we are lacking RHEL4 vmware component.)
vmware works great on FC3/RHEL4 after using the latest
vmware-any-any-* patchkit from the above URL. vmware-config.pl
successfully builds and inserts kernel modules vmmon and vmnet, and
creates the /dev/vmnetX device nodes.
However after reboot, vmware fails because the /dev nodes are gone.
vmware's kernel modules need to be modified to be compatible with udev.
<harald> warren, the kernel modules create a /sys/ file called dev
<harald> warren, try "find /sys -name dev"
<harald> warren, the contents of this file is the major:minor number
<harald> warren, hotplug events call udev and udev looks for that file
<harald> warren, then udev creates the device node
<warren> harald, sounds like I need to edit the kernel module if the
/sys entry is currently missing?
<harald> warren, hint: class_simple_device_add
<harald> warren, drivers/base/class_simple.c
<warren> harald, other than the /sys entry, anything else I need to
add? /etc/udev something?
<harald> warren, not if the permissions should be 0600 and the device
name should not be changes
Technically this is not OUR problem as this needs to be fixed in
vmware's vmmon and vmnet modules. These sources appear to be
distributed in both vwmware and the vmware-any-any patch kit. However
the license on those code are in question.
Version-Release number of selected component (if applicable):
* vmmon DOES successfully create /sys/class/misc/vmmon/dev so
/dev/vmmon is correctly created.
* Inserting vmnet alone does not create any entires in
/sys/class/net/, but one vmnet entry does appear for NAT interfaces
after using vmware-config.pl. Other vmnet interfaces for host-only or
bridged do not appear.
I am guessing that vmnet already does have code for /sys entries, but
it only works when vmnet is loaded with certain parameters, and only
once during loading? More investigation needed.
*** Bug 135084 has been marked as a duplicate of this bug. ***
vmware has been notified of this and is working on a long term solution.
the vmware kernel modules should provide a "dev" entry in the sysfs ...
manually copy the devices to /etc/udev/devices and they will be copied
on system start to /dev
Keeping open for tracking purposes and to reduce duplicate reports.
A quick fix is to run the vmware-config.pl to create the appropriate
/dev/vm* entries and then copy these to /etc/udev/devices with:
# cp -rp /dev/vm* /etc/udev/devices/
vmware finds the devices correctly on subsequent reboots. Not a long
term fix but eliminates the need to rerun vmware-config.pl every time
the machine is rebooted.
The vmware-any-any toolkit now creates device nodes during the initscript, and
the upcoming vmware 5 should have a similar solution. sysfs symbols have become
GPL only, so it is impossible for them to use udev to create device nodes. In
any case this is not our problem, so closing UPSTREAM.