[ubuntu-it] Compilazione kernel

Roberto Mazzoleni fpazzatura a email.it
Ven 2 Mar 2007 07:13:18 GMT


virus ha scritto:
> Ma quanto mi sento "turtu :O "...
>
> Se posso approfittare ancora un attimo, dove dice:
> Il flag di revisione è opzionale ed è solamente utile per visualizzare
> il nome del kernel:
> Qual'è il flag e dove lo devo inserire?
> E per ultimo:
> C'è la possibilità di scrivere tutto ciò che si vuole al posto di
> «-CUSTOM», ciò che inserisco al posto di -CUSTOM come va ad influire e a
> cosa serve?
>
> Cmq sia mi sento proprio turtu!!!!
>
> Ciao
>   
Oggi che sono ammalato ho un sacco di tempo e pazienza, quindi cerco di 
essere generalista.

Se poi mi viene lo sfizio aggiorno (o se non c'è aggiungo) un po' di 
informazioni nel wiki.

Visto che tutti i parametri che mi hai chiesto sono quelli che uso di 
solito faccio prima a farti un esempio di un comando tipico che uso per 
generare il pacchetto del kernel.

Ovviamente prima devi aver configurato il kernel con uno dei metodi che 
ho scritto nei precedenti messaggi (puoi usare anche i metodi "config" e 
"oldconfig", ma sono molto più "lunghi" e complicati).

make-kpkg --initrd --rootcmd fakeroot --append-to-version -roberto-k8 
--revision 2.6.20 kernel_image kernel_headers

Non è come lo uso io, ma l'ho modificato a scopo didattico ;-)

Il comando non credo di dovertelo spiegare. :-P È l'argomento del 
Thread. Comunque serve per compilare e generare in automatico il 
pacchetto debian di un kernel.

In dettaglio elenco le varie opzioni che ho inserito.

--initrd | serve a creare un pacchetto kernel che all'installazione si 
autogenera l'"init ram disk"

Serve a caricare i moduli dei tipi di partizione e dei moduli per la 
gestione dei multidisk.
Ho provato varie volte a compilare i vari tipi di partizione integrati 
nel kernel, ma senza ram disk non mi è mai andato un kernel su Ubuntu 
(estratto di esperienza personale, potrei aver sbagliato qualcosa nella 
configurazione).

--rootcmd fakeroot | dice allo script make-kpkg di usare il comando 
fakeroot (o anche sudo) per generare il pacchetto con dpkg (servono i 
privilegi di root, e fakeroot gli fa credere di averli).

--append-to-version -nomeversione | serve per decidere cosa scrivere 
dopo il nome del pacchetto.
Il pacchetto risultante (in edgy, in dapper era un po' differente) si 
chiamerà linux-image-[versionekernel][parametropassato] . Per fare un 
nome che "stia bene" penso sia meglio anteporre un trattino prima di 
specificare il nome.
Giusto per staccarlo dal nome di versione. Fra l'atro è il metodo usato 
per tutti i kernel di Ubuntu.

--revision numerorevisione | è il numero di versione che compare nel 
pacchetto. Può essere un numero progressivo o la versione del kernel 
(che quindi verrebbe ripetuta nel nome e nella versione).
Se omesso il valore standard è 10.00-custom (o qualcosa del genere, non 
mi ricordo di preciso).

Alla fine del comando bisogna far sapere COSA deve costruire. Se devi 
fare solo il kernel, senza dover aggiungere moduli esterni basta mettere 
"kernel_image". Se vuoi avere la possibilità di compilare moduli esterni 
la creazione del pacchetto degli header di sviluppo ti permette di 
utilizzare il sorgente anche per fare versioni diverse o configurazioni 
diverse dello stesso sorgente (se non fai un "make-kpkg clean" - se usi 
fakeroot non serve più sudo per pulire - puoi usare la cartella del 
sorgente direttamente, come cartella degli header).

Sugli altri parametri preferisco non esprimermi, più che altro per non 
rischiare di scrivere castronerie.

Il raffreddore sta prendendo il sopravvento. Le ultime frasi non 
prenderle come VERITÀ ASSOLUTE, probabilmente sono solo in preda al delirio.

Per altri dubbi scrivi pure, che con calma e pazienza ti rispondo più 
che volentieri (possibilmente su argomenti che so :-D).

Ciao, Roberto.



Maggiori informazioni sulla lista ubuntu-it