Entra

View Full Version : Kernel Panic! Perchè?


MrModd
24-10-2008, 21:06
Ho installato, o almeno sto cercando di installare il kernel uscito pochi giorni fa su una slackware 12.1 ma ho un kernel panic.

No filesystem could mount root, tried: romfs
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(2,66)


Ho sbagliato qualche configurazione nel kernel?

darkbasic
24-10-2008, 21:09
Le cose sono tre: nel bootloader hai impostato una partizione di root sbagliata oppure non hai compilato staticamente il controller del tuo hard disk o non stai utilizzando un initrd qualora volessi compilarlo come modulo.

MrModd
24-10-2008, 21:27
1. Lilo è a posto
2. Non uso un initrd
3. Infatti ora sto facendo vari tentativi, ma continua a non funzionare. Ho messo EXT3 (che è l'unico che uso) come buid-in. Ora provo a mettere tutto buid-in e vediamo.

Comunque come dovrei fare per usare initrd ed agirare il caricamento dei moduli?

sasa83
24-10-2008, 21:41
1. Lilo è a posto
2. Non uso un initrd
3. Infatti ora sto facendo vari tentativi, ma continua a non funzionare. Ho messo EXT3 (che è l'unico che uso) come buid-in. Ora provo a mettere tutto buid-in e vediamo.

Comunque come dovrei fare per usare initrd ed agirare il caricamento dei moduli?

la initrd è inutile, devi compilare staticamente il modulo per il tuo filesystem e per il tuo hd...per sapere quello giusto usa questa pagina: http://kmuto.jp/debian/hcl/index.cgi

MrModd
24-10-2008, 21:59
Utile quel sito, peccato che non ho trovato ciò che cercavo.
Sto provando a ricompilare il kernel. Ho fatto qualche modifica qui e lì. Dubito funzioni, ma tanto vale provare...

sasa83
24-10-2008, 22:05
Utile quel sito, peccato che non ho trovato ciò che cercavo.
Sto provando a ricompilare il kernel. Ho fatto qualche modifica qui e lì. Dubito funzioni, ma tanto vale provare...

cosa vuol dire non ho trovato quello che cercavo? non ti ha dato nessun modulo per il tuo controller?

leuzr0x
24-10-2008, 22:08
Controlla anche la correttezza del fstab

MrModd
24-10-2008, 22:09
ma io non cerco il driver del chipset, a me serve il modulo del filesystem.
Almeno penso...

sasa83
24-10-2008, 22:13
ma io non cerco il driver del chipset, a me serve il modulo del filesystem.
Almeno penso...

ti serve il "driver" per il filesystem e per l'hd (compilati staticamente, oppure come moduli ma in quel caso devi usare la ram disk), altrimenti va in kernel panic, è matematico.

edit:
ad esempio nel mio caso:
11060591 Yes VIA Technologies, Inc. VT8237A SATA 2-Port Controller sata_via v2.6.25

se non compilo sata_via staticamente va in kernel panic.

MrModd
24-10-2008, 22:25
uhm, già.
Ora è troppo tardi per ripetere tutta la compilazione.
Comunque gli unici driver che ho trovato nel kernel si riferiscono ai chipset Intel PIIX/ICH; non c'è quello specifico per il mio: Intel ICH6 Family 82801FB/FBM/FR/FW/FRW.

sasa83
24-10-2008, 22:26
uhm, già.
Ora è troppo tardi per ripetere tutta la compilazione.
Comunque gli unici driver che ho trovato nel kernel si riferiscono ai chipset Intel PIIX/ICH; non c'è quello specifico per il mio: Intel ICH6 Family 82801FB/FBM/FR/FW/FRW.

per curiosità mi fai vedere l'output di
lspci -n

ezln
24-10-2008, 23:04
uhm, già.
Ora è troppo tardi per ripetere tutta la compilazione.
Comunque gli unici driver che ho trovato nel kernel si riferiscono ai chipset Intel PIIX/ICH; non c'è quello specifico per il mio: Intel ICH6 Family 82801FB/FBM/FR/FW/FRW.

Ciao.

Ti servono statici piix e ata_piix. Perlomeno mi pare, leggendo che chipset monti.

EDIT: in ogni caso il link che ti ha postato sasa83 è in grado di dirti tutto: usalo.

MrModd
25-10-2008, 11:20
Ritornato da scuola e avviata la compilazione.
Ho fatto la ricerca dei moduli e ho visto che erano già builted-in. Però è possibile che li abbia abilitati dopo aver provato il kernel. Ieri sera mi dava un errore strano nella lettura del vmlinuz. Diceva che era troppo grande all'avvio. Ora ho eliminato la cartella e riscompattato da capo.
Se non risolvo ora posto lspci -n.

ArtX
25-10-2008, 12:08
anch'io con il mio vecchio laptop, penso un ich7 o simile, non combinavo mai a far bottare il kernel senza initrd, nonostante integrassi il modulo del controller e quelli dei fs. Mi sembra che avevo risolto integrando anche il modulo AHCI, però ora cavolo non ricordo bene e non hò il vecchio .config a disposizione.

MrModd
25-10-2008, 12:39
Ho risolto, il kernel è partito, ma non c'è audio. Comunque passo per passo e ore dopo ore di compilazione mi sistemerò tutto al meglio per renderlo il più veloce e snello possibile.

C'è solo un problema che non capisco con i driver nvidia. Quando li reinstallo mi dice che non riesce a trovare qualcosa, credo i file .o del kernel.
Perchè?

sasa83
25-10-2008, 12:43
Ho risolto, il kernel è partito, ma non c'è audio. Comunque passo per passo e ore dopo ore di compilazione mi sistemerò tutto al meglio per renderlo il più veloce e snello possibile.

C'è solo un problema che non capisco con i driver nvidia. Quando li reinstallo mi dice che non riesce a trovare qualcosa, credo i file .o del kernel.
Perchè?

x l'audio controlla i permessi di
/dev/dsp

per i driver nvidia, se sono già installati, le opzioni sono 2:
1. li disinstalli e poi li reinstalli
2. compili solamente il modulo del kernel senza reinstallare tutti i driver.

MrModd
25-10-2008, 13:22
x l'audio controlla i permessi di
/dev/dsp

per i driver nvidia, se sono già installati, le opzioni sono 2:
1. li disinstalli e poi li reinstalli
2. compili solamente il modulo del kernel senza reinstallare tutti i driver.

Per l'audio sto vedendo ora, non è incluso il modulo nel kernel

per i driver:
1. come?
2. come?

sasa83
25-10-2008, 13:29
Per l'audio sto vedendo ora, non è incluso il modulo nel kernel

per i driver:
1. come?
2. come?

per i driver audio dovevi fare riferimento sempre alla pagina della debian....li ti dice di che modulo hai bisogno. per i driver nvidia, se sono già installati, nel senso che li stavi già usando prima di ricompilare il kernel, se ora li vuoi reinstallare devi prima disinstallare i vecchi...understand? oppure puoi semplicemente compilare solamente il modulo per il kernel, senza reinstallare tutto...il comando dovrebbe essere:
sh NVIDIA-Linux-blalblabla.run -K

ovviamente il driver dev'essere lo stesso che è già installato.

MrModd
25-10-2008, 13:44
per i driver audio dovevi fare riferimento sempre alla pagina della debian....li ti dice di che modulo hai bisogno. per i driver nvidia, se sono già installati, nel senso che li stavi già usando prima di ricompilare il kernel, se ora li vuoi reinstallare devi prima disinstallare i vecchi...understand? oppure puoi semplicemente compilare solamente il modulo per il kernel, senza reinstallare tutto...il comando dovrebbe essere:
sh NVIDIA-Linux-blalblabla.run -K

ovviamente il driver dev'essere lo stesso che è già installato.

Si, i driver audio li ho trovati tramite quel sito.
Per i driver nvidia la pagina di aiuto non dice niente riguardo alla disinstallazione o installazione dei moduli.
con sh NVIDIA-blablabal.run -K mi va ad installare solo i moduli in "lib/modules/2.6.xx"?

sasa83
25-10-2008, 13:47
Si, i driver audio li ho trovati tramite quel sito.
Per i driver nvidia la pagina di aiuto non dice niente riguardo alla disinstallazione o installazione dei moduli.
con sh NVIDIA-blablabal.run -K mi va ad installare solo i moduli in "lib/modules/2.6.xx"?

con il -K compila solo il modulo e lo installa:
-K, --kernel-module-only
Install a kernel module only, and do not uninstall the
existing driver. This is intended to be used to install
kernel modules for additional kernels (in cases where you
might boot between several different kernels). To use this
option, you must already have a driver installed, and the
version of the installed driver must match the version of
this kernel module.

quindi devi avere già i driver installati...se non li hai il problema non si pone.

MrModd
25-10-2008, 13:56
con il -K compila solo il modulo e lo installa:


quindi devi avere già i driver installati...se non li hai il problema non si pone.

O.o dove hai trovato quel pezzo di guida?

sasa83
25-10-2008, 14:08
O.o dove hai trovato quel pezzo di guida?

opzioni avanzate dell'help...se digiti:
sh NVIDIA_Linux-blablabla.run -A

ti da tutte le opzioni disponibili, tra le quali le più utili:
per disinstallare tutto
--uninstall

per compilare solo il modulo
-K

per specificare dove si trovano gli header (caso più frequente di fallimento durante la compilazione)
--kernel-include-path=KERNEL-INCLUDE-PATH

MrModd
25-10-2008, 14:29
Uh non avevo notato il -A...
Comunque ora sembra che non mi abbia dato errori nella compilazione dei driver...

Ok. Ora sembra tutto a posto. Ho pure alleggerito il kernel di un bel po'...

Ora vi chiedo un po' di cose:
1. Perchè se faccio make oldconfig su un kernel senza .config ne crea uno automaticamente e se all'interno della cartella c'è già il .config mi chiede le nuove impostazioni? Nel primo caso dove le prende le impostazioni?
2. I driver Nvidia ad esempio sono installati come moduli. Come faccio per installarli built-in nel kernel?
3. Mi sapete indicare qualche patch utile?

sasa83
25-10-2008, 14:48
Uh non avevo notato il -A...
Comunque ora sembra che non mi abbia dato errori nella compilazione dei driver...

Ok. Ora sembra tutto a posto. Ho pure alleggerito il kernel di un bel po'...

Ora vi chiedo un po' di cose:
1. Perchè se faccio make oldconfig su un kernel senza .config ne crea uno automaticamente e se all'interno della cartella c'è già il .config mi chiede le nuove impostazioni? Nel primo caso dove le prende le impostazioni?
2. I driver Nvidia ad esempio sono installati come moduli. Come faccio per installarli built-in nel kernel?
3. Mi sapete indicare qualche patch utile?

1. make oldconfig ricrea il .config con impostazioni di default...se c'è già un .config dentro bisognerebbe prima dare make mrproper, questo però se vuoi partire dalle impostazioni di default ovviamente.
2. non è possibile...in alternativa ci sono gli nv, che però ad esempio con la mia scheda non funzionano, e cmq niente accelerazione 3d credo...almeno fino all'anno scorso, ora non so.
3. non saprei...cosa intendi?

MrModd
25-10-2008, 19:13
1. make oldconfig ricrea il .config con impostazioni di default...se c'è già un .config dentro bisognerebbe prima dare make mrproper, questo però se vuoi partire dalle impostazioni di default ovviamente.
2. non è possibile...in alternativa ci sono gli nv, che però ad esempio con la mia scheda non funzionano, e cmq niente accelerazione 3d credo...almeno fino all'anno scorso, ora non so.
3. non saprei...cosa intendi?

1. Allora è questa la differenza: se non c'è .config ne crea uno a default; se ce n'è uno di un kernel vecchio ti chiede le nuove opzioni e lascia invariato il resto.
2. No, niente 3d su nv. Comunque pensavo si potesse fare in qualche modo. In fondo le patch non fanno questo?
3. Patch per velocizzare il kernel. Io conoscevo Vipernicus e Con Kolivas che però sono sparite...

sasa83
25-10-2008, 19:50
1. Allora è questa la differenza: se non c'è .config ne crea uno a default; se ce n'è uno di un kernel vecchio ti chiede le nuove opzioni e lascia invariato il resto.
2. No, niente 3d su nv. Comunque pensavo si potesse fare in qualche modo. In fondo le patch non fanno questo?
3. Patch per velocizzare il kernel. Io conoscevo Vipernicus e Con Kolivas che però sono sparite...

non so niente di queste patch, per i driver nvidia non conosco un modo per integrarli...dopotutto sono proprietari, non credo nvidia rilasci apertamente il codice.

ezln
25-10-2008, 19:58
1. Allora è questa la differenza: se non c'è .config ne crea uno a default; se ce n'è uno di un kernel vecchio ti chiede le nuove opzioni e lascia invariato il resto.
2. No, niente 3d su nv. Comunque pensavo si potesse fare in qualche modo. In fondo le patch non fanno questo?
3. Patch per velocizzare il kernel. Io conoscevo Vipernicus e Con Kolivas che però sono sparite...

Ciao.

Non esiste una patch che possa darti il 3D con i driver open nv. E' in via di sviluppo un altro driver open, nouveau, che, in teoria, dovrebbe migliorare le cose, però, al momento, io l'ho provato solo su Fedora e di 3D non se ne parla: certo, allo stato odierno, è leggermente più avanzato del classico nv, però è un pò di tempo che non ne sento parlare; lo sviluppo procede a rilento.
Se nvidia rilasciasse le specifiche le cose cambierebbero in breve, ma, vista la situazione, l'unico modo per avere l'accelerazione grafica è usare i driver closed.
La Slackware, imho, è una distro ottima proprio perchè usa il kernel di linus senza patcharlo, il vanilla così "come esce dalla fabbrica"; nulla ti vieta di cercare qualche patch, però occhio a non rompere l'equilibrio che Volkerding ha conferito alla distro.
:)
Ciao.

EDIT: dài un occhio qui: http://www.kernel.org/ , magari trovi qualcosa che ti può interessare..

MrModd
25-10-2008, 20:00
non so niente di queste patch, per i driver nvidia non conosco un modo per integrarli...dopotutto sono proprietari, non credo nvidia rilasci apertamente il codice.

Già...

Altro problema che sto riscontrando ora è che se compilo, il 70% delle volte al riavvio non riesce a caricare il vmlinuz. Non arriva a dire Bios check verified (o simile). Cos'ha che non va?
Io compilo con make -j3.
Però non so se è solo una coincidenza, ma con make -j5 bzImage spesso funziona.

sasa83
25-10-2008, 20:05
Già...

Altro problema che sto riscontrando ora è che se compilo, il 70% delle volte al riavvio non riesce a caricare il vmlinuz. Non arriva a dire Bios check verified (o simile). Cos'ha che non va?
Io compilo con make -j3.
Però non so se è solo una coincidenza, ma con make -j5 bzImage spesso funziona.

:confused: :confused:
potresti dire esattamente dove si ferma? i messaggi che da intendo...
make -j3? hai un triple-core?
per quanto riguarda il make bzimage è, come si dice in gergo, "deprecated" :asd:
ti basta dare make e make install...anzi make install no, copia a mano la bzimage nella cartella boot...a me il make install non copia mai un cavolo.

MrModd
25-10-2008, 20:11
-j3 perchè 1 solo processo di CC non occupa il massimo della CPU, già con 3 processi arrivo al 90% di carico. Così velocizzo la compilazione: con un processo make impiega 30min, mentre con -j3 arriva a 16min.

Si blocca all'avvio:

vmlinuz.............................................................................

e non va avanti.

Make install che fa? Che cosa copia?

ezln
25-10-2008, 20:13
:confused: :confused:
potresti dire esattamente dove si ferma? i messaggi che da intendo...
make -j3? hai un triple-core?
per quanto riguarda il make bzimage è, come si dice in gergo, "deprecated" :asd:
ti basta dare make e make install...anzi make install no, copia a mano la bzimage nella cartella boot...a me il make install non copia mai un cavolo.

Ciao.

Una precisazione: -j3 è per un dualcore (-j(n+1) con n numero dei core); piuttosto è strana la storia del -j5: hai un quad-core?:confused:

ezln
25-10-2008, 20:17
-j3 perchè 1 solo processo di CC non occupa il massimo della CPU, già con 3 processi arrivo al 90% di carico. Così velocizzo la compilazione: con un processo make impiega 30min, mentre con -j3 arriva a 16min.

Si blocca all'avvio:

vmlinuz.............................................................................

e non va avanti.

Make install che fa? Che cosa copia?

Make install automatizza il processo: non occorre più che copi bzImage in /boot, fà tutto lui e, se usi grub dovresti avere il menu.lst aggiornato col kernel nuovo; se usi lilo è lo stesso, però penso tu debba dare /sbin/lilo per reinstallare il loader con i nuovi settaggi (può anche essere che lo faccia lui anche questo: leggi l'output in console dopo aver dato make install).:)

MrModd
25-10-2008, 20:41
Ciao.

Una precisazione: -j3 è per un dualcore (-j(n+1) con n numero dei core); piuttosto è strana la storia del -j5: hai un quad-core?:confused:
No, P4, però è HT...
Make install automatizza il processo: non occorre più che copi bzImage in /boot, fà tutto lui e, se usi grub dovresti avere il menu.lst aggiornato col kernel nuovo; se usi lilo è lo stesso, però penso tu debba dare /sbin/lilo per reinstallare il loader con i nuovi settaggi (può anche essere che lo faccia lui anche questo: leggi l'output in console dopo aver dato make install).:)

meglio il modo manuale...

UFFAAAAA
Non parte il vmlinuz!!!!!!
Che gli prende ora????

MrModd
25-10-2008, 20:52
MA VA LAAAAAA!
Ho risolto!
Non riconfiguravo lilo; pensavo che se sovrascrivevo l'immagine kernel non ci sarebbe stato bisogno di reinstallare lilo. Mi sbagliavo.
Ma cosa fa "lilo" (il comando) concretamente? Modifica qualche file? Crea qualche pacchetto compresso di tutte le immagini kernel?

ezln
25-10-2008, 21:34
MA VA LAAAAAA!
Ho risolto!
Non riconfiguravo lilo; pensavo che se sovrascrivevo l'immagine kernel non ci sarebbe stato bisogno di reinstallare lilo. Mi sbagliavo.
Ma cosa fa "lilo" (il comando) concretamente? Modifica qualche file? Crea qualche pacchetto compresso di tutte le immagini kernel?

Il comando #lilo, #lilo -v o #/sbin/lilo, non fà nulla di strano o particolare, semplicemente reinstalla il bootloader con le nuove impostazioni del file /etc/lilo.conf. Ossia, se per caso ti venisse in mente di modificare quel file, per rendere effettive le tue modifiche dovrai, appunto dare in console, da root, lilo -v o gli altri comandi citati (fan la stessa cosa: /sbin/lilo è l'eseguibile che può essere sostitutito dal semplice lilo; -v è la versione verbose).
Tutto ciò non è invece richiesto per grub: basterà modificare il file /boot/grub/menu.lst e al riavvio il loader andrà a leggere la nuova configurazione del file stesso.:)

MrModd
25-10-2008, 22:12
Il comando #lilo, #lilo -v o #/sbin/lilo, non fà nulla di strano o particolare, semplicemente reinstalla il bootloader con le nuove impostazioni del file /etc/lilo.conf. Ossia, se per caso ti venisse in mente di modificare quel file, per rendere effettive le tue modifiche dovrai, appunto dare in console, da root, lilo -v o gli altri comandi citati (fan la stessa cosa: /sbin/lilo è l'eseguibile che può essere sostitutito dal semplice lilo; -v è la versione verbose).
Tutto ciò non è invece richiesto per grub: basterà modificare il file /boot/grub/menu.lst e al riavvio il loader andrà a leggere la nuova configurazione del file stesso.:)

Si, lo sapevo questo, ma volevo sapere proprio quali file va a modificare il comando. Curiosità mia, nulla più :)

Io comunque preferisco di gran lunga Grub. Molto più articolato.

ArtX
27-10-2008, 12:16
MA VA LAAAAAA!
Ho risolto!
Non riconfiguravo lilo; pensavo che se sovrascrivevo l'immagine kernel non ci sarebbe stato bisogno di reinstallare lilo. Mi sbagliavo.
Ma cosa fa "lilo" (il comando) concretamente? Modifica qualche file? Crea qualche pacchetto compresso di tutte le immagini kernel?

che distribuzione usi per curiosità ? :)
Comunque a mio parere sprecarsi tanto per il kernel non ne vale la pena, e se ci tieni tanto non pensare che avere tutto built-in sia la cosa migliore.
I moduli permettono maggior flessibilità e se non caricati non appesantiscono il sistema, ma occupano solo quei pochi kb di spazio su disco.

Concludo che la compilazione del kernel è un ottima esperienza :)