Compilação do Kernel

Documentos relacionados
Componentes do kernel Compilando o kernel Aplicando patch no kernel Configurar, compilar, instalar um kernel personalizado Gerenciar, consultar o

KERNEL LINUX. Por Jussara Reis

Boot gráfico no Debian com BootSplash

Compilando o Kernel Linux

Administração Central Cetec Capacitações Capacitação Sistema Operacional Linux Semana III

Introdução a Administração de Sistemas GNU/Linux

O Linux Possui varias características que diferenciam dos outros sistemas operacionais e que aproximam do UNIX, sendo um dos motivos da sua escolha

Sistemas Operacionais II. Linux - Introdução

Lojamundi Tecnologia Sem Limites br

Preparatório LPIC-1 Tópico 102

Centro Paula Souza TUTORIAL PARA INSTALAÇÃO DO BOCA

Sistemas Operacionais Abertos

Compilação do kernel modprobe rmmod Utilização do kernel uname -r.

AP401 / AP402 / AP404 AP411 / AP412 / AP414 AP408 / AP418 APE401 / APE402 / APE404 APE411 / APE412 / APE414

SISTEMAS DE ARQUIVOS E DIRETÓRIOS DO LINUX. Prof. Gleison Batista de Sousa

TUTORIAL DE INSTALAÇÃO DO AMBIENTE DE DESENVOLVIMENTO ANDROID NO UBUNTU

Revisão LPI101. Tópicos e Objetivos Instalação e Gerenciamento de Pacotes do Linux Dispositivos, Sistemas de Arquivos Linux e o FHS

Sistema operacional Debian

Sistema Operacional Unidade 8.1 Comandos de Hardware. QI ESCOLAS E FACULDADES Curso Técnico em Informática

OpenWrt: modelagem do

IDES E PROGRAMAÇÃO. Prof. Dr. Cláudio Fabiano Motta Toledo PAE: Maurício A Dias

Manual de Instalação C3SL

Projeto GoHome. Tutorial de Instalação Android Studio e SDK

Meu Blog: Mais sobre o Ubuntu LTS no link:

CP Introdução à Informática Prof. Msc. Carlos de Salles

DISTRIBUINDO SUA APLICAÇÃO

CURSO TÉCNICO DE INFORMÁTICA. Fundamentos de Hardware e Software

Informática. Linux. Professor Márcio Hunecke.

Tutorial: Instalando RTAI

MANUAL DE SISTEMA SPEED CASH. Manual de Download e Instalação do Aplicativo Speed Cash. Technology Brazil. Data de Elaboração: maio/2010

Administração de sistemas Linux. Gerenciamento de serviços

Laboratório FTP. Francisco Edigleison da Silva Barbosa Professor: Kelvin Lopes Dias

Manual de Instalação do NB-TV 100

1.1-Digitar o comando abaixo para entrar no manual on-line do sistema para buscar informações sobre o comando pwd. man pwd

Introdução à Informática

Sistemas Operacionais. Prof. MSc André Y. Kusumoto

Instalando o Eclipse e o Android

Dicas PET-Tele. Instalação do módulo CGILua no Apache 2.2

Instalador e Operador de Sistemas de Telefonia e Comunicação de Dados

Administração de sistemas Linux. Estrutura de diretórios Linux

Preparatório LPIC-101

Configuração do Apache Cordova Lab. 13. Prof. Bruno C. Vani

Torne-se um Sysadmin Linux. Prof. Juliano Ramos

EAC SOFTWARE GERÊNCIA DE SERVIÇOS E COORDENAÇÃO DE TREINAMENTOS. Autoinstalação SACI. Revisão: 03 (19/09/2013)

Instalando o Ponto Secullum 4.0

Manual de Instalação C3SL

Gerência de Redes de Computadores Zabbix Instalação. Prof. Alex Furtunato

Programação Aplicada a Redes de Computadores Shell Script

Criando o ambiente para o Curso Avaliação Genômica por Single Step

Atualizações de Software Guia do Usuário

Implementando Zabbix 2.x Proxy em Ambiente CentOS

Boot e shutdown. Administração de Sistemas 2015/2016 Pedro Brandão. Referências dos slides

Manual de Instalação do NB-TV 220

Tutorial para Instalação do dotproject

10. mkdir [pasta1] [pasta2] (cria pasta1 e pasta dois ao mesmo tempo) Exemplo: $ mkdir teste1 teste2

Sistema Operacionais II. Aula: Virtualização

INSTALACAO PRODUTOS DIGIVOICE NO ISSABEL PREPARAÇÃO DO SISTEMA

Comandos de arquivos

Manual de Instalação de Software SoapAdmin3.5

Inicialização do sistema

Tutorial Zabbix Migração 2.4 para 3.0 CentOS 7.1 Português via Pacote

Guia de configuração do servidor Apache nos PCs pessoais

Técnico de Gestão e Programação de Sistemas Informáticos

Introdução aos Sistemas Operacionais. Subsistema de Entrada e Saída

Instalação e Configuração de Servidores Linux Server Pós-Instalação. Prof. Alex Furtunato

