Portál AbcLinuxu, 9. května 2024 04:04


Dotaz: udev pravidla při startu systému

Zdeněk Zámečník avatar 17.1.2013 15:49 Zdeněk Zámečník | skóre: 26
udev pravidla při startu systému
Přečteno: 307×
Odpovědět | Admin
Snažím se vytvořit pravidla pro udev, aby mi při připojení nebo odpojení USB modemu Huawei zavolal vlastní skript.

Do /etc/udev/rules.d/10-my.rules jsem vložil následující:

KERNEL=="ttyUSB*", ATTRS{idVendor}=="12d1", SUBSYSTEM=="tty", ACTION=="remove", RUN+="/usr/local/sbin/udev_gammu"
KERNEL=="ttyUSB*", ATTRS{idVendor}=="12d1", SUBSYSTEM=="tty", ACTION=="add", RUN+="/usr/local/sbin/udev_gammu"

/usr/local/sbin/udev_gammu vypadá zatím takto:

#!/bin/bash
log=/var/log/test.log
date >> $log
env >> $log
echo "----" >> $log

Pokud za běhu odpojuji a připojuji modemy, tak udev můj skript skutečně zavolá. Nicméně pokud provedu restart, tak se při bootování nestane vůbec nic a nemůžu přijít na to proč. Byl by nějaký tip? Ještě bych měl poznamenat, že mám také nainstalovaný usb_modeswitch, se kterým jsem vůbec nic nedělal. Distribuce je Debian Squeeze.


Řešení dotazu:


Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

pepe_ avatar 17.1.2013 17:35 pepe_ | skóre: 48
Rozbalit Rozbalit vše Re: udev pravidla při startu systému
Odpovědět | | Sbalit | Link | Blokovat | Admin

a bez toho action ?

 

KERNEL=="ttyUSB*", ATTRS{idVendor}=="12d1", SUBSYSTEM=="tty", RUN+="/usr/local/sbin/udev_gammu"
Zdeněk Zámečník avatar 18.1.2013 08:13 Zdeněk Zámečník | skóre: 26
Rozbalit Rozbalit vše Re: udev pravidla při startu systému
Bez action i bez subsystem se to také nezavolá...
michich avatar 17.1.2013 19:57 michich | skóre: 51 | blog: ohrivane_parky
Rozbalit Rozbalit vše Re: udev pravidla při startu systému
Odpovědět | | Sbalit | Link | Blokovat | Admin
Používáš samostatný /usr oddíl?
Zdeněk Zámečník avatar 18.1.2013 08:14 Zdeněk Zámečník | skóre: 26
Rozbalit Rozbalit vše Re: udev pravidla při startu systému
Jestli používám samostatný oddíl pro /usr? Kdepak, celý systém mám na jednom oddílu.
Řešení 1× (Zdeněk Zámečník (tazatel))
blami avatar 17.1.2013 20:23 blami | skóre: 29 | Praha
Rozbalit Rozbalit vše Re: udev pravidla při startu systému
Odpovědět | | Sbalit | Link | Blokovat | Admin
Musis asi pregenerovat initramfs. Zaklad je v /lib/udev/rules.d a to co je v /etc/ je jen uzivatelska konfigurace ktera toto prekryva. Debian tusim nepouziva dracut a podobne jako na Ubuntu se udev se pousti uz v ranne fazi initramfs kdy je k dispozici to co je vykopirovane do initramfs (aby mohl pripojit /).
Zdeněk Zámečník avatar 18.1.2013 09:22 Zdeněk Zámečník | skóre: 26
Rozbalit Rozbalit vše Re: udev pravidla při startu systému
To mě vůbec nenapadlo, nejspíš máš pravdu. Bohužel ani to nepomohlo, přegeneroval jsem initramfs příkazem update-initramfs -u -k $(uname -r), ale nic se nezměnilo.

Všimnul jsem si, že při bootu se objevuje hlášku ve smyslu /run/udev not writable a později startpar: service returned failure: udev ... failed, takže pátrám jestli není příčina tady.
Zdeněk Zámečník avatar 18.1.2013 13:19 Zdeněk Zámečník | skóre: 26
Rozbalit Rozbalit vše Re: udev pravidla při startu systému
Není možné, že v okamžiku, kdy se spouští udev ještě není připojen systémový disk? Protože to by celou situaci vysvětlovalo, akorát nevím, jak bych to rozumně mohl vyřešit.
beer avatar 18.1.2013 13:41 beer | skóre: 15
Rozbalit Rozbalit vše Re: udev pravidla při startu systému

A z čeho by se udev spouštěl, kdyby nebyl připojený systémový disk? Velkým třeskem? Udev spouští systém, ten je na systémovém disku, nebo ne? To by byl trošku paradox, dítě by existovalo před rodičem...

blami avatar 18.1.2013 18:52 blami | skóre: 29 | Praha
Rozbalit Rozbalit vše Re: udev pravidla při startu systému
Kolego, udev system nespousti. A udev se typicky spousti z ramdisku rozpakovaneho do pameti.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.