Usual options for udev installed in the root filesystem are: ./configure \ --prefix=/usr \ --sysconfdir=/etc \ --sbindir=/sbin \ --libdir=/usr/lib64 \ --with-rootlibdir=/lib64 \ --libexecdir=/lib/udev \ --with-selinux The options used in a RPM spec file usually look like: %configure \ --prefix=%{_prefix} \ --sysconfdir=%{_sysconfdir} \ --sbindir=/sbin \ --libdir=%{_libdir} \ --with-rootlibdir=/%{_lib} \ --libexecdir=/lib/udev \ --with-selinux The defined location for scripts and binaries which are called from rules is /lib/udev/ on all systems and architectures. Any other location will break other packages, who rightfully expect the /lib/udev/ directory, to install their rule helper and udev rule files. It is possible to use the /lib/udev/devices/ directory to place device nodes, directories and symlinks, which are copied to /dev/ at every bootup. That way, nodes for devices which can not be detected automatically, or are activated on-demand by opening the pre-existing device node, will be available. Default udev rules and persistent device naming rules may be required by other software that depends on the data udev collects from the devices.