Scarica, configura, compila e installa il kernel Linux passo dopo passo

Ultimo aggiornamento: 17/12/2025
Autore: Isaac
  • Compilando il proprio kernel è possibile ottimizzare prestazioni, sicurezza e supporto. hardware modificando moduli, file system e opzioni specifiche.
  • Il processo standard include l'installazione delle dipendenze, il download dei sorgenti da kernel.org, il riutilizzo della configurazione corrente e la configurazione con make menuconfig o xconfig.
  • È essenziale compilare e installare il kernel e i moduli, generare correttamente initramfs e integrare il nuovo kernel in GRUB per garantire un Boot purificato.
  • Mantenere i kernel più vecchi e sapere come ripristinare o rimuovere un kernel problematico è fondamentale per sperimentare in sicurezza su qualsiasi distribuzione.

Guida al download, alla compilazione e all'installazione del kernel Linux

Compilare il kernel di Linux È uno di quei compiti che separa l'utente curioso da quello che vuole per approfondire il sistema operativoNon è obbligatorio per l'uso quotidiano di GNU/Linux, ma è un ottimo modo per capire meglio come funziona il tuo computer, sfruttare al meglio l'hardware e ottimizzare il sistema a tuo piacimento.

In questa guida vedrai, passo dopo passo, come Scarica, configura, compila e installa un kernel Linux da zero. Parleremo delle distribuzioni basate su Debian (Debian, Ubuntu, Mint e derivate), oltre a concetti generali applicabili ad altre famiglie come Fedora o CentOS. Esploreremo anche perché potresti volerlo fare, quali strumenti ti serviranno, come riutilizzare la configurazione del kernel attuale, come modificare le opzioni per Docker o hardware specifico e come ripristinare le impostazioni predefinite in caso di problemi.

Perché potresti essere interessato a compilare il tuo kernel

Prima di toccare qualsiasi cosa, è importante avere chiaro cosa si desidera: La compilazione del kernel non è sempre necessariaMa ci sono diverse valide ragioni per farlo.

  • prestazioni ed efficienzaRimuovendo i driver e le funzionalità che non usi mai puoi velocizzare l'avvio del sistema, utilizzare meno RAM e ridurre la latenza in determinati carichi di lavoro.
  • SicurezzaDisabilitare funzionalità o moduli non necessari riduce la superficie di attacco. Un kernel più minimalista è, in molti contesti, un kernel più sicuro.
  • Supporto per hardware specificoA volte la tua distribuzione non include ancora il driver di cui hai bisogno, oppure è disabilitato; compilando il tuo kernel puoi attiva il supporto per il tuo hardware (schede di rete, RAID, dispositivi di immagazzinamento raro, ecc.).
  • Funzioni specialiPotresti provare un nuovo pianificatore di attività, funzionalità specifiche per la virtualizzazione, Docker, container, BPF, io_uring o qualsiasi altra funzionalità avanzata che non sia abilitata per impostazione predefinita.
  • Apprendimento e sperimentazioneCompilare il kernel è un modo molto semplice per Scopri come è organizzato internamente un sistema GNU/Linux, come viene inizializzato l'hardware e come vengono integrati i moduli.

Tuttavia, per un utente domestico che vuole solo accendere il computer, navigare in Internet e poco altro, Compilare il kernel a mano è come usare un cannone per uccidere le mosche.È un processo lungo e delicato ed è normale mangiare qualcosa durante il percorso. panico del kernel Prima di procedere con la messa a punto. Se ti piace sperimentare, fallo; altrimenti, è meglio attenersi ai pacchetti ufficiali per la tua distribuzione.

Cos'è esattamente il kernel Linux?

Il kernel Linux è il componente centrale del sistema: il software che si trova tra l'hardware e il resto dei programmiÈ responsabile della gestione della memoria, dei processi, dei file system, dei dispositivi di input/output, della rete, della sicurezza e molto altro ancora.

Linux è nato nel 1991 come un progetto personale di Linus Torvalds per creare un kernel libero. Da allora è cresciuto enormemente: oggi parliamo di decine di milioni di righe di codice, mantenute da migliaia di sviluppatori sotto la licenza GPLv2Il sistema che solitamente chiamiamo "Linux" è in realtà una combinazione di Kernel Linux + strumenti GNU e altri componenti che assemblano la distribuzione.

