Compilazione kernel

Ciao a tutti.
Adesso che ho Debian 3.1, mi sto esercitando a compilare il kernel
(2.4.27-2-686), come ho imparato a lezione.
Il mio kernel era 2.4.27-bep.
Prima, con "apt-get install", ho installato "libdb3-dev", "ncurses-dev",
ed "initrd-tools".
Poi make: menuconfig, dep, bzImage, modules e modules_install.
Quando poi lancio il comando:
"mkinitrd -o /boot/initrd.img-2.4.27-bep /lib/modules/2.4.27-bep"
mi da errore ed aggiunge qualcosa del tipo "Forse MODULES è settato su
nessuno?"

Il problema grosso, però, è quando cerco di editare grub. In /boot/grub/
il file "menu.1st" originale recita:
title Debian GNU/Linux, kernel 2.4.27-2-686
root (hd1,6)
kernel /boot/vmlinuz-2.4.27-2-686 root=/dev/hdf7 ro
initrd /boot/initrd.img-2.4.27-2-686
savedefault
root
e, con questa configurazione, tutto funziona.
Il mio "menu.1st" è così:
title Debian GNU/Linux, kernel 2.4.27-bep
root (hd1,6)
kernel /boot/vmlinuz-2.4.27-bep root=/dev/hdf7 ro
initrd /boot/initrd.img-2.4.27-2-686
savedefault
root
e, così settato, va in kernel panic dopo avermi detto di inserire un
valore valido per "root" e che non riesce a trovare root su /dev/hdf7.

Non è strano che il "menu.1st" originale funzioni, ed il mio no?
Se qualcuno ha tempo e voglia, accetto volentieri suggerimenti e dritte.
Ciao e grazie a tutti,
Bep

Forse il problema è qui, tu hai installato prima il pacchetto necessario
per creare un'immagine init ram disk e fin qui tutto OK anche se non
capisco il motivo della tua scelta, poi hai lanciato make menuconfig per
configurare i moduli del kernel che andrai a compilare. A questo punto
devi fermarti e scegliere alcuni moduli necessari per far si che tutto
vada a buon fine, se vuoi caricare il tuo kernel usando un'immagine di
initrd (non è necessario) devi settare il modulo del kernel
corrispondente altrimenti lui non potrà
leggere /boot/initrd.img-2.4.27-bep e di conseguenza il tuo sistema non
si avvierà mai, il modulo in questione è questo:
CONFIG_BLK_DEV_INITRD all'interno della sezione "Parallel IDE protocol
modules"

Ma se è la prima volta che compili il kernel ti consiglio di partire da
un file .config funzionante che lo trovi all'interno della
directory /boot con questo nome config-2.4.27-2-686, basta copiarlo
all'interno della directory dei sorgenti del kernel rinominandolo
in .config

Buona compilazione!!!

Anton

tra l'altro il tuo initr nel grub.lst si chiama
/boot/initrd.img-2.4.27-2-686 invece del nome che hai scelto tu:
/boot/initrd.img-2.4.27-bep

cioe` questa righa dovrebbe essere sbagliata:
initrd /boot/initrd.img-2.4.27-2-686
e dovrebbe essere cosí:
initrd /boot/initrd.img-2.4.27-bep

se no usa il vecchio initrd. certamente *potrebbe* funzionare anche
cosí, ma non usa il *tuo* initrd.

peter

Antonio Russo wrote: