back

La patch verrà inserita nella directory /usr/src/kernel-patches (se non è presente verrà creata). A questo punto mi sono ritrovato con una grande sorpresa; voglio dire che vi avrei rimandato al capitolo sulla compilazione, in quanto esisteva un'opzione "--added-patches" che permetteva di applicare le patch di debian al kernel. Purtroppo questa opzione non esiste più.

♦ dando un'occhiata all'interno di /usr/src/kernel-patches troveremo ancora all/apply/ dove finalmente risiede la nostra patch debianlogo. Dando un'occhiata al contenuto della patch, noteremo che si tratta di uno script bash. Ci basterà dunque lanciare questo script nella directory dei sorgenti (onde evitare l'errore "Not in kernel top level directory. Exiting"):

/usr/src/linux$ sh ../kernel-patches/all/apply/debianlogo

ottenendo, se tutto è andato bene (dopo qualche "sfilza" di include): Done. END applying debianlogo patch.

♦ infine dovremo ancora configurare le opzioni introdotte nel kernel dalla nuova patch. Daremo dunque un:

$ make oldconfig

ottenendo le nuove opzioni:

Debian GNU/Linux Open Ue logo (LOGO_LINUX_DEBIAN) [Y/n] (NEW) y
Linux logo with Debian swirl (LOGO_LINUX_DEBIAN_TUX) [Y/n] (NEW) y

(al quale ho risposto sì). Potremo procedere in modo analogo per altre patch di debian.

Altre patch ("esterne")

Sempre facendo riferimento ai moduli, anche ogni patch contiene istruzioni su come deve essere inserita nel kernel. Generalmente si può procedere però nel modo seguente.

♦ scaricare la patch (es. nomepatch.patch) nella direcotry dei sorgenti /usr/src/linux

♦ applicare la patch con:

$ patch -p1 < /locationpatch/nomepatch.patch

Dal momento che l'operazione è irreversibile (almeno non a "manina") è buona cosa dare l'opzione "--dry-run" (semplicemente dopo la patch) che "testa" l'inserimento della patch; se non avvengono errori si potrà poi dare il comando vero e proprio per applicare la patch.

♦ anche in questo caso daremo infine il comando make oldoconfig per aggiungere le nuove opzioni al kernel.

back