PDA

View Full Version : errori compilazione kernel


sdfjhgdsjfljwqww
16-10-2003, 07:27
ciao a tutti.
Ho una redhat 8.0 kernel 2.4.18-14
ieri sera volevo provare ad installare il kernel 2.4.22 per avere pieno supporto al chipset nforce2. Ho scaricato i sorgenti, li ho installati in /usr/src e ho copiato il file /boot/config-2.4.18-14 come .config nella directory dei sorgenti del 2.4.22 per partire da una configurazione che so essere funzionante

ho lanciato make xconfig e impostato come attivo il modulo NVIDIA (che sull'help mi dice essere appunto il supporto ai chipset nforce/nforce2), ho tolto il modulo amd 76x power managment (perchè ho letto che può dare problemi al modulo agpgart) e ho attivato l'agpgart (devo installare i catalyst)

ho salvato, sono uscito e ho iniziato la procedura
make clean (ok)
make dep (ok)
make bzImage - qua ho avuto degli errori (scusate se non posso postare i logs ma sono al lavoro)

ho comunque provato ad andare avanti facendo make modules, make modules_install, make install e modificando il file /boot/grub/grub.conf

il problema è che al caricamento del kernel, dopo il riconoscimento delle varie periferiche IDE si blocca tutto nel momento in qui deve caricare INIT

mi dice INIT mancante e mi da kernel panic

da cosa può dipendere secondo voi questo errore? ho sbagliato a fare qualcosa oppure di default il kernel 2.4.18-14 non carica dei moduli necessari al 2.4.22?

altra cosa, per disinstallare un kernel aggiugnto al sistema basta eliminare i files che lo richiamano da /boot, /lib/modules? il vero kernel dove viene posizionato?

scusate se lo chiedo a voi ma è 1 settimana che cerco di installare i driver ati e dopo sminchiamenti/reinstallazioni varie mi sono deciso a mettere su una redhat 8.0 (che da quello che ho capito utilizza kernel vanilla e non kernel modificati da chi fà la distro, correggetemi se dico castronerie).

Grazie in anticipo a chiunque mi saprà dare una mano.

ilsensine
16-10-2003, 08:17
Innanzitutto mi sembra molto strano che hai potuto installare quel kernel se make bzImage fallisce :D (bzImage _è_ il kernel).
Poi, make install e modificare le impostazioni del bootloader a mano è contraddittorio. Molto meglio copiare bzImage a mano e configurare il bootloader a mano.
Infine, la rh utilizza un modo tutto suo per identificare il root fs (tramite LABEL) che non è presente nei kernel ufficiali (occorre usare il formalismo standard root=/dev/hdax).
Questo per darti un quadro della situazione.

Ora dovresti rivedere gli errori riportati da make bzImage. Non andare avanti se non riesci a creare bzImage.

sdfjhgdsjfljwqww
16-10-2003, 09:02
quindi il problema potrebbe essere nel fatto che grub mi "carica" il "profilo" 2.4.22, carica l'inizio del processo (il file initldr 2.4.22 .img ??) ma quando va a caricare il kernel vero e proprio si ferma tutto perchè esso non esiste realmente (make install non crea il file-kernel reale)

possibile che sia così??

cmq la cosa che non capisco, io ho preso la configurazione funzionante del 2.4.18-14 e l'ho caricata in xconfig quindi teoricamente anche il kernel 2.4.22 dovrebbe caricare gli stessi moduli del 2.4.18-14 (quindi dovrebbe funzionare)

comunque stasera vi posto i logs così troviamo l'errore

a proposito, dove stanno i logs dei vari passaggi di compilazione?

sdfjhgdsjfljwqww
16-10-2003, 09:05
Originariamente inviato da ilsensine
Innanzitutto mi sembra molto strano che hai potuto installare quel kernel se make bzImage fallisce :D (bzImage _è_ il kernel).
Poi, make install e modificare le impostazioni del bootloader a mano è contraddittorio. Molto meglio copiare bzImage a mano e configurare il bootloader a mano.
Infine, la rh utilizza un modo tutto suo per identificare il root fs (tramite LABEL) che non è presente nei kernel ufficiali (occorre usare il formalismo standard root=/dev/hdax).
Questo per darti un quadro della situazione.

Ora dovresti rivedere gli errori riportati da make bzImage. Non andare avanti se non riesci a creare bzImage.

comunque mi puoi consigliare una buona guida che mi spieghi effettivamente dove vengono messi i file del kernel e qual'è il processo di caricamento (cosa viene caricato e in che sequenza)?

ti ringrazio

a stasera per i logs

ilsensine
16-10-2003, 09:21
Non c'è bisogno di una guida. make modules_install mette i moduli dentro la directory /lib/modules/<versione kernel>/
Gli altri file di interesse sono System.map (presente nella directory dei sorgenti al termine della compilazione) e arch/i386/boot/bzImage (il kernel vero e proprio). Questi file devi metterli in /boot, e ti consiglio rinominarli in:
vmlinuz-<verione kernel>
System.map-<versione kernel>

Nel tuo caso quindi
vmlinuz-2.4.22
System.map-2.4.22

Infine istruisci il bootloader per caricare vmlinuz-2.4.22 (il system.map con il nome che ti ho indicato verrà caricato automaticamente; è un file opzionale cmq).

sdfjhgdsjfljwqww
16-10-2003, 18:38
grazie ;)

AnonimoVeneziano
16-10-2003, 19:14
Comunque , non è che la redhat supporta DEVFS e tu non hai compilato il supporto nel kernel?

Ciao

ilsensine
16-10-2003, 20:01
Tutte le distribuzioni che usano il devfs possono partire anche senza. Per me è la solita faccenda di LABEL=/...

AnonimoVeneziano
16-10-2003, 20:15
Originariamente inviato da ilsensine
Tutte le distribuzioni che usano il devfs possono partire anche senza. Per me è la solita faccenda di LABEL=/...


Io ne ho già trovata qualcuna che usando DEVFS non ha in /dev Device Files .

Ciao

PS= per redhat non so...

ilsensine
16-10-2003, 20:19
Originariamente inviato da AnonimoVeneziano
Io ne ho già trovata qualcuna che usando DEVFS non ha in /dev Device Files .

A parte i miei microsistemi per sistemi embedded (devfs-only rulezzz :cool: ) che distribuzioni hai trovato?