Quando compili un kernel personalizzato, ciò che fai è generare un binario (di solito /boot/versione-vmlinuz) più un set di moduli in /lib/moduli/versione, accompagnato da file come System.map, la config con la configurazione utilizzata e l'immagine di avvio iniziale (initrd o initramfs).

Strumenti di base necessari per compilare il kernel

Per compilare un kernel Linux dai sorgenti, è necessario un ambiente di sviluppo completo. Sui sistemi Debian, Ubuntu e Mint, questo in genere comporta l'installazione build-essential e una serie di librerie e utilità aggiuntive.

Molte guide classiche consigliano set come i seguenti (Puoi adattarli in base al tuo layout.):

  • Set minimo in Debian/Ubuntu per un kernel relativamente moderno:sudo apt-get install build-essential libncurses-dev bison flex libssl-dev libelf-dev libudev-dev libpci-dev libiberty-dev dkms openssl bc autoconf
  • Ambiente di confezionamento Debian per creare pacchetti kernel .deb:sudo apt install autoconf automake autotools-dev bison build-essential dh-make debhelper debmake devscripts dpkg fakeroot file gfortran git gnupg fp-compiler lintian patch pbuilder perl quilt xutils-dev

In Fedora, CentOS e derivatiL'approccio cambia leggermente, ma l'idea rimane la stessa: installare un set di strumenti di sviluppo e librerie per interfacce di configurazione (testuali e grafiche). Ad esempio, le seguenti sono comunemente utilizzate comandi dello stile:

su -c 'yum groupinstall "Development Tools"'
su -c 'yum install ncurses-devel qt-devel unifdef'

Senza queste dipendenze, la compilazione fallirà abbastanza rapidamente, quindi è È essenziale avere l'ambiente pronto prima di scaricare il codice sorgente.

Dove scaricare il codice sorgente del kernel Linux

La fonte ufficiale per ottenere il codice del kernel è kernel.orgDa lì puoi scegliere tra le versioni principale, stabile e con supporto a lungo termine (LTS). Ognuna ha la sua cartella e un collegamento a un tarball comprimi.

  Scorciatoie da tastiera per riparare il laptop bloccato

Alcuni esempi di Download che si vedono spesso I tutorial sono:

  • Kernel stabile 6.6 per test recenti:
    wget https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.6.tar.xz
  • Kernel 6.0.11 (ramo v6.x):
    wget https://mirrors.edge.kernel.org/pub/linux/kernel/v6.x/linux-6.0.11.tar.xz
  • Kernel 5.10.13 (ramo v5.x):
    wget https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.10.13.tar.xz

Puoi anche scaricare i font da repository della tua distribuzioneIn Debian/Ubuntu, ad esempio, c'è il pacchetto sorgente linux:

sudo apt-get install linux-source

Questo lascia un file di tipo linux-source-xxxtar.bz2 en / usr / srcche puoi decomprimere in modo simile al tarball di kernel.org.

Preparare l'albero sorgente e lo spazio su disco

Una volta scaricato il tarball del kernel, è necessario estrarlo in una posizione in cui è spazio sufficiente e permessi di scritturaNon sei obbligato a usare /usr/src, anche se è un classico. Puoi creare, ad esempio, una directory come ~/Download/i-miei-kernel.

Tieni presente che, quando non compresso, l'albero sorgente potrebbe essere intorno 1,5 GBe durante la compilazione, le cose saltano facilmente sopra il 7 GBLasciate quindi ampio margine di errore.

un po ' esempi tipici di decompressione sono:

  • Con tar.xz:
    tar avxf linux-6.6.tar.xz
  • Con tar.bz2:
    tar jxvf linux-2.6.36.tar.bz2 -C /usr/src
  • Con tar.gz:
    tar zxvf linux-x.x.x.x.tar.gz -C /usr/src

Dopo la decompressione, avrai una directory come Linux-6.6 o Linux-5.10.13È possibile creare un collegamento simbolico generico denominato linux per evitare di impazzire con i percorsi:

cd /usr/src
sudo ln -s linux-6.0.11 linux

Non è obbligatorio inserire le fonti in / usr / src, anche se molte guide lo fanno per tradizione. La compilazione e l'installazione funzioneranno allo stesso modo se eseguite nella cartella utente.a patto che tu abbia lo spazio e i permessi appropriati.

