|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Oct 2001
Città: Firenze
Messaggi: 585
|
Domande sul file System.map e i moduli
Premetto subito che ho letto il thread in rilievo di ilsensine a proposito della compilazione del kernel. Una cosa pero' non ho mai avuto chiara e cioe' a cosa serva il file System.map. Su alcune guide a proposito della compilazione del kernel e' scritto che viene generato ad ogni compilazione e quindi va sostituito a quello vecchio,mentre in altre non se ne fa menzione. Inoltre quando si fa make modules_install ma la versione del kernel e' la stessa, i moduli con lo stesso nome vengono sovrascritti? E se nel .config nuovo ho meno moduli che in quello precedente i moduli vecchi rimangono o vengono cancellati?
Grazie, ciao. |
![]() |
![]() |
![]() |
#2 | |||
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
Quote:
Quote:
Per fare un pò di chiarezza, devi innanzitutto capire come viene stabilito il nome (versione) del kernel. Questo è composto dalle prime righe del Makefile principale; ad es. sul mio computer ho VERSION = 2 PATCHLEVEL = 4 SUBLEVEL = 19 EXTRAVERSION = -16mdkcustom infatti il mio kernel è della versione 2.4.19-16mdkcustom. Quando fai make modules_install, i moduli vengono copiati nella cartella /lib/modules/<versione>; nel mio caso /lib/modules/2.4.19-16mdkcustom/. Se vuoi quindi far convivere pacificamente due compilazioni distinte dello stesso kernel, basta che gli cambi "nome", variando la riga EXTRAVERSION (liberamente modificabile) nel Makefile. Quote:
Purtroppo non esiste un modo per fare usare al kernel un System.map da te scelto, come avviene per l'initrd, ma anche qui ci viene in aiuto la possibilità di cambiare il "nome" del kernel. Basta infatti copiare in /boot l'immagine bzImage col nome vmlinuz-<versione> e il file System.map-<versione> e il kernel userà il System.map corretto. Ad es. sul mio sistema i nomi sono vmlinuz-2.4.19-16mdkcustom e System.map-2.4.19-16mdkcustom, senza alcun conflitto con gli altri kernel installati. Ricorda che se cambi "nome" a un kernel che hai già compilato, modificandone il Makefile, devi eseguire make mrproper altrimenti ne vedrai di tutti i colori. Nota che make mrproper cancella una eventuale configurazione personalizzata, che occorre quindi salvarla: vi Makefile (e cambi la riga EXTRAVERSION) make xconfig (e salvi in un file la configurazione da te scelta) make mrproper make xconfig (ricarichi da file la configurazione) make dep modules bzImage modules_install ecc.
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
|||
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 20:07.