Jim's Udev package (part 1)

Jim Gifford lfs at jg555.com
Thu Jan 5 21:51:34 PST 2006


Thanx Alex. I added some notes in what you said so you can know the 
thinking and why some things are different.

Alexander E. Patrakov wrote:

> Jim Gifford suggested:
>
>> diff -urN /var/empty/50-udev.rules udev-cross-lfs/50-udev.rules
>> --- /var/empty/50-udev.rules    1970-01-01 05:00:00.000000000 +0500
>> +++ udev-cross-lfs/50-udev.rules    2006-01-05 21:50:30.000000000 +0500
>> +# hotplug
>> +ENV{MODALIAS}=="?*",    RUN+="/sbin/modprobe $env{MODALIAS}"
>
>
> Should really be in a separate file (let's call it 40-modload.rules), 
> together with the SCSI module loading rules.
>
Agreed

>
>> +KERNEL=="vcs*",            NAME="%k", GROUP="tty", MODE="620", 
>> OPTIONS="last_rule"
>> +KERNEL=="vcsa*",        NAME="%k", GROUP="tty", MODE="620", 
>> OPTIONS="last_rule"
>
>
> Won't the "vcs*" rule catch "vcsa*" too? Also, LFS uses 0600 
> permissions (group is irrelevant then).

Have to test. Thanx for the recommendation

>> +KERNEL=="pppox*",        NAME="%k", GROUP="uucp"
>
>
> LFS has no such rule, "modprobe pppox" doesn't produce anything in 
> /sts/class with the name starting with "pppox". In the default udev 
> rules, this appears to be SuSE-specific. But I am not an expert on pppox.
>
I got a friend who's going to test that

>> +KERNEL=="ircomm*",        NAME="%k", GROUP="uucp"
>
>
> LFS uses GROUP="dialout"

We have the uucp group in cross-lfs

>
>> +KERNEL=="modems/mwave*",    NAME="%k", GROUP="uucp"
>> +KERNEL=="hvc*",            NAME="%k", GROUP="uucp"
>> +KERNEL=="hvsi*",        NAME="%k", GROUP="uucp"
>> +KERNEL=="iseries/vtty*",    NAME="%k", GROUP="uucp"
>
>
> Looks SUSE-specific and even bogus. KERNEL names cannot contain a slash.
>
Unfortunatly the mwave modems do have this recommendation, never 
understood why.

>> +KERNEL=="nvidia*",        NAME="%k", GROUP="video"
>> +KERNEL=="nvidiactl*",        NAME="%k", GROUP="video"
>
>
> "nvidia*" also covers nvidiactl

I'll have to give it a shot

>
>> +KERNEL=="pmu",            GROUP="video"
>
>
> Not in LFS. What is it?

Power Mangement Unit powerpc related

>
>> +KERNEL=="input[0-9]*", ACTION=="add", RUN+="input.sh"
>
>
> You recommend the -gregkh kernel patch, thus you can drop this hack in 
> favour of proper input modalias support in the kernel.

Should work, just haven't testit

>
>> +# printer
>
> parport devices are missing. LFS uses this:
>
> KERNEL=="parport[0-9]*", GROUP="lp"
>
> but this is also questionable because raw parport devices are used for 
> things not related to printing, such as parallel port cnanners and the 
> devices that program EEPROMs and some other chips.
>
Will add

>> +# fix floppy devices
>> +KERNEL=="nvram", ACTION=="add", RUN+="load_floppy_module.sh"
>
>
> Belongs to 40-modload.rules

Good point

>
>> +ACTION=="add", SUBSYSTEM="scsi" , SYSFS{type}=="0|7|14", 
>> RUN+="/bin/sh -c 'echo 60 > /sys/$DEVPATH/timeout'"
>> +ACTION=="add", SUBSYSTEM="scsi" , SYSFS{type}=="1", RUN+="/bin/sh -c 
>> 'echo 900 > /sys/$DEVPATH/timeout'"
>
>
> Belong to separate file, 39-scsi-tweaks.rules

Possibily

>
>> +SUBSYSTEM=="scsi_device", ACTION=="add", 
>> SYSFS{device/type}=="0|7|14", RUN+="/sbin/modprobe sd_mod"
>> +SUBSYSTEM=="scsi_device", ACTION=="add", SYSFS{device/type}=="1", 
>> SYSFS{device/vendor}=="On[sS]tream", RUN+="/sbin/modprobe osst"
>> +SUBSYSTEM=="scsi_device", ACTION=="add", SYSFS{device/type}=="1", 
>> RUN+="/sbin/modprobe st"
>> +SUBSYSTEM=="scsi_device", ACTION=="add", SYSFS{device/type}=="[45]", 
>> RUN+="/sbin/modprobe sr_mod"
>> +SUBSYSTEM=="scsi_device", ACTION=="add", RUN+="/sbin/modprobe sg"
>
>
> Please move to 40-modload.rules

Good ide

>
>> +# load IDE modules
>> +SUBSYSTEM=="ide", ACTION=="add", RUN+="ide.sh"
>
>
> You recommend the -gregkh kernel patch, so drop this. No longer needed.

Haven't tested yet

>
>> +KERNEL=="sg*",            NAME="%k", GROUP="disk", MODE="640"
>
>
> This is not only for disks, but for every SCSI device: disks, CD-RWs, 
> tapes, scanners, etc. So the LFS root-only default seems better.

Good point

>
>> +KERNEL=="st*",            NAME="%k", GROUP="disk"
>> +KERNEL=="nst*",            NAME="%k", GROUP="disk"
>
>
> We gave the "tape" group, why not use it?

Good point

>
>> +KERNEL=="initrd",        NAME="%k", GROUP="disk"
>
>
> Isn't this a block device already caught by SUBSYSTEM=="block"?

Will have to test

>
>> +KERNEL=="qft*",            NAME="%k", GROUP="disk"
>> +KERNEL=="nqft*",        NAME="%k", GROUP="disk"
>> +KERNEL=="zqft*",        NAME="%k", GROUP="disk"
>> +KERNEL=="nzqft*",        NAME="%k", GROUP="disk"
>> +KERNEL=="rawqft*",        NAME="%k", GROUP="disk"
>> +KERNEL=="nrawqft*",        NAME="%k", GROUP="disk"
>> +KERNEL=="npt*",            NAME="%k", GROUP="disk"
>> +KERNEL=="osst*",        NAME="%k", GROUP="disk"
>> +KERNEL=="nosst*",        NAME="%k", GROUP="disk"
>
>
> These devices are tapes, aren't they?

yup

>> +# kernel firmware loader
>> +SUBSYSTEM=="firmware", ACTION=="add", RUN+="firmware_helper"
>
>
> Belongs to 38-misc-helpers.rules together with the obsolete 
> run_hotplugd program (needed so that HAL is not broken in BLFS).

Possibly

> ALSA and other sound devices: entire section

Looking around to see how others handle the sound stuff

-- 
------
jim at linuxfromscratch.org
lfs at jg555.com

LFS User # 2577
Registered Linux User # 299986




More information about the cross-lfs mailing list