Pagina 1 di 1

[RISOLTO]errore udev dopo aggiornamento dalla 13.37

Inviato: mer 10 lug 2013, 6:32
da dafrasaga
Ciao a tutti,
volendo far funzionare lo scaling cpu freq su e17, mi sono accorto di un errore che ho da udevd nella fase della esecuzione dello script rc.S.
L'errore è : udevd .. bind failed readonly file system.
Da prima ho pensato che fosse perchè non avevo configurato devtmpfs nel kernel 3.3.1 che mi sono compilato, ma così non è in quanto è configurato ed un cat proc/mounts nella fase di boot mi fa vedere il montaggio di devtmpfs su dev.

E' proprio la fase in cui viene montato / in readonly per fare il ceck.

Il tutto si normalizza dopo che INIT settando il runlevel di default (3) riesegue il rc.udev tramite rc.M in quanto in quella fase / è montato rw.

MI direte, ma poi ti si normalizza... è vero, ma ho bisogno che nella fase di boot e precisamente nella prima fase di esecuzione di rc.S udevd mi carichi tutti i moduli necessari e più in dettaglio il modulo battery che mi permette durante la fase di esecuzione di rc.modules di settare e caricare i moduli per la cpu scaling.

Poi altra domanda: non riescoa capire come udev carica i moduli necessari. Nelle regole in /lib/udev/rules.d non trovo regole riguaradanti i moduli.

Spero di essere stato chiaro...

Idee

Re: udevd errore al boot

