5 Suggerimenti Utili Quando Compili il Tuo Kernel Linux

Il Kernel Linux è un brillante pezzo di ingegneria software. Con più di un milione di righe di codice, è senza dubbio uno dei programmi più complessi che è ancora in sviluppo attivo oggi. Dalla fine degli anni ‘90, il kernel Linux è stato utilizzato sia in progetti computazionalmente intensivi che in applicazioni embedded essenziali.
Indice
- Cos’è un Kernel e Perché Configurarlo?
- Usa il Sistema di Aiuto
- Disabilita il Supporto HID Non Necessario
- Disabilita il Supporto ai Filesystem Non Necessari
- Disabilita i Driver Grafici Non Necessari
- Installa i Driver come Moduli
- Domande Frequenti
Leggi anche: 5 Migliori Distribuzioni Linux-Libre per una Maggiore Sicurezza
Cos’è un Kernel e Perché Configurarlo?
Nonostante tutto ciò, il kernel Linux è semplicemente un programma che funge da collegamento tra l’hardware del tuo computer e il software che utilizzi ogni giorno. È ciò che ti consente di utilizzare una vasta gamma di dispositivi per i programmi che usi quotidianamente.
Un esempio di questo collegamento hardware-software è l’Advanced Linux Sound Architecture (ALSA). ALSA è un framework di driver audio integrato nel kernel Linux. Ti consente, tra le altre cose, di installare facilmente una scheda audio e configurarla per funzionare immediatamente con il tuo programma preferito.

Detto ciò, il kernel Linux è un programma che è per lo più sconosciuto all’utente medio. Per la maggior parte, ogni volta che installi una distribuzione ottieni spesso un kernel che funzionerà immediatamente. Questo può essere utile se stai solo cercando di far funzionare il tuo sistema.
Tuttavia, se stai utilizzando distribuzioni come Arch e Gentoo, essere in grado di configurare il tuo kernel è vantaggioso a lungo termine. Ad esempio, abilitare solo le funzionalità che desideri può accelerare i tempi di avvio.
Con ciò, questo articolo mira a fornire cinque suggerimenti utili quando compili il tuo kernel Linux.
Nota: Dai un’occhiata a questo articolo per scoprire come iniziare a compilare il tuo kernel.
1. Usa il Sistema di Aiuto
Una delle funzionalità più utili quando configuri il tuo kernel Linux è il sistema di aiuto. Questa è una funzione integrata a cui puoi accedere mentre sei all’interno del Menu di Configurazione del Kernel. In questo modo, puoi visualizzare una descrizione di ogni funzionalità e driver che puoi installare nel tuo kernel.

Per utilizzare questo sistema, tutto ciò che devi fare è premere Shift + / mentre evidenzi un’opzione specifica del kernel. Da lì, il Menu di Configurazione stamperà una breve diapositiva su cosa fa quella funzionalità. Ad esempio, posso premere Shift + / sull’opzione “Supporto PCI” per vedere tutte le opzioni che devo abilitare per utilizzarla.

Con ciò, puoi anche utilizzare lo stesso sistema di aiuto per cercare informazioni su funzionalità specifiche del kernel. Questo può essere particolarmente utile se desideri sapere di più su tutte le opzioni richieste da una funzionalità specifica.
Per fare ciò, puoi premere / mentre sei all’interno del Menu di Configurazione. Questo porterà su un piccolo prompt dove puoi digitare il nome di un’opzione particolare. Ad esempio, posso premere / e poi digitare “PCI” per cercare opzioni che utilizzano il flag PCI.

Leggi anche: Cos’è Gentoo Linux e Come Installarlo
2. Disabilita il Supporto HID Non Necessario
Il Kernel Linux spesso si vanta di avere un supporto hardware quasi universale. In questo modo, sei spesso sicuro che sarà in grado di gestire qualsiasi dispositivo che colleghi ad esso.

Tuttavia, un problema con questo approccio è che includere ogni tipo di supporto aumenta le dimensioni e l’impronta complessiva del kernel. Questo, a sua volta, può portare a binari lenti che i hacker malintenzionati possono facilmente sfruttare e violare.
Un modo per affrontare questo problema è rimuovere il supporto hardware che non utilizzi nella tua macchina. Ad esempio, il kernel Linux include il supporto Firewire nella sua configurazione predefinita. Nonostante ciò, la maggior parte delle macchine oggi non include una porta Firewire di default.

Detto ciò, un modo rapido per vedere quali dispositivi hardware puoi disabilitare è passare attraverso la sezione “Driver HID Speciali”. Questa è una categoria a cui puoi accedere sotto “Driver Dispositivo” e “Supporto HID” nel Menu di Configurazione. Qui, il kernel elencherà tutti i dispositivi rari e insoliti che può supportare.

Con ciò, puoi anche utilizzare Shift + / e / per cercare ciascuna opzione elencata in questa sezione. Ad esempio, posso selezionare “Dispositivi ELECOM” e premere Shift + / per vedere cosa fa quell’opzione.

Puoi quindi selezionare i dispositivi che desideri e premere N per disabilitare le loro funzionalità. Nel mio caso, disabiliterò tutto il supporto HID speciale poiché non utilizzo nessuno di questi dispositivi.

Leggi anche: 5 delle Migliori Distribuzioni Linux per Sviluppatori e Programmatori
3. Disabilita il Supporto ai Filesystem Non Necessari
Un altro modo rapido per ridurre le dimensioni del tuo kernel è rimuovere il supporto per i filesystem che non utilizzi. Per impostazione predefinita, il kernel Linux è costruito con supporto opzionale per la maggior parte dei tipi di filesystem. Questi includono il vecchio BSD FFS così come alcuni dei sistemi ad alte prestazioni come BTRFS.

