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
Il giorno mar, 06/12/2005 alle 12.49 +0100, beppebz ha scritto:
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?"
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:
Il giorno mar, 06/12/2005 alle 12.49 +0100, beppebz ha scritto:
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?"