Moving Ubuntu to upstream udev rules

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Have been going through our udev rules and comparing them to those in
the package as the upstream rules, and have noted about a page of things
either we need to change or need to change in the upstream rules.

Some of these I care about, some of them I'm not fussed - but we should
at least chat about them.


modprobe called without -b:

  without -b, the modprobe calls in udev are not checked against the
  blacklist, making it damned hard to disable automatic module loading

  please add -b to the modprobe calls.


ide-scsi

  discussed on IRC, DO NOT WANT


ch

  this scsi driver (tape changers) is missing a modalias, the following
  rule is needed to load it (or a kernel patch):

    SUBSYSTEM=="scsi", ATTR{type}=="8", RUN+="/sbin/modprobe -b ch"


tifm

  your rules are less careful than ours, we do:

    SUBSYSTEM=="tifm", ENV{TIFM_CARD_TYPE}=="SD", RUN+="/sbin/modprobe
-b tifm_sd"
    SUBSYSTEM=="tifm", ENV{TIFM_CARD_TYPE}=="MS", RUN+="/sbin/modprobe
-b tifm_ms"


firmware

  if we don't copy the default rules into the initramfs (to get around
  the many GROUP= in there), we still need to load firmware.

  could this rule be separated out into a different file?


scd/sr

  while the kernel still calls them sr, that prefix is deprecated.  You
  symlink the new name to the old one, we do it the other way around to
  make it clearer:

    SUBSYSTEM=="block", KERNEL=="sr[0-9]*", NAME="scd%n", SYMLINK+="sr%
n"


rtc

  our rtc rules are more careful about only symlinking the CMOS
  to /dev/rtc:

    SUBSYSTEM=="rtc", DRIVERS=="rtc_cmos", SYMLINK+="rtc"

  additionally, we place these in the "audio" group

    SUBSYSTEM=="rtc", GROUP="audio"


dv1394

  I couldn't work out why you symlink the kernelish names to their
  proper names, should this not be:

    KERNEL=="dv1394*", NAME="dv1394/%n"


raw1394

  This should be in the "disk" group, not the "video" group; it can be
  used to execute code as root


names

  you rename some devices and disagree with devices.txt

    rawctl -> raw/rawctl

  you also don't rename some devices, and thus disagree

    KERNEL=="controlC[0-9]*", NAME="snd/%k"
    KERNEL=="hwC[D0-9]*", NAME="snd/%k"
    KERNEL=="midiC[D0-9]*", NAME="snd/%k"
    KERNEL=="pcmC[D0-9cp]*", NAME="snd/%k"
    KERNEL=="seq", NAME="snd/%k"
    KERNEL=="timer", NAME="snd/%k"

    KERNEL=="device-mapper", NAME="mapper/control"

    KERNEL=="capi", NAME="capi20"
    KERNEL=="capi[0-9]*", NAME="capi/%n"

    KERNEL=="zapctl", NAME="zap/ctl"
    KERNEL=="zaptimer", NAME="zap/timer"
    KERNEL=="zapchannel", NAME="zap/channel"
    KERNEL=="zappseudo", NAME="zap/pseudo"
    KERNEL=="zap[0-9]*", NAME="zap/%n"


symlinks

  you have lots of extra symlinks, any particular reason?  are you paid
  by the symlink? :p

    X0R -> null		??!! WTF
    ramdisk -> ram0
    ram -> ram1
    lirc -> lirc0
    js* -> input/js*	- aren't these different kernel drivers?
    vbi -> vbi0
    radio -> radio0
    video -> video0
    fb -> fb0
    par* -> lp*		??
    ftape -> qft0
    hw_random -> hwrng	- we just rename, and don't symlink the old name
    sbpcd -> sbpcd0
    xpram* -> slram*
    sxctl -> specialix_sxctl	- shouldn't this be just a rename?
    rioctl -> specialix_rioctl	- shouldn't this be just a rename?
    
  no /dev/pilot? :)


permissions

  dri/card*	666	???!!!
  fuse		666	???!!!
  bus/usb/*	644	instead of 664?
  tty		620	instead of 600? your ttys are writable?


groups

  no cdrom group?
  no scanner group?
  no tape group?
  no dialout group?	- this may be Debianish, but we rely on it
  no audio group?

  ppdev devices not in the lp group?

  nvram in group kmem not nvram?


Scott
-- 
Scott James Remnant
scott@xxxxxxxxxxxxx

Attachment: signature.asc
Description: This is a digitally signed message part


[Index of Archives]     [Linux Kernel]     [Linux DVB]     [Asterisk Internet PBX]     [DCCP]     [Netdev]     [X.org]     [Util Linux NG]     [Fedora Women]     [ALSA Devel]     [Linux USB]

  Powered by Linux