PDA

View Full Version : [DEBIAN] Ricompilazione Kernel! Non ne vengo fuori


drwho2107
10-09-2004, 04:22
Ciao a tutti.
Premessa : Linux lo conosco poco (ho lavorato qualcosa su RedHat dalla 5.2 alla 7.3 ma a livello superficiale). Arrivo da FreeBSD dove la ricompilazione del kernel e' diversa (nel bene/male)

Problema : ricompilazione kernel con successo, kernel panic in riavvio/oppure/la macchina si riavvia durante il boot.

Ho seguito passo passo sia le istruzioni qui (come da FAQ):
http://wingzero.altervista.org/Debian/Appunti-Debian.htm
sia quelle qui:
http://newbiedoc.sourceforge.net/system/kernel-pkg.html#GRUB-KERNEL-PKG

Ho installato DEBIAN NET-CD Installer (sarge).
Fatto update/upgrade.
Installato tutti i pacchetti necessari per la ricompilazione del kernel

Scarico il kernel :
apt-get install kernel-source-2.4.27
e via cosi.

A questo punto ho provato 3 strade a seguito di insuccessi iniziali

(Strada A)
Ricompilo il kernel da 0 come 'make menuconfig'
Quindi niente .config originale da /boot
Ho gia' ricompilato kernel sotto Redhat senza problemi.
Installo/rimuovo come al solito e controllo soprattutto i FS.
make-kpkg clean
make-kpkg --append-to-version=.040909 kernel_image
cd ..
dpkg -i kernel-image-2.4.....deb
riavvio e la macchina continua a riavviarsi subito dopo il caricamento del kernel (non riesco a vedere cosa la fa riavviare)

(Strada B)
Deinstallo con dpkg -P il kernel precendente
Controllo che tutto sia pulito
cancello la cartelle kernel sotto /usr/src e riscompatto nuovamente il kernel-source...tar.bz2 pulito pulito
Ricompilo il kernel con il file .config originale da /boot
make oldconfig
cambio solo il processora da 386 a Pentium II (il mio), e tolgo il support Bluetooth, Irda, ISDN e lo SCSI
procedura come sopra
riavvio e stessa situazione, la macchina continua a riavviarsi..

(Strada C)
Deinstallo con dpkg -P il kernel precendente
Controllo che tutto sia pulito
cancello la cartelle kernel sotto /usr/src e riscompatto nuovamente il kernel-source...tar.bz2 pulito pulito
Ricompilo il kernel con il file .config originale da /boot
make oldconfig
NON CAMBIO NULLA! nemmeno il processore. Lascio tutto come prima.
producedura come sopra
installo il nuovo kernel, lo selezione e il PC va in kernel panic.
Il messaggio non lo ricordo esattamente, ma si pianta praticamente sotto "initrd'

Ora mi domando, ammetto che STRADA1 e STRADA2 possano avere dei miei errori, ma se non ho toccato nulla sotto STRADA3....

Per favore ditemi dove sto sbagliando.

Preso dalla disperazione ho ricompilato un 2.4.27 sotto una RedHat 7.3 appena ora, senza il config originale... tutto OK!
Ma perche' diamine ! A me serve Debian su questa macchina!

Grazie
Paolo

maxithron
10-09-2004, 10:50
Solo una cosa non mi è ben chiara, cioè cosa significa prendo il .config da /boot ?!?

Io ti suggerisco di fare semplicemente così:

pulisci e riscompatta il kernel

vai in /lib/modules/2.4.27 e rinominale in /lib/modules/2.4.27.old

poi vai in /usr/src e creati il link simbolico alla dir dei sorgenti con:

ln -s linux-2.4.27(o come si chiama) linux

cd linux

make meuconfig

make-kpkg clean
make kernel_image

finita la compilazione fai solo cd ..

e dpkg -i la_tua_immagine_del_kernel-deb

Alla domanda del floppy rispondi No ( o si se ti serve)

Alla richiesta di modificare lilo dai Yes, rebooti e dovresti aver finito, senza fare nient'altro ne col .config ne con altro.

Così. se in questo caso ti funziona, allora poi potresti provare con calma a vedere dove precedentemente sbagliavi qualche passo.

Psycotic
10-09-2004, 12:38
oppure tradizionalmente
make menuconfig
make (forse x il 2.4 serve make dep)
make modules
make bzImage
make modules_install
make initrd
make install

drwho2107
10-09-2004, 15:04
Vi ringrazio.
Il problema stava nel fatto che il kernel 2.4.26-1-386 (quello installato dal cd-sarge-netinstaller) e' stato creato con itird come modulo.
Per cui, utilizzando lo stesso file .config (ecco cosa intendevo come prendo il .config da /boot...) il kernel andava il panic loop non trovando il ramdisk del initrd.
Io, in pratica, prendevo il file config...da /boot e lo copiavo rinominandolo nella cartella dei sorgenti del kernel da compilare...

In pratica alla normale procedura alla depian va modificato...

make-kpkg clean
make-kpkg --initrd kernel_image
dpkg -i kernel-image-2.4.26..... deb

Oppure ovviamente inserirlo non come modulo (m) nel menuconfig.

Ora funziona, solo che non ne vengo fuori con una stupida multiseriale PCI e relativi driver! Che palle : RH 7.3/8.0/9.0 funzionano alla grande, Slackware pure, Debian nisba!
Vabbe' il weekend e' lungo!