Riutilizzare la configurazione del kernel corrente

Configurare un kernel da zero, opzione per opzione, è un compito infinito anche per le persone molto esperte. La pratica usuale è riutilizzare la configurazione del kernel che stai già utilizzando come punto di partenza.

Per fare questo, è necessario prima sapere quale kernel hai caricato? proprio adesso:

uname -r

Il risultato sarà qualcosa del genere 6.1.0-13-amd64 o 4.19.0-6-amd64Con queste informazioni, puoi copiare la configurazione corrente da /avvio alla directory delle sorgenti appena decompresse:

cd linux-6.6
cp /boot/config-$(uname -r) .config

Quel file .config Questo sarà quello che il sistema di compilazione del kernel utilizzerà come base. Nelle versioni più recenti, quando si eseguono gli strumenti di configurazione, verrà richiesto solo opzioni che non esistevano nel tuo kernel precedenteche consente di risparmiare un'enorme quantità di tempo.

Come adattare le impostazioni all'hardware effettivo

Oltre a riutilizzare il file .config corrente, è possibile perfezionarlo ulteriormente utilizzando gli strumenti forniti dall'albero del kernel stesso. Uno strumento particolarmente utile è crea localmodconfig, che tenta di generare una configurazione adattata ai moduli caricati in quel momento.

All'interno della directory sorgente, esegui semplicemente:

make localmodconfig

Questo comando ispeziona i moduli attivi e Disattiva molte cose che il tuo sistema non sta utilizzando.Questa è la soluzione ideale se si sta configurando un kernel per quella macchina specifica. Se si intende compilare un kernel generico per altre macchine o server, sarà necessario rivederlo attentamente in seguito per assicurarsi di non tralasciare hardware non presente sul sistema su cui si sta compilando.

Modalità di configurazione del kernel: ambienti di testo e grafici

La configurazione del kernel può essere effettuata in diversi modi. Tutti finiscono per generare o modificare il file .configMa l'esperienza è molto diversa a seconda della modalità:

  • crea configurazioneUn questionario puramente testuale, domanda per domanda. Oggi è considerato pratico solo per casi molto specifici; è lento, noioso e facile da commettere errori.
  • Fare menuconfigInterfaccia a menu testuale (ncurses), molto comune sui server o quando non si dispone di un ambiente grafico. La navigazione avviene tramite i tasti freccia, Tab e barra spaziatrice.
  • crea xconfigUn'interfaccia grafica basata su Qt, comoda da usare con il mouse. Ideale per lavorare da un desktop completo.
  • crea gconfig: Interfaccia grafica basata su GTK, progettata per ambienti di tipo GNOME.

In pratica, Fare menuconfig È il protagonista di quasi tutte le guide perché funziona praticamente in qualsiasi contesto. Partendo dal file .config copiato, tutto ciò che devi fare è:

make menuconfig

Vedrai un menu principale con categorie come "Tipo e funzionalità del processore", "Driver di dispositivo", "File system", "Supporto di rete", "Virtualizzazione", ecc. All'interno di ciascuna categoria, potrai attivare, disattivare o contrassegnare come modulo Le diverse opzioni. Normalmente:

  • [*] Significa "incorporato".
  • [M] Indica che "è compilato come modulo caricabile".
  • [] È "disattivato".

L'idea è di integrare nel kernel ciò che è necessario per avviare il sistema (ad esempio, il supporto del disco di root) e utilizzare i moduli per caratteristiche meno critiche o caratteristiche che non vengono sempre utilizzatein modo che il kernel principale sia più leggero.

Ogni voce di menu di solito ha un'opzione per Aiuto Questo spiega esattamente cosa fa e a volte fornisce un consiglio predefinito. Se non sei sicuro di qualcosa di molto specifico, è meglio attenersi al valore consigliato o a quello già abilitato nella configurazione precedente.

Impostazioni utili: file system, virtualizzazione e Docker

Una parte importante della personalizzazione del kernel è la scelta giusta Quali file system, meccanismi di container e opzioni di rete? Ne avrai bisogno. Ad esempio, se prevedi di utilizzare le partizioni NTFS Per la scrittura, sarà necessario attivare il supporto corrispondente (solitamente situato in "File system → File system DOS/FAT/EXFAT/NT").

  Guida completa per estrarre la licenza di Windows 10 dal BIOS

