[Risolto]catturare messaggi initrd

Se avete problemi con l'installazione e la configurazione di Slackware postate qui. Non usate questo forum per argomenti generali... per quelli usate Gnu/Linux in genere.

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Slackware, se l'argomento è generale usate il forum Gnu/Linux in genere.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Rispondi
Avatar utente
slux
Linux 3.x
Linux 3.x
Messaggi: 789
Iscritto il: dom 20 mar 2005, 0:00
Nome Cognome: Andrea Amerini
Slackware: 14.1 x86
Kernel: 3.12.0-smp
Desktop: xfce 4.10
Località: Prato
Contatta:

[Risolto]catturare messaggi initrd

Messaggio da slux »

Ciao a tutti,
ho questo problema:
ho un sistema che si avvia con initrd regolarmente,ma se provo a sospenderlo (suspend to disk) al riavvio la macchina fallisce ed esegue fsck.
Riesco ad intravedere dei messaggi di errore ( forse errori miei nel file init in initrd.gz),ma sono troppo veloci da leggere.Inutile dire che in /var/log/messages o /var/log/syslog non ho niente che mi aiuti a capire l'errore.
Ho cercato in internet ed ho provato ad usare netconsole;funziona,ma catturo solamente l'output del kernel (printk) e non gli errori di script o dei tool di avvio.
Esiste un modo per catturare TUTTO l'output del sistema su un'altra macchina,magari mediante rete?Non ho un cavo seriale e sul portatile che uso per catturare i log non ho manco la porta. :doubt:
Idee?
Ultima modifica di slux il lun 31 mag 2010, 22:26, modificato 1 volta in totale.

Mario Vanoni
Iper Master
Iper Master
Messaggi: 3174
Iscritto il: lun 3 set 2007, 21:20
Nome Cognome: Mario Vanoni
Slackware: 12.2
Kernel: 3.0.4 statico
Desktop: fluxbox/seamonkey
Località: Cuasso al Monte (VA)

Re: catturare messaggi initrd

Messaggio da Mario Vanoni »

slux ha scritto:Ciao a tutti,
ho questo problema:
ho un sistema che si avvia con initrd regolarmente,ma se provo a sospenderlo (suspend to disk) al riavvio la macchina fallisce ed esegue fsck.
Riesco ad intravedere dei messaggi di errore ( forse errori miei nel file init in initrd.gz),ma sono troppo veloci da leggere.Inutile dire che in /var/log/messages o /var/log/syslog non ho niente che mi aiuti a capire l'errore.
Ho cercato in internet ed ho provato ad usare netconsole;funziona,ma catturo solamente l'output del kernel (printk) e non gli errori di script o dei tool di avvio.
Esiste un modo per catturare TUTTO l'output del sistema su un'altra macchina,magari mediante rete?Non ho un cavo seriale e sul portatile che uso per catturare i log non ho manco la porta. :doubt:
Idee?
Non uso initrd, kernel puramente statico, compilato con in

Codice: Seleziona tutto