Per la maggior parte, un utente normale utilizza solo un pugno di filesystem per l’uso quotidiano. Ad esempio, un sistema Linux utilizza generalmente EXT2, EXT4, FAT32 e NTFS per tutto il suo storage dati. Pertanto, è possibile rimuovere il supporto per altri filesystem e ottenere un ragionevole aumento delle prestazioni dal kernel.
Per rimuovere il supporto ai filesystem non necessari nel kernel, tutto ciò che devi fare è andare alla categoria “File Systems”.

Da lì, puoi selezionare i filesystem che desideri rimuovere dal tuo sistema evidenziandoli e premendo N. Nel mio caso, lascerò solo il supporto per EXT2, EXT3, EXT4 e JFS.

4. Disabilita i Driver Grafici Non Necessari
Oltre a disabilitare sia il supporto HID Speciale che quello ai Filesystem, puoi anche utilizzare il Menu di Configurazione per rimuovere eventuali driver grafici che non utilizzi. Questo perché il kernel Linux include supporto per la maggior parte dei dispositivi grafici moderni. Ciò significa che anche se la tua macchina non utilizza una scheda grafica, il tuo kernel funzionerà comunque come se ne avessi una.

Simile a quanto sopra, questo porta a un binario del kernel che esegue funzionalità che non hai necessariamente bisogno. Questo, a sua volta, può essere un problema se stai eseguendo Linux su hardware vecchio o debole.
Per rimuovere il supporto grafico non necessario, devi prima andare alla sezione “Driver Dispositivo” del Menu di Configurazione. Da lì, devi scorrere verso il basso e selezionare “Supporto Grafico”.

Una volta fatto, il kernel mostrerà un elenco di tutto l’hardware grafico per cui fornisce un driver. Da qui, puoi premere Y o N per abilitare o disabilitare un particolare driver.
Nel mio caso, abiliterò solo il “Supporto Grafico Intel 8XX” e “Intel GMA500 Framebuffer” poiché questi sono gli unici dispositivi grafici presenti nel mio laptop.

Leggi anche: 9 delle Migliori Distribuzioni Linux per Utenti Windows
5. Installa i Driver come Moduli
Infine, una delle migliori funzionalità del kernel Linux è la sua capacità di rimuovere parti di sé stesso e ricaricarle come moduli. Questo approccio non solo riduce le dimensioni del kernel, ma ti consente anche di essere flessibile con le funzionalità del kernel.
Ad esempio, puoi trasformare il tuo driver wireless in un modulo che ti consente di aggiornarlo senza ricompilare il kernel. Pertanto, i moduli possono essere particolarmente utili per gli utenti che desiderano avere un kernel veloce ma vogliono anche mantenere l’ottima compatibilità hardware di Linux.

Per convertire le funzionalità integrate in moduli, devi andare alla sezione e all’opzione che desideri convertire in un modulo. Ad esempio, per convertire il mio driver wireless devo andare alla sezione “Supporto di Rete” e poi “Wireless”.

Da lì, posso premere M sui driver “cfg80211” per convertirli in un modulo del kernel.

Una volta fatto, puoi premere Esc sei volte per uscire dal Menu di Configurazione. Questo porterà su un prompt che ti chiederà se desideri salvare le modifiche che hai effettuato. Nel mio caso, selezionerò “Sì”.

Con ciò fatto, puoi ora compilare una versione del kernel Linux con le funzionalità che desideri eseguendo il seguente comando:
make&&make modules_install
makeinstall
Leggi anche: 5 Strumenti per Creare Facilmente una Distribuzione Linux Personalizzata
Domande Frequenti
È possibile conoscere i driver di dispositivo di cui ha bisogno il mio kernel Linux?
Sì! Un ostacolo per gli utenti che stanno appena iniziando a compilare il proprio kernel è conoscere il tipo esatto di hardware che stanno utilizzando. Anche se questo potrebbe sembrare un compito difficile, ci sono un sacco di programmi che puoi ora utilizzare per facilitare questo processo.
Ad esempio, puoi utilizzare sia lspci che lsusb per vedere tutti i periferici hardware connessi nella tua macchina. Inoltre, puoi anche eseguire il comando sudo dmesg per controllare se il kernel legge correttamente i tuoi dispositivi.
È possibile ripristinare una funzionalità che ho rimosso dal kernel Linux?
Sì! È possibile reinstallare una funzionalità una volta che l’hai rimossa dal kernel Linux. Per fare ciò, devi tornare al Menu di Configurazione e premere Y o M sulla funzionalità che desideri riabilitare. Fare ciò dirà al kernel di includere quella particolare funzionalità sia come integrata che come modulo.
Con ciò fatto, devi quindi ricompilare il kernel per creare un binario con tutte le nuove funzionalità. Per fare ciò, devi salvare e uscire dal menu di configurazione premendo Esc sei volte. Da lì, puoi ora iniziare a ricompilare il kernel eseguendo make.
Quando dovrei installare una funzionalità del kernel Linux come modulo?
Installare funzionalità come moduli dipenderà in gran parte da ciò di cui hai bisogno dal tuo kernel. Sapendo ciò, una buona regola empirica è che dovresti creare moduli solo per le funzionalità che non sono critiche per il processo di avvio.
Questo perché, alla base, il kernel Linux si basa sulla capacità di avviarsi come un’unica immagine. Ad esempio, rimuovere parti critiche come il supporto multi-processore può portare a una situazione in cui il tuo kernel diventa non avviabile.
Per questo motivo, i componenti del kernel che comunemente diventano moduli sono o driver grafici e altri driver hardware o interfacce di rete.
Crediti immagine: Unsplash