Se si prevede di lavorare con la virtualizzazione o i container, ci sono blocchi di opzioni che è fondamentale esaminare. Per Docker e Docker Swarm, ad esempio, ci sono diverse opzioni. funzioni di namespace, cgroup e rete che deve essere attivo:

  • gerarchia cgroup.
  • CONFIG_NAMESPACES, CONFIG_NET_NS, CONFIG_PID_NS, CONFIG_IPC_NS, CONFIG_UTS_NS.
  • CONFIG_CGROUPS e sotto-opzioni come CONFIG_CGROUP_CPUACCT, CONFIG_CGROUP_DEVICE, CONFIG_CGROUP_FREEZER, CONFIG_CGROUP_SCHED, CONFIG_CPUSETS, CONFIG_MEMCG.
  • Supporto chiave (CONFIG_KEYS).
  • Opzioni di rete come CONFIG_VETH, CONFIG_BRIDGE, CONFIG_BRIDGE_NETFILTER, CONFIG_NF_NAT_IPV4, CONFIG_IP_NF_FILTER, CONFIG_IP_NF_TARGET_MASQUERADE, CONFIG_NETFILTER_XT_MATCH_ADDRTYPE, CONFIG_NETFILTER_XT_MATCH_CONNTRACK, CONFIG_NETFILTER_XT_MATCH_IPVS, CONFIG_IP_NF_NAT, CONFIG_NF_NAT, CONFIG_NF_NAT_NEEDED.
  • Supporto coda POSIX (CONFIG_POSIX_MQUEUE).
  • Opzioni come CONFIG_IPVLAN per determinate configurazioni di rete utilizzate da Docker.

Gran parte di questa funzionalità può essere compilata come modulo senza problemi, ma Si consiglia di rivedere la documentazione di Docker o di utilizzare script di testCi sono utilità come check-config.sh che analizzano il file .config del kernel e indicano cosa manca per una piena compatibilità con i container.

La meccanica di base sarebbe:

chmod +x check-config.sh
./check-config.sh .config

L'output mostrerà quali opzioni sono corrette, quali mancano o quali sono configurate in modo errato. Se trovi qualcosa di disabilitato in modo critico, puoi eseguirlo di nuovo. Fare menuconfig o crea xconfig, correggilo, salva e ripeti la verifica.

Interessanti miglioramenti nelle recenti versioni del kernel

Oltre alla personalizzazione, molte persone compilano nuove versioni del kernel per Approfitta dei miglioramenti delle prestazioni e delle nuove funzionalità che richiederà ancora del tempo per raggiungere i pacchetti della tua distribuzione.

Ad esempio, in Rama 6.6 Sono stati menzionati miglioramenti quali:

  • Notevole aumento delle prestazioni in EXT4, con aumenti fino al 34% in determinati carichi di scrittura simultanei.
  • Miglioramenti nel supporto GPU NVIDIA utilizzando il driver gratuito nuovo, preparando il terreno per il pilota NVK (Vulkan).
  • Opzioni per configurare gli aspetti del BIOS dalle apparecchiature HP direttamente da Linux.
  • Impostazioni di pianificazione del cluster per processori ibridi Intel (Alder Lake, Raptor Lake e successivi).
  • Ottimizzazione dell'I/O asincrono diretto con io_uring, con incrementi di prestazioni di circa il 37% in alcuni test.
  • Un nuovo pianificatore di attività, EEVDF (prima scadenza virtuale ammissibile), che migliora l'allocazione della CPU tra i processi.

Tutto questo è "out of the box" nelle versioni moderne, ma la tua distribuzione potrebbe impiegare del tempo per impacchettarlo o abilitarlo, motivo per cui molte persone ricorrono a compilare manualmente un kernel più recente.

Compilazione del kernel: make, moduli e thread di compilazione

Una volta ottenuta la configurazione desiderata, è il momento di mettere al lavoro la CPU. È qui che entrano in gioco i comandi. make Compilazione classica del kernel. La compilazione può richiedere da diversi minuti a oltre un'ora, a seconda dell'hardware e del numero di moduli generati.