Inviato: mer 10 lug 2013, 11:07
da ilmich
non sono un espertone ma provo a risponderti per quello che so :)
dafrasaga ha scritto:MI direte, ma poi ti si normalizza... è vero, ma ho bisogno che nella fase di boot e precisamente nella prima fase di esecuzione di rc.S udevd mi carichi tutti i moduli necessari e più in dettaglio il modulo battery che mi permette durante la fase di esecuzione di rc.modules di settare e caricare i moduli per la cpu scaling.
premesso che credo che il modulo per la batteria sia uno di quelli che si caricano prima possibile se proprio ti serve nelle prime fasi del boot puoi sempre farti un initrd ad-hoc
dafrasaga ha scritto:Poi altra domanda: non riescoa capire come udev carica i moduli necessari. Nelle regole in /lib/udev/rules.d non trovo regole riguaradanti i moduli.
perchè mi sa tanto che sia al contrario, ovvero il kernel carica il modulo e lo comunica ad udev che in base al bus (usb, pci etc etc etc) crea le entry sotto /dev
questo perchè udev è un 'demone' che gestisce la creazione dei riferimenti alle periferiche in modo dinamico (cio' che un tempo era affidato ad una directory /dev preimpostata e nei casi estremi alla manualità con mknod + chmod) non un 'sostituto' del kernel

ciau

Re: udevd errore al boot

Inviato: mer 10 lug 2013, 12:07
da dafrasaga
miklos ha scritto:premesso che credo che il modulo per la batteria sia uno di quelli che si caricano prima possibile se proprio ti serve nelle prime fasi del boot puoi sempre farti un initrd ad-hoc
potrebbe essere una opportunità, ma volevo rimanere senza initrd
miklos ha scritto: perchè mi sa tanto che sia al contrario, ovvero il kernel carica il modulo e lo comunica ad udev che in base al bus (usb, pci etc etc etc) crea le entry sotto /dev
io penso che non è che è il kernel che carica.. se è stato compilato con il modulo può gestire le periferiche altrimenti il modulo deve essere caricato con modprobe
miklos ha scritto: questo perchè udev è un 'demone' che gestisce la creazione dei riferimenti alle periferiche in modo dinamico (cio' che un tempo era affidato ad una directory /dev preimpostata e nei casi estremi alla manualità con mknod + chmod) non un 'sostituto' del kernel
è vero una volta, adesso, mi pare, che con le regole e facendo il trigger con udevadm puoi fargli fare quello che vuoi :?

ciao

Re: udevd errore al boot

Inviato: mer 10 lug 2013, 12:39
da ilmich
dafrasaga ha scritto:io penso che non è che è il kernel che carica.. se è stato compilato con il modulo può gestire le periferiche altrimenti il modulo deve essere caricato con modprobe
comunque non è certo udev a lanciare modprobe per questo nn riesci a trovare niente a riguardo.
ad ogni modo il kernel per quanto riguarda l'hardware(non sono sicuro per filesystem) i moduli eccome se se li carica in autonomia.. tant'e' vero che il mio rc.modules è tutto commentato.
il modprobe oramai si usa per casi particolari o se hai necessita di passare parametri particolari(e pure li nemmeno direttamente ma tramite file .conf sotto /etc/modprobe.d)
tra l'altro modprobe sostanzialmente è una interfaccia interattiva a qualcosa che il kernel di suo sa già fare
dafrasaga ha scritto:è vero una volta, adesso, mi pare, che con le regole e facendo il trigger con udevadm puoi fargli fare quello che vuoi :?
a modo mio ma era quello che volevo dire io.. ovvero che udev stringi stringi è solo un 'creatore' di file sotto /dev comandato dal kernel. tra l'altro quando ho detto 'un tempo' intendevo prima che inventassero udev :)

ciau

Re: udevd errore al boot

Inviato: mer 10 lug 2013, 13:58
da dafrasaga
miklos ha scritto:
dafrasaga ha scritto:io penso che non è che è il kernel che carica.. se è stato compilato con il modulo può gestire le periferiche altrimenti il modulo deve essere caricato con modprobe
comunque non è certo udev a lanciare modprobe per questo nn riesci a trovare niente a riguardo.
ad ogni modo il kernel per quanto riguarda l'hardware(non sono sicuro per filesystem) i moduli eccome se se li carica in autonomia.. tant'e' vero che il mio rc.modules è tutto commentato.
il modprobe oramai si usa per casi particolari o se hai necessita di passare parametri particolari(e pure li nemmeno direttamente ma tramite file .conf sotto /etc/modprobe.d)
tra l'altro modprobe sostanzialmente è una interfaccia interattiva a qualcosa che il kernel di suo sa già fare
dafrasaga ha scritto:è vero una volta, adesso, mi pare, che con le regole e facendo il trigger con udevadm puoi fargli fare quello che vuoi :?
a modo mio ma era quello che volevo dire io.. ovvero che udev stringi stringi è solo un 'creatore' di file sotto /dev comandato dal kernel. tra l'altro quando ho detto 'un tempo' intendevo prima che inventassero udev :)

ciau
ok, è vero che nel kernel sono hardcoded molti "moduli" ma è pur vero che durante la compilazione del kernel puoi inserire o non inserire varie extension/moduli :?
senti... e per quell'errore che ho subito dopo che parte INIT riguardo a udevd??

Re: udevd errore al boot

Inviato: mer 10 lug 2013, 15:20
da ilmich
dafrasaga ha scritto:senti... e per quell'errore che ho subito dopo che parte INIT riguardo a udevd??
non è assolutamente normale.
udev in slackware 14 usa la directory /run/udev quindi all'avvio deve essere accessibile.
questa directory è presente nell'albero e ha i permessi corretti, solo che nelle primissime fasi non essendo ancora stato montato alcun filesystem si sono 'inventati il trucco di montarlo temporaneamente in memoria.. successivamente viene avviato udev... controllati i filesystems.. poi viene smontato tutto.. rimontanto in lettura scrittura e riavviato udev( questa cosa la puoi vedere nello /etc/rc.d/rc.S)

quindi prima di tutto ti direi di controllare che questa cosa venga effettivamente fatta perchè potrebbe anche darsi che, se hai fatto un upgrade dalla 13.37 alla 14 tu ti possa ritrovare in questa situazione dato che nella 13.37 udev funzionava diversamente.

ciau

Re: udevd errore al boot

Inviato: mer 10 lug 2013, 15:32
da dafrasaga
miklos ha scritto:
dafrasaga ha scritto:senti... e per quell'errore che ho subito dopo che parte INIT riguardo a udevd??
non è assolutamente normale.
udev in slackware 14 usa la directory /run/udev quindi all'avvio deve essere accessibile.
questa directory è presente nell'albero e ha i permessi corretti, solo che nelle primissime fasi non essendo ancora stato montato alcun filesystem si sono 'inventati il trucco di montarlo temporaneamente in memoria.. successivamente viene avviato udev... controllati i filesystems.. poi viene smontato tutto.. rimontanto in lettura scrittura e riavviato udev( questa cosa la puoi vedere nello /etc/rc.d/rc.S)

quindi prima di tutto ti direi di controllare che questa cosa venga effettivamente fatta perchè potrebbe anche darsi che, se hai fatto un upgrade dalla 13.37 alla 14 tu ti possa ritrovare in questa situazione dato che nella 13.37 udev funzionava diversamente.

ciau
In effetti ho fatto l'upgrade dalla 13.37 (spero nel modo corretto) :?
Quindi udev è passata da udev-165 a udev-182 :o
Essendo quindi /run su / che negli istanti iniziali è readonly, è quello il problema :shock: . giusto??

Come opero??

Re: udevd errore al boot

Inviato: mer 10 lug 2013, 15:45
da ilmich
si esatto... il 'problema' dell'upgrade di versione è che devi ricordarti sempre che non è sufficiente aggiornare i pacchetti.. o meglio il piu' delle volte si :D
siccome pero' i pacchetti slackware ufficiali sono fatti in modo da evitare sovrascritture di precedenti file di configurazione e script, di solito dopo un aggiornamento massiccio ti ritrovi la directory /etc piena di file con estensione .new che dovresti controllare ed eventualmente usare in sostituzione di quelli vecchi.

nel tuo caso con tanta probabilità se vai sotto /etc/rc.d come minimo c'hai il file /etc/rc.d/rc.S.new.. dico come minimo perchè di solito quasi tutti i file in questa directory sono 'protetti' in questo modo.
per risolvere hai due modi

1) modalità amanuense

Codice: Seleziona tutto

cd /etc/rc.d
mv rc.S rc.S.old 
mv rc.S.new rc.S
mv rc.udev rc.udev.old 
mv rc.udev.new rc.udev
2) usando

Codice: Seleziona tutto

slackpkg new-config
puoi addirittura controllare le differenze :)

Re: udevd errore al boot

Inviato: mer 10 lug 2013, 15:47
da dafrasaga
Grazie,
non appena ho il pc sottomano verifico .

Ti aggiorno

Re: udevd errore al boot

Inviato: mer 10 lug 2013, 18:47
da dafrasaga
Ha funzionato. :D
Grazie mille =D>

Re: udevd errore al boot

Inviato: mer 10 lug 2013, 23:52
da ilmich
ottimo!!
data la natura del problema magari oltre ad aggiungere nel post la dicitura [RISOLTO] se potessi gentilmente cambiarne il titolo in qualcosa di piu' esplicativo, tipo che so "errore udev dopo aggiornamento dalla 13.37" cosi' chi ha il tuo stesso problema trova la soluzione in modo piu' agevole ;)

ciau