Linux-2.4.26

Il pacchetto Linux contenente i file del kernel e gli header.

Tempo approssimativo di costruzione:  Tutte le opzioni di default: 4.20 SBU
Spazio necessario sul disco:     Tutte le opzioni di default: 181 MB

L'installazione di Linux dipende da: Bash, Binutils, Coreutils, Findutils, GCC, Glibc, Grep, Gzip, Make, Modutils, Perl, Sed.

Installazione del kernel

La costruzione del kernel comporta pochi passi: configurazione, compilazione, e installazione. Se non vi piace il modo in cui questo libro configura il kernel, vedete il file README nell'albero dei sorgenti del kernel per metodi alternativi.

Preparate la compilazione eseguendo il seguente comando:

make mrproper

Questo assicura che l'albero del kernel sia assolutamente pulito. Il team del kernel raccomanda di dare questo comando prima di ogni compilazione del kernel. Non dovete supporre che l'albero sorgenti sia pulito dopo la scompattazione.

Configurate il kernel attraverso una interfaccia guidata a menu:

make menuconfig

make oldconfig può essere più appropriato in certe situazioni. Vedete il file README per ulteriori informazioni.

Se lo desiderate, potete saltare la configurazione del kernel semplicemente copiando il file config, .config, dal vostro sistema host (supposto che sia disponibile) nella directory scompattata linux-2.4.26. Tuttavia non raccomandiamo questa opzione. È meglio che voi esploriate tutti i menu di configurazione e creiate la vostra configurazione del kernel da zero.

Per il supporto alla memoria condivisa POSIX, assicuratevi che l'opzione di configurazione del kernel “Virtual memory file system support” sia abilitata. Si trova nel menu “File systems” ed normalmente abilitata per default.

Verificate le dipendenze e create i file informazione dipendenze:

make CC=/opt/gcc-2.95.3/bin/gcc dep

Compilate l'immagine del kernel:

make CC=/opt/gcc-2.95.3/bin/gcc bzImage

Compilate i driver che sono stati configurati come moduli:

make CC=/opt/gcc-2.95.3/bin/gcc modules

Se intendete usare i moduli del kernel, avrete bisogno di un file /etc/modules.conf. Informazioni riguardanti i moduli e la configurazione del kernel in generale si possono trovare nella documentazione del kernel, che si trova nella directory linux-2.4.26/Documentation. La pagina man modules.conf e il kernel HOWTO su http://www.tldp.org/HOWTO/Kernel-HOWTO.html possono essere anche di interesse per voi.

Installate i moduli:

make CC=/opt/gcc-2.95.3/bin/gcc modules_install

Se avete molti moduli e pochissimo spazio, potreste considerare l'ipotesi di compattare e comprimere i moduli. Per molti non vale la pena di fare una tale compressione, ma se siete veramente a corto di spazio, date un'occhiata su http://www.linux-mips.org/archives/linux-mips/2002-04/msg00031.html.

Poiché nulla è completo senza documentazione, costruite le pagine manuale che sono nel kernel:

make mandocs

E installate queste pagine:

cp -a Documentation/man /usr/share/man/man9

La compilazione del kernel è terminata, ma sono necessari altri passi per completare l'installazione. Alcuni file devono essere copiati nella directory /boot.

Il percorso alla immagine del kernel può variare in funzione della piattaforma che utilizzate. Date il seguente comando per installare il kernel:

cp arch/i386/boot/bzImage /boot/lfskernel

System.map è un file di simboli per il kernel. Mappa gli ingressi funzione di ogni funzione nell'API (Application Programming Interface) del kernel, così come gli indirizzi delle strutture dati per il kernel in funzione. Date il seguente comando per installare il file map:

cp System.map /boot

.config è il file di configurazione del kernel che è stato prodotto dal passo precedente make menuconfig. Contiene tutte le selezioni di configurazione per il kernel che è stato appena compilato. È una buona idea conservare questo file come riferimento futuro:

cp .config /boot/config-lfskernel

È importante notare che i file nella directory sorgente del kernel non sono di proprietà di root. Anche se scompattate un pacchetto come utente root (come avevamo fatto qui dentro chroot), i file finiscono per avere ID gruppo e utente che avevano sul computer di chi ha fatto il pacchetto. Questo di solito non è un problema per qualunque altro pacchetto installiate, poiché rimuoverete l'albero sorgente dopo l'installazione. Ma l'albero sorgente Linux è spesso mantenuto a lungo così c'è la possibilità che qualunque ID utente abbia usato il programmatore finisca per essere assegnato a qualcuno sulla vostra macchina e quindi che questa persona finisca per avere accesso in scrittura al sorgente del kernel.

Se intendete mantenere il sorgente del kernel, dovreste eseguire chown -R 0:0 nella directory linux-2.4.26 per assicurare che tutti i file appartengano all'utente root.

Contenuti di Linux

File installati: il kernel, gli header del kernel e la System.map

Brevi descrizioni

Il kernel è il motore del vostro sistema GNU/Linux. Quando entrate nel vostro sistema, il kernel è la prima parte del vostro sistema operativo che viene caricata. Individua e inizializza tutti i componenti dell'hardware del vostro computer, quindi rende disponibili al software questi componenti come alberi di file e trasforma una singola CPU in una macchina multi-tasking in grado di eseguire insiemi di programmi praticamente nello stesso tempo.

Gli header del kernel definiscono l'interfaccia ai servizi che il kernel fornisce. Gli header nella vostra directory di sistema include devono sempre essere quelli verso cui Glibc è stata compilata e devono inoltre non essere sostituiti quando aggiornate il kernel.

Il file System.map è una lista di indirizzi e simboli. Mappa i punti di accesso e gli indirizzi di tutte le funzioni e le strutture dati del kernel.