Pagina 1 di 2

Kernel Panic dopo compilazione Kernel 3.0.8

Inviato: dom 6 nov 2011, 3:34
da alkz
Salve ragazzi, e' da oggi che mi scervello per capire che diavolo sia successo, ma non riesco a venirne fuori.
Oggi ho deciso di aggiornare il Kernel che avevo 2.6.29.6 al 3.0.8, tuttavia al riavvio ho un kernel panic di questo genere:

Codice: Seleziona tutto

Kernel panic - not syncing VFS:unable to mount root fs on unknown-block(8,10)
Premetto che ho operato come di consueto:

Codice: Seleziona tutto

make dep
make clean
make config
make -j10 bzImage
make -j10 modules
make modules_install

Spostato config, vmlinuz e System.map in /boot ed aggiunto il boot da lilo.conf
 lilo -v
Grazie in anticipo per l'aiuto.

Re: Kernel Panic dopo compilazione Kernel 3.0.8

Inviato: dom 6 nov 2011, 9:55
da Vito
Sei sicuro di aver creato il disco ram iniziale? (initrd)

Re: Kernel Panic dopo compilazione Kernel 3.0.8

Inviato: dom 6 nov 2011, 10:40
da 414N
Probabilmente non hai incluso il modulo per il filesystem della root partition nell'immagine del kernel e/o non l'hai incluso nell'initrd di avvio.
Crea una nuova initrd con un comando del genere:

Codice: Seleziona tutto

mkinitrd -c -k 3.0.8 -m ext3:ext4:ECCETERA -o /boot/initrd-3.0.8.gz
ed aggiungila nell'apposita sezione del nuovo kernel in /etc/lilo.conf.

PS: non hai bisogno di tutta quella "pappardella" per compilare il kernel. Un semplice make crea l'immagine e compila i moduli, percui, per finire l'opera, ti basta aggiungere un make modules_install.

Re: Kernel Panic dopo compilazione Kernel 3.0.8

Inviato: dom 6 nov 2011, 11:24
da targzeta
Evidentemente, come dice 414N, il problema è sull'assenza del modulo che gestisce il tuo root filesystem. Io più che creare un initrd ti consiglierei di inserirlo in builtin nel kernel, visto che lo stai compilando per te, presumo.

Sarebbe meglio partire da un .config bello e pronto per la tua macchina (oppure da uno generico) piuttosto che partire dal nulla. La sequenza di comandi che hai postato elimina il tuo .config e lo ricrea da 0.

Emanuele

Re: Kernel Panic dopo compilazione Kernel 3.0.8

Inviato: dom 6 nov 2011, 15:51
da alkz
Ho preparato un .config per la mia macchina l'ho copiato in /usr/src/linux-3.0.8, ma al make mi ripropone di crearne uno nuovo :P

Re: Kernel Panic dopo compilazione Kernel 3.0.8

Inviato: dom 6 nov 2011, 16:01
da Plaoo
alkz ha scritto:Ho preparato un .config per la mia macchina l'ho copiato in /usr/src/linux-3.0.8, ma al make mi ripropone di crearne uno nuovo :P
make oldconfig

Re: Kernel Panic dopo compilazione Kernel 3.0.8

Inviato: dom 6 nov 2011, 16:17
da alkz
E' quello che ho fatto :P

Re: Kernel Panic dopo compilazione Kernel 3.0.8

Inviato: dom 6 nov 2011, 16:44
da matzu
1) forse 'make clean' ti cancella il .config
io di solito uso 'make mrproper' e succede proprio questo, tanto che il .config lo copio nella directory solo prima di 'make config'. controlla il contenuto della directory prima di quest'ultimo.

2) non ho mai usato l'opzione -j ma secondo il man dev'esserci uno spazio tra '-j' e '10' (magari se la sintassi fosse errata si limiterebbe a non prenderlo in considerazione e non causerebbe comunque errori)

Re: Kernel Panic dopo compilazione Kernel 3.0.8

Inviato: dom 6 nov 2011, 16:54
da 414N
matzu ha scritto: 2) non ho mai usato l'opzione -j ma secondo il man dev'esserci uno spazio tra '-j' e '10' (magari se la sintassi fosse errata si limiterebbe a non prenderlo in considerazione e non causerebbe comunque errori)
Funziona lo stesso, come in molti altri casi di "contrazione" delle opzioni da riga di comando.

Re: Kernel Panic dopo compilazione Kernel 3.0.8

Inviato: dom 6 nov 2011, 16:58
da targzeta
No, il 'make clean' non cancella il .config, anche io l'ho pensato erroneamente. Comunque per risolvere il problema, come detto, dovresti includere il modulo che gestisce il tuo filesystem root nel kernel, oppure creare un initrd. Che filesystem usi?

Emanuele

Re: Kernel Panic dopo compilazione Kernel 3.0.8

Inviato: dom 6 nov 2011, 20:12
da alkz
Ho risolto il problema del fs :) Ora ne ho un altro pero', prendendo il .config del mio vecchio kernel e compilando con:

make silentoldconfig

il quale, se non erro, dovrebbe saltare le richieste gia' presenti nel .config e chiedermi solo quelle portate dal nuovo kernel, dopo con il make modules non mi compila e, successivamente, con make modules_install non mi install i medesimi moduli del mio vecchio kernel o_0

Re: Kernel Panic dopo compilazione Kernel 3.0.8

Inviato: dom 6 nov 2011, 20:18
da targzeta
Non ho capito il problema. Se non ti compila come puoi pretendere che ti installi i moduli? Il problema è capire perché non ti compila i moduli. Comunque per compilare basta dare un make, normalmente compila anche i moduli. Il 'make module' dovrebbe servire se vuoi compilare solo i moduli.

Emanuele

Re: Kernel Panic dopo compilazione Kernel 3.0.8

Inviato: dom 6 nov 2011, 20:40
da alkz
Saro' piu' chiaro, ho utilizzato il vecchio .config del mio kernel ed ho lanciato un make silentoldconfig, che, leggendo dal README, dovrebbe prendere il .config.old e chiedere l'installazione di moduli aggiunti, eventualmente, nella nuova release . Il problema che alla fine della fiera( make e make modules_install) non ho gli stessi moduli installati che avevo con il mio vecchio kernel(cosa alquanto strana dato che ho utilizzato il vecchio .config).

Re: Kernel Panic dopo compilazione Kernel 3.0.8

Inviato: dom 6 nov 2011, 20:45
da slux
Se per stessi moduli intendi dire che alcuni hanno cambiato nome o sono diventati obsoleti nel frattempo,può essere.
Altrimenti significa che hai compilato con un .config non corretto.
Inoltre make (silent)oldconfig non legge un file .config.old,ma direttamente il .config presente nella directory del kernel che vuoi compilare.

Re: Kernel Panic dopo compilazione Kernel 3.0.8

Inviato: dom 6 nov 2011, 20:55
da alkz
Sostanzialmente voglio compilare sto nuovo kernel con i moduli che avevo prima nel 2.6.xx quindi ho copiato il .config del /usr/src/linux-2.6.xx e l'ho incollato in /usr/src/linux-3.0.8 successivamente ho lanciato il make [silent]oldconfig il quale mi chiede di settare solo i moduli nuovi(quelli presenti solo nella nuova release), tuttavia alla fine non ho i medesimi che avevo nella 2.6.xx.
In soldoni vorrei avere gli stessi moduli precedenti senza dover andare a ricreare un nuovo .config da 0.