Ninjatrappeur's systemd working tree
Go to file
arnd@arndb.de 70033702cd [PATCH] more robust config file parsing in namedev.c
After getting a number of different crashes for udev reading broken
udev.config files, I decided to try to make the parser a little
more robust.

The behaviour is changed to stop reading the configuration file
and logging the broken entry instead of silently ignoring it (is
that good? It's easy to just print and continue).
All strcpy()'s to a fixed length string are now implicitly limited
to the bounds of the target string.

I kept the -ENODEV return code for now, not sure if there should be
different ones.
2005-04-26 21:06:24 -07:00
docs [PATCH] updated the documentation. 2005-04-26 21:01:38 -07:00
etc/init.d [PATCH] udev init script 2005-04-26 21:06:22 -07:00
extras [PATCH] add scsi_id "extra" program from Patrick Mansfield <patmans@us.ibm.com> 2005-04-26 21:06:24 -07:00
klibc [PATCH] fix bug in klibc's isspace function. 2005-04-26 21:06:23 -07:00
libsysfs [PATCH] patch for libsysfs sysfs directory handling 2005-04-26 21:06:23 -07:00
tdb [PATCH] udev build tweaks to tdb's spinlock code 2005-04-26 21:05:23 -07:00
test [PATCH] add printf option to label test to verify it works. 2005-04-26 21:06:24 -07:00
COPYING [PATCH] added initial documentation and gpl license 2005-04-26 21:00:32 -07:00
ChangeLog [PATCH] 005 release 2005-04-26 21:06:22 -07:00
FAQ [PATCH] Add FAQ for udev 2005-04-26 21:01:41 -07:00
Makefile [PATCH] change release target in makefile. 2005-04-26 21:06:24 -07:00
Makefile.klibc [PATCH] version number to 005_bk 2005-04-26 21:06:22 -07:00
README [PATCH] 005 release 2005-04-26 21:06:22 -07:00
TODO [PATCH] Remove a few items from the TODO list that are already done. 2005-04-26 21:06:23 -07:00
klibc_fixups.c [PATCH] get 'make release' to work properly again. 2005-04-26 21:06:22 -07:00
list.h [PATCH] Initial namedev parsing of config files 2005-04-26 21:01:38 -07:00
logging.c [PATCH] print udev pid 2005-04-26 21:01:40 -07:00
namedev.c [PATCH] more robust config file parsing in namedev.c 2005-04-26 21:06:24 -07:00
namedev.h [PATCH] got rid of struct device_attr 2005-04-26 21:04:10 -07:00
test.block [PATCH] Changed test.block and test.tty to take ACTION from the command line. 2005-04-26 21:01:42 -07:00
test.tty [PATCH] Changed test.block and test.tty to take ACTION from the command line. 2005-04-26 21:01:42 -07:00
udev-add.c [PATCH] get the major/minor number before we name the device. 2005-04-26 21:06:24 -07:00
udev-remove.c [PATCH] add support for subdirs 2005-04-26 21:06:23 -07:00
udev.8 [PATCH] more manpage tweaks 2005-04-26 21:06:23 -07:00
udev.c [PATCH] change UDEV_SYSFS_PATH environment variable due to libsysfs change. 2005-04-26 21:06:23 -07:00
udev.config [PATCH] add some documentation of the modifiers to the default config file. 2005-04-26 21:06:24 -07:00
udev.config.demo [PATCH] updated demo config file. 2005-04-26 21:06:24 -07:00
udev.h [PATCH] more robust config file parsing in namedev.c 2005-04-26 21:06:24 -07:00
udev.permissions [PATCH] rename namedev.permissions and namedev.config to udev.permissions and udev.config 2005-04-26 21:04:09 -07:00
udev.spec [PATCH] DESTDIR for udev 2005-04-26 21:06:23 -07:00
udevdb.c [PATCH] make config files, sysfs root, and udev root configurable from config variables 2005-04-26 21:01:42 -07:00
udevdb.h [PATCH] make config files, sysfs root, and udev root configurable from config variables 2005-04-26 21:01:42 -07:00

README

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