Ricerca nel sito web

Come compilare il kernel Linux su CentOS 7


L'esecuzione di un kernel Linux compilato personalizzato è sempre utile, specialmente quando si desidera abilitare o disabilitare funzionalità specifiche del kernel, che non sono disponibili nei kernel forniti dalla distribuzione predefinita.

In questo articolo, spiegherò come compilare e utilizzare l'ultimo kernel Linux dai sorgenti della distribuzione CentOS 7 (le istruzioni fornite qui funzionano anche su RHEL e Fedora ).

Se non vuoi eseguire queste complesse configurazioni, segui il nostro semplice articolo che spiega come installare o aggiornare al kernel su CentOS 7 utilizzando il repository RPM di terze parti.

Installa i pacchetti richiesti per la compilazione del kernel

Innanzitutto, assicurati di aggiornare i repository dei pacchetti software, di installare gli strumenti di sviluppo necessari per compilare un kernel e di installare la libreria ncurses utilizzando il seguente comando yum.

yum update
yum install -y ncurses-devel make gcc bc bison flex elfutils-libelf-devel openssl-devel grub2

Compila e installa il kernel in CentOS 7

Scarica i sorgenti più recenti del kernel 4.17 utilizzando il comando wget nella directory /usr/src/ oppure puoi anche scaricare il kernel più recente andando su kernel.org.

cd /usr/src/
wget https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.17.11.tar.xz

Estrai i file archiviati e cambia directory utilizzando i seguenti comandi.

tar -xvf linux-4.17.11.tar.xz
cd linux-4.17.11/

Configura il kernel in CentOS 7

Il kernel deve essere configurato correttamente con le seguenti opzioni di configurazione richieste all'interno dell'ambiente CentOS 7.

CONFIG_KVM_GUEST=y
CONFIG_VIRTIO_PCI=y
CONFIG_VIRTIO_PCI_LEGACY=y
CONFIG_BLK_DEV_SD
CONFIG_SCSI_VIRTIO=y
CONFIG_VIRTIO_NET=y
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_CONSOLE=y

Ti consiglio vivamente di copiare la configurazione del kernel in esecuzione (.config) dalla directory /boot alla nuova directory del kernel linux-4.17.11.

cp -v /boot/config-3.10.0-693.5.2.el7.x86_64 /usr/src/linux-4.17.11/.config

Ora esegui il comando make menuconfig per configurare il kernel Linux. Una volta eseguito il comando seguente, viene visualizzata una finestra popup con tutti i menu. Qui puoi abilitare o disabilitare alcune funzionalità del kernel. Se non hai familiarità con questi menu, premi semplicemente il tasto ESC per uscire.

cd /usr/src/linux-4.17.11/
make menuconfig

Una volta impostate le opzioni di configurazione del kernel, fai clic su Salva per salvare l'interfaccia di configurazione e uscire dal menu.

Compila il kernel in CentOS 7

Prima di iniziare la compilazione del kernel, assicurati che il tuo sistema abbia più di 25GB di spazio libero sul file system. Per confermare, puoi controllare lo spazio libero sul file system utilizzando il comando df come mostrato.

df -h

Ora compila e installa il kernel e i moduli utilizzando i seguenti comandi (potrebbero essere necessarie diverse ore). Il processo di compilazione inserisce i file nella directory /boot e crea anche una nuova voce del kernel nel file grub.conf.

make bzImage
make modules
make
make install
make modules_install

Una volta completata la compilazione, riavviare il sistema e verificare il kernel appena installato.

uname -sr

Questo è tutto. Spero che questo articolo sarà molto utile a tutti voi. Se riscontri problemi o difficoltà durante la compilazione o l'installazione del kernel, sentiti libero di chiedere o pubblicare le tue domande utilizzando il nostro modulo di commento qui sotto.