Pesquisa de site

Como compilar o kernel do Linux no CentOS 7


Executar um Kernel Linux compilado personalizado é sempre útil, especialmente quando você deseja ativar ou desativar recursos específicos do Kernel, que não estão disponíveis nos kernels padrão fornecidos pela distribuição.

Neste artigo, explicarei como compilar e usar o kernel Linux mais recente a partir dos fontes da distribuição CentOS 7 (as instruções fornecidas aqui também funcionam no RHEL e no Fedora ).

Se você não quiser passar por essas configurações complexas, siga nosso artigo fácil que explica como instalar ou atualizar para o kernel no CentOS 7 usando um repositório RPM de terceiros.

Instale os pacotes necessários para compilação do kernel

Primeiro, certifique-se de atualizar seus repositórios de pacotes de software, instalar as ferramentas de desenvolvimento necessárias para compilar um kernel e instalar a biblioteca ncurses usando o seguinte comando yum.

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

Compile e instale o kernel no CentOS 7

Baixe as fontes mais recentes do Kernel 4.17 usando o comando wget no diretório /usr/src/ ou você também pode baixar o kernel mais recente acessando kernel.org.

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

Extraia os arquivos arquivados e altere os diretórios usando os comandos a seguir.

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

Configure o kernel no CentOS 7

O Kernel deve ser configurado corretamente com as seguintes opções de configuração obrigatórias no 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

Eu sugiro fortemente que você copie a configuração do Kernel em execução (.config) do diretório /boot para o novo diretório do 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

Agora execute o comando make menuconfig para configurar o kernel do Linux. Depois de executar o comando abaixo, uma janela pop-up aparecerá com todos os menus. Aqui você pode ativar ou desativar determinados recursos do kernel. Se você não estiver familiarizado com esses menus, basta pressionar a tecla ESC para sair.

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

Assim que as opções de configuração do kernel estiverem definidas, clique em Salvar para salvar a interface de configuração e sair do menu.

Compilar o kernel no CentOS 7

Antes de iniciar a compilação do kernel, certifique-se de que seu sistema tenha mais de 25GB de espaço livre no sistema de arquivos. Para confirmar, você pode verificar o espaço livre do sistema de arquivos usando o comando df conforme mostrado.

df -h

Agora compile e instale o kernel e os módulos usando os seguintes comandos (pode levar várias horas). O processo de compilação coloca os arquivos no diretório /boot e também cria uma nova entrada de kernel no seu arquivo grub.conf.

make bzImage
make modules
make
make install
make modules_install

Assim que a compilação for concluída, reinicie o sistema e verifique o Kernel recém-instalado.

uname -sr

É isso. Espero que este artigo seja muito útil para todos vocês. Se você estiver enfrentando algum problema ou dificuldade ao compilar ou instalar o kernel, sinta-se à vontade para fazer ou postar suas perguntas usando nosso formulário de comentários abaixo.