Baixe o app para aproveitar ainda mais
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.
Compartilhar