I am in the process of porting a block driver I developed from Ubuntu 10.04 to SLES 11 SP1.
The respective udev versions are 151 on Ubuntu and 128 on the SUSE system.
When I use the kernel’s block subsystem “add_disk()” call, the kernel issues an event that is intercepted by the udev daemon and creates a device node file under /dev.
However, the behavior of udev under SUSE is different than the one under Ubuntu.
Let’s say my driver names the device “vol100”, which is assigned 100 as the minor number. Furthermore, let’s assume the driver’s major number is 200. Then, under ubuntu, I get the device node /dev/vol100, which is a block device with a major number of 200 and a minor number of 100.
Under SUSE, the udev daemon creates /dev/.tmp-200-100, a temporary device node.
I tried to insert my own rule under /etc/udev/rules.d to name my device with the same name as it is given by my driver, but to no avail.
I would appreciate any help from people who are versed in the art of udev.
Doron