Johannes Stezenbach wrote: > http://lwn.net/Articles/49684/ suggests otherwise, but the mknod() > binary seems to clip the minor number to 8 bits. The mknod() > syscall however uses a fancy backwards compatible encoding > which allows more than 8 bit minor numbers, see new_decode_dev() > in the change of the bkbits page. > > I guess udev has a a similar bug then. More to the point, the makedev() macro in /usr/include/sys/sysmacros.h is out of date in my glibc. The one that is part of klibc which comes with udev 0.54 is OK. static __inline__ dev_t makedev(int __ma, int __mi) { return ((__ma & 0xfff) << 8) | (__mi & 0xff) | ((__mi & 0xfff00) << 12); } Johannes