PDA

View Full Version : Problema compilazione kernel KERNEL PANIC!


caralu
09-08-2006, 17:45
Ho compilato il nuovo kernel 2.6.17.7 su una Slackware 10.2
Quando avvio il nuovo kernel mi da l'errore:

VFS: cannot open root device "302" or unknown-block (3,2)
Please append a correct "root=" boot option
Kernel Panic - not syncing: VFS : unable to mount root fs on unknown-block (3,2)

La partizione di root che monto è la stessa che utilizzo nel kernel 2.4 e funziona benissimo. Il mio file lilo.conf è il seguente (è tutto a posto):

root=/dev/hda2
image=/boot/vmlinuz
label=kernel2.4
read-only

root=/dev/hda2
image=/boot/vmlinuz-2.6.17.7
label=2.6.17.7
read-only

Ho letto diversi post per la rete su cui si verifica lo stesso problema, ma non ce n'è uno con una soluzione chiara e diretta: si indicano un sacco di metodi e di proposte ma mi sa che non funziona niente di tutto ciò! Io ho provato i vari consigli postati in diversi forum:
- Ho compilato il supporto per filesystem EXT2, EX3 (non come moduli ma abilitandoli all'interno del kernel);

- abilitato il supporto per devFS e il mount automatico da boot
File Systems --->
Psedo File Systems --->
[ * ] devfs support (OBSOLETE)
[ * ] Automatically mount at boot

- abilitato PC BIOS (MSDOS partition tables) support
File systems ---> Partition Types --->
PC BIOS (MSDOS partition tables) support

- Ho convertito in esadecimale il blocco di root che dava problemi (nel mio caso 3,2) che è divenuto 0302, quindi su lilo ho sostituito "root=/dev/hda2" con "root=0302" ma mi ha dato l'errore in un altro blocco.

- ho abilitato il supporto XFS Support.
Non utilizzo initrd in quanto ho abilitato i supporti per dischi ram e ho eseguito la procedura per compilare senza initrd.
Ancora non mi funziona..Qualcuno ha risolto lo stesso problema??

dumaron
09-08-2006, 18:30
ho lo stesso problema in debian e non sono mai riuscito a risolverlo (anche per svogliatezza).
potrebbe essere una questione di permessi, dacci un'occhio ;).
speriamo che qualcuno più saggio ci illumini :D

matcy
09-08-2006, 21:11
perdonami se dico una cazzata, sicuramente l'avrai già fatto, ma se non fosse così...

controlla che sia statico il supporto al controller dell'hard disk

vampirodolce1
10-08-2006, 08:49
Succedeva anche a me, io ho risolto il problema aggirandolo. Riporto il processo come spiegato sugli Appunti di informatica libera, versione 01.07.06:
49.1.3 Compilazione del kernel in una distribuzione GNU/Linux Debian
Teoricamente, la distribuzione GNU/Linux Debian consente di compilare il kernel e i moduli secondo il procedimento standard; tuttavia ciò non conviene, se non altro perché l’installazione dei moduli va a rimuovere un collegamento simbolico nella directory ‘/lib/modules/’ che punta a ‘/etc/modprobe.conf’.
La distribuzione GNU/Linux Debian mette a disposizione uno strumento per facilitare la compilazione del kernel, passando per la creazione di un pacchetto Debian vero e proprio, che poi può essere installato secondo la procedura comune della distribuzione stessa. Il pacchetto in questione è denominato ‘kernel-package’ e per questo scopo può essere usato direttamente senza bisogno di alcuna configurazione. È sufficiente procedere nel modo seguente:
1. cd directory_iniziale_dei_sorgenti
ci si sposta nella directory iniziale dei sorgenti del kernel;
2. make {config|menuconfig|xconfig|...}
si procede con la configurazione del kernel che si vuole ottenere;
3. make-kpkg clean
ci si prepara alla compilazione;
4. make-kpkg --revision=versione kernel_image
si esegue la compilazione generando l’archivio Debian corrispondente, nella directory precedente (la directory genitrice), completo di moduli se previsti.
Questo ultimo passaggio richiede però i privilegi dell’utente ‘root’ per arrivare alla creazione del pacchetto Debian.
L’esempio seguente si riferisce alla compilazione di un kernel 2.6.7 (compresi i moduli eventuali) collocato nella directory ‘~/linux-2.6.7/’.
Questa collocazione è volutamente differente da quella standard per la distribuzione GNU/Linux Debian, che invece dovrebbe essere ‘~/kernel-source-2.6.7/’, proprio per mostrare che ciò non influisce in questo contesto.
$ cd ~/linux-2.6.7 [ Invio ]
$ make-kpkg clean [ Invio ]
$ su root [ Invio ]
# make-kpkg --revision=custom.1.0 kernel_image [ Invio ]
Si può osservare che la versione è stata definita dalla stringa ‘custom.1.0’. Questo è ciò che viene suggerito nella documentazione originale. In particolare, il numero «1.0» va incrementato ogni volta che si predispone una versione successiva. Al termine si ottiene l’archivio ‘kernel-image-2.6.7_custom.1.0_i386.deb’, collocato nella directory precedente a quella dei sorgenti da cui è stato ottenuto; per installarlo basta
procedere come segue, usando naturalmente i privilegi dell’utente ‘root’:
# dpkg -i ../kernel-image-2.6.7_custom.1.0_i386.deb [ Invio ]
Ti posso garantire che funziona, quel Daniele Giacomini e' un grande.

khelidan1980
10-08-2006, 10:14
Perche abiliti devfs?Oramai è morto e defunto,toglilo,secondo hai un disco sata?

matcy
10-08-2006, 11:33
Succedeva anche a me, io ho risolto il problema aggirandolo. Riporto il processo come spiegato sugli Appunti di informatica libera, versione 01.07.06:
Ti posso garantire che funziona, quel Daniele Giacomini e' un grande.

ma questo è semplicemente il metodo debian, non risolve la cosa.

vampirodolce1
10-08-2006, 12:02
Ahhhh scusa, avevo letto male! Pensavo che anche tu avessi Debian invece hai Slackware!!!
My apologies...

matcy
10-08-2006, 12:22
Ahhhh scusa, avevo letto male! Pensavo che anche tu avessi Debian invece hai Slackware!!!
My apologies...
si ma anche se avesse avuto debian, non risolve la cosa è solo un metodo diverso di fare le cose. ma se ad esempio sbagli il .config lo sbagli comunque.

caralu
10-08-2006, 12:26
Grazie per la risposta...Si, ho la Slackware, non penso mi sia così utile la soluzione Debian!
Non ho un HD Sata, è un disco IDE in un portatile..