Uno degli elementi più fondamentali in ogni distribuzione Linux è il kernel e sebbene ne abbiamo sentito parlare, in molte occasioni non sappiamo con certezza quale ruolo svolga nel sistema.
Il kernel Linux è sostanzialmente il componente centrale del sistema operativo GNU/Linux, e la sua funzione è legata alla gestione delle risorse hardware del computer come CPU, memoria e hard disk, e quindi ad offrire il miglior utilizzo di queste risorse, e in allo stesso modo con il kernel, vengono forniti i driver per i dispositivi collegati a diversi bus di sistema come USB, PCI, SATA o IDE.
Per questioni di amministrazione o controllo, in alcuni casi specifici possiamo ricorrere a un kernel Linux compilato su misura per abilitare o disabilitare funzioni specifiche di detto Kernel, che non sono disponibili di default nel kernel di distribuzione. Per fare ciò, Solvetic spiegherà in dettaglio come compilare e utilizzare l'ultimo kernel Linux preso dai sorgenti in CentOS 7.
1. Come installare i pacchetti necessari per compilare Kernel Linux CentOS 7
Per prima cosa, aggiorneremo i repository dei pacchetti software, procederemo con l'installazione degli strumenti di sviluppo necessari per compilare un kernel e installeremo la libreria ncurses con il comando yum come segue:
yum update yum install -y ncurses-devel make gcc bc bison flex elfutils-libelf-devel openssl-devel grub2
2. Come compilare e installare il kernel Linux CentOS 7
Il prossimo passo da compiere è scaricare i sorgenti del kernel 4.17 più recenti usando il comando wget nella directory /usr/src/ o in alternativa scaricare l'ultimo kernel visitando il seguente link:
NotaLa versione stabile al momento è la 4.17.11.
Passo 1
Innanzitutto, accediamo alla directory indicata:
cd / usr / src /Quindi scarichiamo il kernel eseguendo:
wget https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.17.11.tar.xz
Passo 2
Procediamo con l'estrazione dei file compressi e con la modifica delle directory utilizzando i seguenti comandi:
tar -xvf linux-4.17.11.tar.xz
Ora accediamo alla directory del kernel come segue:
cd linux-4.17.11 /
3. Come configurare il kernel Linux su CentOS 7
Passo 1
Il kernel per CentOS 7 deve essere configurato correttamente con le seguenti opzioni di configurazione richieste nell'ambiente di sistema:
CONFIG_KVM_GUEST = e CONFIG_VIRTIO_PCI = e CONFIG_VIRTIO_PCI_LEGACY = e CONFIG_BLK_DEV_SD CONFIG_SCSI_VIRTIO = e CONFIG_VIRTIO_NET = e CONFIG_SERIAL_8250 = e CONFIG_SERIAL_8250_CERIALOra copieremo la configurazione del kernel in esecuzione (.config) dalla directory / boot al nuovo kernel Linux-4.17.11 come segue:
cp -v /boot/config-3.10.0-693.5.2.el7.x86_64 /usr/src/linux-4.17.11/.configOra eseguiremo il comando make menuconfig per configurare il kernel Linux, e non appena il comando verrà eseguito, verrà visualizzata una finestra pop-up con tutti i menu del kernel, lì sarà possibile abilitare o disabilitare alcune funzionalità del kernel e se vogliamo uscire, basta premere il tasto ESC per uscire dalla procedura guidata.
Passo 2
Verrà visualizzata la seguente procedura guidata, lì definiremo i parametri che riteniamo necessari.
Passaggio 3
Quando apportiamo le modifiche desiderate, selezioniamo l'opzione Salva per applicare queste modifiche e vedremo quanto segue. Selezioniamo "Ok" per completare il processo.
Passaggio 4
Verrà visualizzato quanto segue, fare clic su "Esci" per uscire dalla procedura guidata.
4. Come compilare il kernel su CentOS 7 (Linux)
Prima di avviare il processo dobbiamo convalidare lo spazio libero nel file system, per questo eseguiamo quanto segue:
df -h
Ora compileremo e installeremo il kernel e i moduli con i seguenti comandi, questo può richiedere molto tempo, il processo di compilazione alloca i file nella directory / boot e crea una nuova voce del kernel nel file grub.conf:
make bzImage make module make make install make module_install
Una volta terminato questo processo, riavvieremo il sistema e verificheremo il nuovo kernel eseguendo quanto segue:
uname -sr
In questo modo abbiamo imparato a compilare il kernel Linux su CentOS 7.