GLPI Gestão total e gratuita do seu parque informático

MANUAL DE INSTALAÇÃO SISTEMA DE GERÊNCIA CONSCIUS

Instalacao do Zabbix em Ambiente CentOS

A Instalação do ez Publish 3

DISTRIBUINDO SUA APLICAÇÃO

Técnico Subsequente em Redes de Computadores Introdução a Sistemas Abertos (ISA)

Fedora para iniciantes. Luís Felipe Bretas Marzagão

1. Abra o terminal e instale o Git, para que assim você possa obter o código fonte do programa e suas atualizações.

Tutorial de Instalação LINUX EDUCACIONAL versão 4.0 Este tutorial foi elaborado a partir do material de autoria de Rafael Nink.

ROTEIRO: DUAL BOOT. Conhecer as funcionalidades do software VMware Player implantando dois sistemas operacionais em uma mesma máquina virtual.

LINUX. Uma visão geral

Guia para configurar o IDE Netbeans para desenvolver projectos em C/C++ com OpenMP:

Capacitação Sistema Operacional Linux Semana V

Transcrição:

UNIVERSIDADE FEDERAL DO CEARÁ CAMPUS QUIXADÁ CURSO DE REDES DE COMPUTADORES EDIGLEISON DA SILVA BARBOSA FRANCISCO DE ASSIS DA SILVA MATHEUS MEDEIROS DA CRUZ OTÁVIO SILVA PIRES PAULO TARSO JUNIOR TUTORIAL DE COMPILAÇÃO DO KERNEL LINUX QUIXADÁ 2012 Compilação do Kernel

Linux A compilação do Kernel é um passo um tanto quanto complexo e sério, que exige um bom conhecimento do hardware onde o Kernel será construído. Esta compilação traz uma série de benefícios, pois o Kernel que acompanha as distribuições é compilado para hardwares gerais e possivelmente trará suporte a dispositivos que você não possui. Serão necessários aproximadamente 300MB de espaço em disco disponíveis para copiar e descompactar o código fonte do Kernel e alguns pacotes de desenvolvimento como o gcc, cpp, binutils, gcc-i386-gnu, bin86, make, dpkg-dev, perl, kernel-package (os três últimos somente para a distribuição Debian). serão necessário privilégios de super usuário: $ su - 1 Primeiros passos # apt-get install wget tar bzip2 build-essential libncurses5-dev kernelpackage Primeiramente você deve conseguir a versão do kernel que mais se encaixe as suas necessidades, para descobrir qual versão você está usando use um dos comandos:

# uname -r # cat proc/version # dmesg grep Linux version Normalmente é recomendado baixar a versão estável mais atual, que no nosso caso é a 3.4.2. Você pode encontra-lá no site http://kernel.org/, que é organizado pela Linux Kernel Organization, baixá-lo diretamento no browser por HTTP, FTP ou atráves do comando: # wget http://www.kernel.org/pub/linux/kernel/v3.0/linux-3.4.2.tar.bz2 Dica: Caso não queira manter o arquivo do kernel compactado após a compilação, mude para a pasta /tmp antes de baixar o arquivo. Com o arquivo no disco o próximo passo é descompactá-lo # tar -xjvf linux-3.4.2.tar.bz2 -C /usr/src O arquivo deve ser descompactado no diretório /usr/src pois este armazena o código-fonte do kernel com seus arquivos de cabeçalho. A descompactação cria automaticamente um diretório homónimo ao arquivo, o recomendável é renomeá-lo para linux-suaversão no nosso caso: linux-3.4.2 Entre no diretório do seu novo kernel. # cd /usr/src e logo em seguida criar um link simbólico para esse diretório # ln -s linux-3.4.2/ linux 2 Configuração Agora entra a parte mais complexa desse processo: a configuração. Aqui você deverá escolher quais módulos estarão presentes no seu kernel e como eles serão "acoplados". Existem três formas de se acoplar um módulo ao kernel: através da opção Y, ele estará acoplado diretamento, inflando o seu tamanho; com a opção M, ele será acoplado como um módulo do kernel (bom para drivers de som, vídeo e etc); ou N, onde o módulo não estará presente no kernel. Para que seja feita esta escolha, existem três interfaces disponíveis: config - Serão feitas perguntas e você irá respondendo qual ação tomar (como Y, M, N ou? - para uma ajuda); menuconfig - Seleção dos módulos via menu baseado em texto, radiolists e diálogo;