In sostanza, il flusso di base In Debian/Ubuntu (o altre distribuzioni) di solito è:

  • Compilare il kernel (immagine principale):
    make -j$(nproc)
    Oppure, se vuoi che utilizzi un solo core:
    make
  • Compilare e installare i moduli:
    sudo make modules_install

l'opzione -j$(nproc) Indica a make di utilizzare tanti processi paralleli quanti sono i core della CPU, il che consente di risparmiare molto tempo sulle macchine moderne. Se si verificano errori durante la compilazione, è necessario verificarli nel punto in cui si verificano; potrebbero essere dovuti a dipendenze mancanti, configurazioni in conflitto o bug specifici in quella versione del kernel.

Alcune ricette più avanzate utilizzano lo strumento Debian make-kpkg e il pacchetto pacchetto-kernel per impacchettare il kernel in file .deb. Questo permette di installare e disinstallare il kernel personalizzato come se fosse un altro pacchetto, con qualcosa del tipo:

fakeroot make-kpkg --initrd --append-to-version=-custom kernel_image kernel_headers
cd /usr/src
sudo dpkg -i *.deb

In tale scenario, è anche comune riscontrare errori relativi a certificati del kernelMolte guide risolvono problemi specifici disabilitando le chiavi attendibili nel file .config con una riga come questa:

sed -i '/CONFIG_SYSTEM_TRUSTED_KEYS/s/^/#/g' .config

Installa il kernel appena compilato e aggiorna il bootloader

