Homepage » come » Come personalizzare il tuo kernel di Ubuntu

    Come personalizzare il tuo kernel di Ubuntu

    La personalizzazione del kernel non è per tutti. Prima di provare qualsiasi cosa, si prega di notare che può violare il sistema.

    C'è un sacco di motivi per cui vorresti personalizzare il tuo kernel. Potresti voler ridurre il tuo kernel solo ai servizi necessari, specialmente se stai utilizzando un server o un dispositivo dedicato che richiede solo l'essenziale. Potrebbe anche essere necessario correggere il kernel per supportare l'hardware che non è attualmente supportato con il kernel su cui si sta eseguendo.

    Questo articolo non spiega come patchare il tuo kernel, solo come personalizzare quello attuale. Avrò un altro articolo di follow-up che spiega come patchare il tuo kernel e alcuni motivi pratici per cui vorresti farlo.

    Per iniziare, abbiamo bisogno di capire quale versione del kernel stiamo attualmente correndo. Useremo il comando uname per quello

    $ uname -r

    2.6.17-10-generic

    Ora abbiamo bisogno di installare il sorgente linux per il tuo kernel, nota che sto usando il kernel 2.6.17-10, quindi la riga di installazione lo rispecchia. Ai fini di questo articolo, puoi sostituire il numero del kernel per qualsiasi cosa tu stia correndo. Abbiamo anche bisogno di installare la libreria curses e alcuni altri strumenti per aiutarci a compilare.

    sudo apt-get install linux-source-2.6.17 kernel-package libncurses5-dev fakeroot

    Se sei curioso di sapere dove viene installato il sorgente linux, puoi usare il comando dpkg per dirti i file all'interno di un pacchetto. Ecco l'output sul mio sistema:

    $ dpkg -L linux-source-2.6.17
    /.
    / usr
    / Usr / src
    /usr/src/linux-source-2.6.17.tar.bz2
    / Usr / share
    / Usr / share / doc
    /usr/share/doc/linux-source-2.6.17
    (Tagliati)

    Possiamo vedere che la sorgente è stata installata nella directory / usr / src in un file zippato.

    Per semplificare le cose, ci metteremo in modalità root usando sudo per aprire una nuova shell. Ci sono altri modi per farlo, ma preferisco in questo modo.

    sudo / bin / bash

    Ora cambia la directory nel percorso di origine in modo che possiamo installare. Notare che potrebbe essere necessario installare l'utilità bunzip se non è installata. (era sul mio)

    cd / usr / src

    bunzip2 linux-source-2.6.17.tar.bz2

    tar xvf linux-source-2.6.17.tar

    ln -s linux-source-2.6.17 linux

    Crea una copia della configurazione del kernel esistente da utilizzare per il processo di compilazione personalizzato. Si noti che il 'carattere è quello sotto la tilde ~

    cp / boot / config-'uname -r '/usr/src/linux/.config

    Ora lanceremo l'utility che ci permetterà di personalizzare il kernel:

    cd / usr / src / linux

    fai menuconfig

    In primo luogo, andare giù per caricare un file di configurazione alternativo e caricare il file .config. (basta premere invio)

    Ora che siamo all'interno dell'utilità, possiamo impostare le opzioni per il nostro kernel personalizzato. La navigazione è piuttosto semplice, c'è una leggenda in alto se ti perdi. Ho deciso di selezionare Networking e premere il tasto Invio per scendere in quella categoria.

    Supporto radioamatoriale? Per cosa diavolo è installato? Si noterà dal * che è integrato nel kernel.

    Premendo il? chiave, possiamo vedere l'aiuto per quel particolare oggetto. Ecco la spiegazione:

    Bene, lo disabiliterò immediatamente. Perché mai è installato nel mio kernel? Ho premuto Esc per uscire dalla schermata di aiuto, quindi ho premuto N per escluderlo dal mio kernel.

    Quando hai finito di fare le scelte che desideri, premi Exit e salva la configurazione quando richiesto.

    Ora abbiamo una configurazione pronta per la compilazione. Per prima cosa faremo un clean, giusto per assicurarci che tutto sia pronto per la compilazione.

    make-kpkg clean

    Ora compileremo il kernel. Questo richiederà un tempo di FREUNZIONE LUNGO, quindi vai a trovare qualcosa di interessante da fare.

    fakeroot make-kpkg -initrd -append-to-version = -custom kernel_image kernel_headers

    Questo processo creerà due file .deb in / usr / src che contengono il kernel. Il file linux-image **** è l'immagine del kernel attuale e l'altro file contiene il Puoi installare entrambi con dpkg. I nomi dei file saranno probabilmente diversi sul tuo sistema.

    Si noti che quando si eseguono questi comandi successivi, questo imposterà il nuovo kernel come nuovo kernel predefinito. Questo potrebbe rompere le cose! Se la tua macchina non si avvia, puoi premere Esc nel menu di caricamento di GRUB e selezionare il tuo vecchio kernel. Puoi quindi disabilitare il kernel in /boot/grub/menu.lst o provare e compilare di nuovo.

    dpkg -i linux-image-2.6.17.14-ubuntu1-custom_2.6.17.14-ubuntu1-custom-10.00.Custom_i386.deb

    dpkg -i linux-headers-2.6.17.14-ubuntu1-custom_2.6.17.14-ubuntu1-custom-10.00.Custom_i386.deb

    Ora riavvia la tua macchina. Se tutto funziona, dovresti eseguire il tuo nuovo kernel personalizzato. Puoi verificarlo usando uname. Nota che il numero esatto sarà diverso sulla tua macchina.

    uname -r

    2.6.17.14-ubuntu1-custom

    Ho in programma di scrivere una serie di articoli sulla personalizzazione del kernel, quindi iscriviti al feed RSS per gli aggiornamenti.

    Inoltre, nell'interesse della divulgazione completa, ho imparato come farlo dall'articolo di HowtoForge, che è un ottimo sito Web per alcuni tutorial molto avanzati su Linux. Noterai che molti dei passaggi di questo articolo sono simili, anche se ho cercato di rendere questo articolo più "Ubuntu".