As the udev team is becoming better at providing default rules, I'm wondering if some of the pain in terms of (as well as errors associated with) maintaining a complete set of rules externally could be avoided.
Attached is a diff between the LFS 20060920 rules and the rules.d directory from the udev tarball - I'm not sure how many of these are intentional, perhaps someone could comment? Who knows, if the patch approach is chosen, perhaps some of the changes (such as nicer comments) could go upstream. And who would be better suited to provide a 50-udev-default.rules skeleton for the distros than the developers of the LSB reference system? :)
diff -ur rules.d/05-udev-early.rules lfs/05-udev-early.rules --- rules.d/05-udev-early.rules 2006-09-07 11:32:45.000000000 +0200 +++ lfs/05-udev-early.rules 2006-09-21 01:37:26.000000000 +0200 @@ -1,4 +1,3 @@ # sysfs is populated after the event is sent -ACTION=="add", DEVPATH=="/devices/*", ENV{PHYSDEVBUS}=="?*", WAIT_FOR_SYSFS="bus" +ACTION=="add", DEVPATH=="/devices/*", SUBSYSTEMS=="?*", WAIT_FOR_SYSFS="bus" ACTION=="add", SUBSYSTEM=="scsi", WAIT_FOR_SYSFS="ioerr_cnt" - Only in lfs: 25-lfs.rules Only in lfs: 26-modprobe.rules Only in lfs: 27-firmware.rules Only in rules.d: 60-persistent-input.rules diff -ur rules.d/60-persistent-storage.rules lfs/60-persistent-storage.rules --- rules.d/60-persistent-storage.rules 2006-09-07 11:32:45.000000000 +0200 +++ lfs/60-persistent-storage.rules 2006-09-21 01:09:11.000000000 +0200 @@ -5,11 +5,11 @@ SUBSYSTEM!="block", GOTO="persistent_storage_end" # skip rules for inappropriate block devices -KERNEL=="ram*|loop*|fd*|nbd*|dm-*", GOTO="persistent_storage_end" +KERNEL=="ram*|loop*|fd*|nbd*", GOTO="persistent_storage_end" -# never access non-cdrom removable ide devices, the drivers are causing event loops on open() +# never access removable ide devices, the drivers are causing event loops on open() KERNEL=="hd*[!0-9]", ATTRS{removable}=="1", DRIVERS=="ide-cs|ide-floppy", GOTO="persistent_storage_end" -KERNEL=="hd*[0-9]", ATTRS{removable}=="1", GOTO="persistent_storage_end" +KERNEL=="hd*[0-9]", ATTRS{../removable}=="1", GOTO="persistent_storage_end" # for partitions import parent information KERNEL=="*[0-9]", IMPORT{parent}=="ID_*" @@ -19,7 +19,7 @@ KERNEL=="hd*[!0-9]", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/ata-$env{ID_MODEL}_$env{ID_SERIAL}" KERNEL=="hd*[0-9]", IMPORT{parent}=="ID_*", SYMLINK+="disk/by-id/ata-$env{ID_MODEL}_$env{ID_SERIAL}-part%n" -KERNEL=="sd*[!0-9]|sr*|st*", ATTRS{ieee1394_id}=="*", ENV{ID_SERIAL}="$attr{ieee1394_id}", ENV{ID_BUS}="ieee1394" +KERNEL=="sd*[!0-9]|sr*|st*", ATTRS{ieee1394_id}=="?*", ENV{ID_SERIAL}="$attr{ieee1394_id}", ENV{ID_BUS}="ieee1394" KERNEL=="sd*[!0-9]|sr*|st*", ENV{ID_SERIAL}=="", IMPORT{program}="usb_id -x" KERNEL=="sd*[!0-9]|sr*|st*", ENV{ID_SERIAL}=="", IMPORT{program}="scsi_id -g -x -s %p -d $tempnode" KERNEL=="sd*[!0-9]|sr*|st*", ENV{ID_SERIAL}=="", IMPORT{program}="scsi_id -g -x -a -s %p -d $tempnode" @@ -35,9 +35,9 @@ KERNEL=="*[0-9]", ENV{ID_PATH}=="?*", SYMLINK+="disk/by-path/$env{ID_PATH}-part%n" # by-label/by-uuid (filesystem properties) -KERNEL=="*[!0-9]", ATTR{removable}=="1", GOTO="persistent_storage_end" +KERNEL=="*[!0-9]", ATTRS{removable}=="1", GOTO="persistent_storage_end" IMPORT{program}="vol_id --export $tempnode" -ENV{ID_FS_USAGE}=="filesystem|other|crypto", ENV{ID_FS_UUID}=="?*", SYMLINK+="disk/by-uuid/$env{ID_FS_UUID}" +ENV{ID_FS_USAGE}=="filesystem|other", ENV{ID_FS_UUID}=="?*", SYMLINK+="disk/by-uuid/$env{ID_FS_UUID}" ENV{ID_FS_USAGE}=="filesystem|other", ENV{ID_FS_LABEL_SAFE}=="?*", SYMLINK+="disk/by-label/$env{ID_FS_LABEL_SAFE}" # BIOS Enhanced Disk Device @@ -45,4 +45,5 @@ KERNEL=="*[!0-9]", ENV{ID_EDD}=="?*", SYMLINK+="disk/by-id/edd-$env{ID_EDD}" KERNEL=="*[0-9]", ENV{ID_EDD}=="?*", SYMLINK+="disk/by-id/edd-$env{ID_EDD}-part%n" + LABEL="persistent_storage_end" Only in lfs: 81-cdrom.rules Only in rules.d: 95-udev-late.rules Only in lfs: ChangeLog Only in lfs: contrib
-- http://linuxfromscratch.org/mailman/listinfo/lfs-dev FAQ: http://www.linuxfromscratch.org/faq/ Unsubscribe: See the above information page