Se non si utilizza il pacchetto .deb e si utilizza "senza supporto" gli strumenti standard dell'albero del kernel, L'installazione viene eseguita direttamente dalla directory sorgenteLa sequenza più comune dopo la compilazione è:

  • Installare i moduli (se non l'hai già fatto):
    sudo make modules_install
  • Installa il kernel:
    sudo make install

Il sistema di scripting del kernel copierà il binario bzImmagine generato in /boot, insieme a System.map e al file di configurazione. In Debian/Ubuntu, gli script vengono in genere attivati ​​in /etc/kernel/postinst.d che generano il initramfs e aggiornare automaticamente il boot manager (GRUB).

Tuttavia, non fa mai male eseguire esplicitamente:

sudo update-initramfs -u
sudo update-grub
sudo update-grub2

Con questo Assicurati che l'immagine di avvio iniziale sia stata rigenerata correttamente. per la nuova versione del kernel, e che GRUB ne tenga conto nel suo menu. In altre distribuzioni, come alcune basate su Red Hat, può essere utilizzato mkinitrd o dracut invece di update-initramfs, ma l'obiettivo è lo stesso: creare un'immagine initrd/initramfs adatta al nuovo kernel.

Il ruolo di initrd/initramfs e potenziali problemi

L'initrd o initramfs è un immagine del file system caricata nella memoria molto presto nel processo di avvioContiene i driver minimi necessari per montare l'effettivo file system root (ad esempio, il supporto per il controller SATA o NVMe in cui si trova la partizione /).

  Cosa posso fare per bloccare l'accesso a Facebook? Come rimuovere l'accesso limitato su Facebook?

Se il tuo initrd è generato in modo errato o non contiene i moduli necessari, il kernel si avvierà ma non sarà in grado di montare / e ti ritroverai con un panico del kernel lamentandosi di non riuscire a trovare il radice filesystem. Questo è un errore tipico quando le opzioni critiche del kernel sono disabilitate o quando l'initramfs viene dimenticato dopo aver cambiato versione.

In Debian/Ubuntu, il comando di riferimento oggi è aggiornamento-initramfs:

sudo update-initramfs -c -k x.x.x

Parametro -c crea una nuova immagine e -k indica la versione esatta del kernel. Nelle distribuzioni più vecchie (o con strumenti diversi) veniva utilizzato mkinitrd con sintassi simile:

cd /boot
mkinitrd -o initrd.img-2.6.36 2.6.36

In ogni caso, se dopo aver installato il tuo kernel personalizzato vedi errori relativi a /lib/modules o al montaggio della root, Per prima cosa, controlla initramfs/initrd e la configurazione di GRUB. prima di toccare qualsiasi altra cosa.

Verificare che il nuovo kernel funzioni correttamente

Con tutto installato e il boot manager aggiornato, è il momento di riavviare per testare il sistema. Durante l'avvio, monitorare i messaggi di avvio di GRUB e del kernel nel caso in cui si verifichino errori da moduli, file system o dispositivi non riconosciuti.

Una volta all'interno del sistema, puoi verificare quale versione del kernel stai utilizzando con:

uname -a

L'output dovrebbe riflettere il versione appena compilataDa lì, si tratta di testare i tuoi soliti servizi: server web, database, Finestra mobile, Macchine virtualiprogrammi desktop, ecc. Se tutto funziona correttamente, puoi lasciare quel kernel come principale e conservare le versioni precedenti come backup.

Come ripristinare un kernel precedente e disinstallare quello nuovo

Se qualcosa va storto (cosa che può succedere, soprattutto le prime volte), la cosa importante è che Niente panicoFinché GRUB elenca altri kernel funzionanti, puoi ripristinare il sistema senza troppi problemi.

Il processo tipico voluto:

  1. Riavvia il sistema.
  2. Nella schermata di GRUB, muoviti con le frecce ed entra nella sezione tipo "Opzioni avanzate per...".
  3. Scegli una versione precedente del kernel che sai che funziona bene.
  4. Avviare con quel kernel e, una volta dentro, procedere all'eliminazione del kernel problematico.

Se hai installato il kernel manualmente, senza pacchetti .deb, la rimozione di solito comporta eliminare i file corrispondenti in /boot e /lib/modulesAd esempio, per rimuovere 6.6.0 potresti fare:

cd /boot
sudo rm config-6.6.0 initrd.img-6.6.0 System.map-6.6.0 vmlinuz-6.6.0

E poi, elimina i suoi moduli:

cd /lib/modules
sudo rm -rf 6.6.0

Al termine, aggiorna GRUB in modo che non offra più quel kernel nel menu e riavvia:

sudo update-grub
sudo update-grub2
sudo reboot

Se hai installato il kernel confezionato come .deb, è più pulito. Utilizzalo come qualsiasi altro pacchetto Per disinstallarlo, utilizzare apt o dpkg, mantenendo così sotto controllo lo stato del sistema.

Note per altre distribuzioni: Fedora, CentOS e altre

Sebbene questa guida si concentri principalmente su Debian/Ubuntu/Mint, la logica generale è simile nelle distribuzioni basate su Red Hat come Fedora o CentOS. Quali sono i cambiamenti? strumenti di gestione dei pacchetti, alcuni nomi di dipendenze e come accedere al boot manager.

In Fedora/CentOS, ad esempio, un flusso di lavoro di base per compilare un kernel da kernel.org potrebbe essere:

  • Installa gli strumenti di sviluppo:
    su -c 'yum groupinstall "Development Tools"'
    su -c 'yum install ncurses-devel qt-devel unifdef'
  • Scarica una versione stabile (come la 2.6.36 negli esempi classici):
    cd /tmp
    wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.36.tar.bz2
  • Decomprimere e preparare l'albero sorgente:
    mkdir /usr/src/linux
    tar -xjvf linux-2.6.36.tar.bz2 -C /usr/src/linux
    cd /usr/src/linux
  • Configurare il kernel utilizzando menuconfig, xconfig o gconfig.
  • Compila e installa:
    make
    make modules
    make modules_install
    make install

Quindi dovrai rivedere e modificare /boot/grub/grub.conf (o il file equivalente, a seconda che si utilizzi GRUB Legacy, GRUB2, ecc.) per aggiungere una voce per il nuovo kernel con il suo initrd corrispondente, prestando molta attenzione ai percorsi di root = e riferimenti ai volumi logici se si utilizza LVM.

Compilare, configurare e installare un kernel Linux personalizzato è un processo lungo ma incredibilmente istruttivo: ti obbliga a capire quali moduli devi avviare, quali opzioni sono essenziali per i tuoi servizi (come Docker o la virtualizzazione), come initramfs e GRUB sono integrati nel processo di avvio e come mantenere sempre un'opzione di fallback per tornare a un kernel precedente in caso di problemi. Se ti prendi il tempo di rivedere ogni sezione, riutilizzare in modo intelligente la configurazione attuale del kernel e abituarti a testare gradualmente le modifiche, puoi finire per goderti un sistema davvero potente. più ottimizzato, su misura per il tuo hardware e allineato alle tue reali esigenze rispetto a quello fornito dai kernel generici della maggior parte delle distribuzioni.