Selv om de fleste enheter som trengs av pakker i BLFS og utover er
satt opp skikkelig av udev ved å
bruke standardreglene installert av LFS i /etc/udev/rules.d
, det er tilfeller der reglene må
endres eller utvides.
Hvis det er flere lydkort i et system, vil "standard" lydkortet
blir tilfeldig. Metoden for å etablere lydkortrekkefølge avhenger
av om driverne er moduler eller ikke. Hvis lydkortets drivere er
kompilert inn i kjernen, kontroll er via kjernekommandolinjens
parametere i /boot/grub/grub.cfg
. For
eksempel, hvis et system har både et FM801-kort og et SoundBlaster
PCI-kort, følgende kan legges til kommandolinjen:
snd-fm801.index=0 snd-ens1371.index=1
Hvis lydkortdriverne er bygget som moduler, kan rekkefølgen bli
etablert i /etc/modprobe.conf
filen
med:
options snd-fm801 index=0
options snd-ens1371 index=1
USB enheter har vanligvis to typer enhetsnoder knyttet til seg.
Den første typen er laget av enhetsspesifikke drivere (f.eks. usb_storage/sd_mod eller usblp) i kjernen. For eksempel en USB masselagringsenhet ville være /dev/sdb, og en USB skriver ville være /dev/usb/lp0. Disse enhetsnodene eksisterer bare når den enhetensspesifikke driveren er lastet inn.
Den andre typen enhetsnoder (/dev/bus/usb/BBB/DDD, der BBB er bussnummeret og DDD er enhetsnummeret) opprettes selv om enheten ikke har en kjernedriver. Ved å bruke disse "rå" USB enhetenes noder, kan en applikasjon utveksle vilkårlige USB pakker med enheten, dvs. omgå den muligens eksisterende kjernedriveren.
Tilgang til rå USB enhetsnoder er nødvendig når et brukerromsprogram fungerer som enhetsdriver. Men for at programmet skal lykkes med å åpne enheten, må tillatelsene settes riktig. Som standard, pga av sikkerhetshensyn eies alle rå USB enheter av bruker root og gruppe root, og har 0664-tillatelser (lesetilgangen er nødvendig, f.eks. for at lsusb skal fungere og for at programmer skal få tilgang til USB huber). Pakker (f.eks som SANE og libgphoto2) som også inneholder USB enhetsdrivere for brukerområdet send udev-regler som endrer tillatelsene til den kontrollerte rå USB enheten. Det vil si at regler installert av SANE endrer tillatelser for kjente skannere, men ikke skrivere. Hvis en pakkevedlikeholder glemte å skrive en regel for enheten din, rapporter en feil til både BLFS (hvis pakken er der) og oppstrøms, og du må skrive din egen regel.
Før Linux-2.6.15 ble tilgang til rå USB enheter ikke utført med /dev/bus/usb/BBB/DDD enhetsnoder, men med /proc/bus/usb/BBB/DDD pseudofiles. Noen applikasjoner bruker fortsatt bare denne foreldede teknikken og kan ikke bruke de nye enhetsnodene. De kan ikke fungere med Linux kjerne versjon 3.5 eller nyere. Hvis du trenger å kjøre en slik applikasjon, kontakt utvikleren av den for en løsning.
Finjustering av enhetsattributter som gruppenavn og tillatelser er
mulig ved å lage ekstra udev
regler, samsvarende på noe slikt. Leverandøren og produktet kan
finnes med å søke på /sys/devices
mappegoppføringer eller bruk udevadm
info etter at enheten er koblet til. Se
dokumentasjonen i gjeldende udev
mappen til /usr/share/doc
for
detaljer.
SUBSYSTEM=="usb_device", SYSFS{idVendor}=="05d8", SYSFS{idProduct}=="4002", \
GROUP:="scanner", MODE:="0660"
Linjen ovenfor brukes kun for beskrivende formål. udev skanner regler settes på plass når SANE-1.2.1 installeres.
Hvis den første oppstartsprosessen ikke konfigurerer /dev/dvd
enheten riktig, kan den installeres
ved å bruke følgende modifikasjon av standard udev regler. Som
root
bruker, kjør:
sed '1d;/SYMLINK.*cdrom/ a\ KERNEL=="sr0", ENV{ID_CDROM_DVD}=="1", SYMLINK+="dvd", OPTIONS+="link_priority=-100"' \ /lib/udev/rules.d/60-cdrom_id.rules > /etc/udev/rules.d/60-cdrom_id.rules