X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=README;h=dab0ab4197abd3a33047ff21173647372f83cf64;hp=07fa162bbd87d6f26e561f51b59d3fe4bac76d1e;hb=666269480900dd8d099b9e188c16acc9f7f31ee5;hpb=cee360d32efd8392f7e342dcaeda1de50a2c1bcf diff --git a/README b/README index 07fa162bb..dab0ab419 100644 --- a/README +++ b/README @@ -6,32 +6,77 @@ files in the docs/ directory. To use: -- Edit the udev.h file and replace the following variables with values - that make sense for your system: - #define UDEV_ROOT "/udev/" - #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 :) +- You must be running a 2.6 version of the Linux kernel. -- Run make to build the project. +- Make sure sysfs is mounted. udev will figure out where sysfs is mounted, but + the traditional place for it is at /sys. You can mount it by hand by running: + mount -t sysfs none /sys -- Make sure sysfs is mounted. +- Make sure you have the latest version of the linux-hotplug scripts. They are + available at linux-hotplug.sf.net or from your local kernel.org mirror at: + kernel.org/pub/linux/utils/kernel/hotplug/ + They are required in order for udev to work properly. -- 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. + If for some reason you do not install the hotplug scripts, you must tell the + kernel to point the hotplug binary at wherever you install udev at. This can + be done by: + echo "/sbin/udev" > /proc/sys/kernel/hotplug -- Watch as the nodes get created and removed. +- Build the project: + make + Note: + There are a number of different flags that you can use when building + udev. They are as follows: + prefix - set this to the default root that you want udev to be + installed into. This works just like the 'configure --prefix' + script does. Default value is ''. Only override this if you + really know what you are doing. + USE_KLIBC - if set to 'true', udev is built and linked against the included + version of klibc. Default value is 'false'. + DEBUG - if set to 'true', debugging messages will be sent to the syslog + as udev is run. Default value is 'false'. + USE_DBUS - if set to 'true', DBUS messages will be sent everytime udev + creates or removes a device node. This requires that DBUS + development headers and libraries be present on your system to + build properly. Default value is 'false'. -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 + So, if you want to build udev using klibc with debugging messages, you + would do: + make USE_KLIBC=true DEBUG=true + + +- Install the project: + make install + + This will put the udev binary in /sbin, create the /udev and /etc/udev + directories, and place the udev configuration files in /etc/udev. You + will probably want to edit the namedev.* files to create custom naming + rules. More info on how the config files are set up are contained in + comments in the files, and is located in the documentation. + +- Add and remove devices from the system and marvel as nodes are created + and removed in /udev/ based on the device types. + +- If you later get sick of it, uninstall it: + make uninstall + + +Things are still quite rough, and it's a bit beyond proof of concept +code. Help is very much appreciated, see the TODO file for a list of things left to be done. +If you want to build using klibc, use the Makefile.klibc file: + - read the klibc/klibc/README file for how to set up the linux + symlink properly. + - make clean + - make -f Makefile.klibc +and marvel at the tiny binary you just created :) + Any comment/questions/concerns please let me know. greg k-h greg@kroah.com + + +