N.B.: come spiegato all'inizio, questa formula "generale" non è sempre utilizzabile, in quanto alcune patch richiedono un'applicazione particolare. Come sempre è bene documentarsi bene prima di qualsiasi operazione; se non viene spiegato nulla riguardo la patch che volete inserire, dovrebbe comunque valere questa formula (testate comunque l'applicazione con un --dry-run).
Compilazione del kernel Linux
Finalmente siamo pronti a compilare! Birra pronta in frigo (a seconda del disco e del processore ci sarà d'aspettare...) e partiamo per l'ultima fase.
Uno sguardo al processore
Se il nostro PC fosse dotato di due o più processori sarebbe un gran peccato far lavorare le due CPU (o più) in serie; molto meglio parallelizzare le operazioni e dimezzare i tempi di compilazione. Per fare ciò dovremo passare un valore alla variabile "CONCURRENCY_LEVEL", pari al doppio del numero delle nostre CPU. Se ne abbiamo solo una possiamo dimenticare questa parte e passare subito al prossimo punto. Se invece abbiamo ad es. un dual core esporteremo la variabile con:
$ export CONCURRENCY_LEVEL=4
make-kpkg
Questo geniale comando ci permetterà in un'unica operazione di creare un pacchetto .deb con il nuovo kernel compilato, se vogliamo con i kernel-headers (sempre utili per poter compilare in seguito ad esempio dei moduli) e, se lo desideriamo, con i moduli "esterni" che avevamo già installato con module-assistant nel nostro kernel attuale.
Compilazione di un'immagine del kernel
Per fare ciò daremo il comando (sempre dalla directory principale dei sorgenti [/usr/src/linux]):
$ fakeroot make-kpkg --append-to-version -nome.kernel.personalizzato --revision 1 linux_image
dove -nome.kernel.personalizzato è un nome a caso che verrà aggiunto a linux-image-2.6.29 (in questo caso il nostro kernel si chiamerà linux-image-2.6.29-nome.kernel.personalizzato), mentre --revision 1 aggiungerà un "1" SOLO al pacchetto .deb che verrà creato, dando il nome al pacchetto linux-image-2.6.29-nome.kernel.personalizzato_1_amd64.deb (nel caso adesso di un kernel a 64-bit). A dire il vero potrebbe benissimo bastare "--append-to-version", ma per fare le cose per bene perchè non aggiungerlo?
N.B.: "--append-to-version" si può anche scrivere "--append_to_version", così come linux_image si può anche scrivere "linux-image", o "kernel_image" o "kernel-image" (probabilmente sempre dovuto ai fatti "storici" antecedentemente citati).