11.07.2015 Views

Amministrare GNU/Linux - Cia

Amministrare GNU/Linux - Cia

Amministrare GNU/Linux - Cia

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

5.1. LA GESTIONE DI KERNEL E MODULI 181le informazioni per il versionamento nei simboli. 16 Pertanto quando se non si è abilitato ilversionamento è necessario eseguire questo comando soltanto la prima volta che si effettua unacompilazione, altrimenti deve essere eseguito ogni volta che si cambia la configurazione, in quantol’informazione sulla versione dei simboli dipende da questa.Il passo successivo è normalmente quello di compilare il kernel, sui normali PC questo si fa conil comando make bzImage, che crea l’omonima immagine compressa del kernel nella directoryarch/i386/boot/; su altre architetture si usa in genere make vmlinux che crea una immaginenon compressa nel file omonimo nella directory corrente. Un altro bersaglio possibile è makezImage, che crea una immagine compressa, valido anche in per altre architetture.Questo era il bersaglio originale per la creazione delle immagini del kernel, e può essere ancorausato fintanto che il kernel è di dimensione inferiore a 512kb. Se la dimensione è superiore occorreinvece usare make bzImage, non tanto, come qualcuno ancora ritiene, perché così l’immagineviene compressa di più, 17 quanto perché nel primo caso il kernel viene caricato nella cosiddettalow memory (cioè sotto i primi 640kiB) e viene utilizzato un meccanismo d’avvio diverso, mentrenel secondo caso viene caricato sopra 1MiB.Al giorno d’oggi l’unica ragione per usare zImage è quella della compatibilità con alcunevecchie versioni di LILO ed alcuni vecchi BIOS che non supportano la procedura di avvio dibzImage, che non risente del limite di 512k nella dimensione, ed è anche più veloce. Questoovviamente vale solo per l’architettura PC, se si usano altre architetture ci possono essere altribersagli o può non essere necessario l’uso di un kernel compresso (è il caso dell’architettura PPCdei Mac).TargetconfigoldconfigmenuconfigxconfigdepdependzImagebzImagevmlinuxmodulesmodules_installcleanSignificatointerfaccia di configurazione a linea di comando.interfaccia di configurazione a linea di comando, cheriutilizza i valori precedentemente immessi.interfaccia di configurazione a grafica testuale, basatasulle librerie ncurses.interfaccia di configurazione grafica.crea le dipendenze per la compilazione e le informazioniper il versionamento dei moduli.identico a dep.crea una immagine compressa del kernel (valida su tuttele architetture).crea una immagine compressa del kernel (su architetturaPC) con una diversa procedura di avvio.crea una immagine non compressa del kernel.compila i moduli.installa i moduli nella relativa directory.cancella tutti i file oggetto (i .o) presenti prodotti da unapredente compilazione.mrproper oltre a quanto esegue clean, cancella anche leinformazioni sulle dipendenze.distclean oltre a quanto esegue mrproper e cancella ulteriorifile prodotti cercando di riportare l’albero dei sorgentiidentico allo stato immediatamente dopo lascompattazione.Tabella 5.1: Principali target del comando make per la compilazione del kernel fino alla versione 2.4.x.Una volta compilata l’immagine del kernel il passo successivo è, se li si sono abilitati, passare16 si chiamano così i nomi delle funzioni che vengono dichiarate all’interno di un modulo, ma possono essereusati da altri; per far questo si dice che il simbolo deve essere esportato, il versionamento funziona aggiungendoal nome di ciascun simbolo un hash unico che impedisce di chiamare da un kernel diverso le suddette funzioni.17 la compressione è identica nei due casi e viene sempre effettuata con gzip, nonostante il nome bzImage possatrarre in inganno, bzip2 non viene mai usato.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!