mirror of
https://github.com/morgan9e/systemd
synced 2026-04-14 08:25:20 +09:00
c124eafa238b34a2e79100d3eb1fb143b7e8cb8b
here is a patch for inserting the callout output into NAME=. ID= supports the usual wildcard to compare with the output. I've moved all wildcard matching to a function cause this was the third occurrence. Also attached is the last whitespace cleanup and debug text corrections. The callout patch depends on the whitespace patch. CALLOUT, BUS="usb", PROGRAM="/bin/echo -n return", ID="ret*", NAME="webcam-%c-" results in: Nov 21 17:33:51 pim udev[20399]: get_major_minor: found major = 81, minor = 0 Nov 21 17:33:51 pim udev[20399]: exec_callout: callout to '/bin/echo -n return' Nov 21 17:33:51 pim udev[20399]: exec_callout: callout returned 'return' Nov 21 17:33:51 pim udev[20399]: get_attr: substitute callout output 'return' Nov 21 17:33:51 pim udev[20399]: udev_add_device: name = webcam-return- Nov 21 17:33:51 pim udev[20399]: create_node: mknod(/udev/webcam-return-, 020660, 81, 0)
udev - a userspace implementation of devfs For more information on the design, and structure of this project, see the files in the docs/ directory. To use: - You must be running a 2.6 version of the Linux kernel. - 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 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. 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 - Build the project: make - 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
Description
Languages
C
89%
Python
5.1%
Shell
4.5%
Meson
1.2%