# Ricompilazione Kernel [RISOLTO]

## rdivincenzo

Ho messo su un sistema Gentoo configurando il kernel con Genkernel .... tutto è andato bene.

Successivamente ho installato Squid ed Iptables.

Iptables non funzionava perchè nel kernel non era compilato il modulo giusto. Dopo una ricerca ho aggiunto i vari moduli che servivano al funzionamento di Iptables e ho ricompilato.

Premettendo che ho copiato il file:

```
# cp arch/i386/boot/bzImage /boot/ImmagineKernel-2.6.18  
```

e ho configurato grub nel seguente modo:

```

default 0

timeout 30

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

title=gentoo

root (hd0,0)

kernel /ImmagineKernel-2.6.18 root=/dev/sda3

```

e che :

```
/boot = /dev/sda1

/ = /dev/sda3
```

All'avvio ddel sistema ricevo il seguente messaggio:

```
VFS: Cannot open root device "sda3" or unknown-block(0,0)

Please append a correct "root=" boot option

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

Cosa posoo fare?Last edited by rdivincenzo on Tue Feb 27, 2007 2:16 pm; edited 1 time in total

----------

## crisandbea

se come dici hai usato Genkernel per compilare il kernel, e spero quando hai copiato il file

```
# cp arch/i386/boot/bzImage /boot/ImmagineKernel-2.6.18 
```

avevi la partizione di boot montata, i parametri da dare a Grub sono:

```

title=Gentoo Linux 

root (hd0,0)

kernel /boot/ImmagineKernel-2.6.18 root=/dev/ram0 init=/linuxrc ramdisk=8192 real_root=/dev/sda3 udev

initrd /boot/ImmagineKernel-2.6.18

```

ciauz

----------

## rdivincenzo

Attenzione, non so se mi sono spigato bene. La prima volta ho usato Genkernel, ma quando ho ricompilato aggiungendo i moduli per Iptables ho ricompilato manualmente.

Non so se fa differenza.....

----------

## djinnZ

Se non trovi i moduli e ricompili dopo un make mrproper forse dipende da questo (per via dell'opzione LOCALVERSION) altrimenti no.

Forse avrai mancato la configurazione corretta del sata o hai pasticciato con il devmap.

Mai provato a configurare genkernel negando clean ed mrproper ed abilitando il menuconfig? Lo trovo abbastanza comodo.

----------

## crisandbea

 *rdivincenzo wrote:*   

> Attenzione, non so se mi sono spigato bene. La prima volta ho usato Genkernel, ma quando ho ricompilato aggiungendo i moduli per Iptables ho ricompilato manualmente.
> 
> Non so se fa differenza.....

 

infatti non ti eri spiegato bene, allora la soluzione di prima dimenticala vale se usi un kernel compilato con genkernel.

hai compilato nel kernel il supporto al tuo disco e ad tuo tipo di FileSystem ???

ciauz

----------

## rdivincenzo

 *djinnZ wrote:*   

> Se non trovi i moduli e ricompili dopo un make mrproper forse dipende da questo (per via dell'opzione LOCALVERSION) altrimenti no.
> 
> Forse avrai mancato la configurazione corretta del sata o hai pasticciato con il devmap.
> 
> Mai provato a configurare genkernel negando clean ed mrproper ed abilitando il menuconfig? Lo trovo abbastanza comodo.

 

No, non ho mai provato....

Sapresti indicarmi la strada? 

Calcola che io ho compilato la prima volta con genkernel e tutto è andato benissimo .... poi ho solo aggiunto i moduli per Iptables e mi ritrovo in questo casotto.

Mi aiutersti ad uscirne?

----------

## rdivincenzo

 *Quote:*   

> hai compilato nel kernel il supporto al tuo disco e ad tuo tipo di FileSystem ???

 

Allora ... aiutami a capire!!

Se io ho compilato all'inizio con genkernel e tutto funzionava vuol dire che i supporti di cui mi chiedi sono stati inclusi. Ma se io ricompilo per aggiungere dei moduli quelli precedentemente inseriti, vanno persi?

Se è così allora sicuramente i moduli per il filesystem e il tipo di disco non sono stati inseriti.

Cosa devo inserire se ho un disco SCSI e filesystem ext2?

----------

## IlGab

```
 Device Drivers  --->

     SCSI device support  --->

        <*> SCSI disk support

        ...

       <*> SCSI generic support

       SCSI low-level drivers  --->

             <*> driver della tua controller

```

```

File systems  --->

        <*> Second extended fs support

         ...

        <*> Ext3 journalling file system support (se hai anche ext3)

```

----------

## djinnZ

in /etc/genkernel.conf

MENUCONFIG=yes

CLEAN=no

MRPROPER=no

poi c'è una MOUNTBOOT per far montare in automatico /boot in rw prima di copiare il kernel (se la usi)

e c'è BOOTLOADER="grub" per invocarlo automaticamente (ma non so se e come funziona, odio grub quindi attenzione)

controlla perchè sto andando "a memoria" e sono particolarmente skizzato oggi.

lanci make mrproper in usr/src/linux

a questo lanci genkernel e ti ripristina l'ultima configurazione compilata (che dovrebbe essere l'ultima funzionante) e ti consente di modificarla (e limitati a variare solo iptables).

per quanto riguarda i moduli dipende: LOCALVERSION... (non mi ricordo l'esatta dicitura) varia non solo il nome dell'immagine ma anche il percorso per i moduli per questo la ho indicata.

Ti ripeto: hai configurato il device mapper tutto built-in? sulla tua versione (che non voglio più vedere neanche da lontano) mi dava problemi (tra le tante rogne ed i crash ma stiamo anche parlando di un rilascio di rsbac peggio che critico).

Se usi un hd sata devi configurare il controller sata (in scsi) built in

se usi un hd scsi devi con figurare l'apposita sezione abilitando il driver built-it.

per ripristinare i moduli ti consiglio di installare module-rebuild

per esempio se devo modificare il kernel io mi limito a

genkernel kernel ; module-rebuild -X ; lilo

----------

## rdivincenzo

OK, perfetto!!!

Mi mancava il driver per il mio controller SCSI in kernel space. Ho ricompilato con questo è funziona perfettamente.

Grazie tante a tutti!

----------