General setup  ---> 
(21) Kernel log buffer size (16 => 64KB, 17 => 128KB)
il valore 21 non e` officiale, ma supportato ed aumenta il buffer,
forse ti aiuta ...

Avatar utente
targzeta
Iper Master
Iper Master
Messaggi: 6643
Iscritto il: gio 3 nov 2005, 14:05
Nome Cognome: Emanuele Tomasi
Slackware: 64-current
Kernel: latest stable
Desktop: IceWM
Località: Carpignano Sal. (LE) <-> Pisa

Re: catturare messaggi initrd

Messaggio da targzeta »

Non ho capito quando fallisce, comunque potresti mettere un comando 'read' nell'initrd così puoi leggere tutto con calma.

Emanuele
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama

Avatar utente
slux
Linux 3.x
Linux 3.x
Messaggi: 789
Iscritto il: dom 20 mar 2005, 0:00
Nome Cognome: Andrea Amerini
Slackware: 14.1 x86
Kernel: 3.12.0-smp
Desktop: xfce 4.10
Località: Prato
Contatta:

Re: catturare messaggi initrd

Messaggio da slux »

spina ha scritto:Non ho capito quando fallisce, comunque potresti mettere un comando 'read' nell'initrd così puoi leggere tutto con calma.
Ciao spina,
per evitare inutili repliche ti do altre informazioni.
Sono costretto ad usare initrd perchè ho un sistema raid 1 con swap in array.
Per eseguire correttamente il resume (uso s2disk) bisogna mettere l'array della swap in read_only e questo va fatto appunto da initrd.
Purtroppo mkinitrd di Pat non supporta uswsusp,quindi ho dovuto modificare a mano lo script init e copiare dentro l'initrd il tool di resuming (resume).
Il tutto mi funzionava a dovere prima che aggiornassi alla 13.1.In current (13.1 rc1 mi sembra) andava tutto benone.Anche il kernel è lo stesso,uno compilato da me.Ho solo dovuto ricompilarlo perchè ho aggiornato i driver Nvidia e la versione di gcc nel frattempo era cambiata.

Il pc fallisce nella fase di ripristino,segnala che la swap è danneggiata ed esegue un fsck di / ed il resync di swap.
Il comando read è un comando builtin della bash ed in initrd si usa busybox,non credo di poterlo usare come anche pause del resto(in /bin non ci sono).

@Mario:
Non è un problema di buffer.Netconsole restituisce solamente i messaggi del kernel,non l'output di uno script bash o di un tool come resume o udev per esempio.

Avatar utente
targzeta
Iper Master
Iper Master
Messaggi: 6643
Iscritto il: gio 3 nov 2005, 14:05
Nome Cognome: Emanuele Tomasi
Slackware: 64-current
Kernel: latest stable
Desktop: IceWM
Località: Carpignano Sal. (LE) <-> Pisa

Re: catturare messaggi initrd

Messaggio da targzeta »

Hai ragione, è proprio il dubbio che mi è venuto mentre scrivevo la risposta. Vabbé, vedo che comunque ci siamo intesi, quindi perchè non fai partire proprio la shell (ash)? Io ricordo di averlo fatto per debuggare l'intrd.
Un altro modo che mi viene in mente è:

Codice: Seleziona tutto

cat < /dev/stdin
O ancora 'sleep' che è compreso in busybox.

Emanuele
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama

Avatar utente
slux
Linux 3.x
Linux 3.x
Messaggi: 789
Iscritto il: dom 20 mar 2005, 0:00
Nome Cognome: Andrea Amerini
Slackware: 14.1 x86
Kernel: 3.12.0-smp
Desktop: xfce 4.10
Località: Prato
Contatta:

Re: catturare messaggi initrd

Messaggio da slux »

Ho risolto proprio come hai detto tu spina.Ho lanciato il sistema con il parametro RESCUE=1 e sono arrivato così alla shell di emergenza.
Ho eseguito passo passo lo script init digitando manualmente i vari comandi senza alcun errore ,e quando sono arrivato ad eseguire il comando resume ,la macchina è tornata al prompt senza fare nulla!Non mi riconosce l'immagine ibernata!!!Eppure s2disk sembra lavorare correttamente...davvero bella questa!
Comunque per il topic in questione possiamo considerare la cosa risolta.Grazie mille spina.

Avatar utente
targzeta
Iper Master
Iper Master
Messaggi: 6643
Iscritto il: gio 3 nov 2005, 14:05
Nome Cognome: Emanuele Tomasi
Slackware: 64-current
Kernel: latest stable
Desktop: IceWM
Località: Carpignano Sal. (LE) <-> Pisa

Re: catturare messaggi initrd

Messaggio da targzeta »

slux ha scritto:...Grazie mille spina.
Emanuele per gli amici. Comunque grazie a te perchè questa storia del parametro rescue=1 mica la sapevo, io intendevo proprio di mettere nell'initrd l'esecuzione della shell :).

Tra l'altro cercando un po' in giro non ho trovato niente, cioé devi passare al boot il parametro rescue=1? Penso sia un parametro proprio di initrd no? Anche perchè tra i parametri del kernel non ho trovato niente.

Emanuele
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama

Avatar utente
slux
Linux 3.x
Linux 3.x
Messaggi: 789
Iscritto il: dom 20 mar 2005, 0:00
Nome Cognome: Andrea Amerini
Slackware: 14.1 x86
Kernel: 3.12.0-smp
Desktop: xfce 4.10
Località: Prato
Contatta:

Re: [Risolto]catturare messaggi initrd

Messaggio da slux »

precisamente,premi tab al menu di lilo ,digiti il nome dell' immagine da caricare e maiuscolo RESCUE=1 e ti ritrovi alla shell,tutto qui.Viene gestito tutto nello script di initrd esatto

Rispondi