xconfig - Seleção dos módulos via menu no modo gráfico. É indicado que as compilações sejam feitas totalmente em modo texto para se economizar memória e evitar problemas, por isso sugiro que você use a opção menuconfig. Para acessar qualquer uma das opções, estando dentro do diretório do kernel, digite: # make <opção> ex.: # make menuconfig Você tem que selecionar as opções de acordo com seu hardware, seguem um explicação sobre cada um dos menus General Setup: Trata de características específicas de configuração do kernel Enable loadable module support: Habilita o uso de módulos pelo kernel. Processor type and features:- configurações relativas a processadores, como: o tipo do processador, a família, etc. Power management and ACPI options: Trata de recursos de gerenciamentos de energia; Bus options (PCI, PCMCIA, EISA, MCA, ISA): Opções de suporte aos barramentos; Executable file formats / Emulations: Formatos de arquivo executáveis e emuladores, como por exemplo o binário MISC, no caso que você tenha programas que precisam de interpretador como Java, Python,.Net ou emuladores DOS. Netwoking support: Habilita ferramenta de Rede, mesmo que sua máquina não esteja conectada a uma rede algumas aplicações podem exigir suporte à rede. Firmware Drivers: Possibilita a comunicação entre o sistema e firmwares de uma determinada empresa. File systems: As opções aqui dizem respeito ao sistema de arquivos que você usará e ao qual o seu kernel terá suporte. Device drivers: Aqui é onde serão habilitados os controladores de dispositivos dependendo da característica do hardware. Se quiser manter sua configuração atual guardada caso tenha algum problemas execute o comando abaixo: $ sudo make oldconfig 3 Compilação A partir de agora teremos duas opções: usar o kernel-package para criar um pacote que pode ser executado em qualquer outra distribuição baseada em Debian ou fazer o passo a passo manualmente. 3.1 Modo Manual (Qualquer distribuição) Iniciar a compilação do kernel através de um simples:

# make e então compilar os módulos: # make modules por ultimo instalar os modulos compilados: # make modules_install Você deve estar se perguntando: Mas o quê realmente são esse modulos? O kernel do Linux tem um design modular. No momento da inicialização, somente um kernel residente mínimo é carregado na memória. Depois disso, sempre que um usuário requisitar uma funcionalidade que não está presente no kernel residente, um módulo do kernel, por vezes referido como um driver, é dinamicamente carregado na memória. Pronto! agora que já compilamos e instalamos os módulos podemos finalmente instalar a nova versão do kernel # make install Isso irá instalar três arquivos no diretório /boot assim como modificará seu arquivo de configuração do grub. System.map-3.4.2 config-3.4.2 vmlinuz-3.4.2 initrd.img-3.4.2 # ls /boot Imagens initrd contém controladores de dispositivos que são necessários para carregar o resto do sistema operacional mais tarde. caso o instalação do kernel não tenho criado o diretório initrd.img-3.4.2 diretamente é seguro criá-lo: # mkinitrd -o initrd.img-3.4.2 3.4.2 ou # sudo update-initramfs -u -k 3.4.2 para atualizar. Caso na dê certo:

# sudo update-initramfs -c -k 3.4.2 para criá-lo. Por precaução crie o arquivo: # vim /boot/grub/menu.lst Cole o texto: title root kernel initrd savedefault boot Debian GNU/Linux, kernel 2.6.25 Default (hd0,0) /boot/vmlinuz root=/dev/sda ro /boot/initrd.img-3.4.2 Agora basta atualizar o grub e reiniciar o sistema. # update-grub # reboot 3.2 Modo Debian (easier) make-kpkg é comando usado para criar pacotes Debian, a opção clean limpa o diretório /usr/src de todas as compilações anteriores que usaram o construtor kpkg. # make-kpkg clean A opção --initrd é usando quando estamos criando uma pacote com uma imagem do kernel linux, para quê durante a instalação a imagem initrd seja criada. kernel_image cria uma imagem do kernel linux. --revision muda o número de versão do pacote que está sendo produzido o padrão é 10.00.custom. # make-kpkg --initrd --revision=teste.1.0 kernel_image dpkg é o o gerenciador de pacotes Debian, a opção -i instala determinado pacote. # sudo dpkg -i../linux-3.4.2_custom.1.0_amd64.deb 4 Bibliografia Vivet Gite. (2005). How to: Compile Linux kernel 2.6. Available: http://www.cyberciti.biz/ tips/compiling-linux-kernel-26.html. Last accessed 14th Jun 2012.

José Lopes de Oliveira Júnior. (2005). Compilação comentada do kernel. Available: http:// www.vivaolinux.com.br/artigo/compilacao-comentada-do-kernel?pagina=1. Last accessed 14th Jun 2012. Gleydson Mazioli da Silva. (2010). Guia Foca GNU/Linux - Intermediário+Iniciante. Available: http://www.guiafoca.org/?page_id=326. Last accessed 14th Jun 2012. Wiki. (2012). Kernel/Compile. Available: https://help.ubuntu.com/community/kernel/ Compile. Last accessed 14th Jun 2012. KernelTeam/GitKernelBuild. (2011). GitKernelBuild. Available: https://wiki.ubuntu.com/ KernelTeam/GitKernelBuild. Last accessed 14th Jun 2012. Adrian Marius. (2012). Compiling Linux Kernel 3.4.x Vanilla Final - Ubuntu/Debian way. Available: http://mapopa.blogspot.com.br/2009/01/compiling-2.html. Last accessed 10th jun 2012. Ferreira, Rubem E. (2008). Linux: guia do administrador do sistema. 2nd ed. São Paulo: Novatec Editora. p314-330.