3 581
contributi
Riga 168: | Riga 168: | ||
==='''Compilare solo una parte del kernel'''=== | ==='''Compilare solo una parte del kernel'''=== | ||
Quando ci si dedica allo sviluppo del kernel, a volte si desidera compilare solo una specifica sottocartella, o un singolo file dell'intero albero del kernel. Il sistema di compilazione lo consente agevolmente. Per compilare selettivamente una sottocartella, specificatela nel comando di compilazione. Per esempio, per compilare i file nella cartella '''drivers/usb/serial''', inserite: <pre>$ make drivers/usb/serial</pre> | Quando ci si dedica allo sviluppo del kernel, a volte si desidera compilare solo una specifica sottocartella, o un singolo file dell'intero albero del kernel. Il sistema di compilazione lo consente agevolmente. Per compilare selettivamente una sottocartella, specificatela nel comando di compilazione. Per esempio, per compilare i file nella cartella '''drivers/usb/serial''', inserite: | ||
Usando questa sintassi, comunque, non si compilerà l'immagine finale del modulo in quella cartella. Per fare questo, potete usare l'opzione <code>M=</code>argomento:<pre>$ make M=drivers/usb/serial</pre>che compilerà tutti i file necessari in quella cartella e collegherà le immagini finali dei moduli. | <pre>$ make drivers/usb/serial</pre> | ||
Usando questa sintassi, comunque, non si compilerà l'immagine finale del modulo in quella cartella. Per fare questo, potete usare l'opzione <code>M=</code>argomento: | |||
<pre>$ make M=drivers/usb/serial</pre> | |||
che compilerà tutti i file necessari in quella cartella e collegherà le immagini finali dei moduli. | |||
Quando si compila una singola cartella in uno dei modi mostrati, l'immagine finale del kernel non viene ricollegata. Comunque ogni cambiamento che era stato effettuato alle sottocartelle non influenzerà l'immagine finale del kernel, che probabilmente non è quello che desiderate. Eseguite alla fine un:<pre>$ make</pre> perché il sistema di compilazione controlli tutti i file oggetto cambiati e colleghi in modo proprio l'immagine finale del kernel. | Quando si compila una singola cartella in uno dei modi mostrati, l'immagine finale del kernel non viene ricollegata. Comunque ogni cambiamento che era stato effettuato alle sottocartelle non influenzerà l'immagine finale del kernel, che probabilmente non è quello che desiderate. Eseguite alla fine un: | ||
<pre>$ make</pre> | |||
perché il sistema di compilazione controlli tutti i file oggetto cambiati e colleghi in modo proprio l'immagine finale del kernel. | |||
Per compilare un solo specifico file nell'albero del kernel, semplicemente passatelo come parametro a ''make''. Per esempio, se desiderate compilare il modulo ''drivers/usb/serial/visor.ko'', inserite:<pre>$ make drivers/usb/serial/visor.ko</pre> | Per compilare un solo specifico file nell'albero del kernel, semplicemente passatelo come parametro a ''make''. Per esempio, se desiderate compilare il modulo ''drivers/usb/serial/visor.ko'', inserite: | ||
<pre>$ make drivers/usb/serial/visor.ko</pre> | |||
Il sistema di compilazione compilerà tutti i file necessari per il modulo visor.ko, e farà il collegamento finale per creare il modulo. | Il sistema di compilazione compilerà tutti i file necessari per il modulo visor.ko, e farà il collegamento finale per creare il modulo. | ||
contributi