On Sun, 12 May 2002, tom wrote:
> Ho intenzione di provare a fare la mia prima compilazione.Legendo il manuale 
> di riferimento ho avuto un idea delcome questo avvenga....ma non mi � stato 
> di grande aiuto....quindi ho deciso di passare alla pratica!
> Ho intenzione di compilare qualcosa giusto per sport,
> si ok....ma che compilo?

Be', diciamo che la terapia d'urto in linux forse e' la migliore se si
vuole imparare seriamente :P E' anche vero pero' che il kernel, in
quanto a compilazione, non segue lo standard della sequenza da impartire
per ottenere il risultato; quindi probabilmente ti conviene iniziare con
un pacchetto qualsiasi di sorgenti in formato .tar.gz o .tar.bz2.

Normalmente il programmatore, per facilitare la compilazione, predispone
dei file c.d. "Makefile" che sono utilizzati per automatizzare in tutto
o in parte il processo di creazione ed eventuale installazione del
binario finale.
In tal caso dovrai _sempre_ leggere il file INSTALL o, in mancanza,
README, per verificare quali comandi impartire, comandi che, in linea di
massima, si ridurranno a questi tre:
1) ./configure [per creare un Makefile personalizzato in funzione di
caratteristiche particolari del sistema, perlopiu' quando il Makefile
non esiste]
2) make [per compilare i sorgenti fino ad ottenere i binari]
3) make install [per installare i binari ottenuti]

Ribadisco che non necessariamente i comandi sono questi, potrebbe
bastare un semplice "make", leggi le istruzioni allegate. Nel caso in
cui, invece, i Makefile o gli strumenti per crearli non siano stati
previsti dal simpatico programmatore, dovrai darti una lettura del 'man
gcc' dato che la compilazione sara' da fare a manina.

Per la compilazione del kernel la cosa e' abbastanza complicata, nel 
senso che dovrai:
1) configurare le voci delle opzioni del kernel, attivandole come
built-in, disattivandole o attivandole come modulo (ove possibile):
make config | menuconfig | xconfig (scegline uno dei tre: il primo e'
di solo testo, abbastanza ostico; il secondo e' a menu testuale; il
terzo e' a menu grafico e piuttosto immediato);
2) sistemare le dipendenze conseguenti alle voci attivate: make dep
3) fare un po' di pulizia di alcuni file: make clean
4) creare il kernel monolitico: make bzImage
5) creare i moduli: make modules
6) installare i moduli nella directory
/lib/modules/_versione-del-kernel_: make modules_install
7) copiare il kernel [arch/i386/boot/bzImage] e la mappa dei simboli 
(System.map) nella directory /boot  
8) fare in modo che il bootloader richiami il kernel giusto, modificando
opportunamente il menu [se usi lilo, bisogna poi dare anche un 'lilo']
9) fare attenzione a non sovrascrivere o eliminare voci e/o kernel
precedenti, perche' altrimenti in caso di problemi non potrai piu'
riavviare il sistema in modo normale.
Credo che piu' o meno sia tutto.
Byez, Lk

-- 
LU #210970 LM #98222 - MDK8.2 elaborata / 2.4.18-6mdk
Ricorda: i motori di ricerca ti vogliono bene, non abbandonarli!!
Netiquette al contrario (volutamente ironica): 
http://www.geocities.com/Athens/Parthenon/9704/galareteo.html


Rispondere a