X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;ds=sidebyside;f=README;h=3f4f947f79255816665dd63777da2eee64ec374a;hb=f054627f500450a7aadeaf8a9930354fb268718e;hp=1a46a3c1eebf6b0d96d7b21bee77326badecb83c;hpb=d2ce1817117daa9523b1572523f1e7684bae779f;p=elogind.git diff --git a/README b/README index 1a46a3c1e..3f4f947f7 100644 --- a/README +++ b/README @@ -1,39 +1,68 @@ +udev - userspace device management -udev - a userspace implementation of devfs +For more information see the files in the docs/ directory. -For more information on the design, and structure of this project, see the -files in the docs/ directory. +Important Note: + Integrating udev in the system is a whole lot of work, has complex dependencies + and differs a lot from distro to distro. All reasonable distros use udev these + days, the major ones make it mandatory and the system will not work without it. -To use: + The upstream udev project does not support or recomend to replace a distro's udev + installation with the upstream version. The installation of a unmodified upstream + version may render your system unusable! There is no "default" setup or a set + of "default" rules provided by the upstream udev version. -- Edit the udev.h file and replace the following variables with values - that make sense for your system: - #define SYSFS_ROOT "/sys" - #define UDEV_ROOT "/home/greg/linux/udev/" - #define DEV_FILE "/dev" - #define MKNOD "/bin/mknod" - The only value most people will have to change is the UDEV_ROOT - variable, as I doubt you really want device nodes to be created in my - home directory :) +udev requires: + - 2.6 version of the Linux kernel -- Run make to build the project. + - the kernel must have sysfs, netlink, and hotplug enabled -- Make sure sysfs is mounted. + - proc must be mounted on /proc -- Point /proc/sys/kernel/hotplug at the location of the udev binary that - is created. Then plug some block devices in, or other types of - devices that create dev files in sysfs. An easy way to do this, - without any hardware is to use the scsi_debug module to create virtual - scsi devices. + - sysfs must be mounted at /sys, no other location is supported -- Watch as the nodes get created and removed. + - udev creates and removes device nodes in /dev based on events + the kernel sends out on device discovery or removal + - during bootup /dev usually gets a tmpfs mounted which is populated scratch + by udev (created nodes don't survive a reboot, it always starts from scratch) -Yes this is a really rough first cut, I know. It's mostly a proof of -concept that this can actually work. See the TODO file for a list of -things left to be done. + - udev replaces the hotplug event management invoked from /sbin/hotplug + by the udevd daemon, which receives the kernel events over netlink -Any comment/questions/concerns please let me know. + - all kernel events are matched against a set of specified rules which + make it posible to hook into the event processing + + - there is a copy of the rules files for all major distros in the etc/udev + directory (you may look there how others distros are doing it) + +Setting which are used for building udev: + prefix + set this to the default root that you want to use + Only override this if you really know what you are doing + DESTDIR + prefix for install target for package building + USE_LOG + if set to 'true', udev will emit messages to the syslog when + it creates or removes device nodes. This is helpful to see + what udev is doing. This is enabled by default. + DEBUG + if set to 'true', verbose debugging messages will be compiled into + the udev binaries. Default value is 'false'. + USE_SELINUX + if set to 'true', udev will be built with SELinux support + enabled. This is disabled by default. + USE_KLIBC + if set to 'true', udev is built and linked against klibc. + Default value is 'false'. KLCC specifies the klibc compiler + wrapper, usually in /usr/bin/klcc + EXTRAS + if set, will build the "extra" helper programs as specified + as listed (see below for an example.) + +if you want to build the udev helper program cdrom_id and scsi_id: + make EXTRAS="extras/cdrom_id extras/scsi_id" + +Please direct any comment/question/concern to the linux-hotplug-devel mailing list at: + linux-hotplug-devel@lists.sourceforge.net -greg k-h -greg@kroah.com