Buscar

Compilação do kernel do Linux

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 5 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

GCC 116 – SISTEMAS OPERACIONAIS 
PROFª. RENATA LOPES ROSA 
 
 
 
 
TRABALHO PRÁTICO 
COMPILAÇÃO DO KERNEL DO LINUX 
 
 
 
 
 
 
ANDERSON TEIXEIRA LEAL 
 
 
 
 
 
 
LAVRAS / MG 
11/2018 
 
 
INTRODUÇÃO 
A compilação do kernel é amplamente indicada em casos de mau funcionamento de 
alguns hardwares, mas este recurso também serve para melhorar o desempenho de sua máquina 
e dos periféricos nela instalados. 
As distribuições Linux já trazem consigo um kernel genérico que consegue lidar com 
praticamente qualquer hardware e ainda provê um bom desempenho da sua máquina, mas muitos 
preferem ajustar alguns módulos, de forma a deixa o Kernel mais enxuto e otimizado. 
A título de exemplificação, utilizaremos a versão do kernel linux-4.12 ​​para o sistema 
operacional ​Debian 9​​. Ressalto que os comandos a serem utilizados são os mesmo para todas as 
distros baseadas em Debian, exceto em caso de outros sistemas operacionais. Para isso basta 
conferir a documentação referente a versão/sistema. 
Conforme diz Linus Torvalds em depoimento de lançamento da versão supracitada, uma 
das ferramentas de destaque das versões igual ou superior a 4.12 do kernel é o agendador BFQ 
que limita, aos aplicativos, a utilização de toda banda no momento de cópia de dados, evitando 
assim travamentos do sistema. Consta incluídas também várias atualizações de desempenho. 
PASSO A PASSO 
1. Entrando no modo root 
1.1. Antes de iniciar a compilação, o primeiro passo será entrar no modo root o qual 
poderá ser efetuado pelo comando: 
$ ​su root 
1.2. Digite sua senha. 
2. Verificando a versão instalada 
2.1. Para ver no terminal informações como o nome e a versão da distribuição, bem 
como a versão do kernel, você pode usar os seguintes comandos: 
$ ​cat /etc/*-release 
3. Download do kernel 
3.1. Fazer o download da versão mais atualizada do kernel, ou a de sua preferência no 
site kernel.org ou por meio do link ​https://www.kernel.org/ 
4. Instalando softwares necessários para efetuar as compilações 
4.1. No terminal use o seguinte comando: 
$​ apt-get install build-essential libncurses5-dev 
5. Descompactando e compilando o kernel 
5.1. Descompactando o kernel, o qual já fora previamente baixado, por meio do terminal 
com o seguinte comando: 
$ ​tar -xvf linux4.12.tar.xz ​​-C /usr/src 
 
 
 
OBS: A parte destacada em vermelho refere-se ao diretório onde o arquivo será 
descompactado e onde trabalharemos com esse kernel, deixando-o em ponto de 
compilação. 
5.2. Abrir a pasta onde o arquivo foi descompactado e entre na pasta linux-4.12: 
$ ​cd /usr/src/linux-4.12 
5.3. Compilando o kernel 
$ ​make menuconfig 
5.3.1. Na janela (interface) de configuração que será aberta, selecione as 
funcionalidades que você deseja que sejam acrescidas e/ou desabilitadas 
ao kernel e selecione a opção de salvar. 
“Pesquise tudo o que você deseja alterar para entender o que a 
opção faz e entender a consequência da sua ação, evite fazer esse 
tipo de coisa em máquinas de trabalho que não podem ficar 
paradas e sempre mantenha um kernel extra que você sabe que 
funciona, como o que veio junto com a sua distro, não o remova, 
assim você pode voltar pra ele caso tenha algum problema. Estude 
o seu hardware e veja que recursos você pode habilitar e 
desabilitar. ​(Diolinux, 2017) 
Neste momento será criado, por padrão, um arquivo com extensão ​.config​​. 
Selecione OK >> Exit >> Exit. 
5.4. Acesse o arquivo MakeFile 
$ ​vim.tiny /usr/src/linux-4.12/MakeFile 
5.4.1. No código que abrirá, insira um valor para EXTRAVERSION indicado qual 
será a versão de compilação do kernel. Você poderá fazer quantas 
compilações forem necessárias. Neste exemplo utilizei C01, indicando que 
foi a primeira compilação e caso sejam efetuadas novas compilações 
pode-se utilizar C02, C03, … e assim por diante. 
 
 
 
5.4.2. Para salvar e sair, pressione a tecla “ESC” até que a palavra “INSERT”, no 
final suma, permitindo a digitação do próximo comando. 
$ ​:wq 
5.5. Execute o comando a seguir, o qual criará uma imagem do kernel do linux dentro 
da pasta ​/usr/src/linux-4.12/arch/x86_64/boot​. 
$ ​make bzImage 
5.5.1. Caso nesta etapa ocorra um erro, o que pode acontecer em algumas distro 
do Linux, instale um pacote por meio do comando: 
$ ​apt install libssl-dev 
5.6. Execute o comando a seguir para compilar os módulos, os quais foram 
configurados no menuconfig; Neste nosso exemplo configurado como padrão. 
$ ​make modules 
5.6.1. O comando a seguir irá instalar os módulos compilados pelo comando 
anterior. 
$ ​make modules_install 
5.7. Para instalar o kernel usaremos o comando a seguir. 
$ ​make install 
5.8. Para evitar um Kernel Panic deve-se executar o seguintes comandos. Se faz 
necessário para gerar a imagem inicial do kernel. Não o fazendo, o Kernel Panic 
será gerado pela falta da imagem, o que ocasionará a não inicialização do sistema. 
5.8.1. Acesse o diretório. 
$ ​cd /boot 
5.8.2. Execute o comando a seguir. Observe que a parte em vermelho deverá ser 
exatamente como consta no diretório ​lib/modules​. 
$ ​mkinitramfs -o initrd.img.​​4.12.0C01 ​​4.12.0C01 
5.8.3. O comando a seguir encontrará as imagens e fará que o GRUB reconheça o 
nosso novo kernel. 
$ ​update-grub 
6. Processo finalizado 
6.1. Executado todo o passo a passo, o processo de compilação do Kernel estará 
finalizado. O computador deverá ser reiniciado para que você possa testar o novo 
Kernel. 
 
 
REFERÊNCIAS BIBLIOGRÁFICAS 
➢ Portal YouTube, Compilando o Kernel Linux 4.12. Disponível em: 
<https://www.youtube.com/watch?v=6MCTP0NOrbE>. Acesso em 23 de novembro de 
2018. 
➢ Blog Diolinux, Como compilar um Kernel Linux passo a passo [TUTORIAL COMPLETO]. 
Disponível em: <https://www.diolinux.com.br/2017/07/como-compilar-um-kernel-linux-passo 
-a-passo.html>. Acesso em 23 de novembro de 2018.

Outros materiais