# [RISOLTO] kenel panic

## ciropom

Ho provato recentemente per un altro problema a aggiornare il kernel.... ho seguito una guida trovata su internet, 

questa http://www.gentoo.org/doc/it/kernel-upgrade.xml

ma al riavvio col nuovo kernel da` il seguente messaggio di errore:

```

kernel panic - not syncing: VFS: unable to mount root fs on unknown block (0,0)
```

Il filesystem della partizione di root (/dev/sda3) e` reiserFS...

VFS non so cosa sia... e la root e` (hd0,0)

qualcuno ha qualche consiglio da darmi?

grazie mille in anticipo

----------

## Apetrini

VFS ... Virtual File System, Ã¨ un layer astratto che sta sopra il vero filesystem. 

Se vuoi capire un attimo http://en.wikipedia.org/wiki/Virtual_file_system.

L'errore riportato da te Ã¨ uno di quelli abbastanza comuni, se cerchi nel forum dovresti trovare altri post che trattano l'argomento.

In soldoni vuol dire:" Non sono riuscito a montare la partizione di root".

L'errore piu classico che si fa per arrivare a questa situazione Ã¨ quello di non includere il supporto nel kernel per il filesystem di root; Nel tuo caso Reiserfs. 

Ancora piu frequente Ã¨ il caso in cui sia abilitato il supporto ma come modulo; quindi... siccome il kernel ha bisogno di accedere al filesystem per caricare i moduli non puo evidentemente montare la partizione di root se il supporto per questa Ã¨ in un modulo.

Altri caso in cui si puo verificare questo errore Ã¨ quando mancano i driver(o sono compilati come modulo) per il disco. Per esempio quando mancano i driver SATA o qualche modulo scsi che serve.

----------

## ciropom

 *Apetrini wrote:*   

> 
> 
> L'errore piu classico che si fa per arrivare a questa situazione Ã¨ quello di non includere il supporto nel kernel per il filesystem di root; Nel tuo caso Reiserfs. 
> 
> 

 

il supporto c'e`.. 

 *Apetrini wrote:*   

> 
> 
> Ancora piu frequente Ã¨ il caso in cui sia abilitato il supporto ma come modulo; quindi... siccome il kernel ha bisogno di accedere al filesystem per caricare i moduli non puo evidentemente montare la partizione di root se il supporto per questa Ã¨ in un modulo.
> 
> 

 

come faccio a sapere se e` abilitato come modulo?

 *Apetrini wrote:*   

> 
> 
> Altri caso in cui si puo verificare questo errore Ã¨ quando mancano i driver(o sono compilati come modulo) per il disco. Per esempio quando mancano i driver SATA o qualche modulo scsi che serve.

 

come faccio a verificarlo?

grazie mille per la risposta...

----------

## djinnZ

quel messaggio appare anche quando il parametro root=/... è sbagliato o quando il parametro newroot (mi sono appena svegliato e ci sono 45°, verifica) non corrisponde.

Con SHIFT+PgUp vedi se il kernel ha riconosciuto i dischi per cominciare.

----------

## Dottout

 *Quote:*   

> come faccio a sapere se e` abilitato come modulo? 

 

boota il sistema con una live, monta la root ad es in /mnt/gentoo e fai 

```
grep -i reiserfs /mnt/gentoo/usr/src/linux/.config 
```

l'output corretto dovrebbe essere:

```
CONFIG_REISERFS_FS=y
```

in caso contrario fai il chroot (chroot /mnt/gentoo), vai nella dir del kernel e lo ricompili normalmente sistemando il supporto per reiserfs (gli steps sono i soliti, anche per il bootloader)

----------

## skypjack

Però prima di compilare un kernel IMHO uno dovrebbe informarsi un po'. Non dico conoscere l'ABC dei sistemi operativi ed essersi studiato e approfondito tutto l'hardware della propria macchina, ma quantomeno sapere la differenza fra modulo e built-in ...  :Wink: 

A buon intenditor ...

----------

## Dottout

si son d'accordo..anche se quando ho messo linux (ahimè ormai quasi 10anni fa, mi sento vecchio) nemmeno io sapevo la differenza, strada facendo si impara - possibilmente senza annoiare inutilmente chi ha avuto la briga di leggersi la doc

----------

## ciropom

 *skypjack wrote:*   

> Però prima di compilare un kernel IMHO uno dovrebbe informarsi un po'. Non dico conoscere l'ABC dei sistemi operativi ed essersi studiato e approfondito tutto l'hardware della propria macchina, ma quantomeno sapere la differenza fra modulo e built-in ... 
> 
> A buon intenditor ...

 

la so la differenza...   :Confused: 

il supporto per reiserfs c'e`....

root=/dev/sda3

ed e` giusto perche` e` uguale al vecchio kernel che funziona tutt'ora

newroot non c'e` proprio come parametro in grub.conf

----------

## fedeliallalinea

Hai compilato con genkernel o a manina? Postaci il contenuto di /boot e postaci il tuo grub.conf.

----------

## ciropom

Ho compilato a mano...

ecco cosa contiene /boot (/dev/sda1)

```

dhcppc1 boot # ls

boot  grub  kernel-2.6.20-gentoo-r8  kernel-2.6.22-gentoo-r5

```

una cosa strana... la cartella boot sembra essere un link a se stessa... ogni volta che ci entro contiene sempre i file soprastanti

file grub.conf

```

#

# Sample boot menu configuration file

#

# Boot automatically after 30 secs.

timeout 1

# By default, boot the first entry.

default 0

# Fallback to the second entry.

fallback 1

# Splash image to show behind grub.

splashimage=(hd0,0)/boot/grub/splash.xpm.gz

# For booting Gentoo

title  Gentoo Linux 2.6.20

root   (hd0,0)

kernel /boot/kernel-2.6.20-gentoo-r8 root=/dev/sda3

#module /boot/serverboot.gz

#for booting Gentoo *nuovo kernel*

title Gentoo Linux 2.6.22

root (hd0,0)

kernel /boot/kernel-2.6.22-gentoo-r5 root=/dev/sda3

```

----------

## Scen

Se il 2.6.20 ti funziona e il 2.6.22 no, vuol dire che nella configurazione di quest'ultimo manca qualcosa o c'è qualche errore.

Posta un

```

diff -u /usr/src/linux-2.6.20-gentoo-r8/.config /usr/src/linux-2.6.22-gentoo-r5/.config

```

Domanda: che passaggi hai effettuato per aggiornare dal 2.6.20 al 2.6.22 ? Riconfigurazione da zero o riutilizzo della configurazione vecchia?

----------

## ciropom

Ho compilato a mano e ho rifatto la configurazione... perche` non sapevo come copiarla. Deduco che bastava copiare il file .config ....

cmq il risultato del diff e` troppo lungo per essere postato... lo uppo con sendspace, e chi ha voglia di guardarlo mi fa` un piacere...

Il link e` questo http://www.sendspace.com/file/6stuqj

----------

## falko

Per riutilizzare la configurazione di un veggio kernel è sufficiente copiare il file .conf nella directory principale e dare un

```

# make oldconfig

```

----------

## ciropom

me ne ero accorto grazie   :Very Happy: 

----------

## ciropom

ok grazie... ho risolto   :Very Happy: 

utilizzando il vecchio file di configurazione

----------

