Compilando, Configurando e Instalando um Kernel Linux personalizado e totalmente funcional

ArticleCategory:

Kernel Corner

AuthorImage:

TranslationInfo:[Author and translation history]

original in en Subhasish Ghosh

en to pt Bruno Sousa

AboutTheAuthor:

O meu nome é Subhasish Ghosh, Tenho 20 anos de idade e estou, correntemente a viver na Índia. Sou um estudante de engenharia de sistemas informáticos bem como um Profissional informático. Presentemente, possuo 6 certificados Profissionais Microsoft (MCP) e também um MCP em NT 4.0. Trabalho com o Linux desde há longa data, em especial o Red Hat Linux. Presentemente encontro-me a preparar o exame de Certificação de Engenharia Linux da Red Hat (RHCE) e planeio trabalhar essencialmente com o sistema operativo Linux no futuro.

Abstract:

Olá a todos, este artigo apresenta-vos um processo, extremamente detalhado, um passo a passo em como compilar, configurar e depois instalar um Kernel Linux Red Hat Personalizado. Como todos sabemos, um Kernel personalizado é requerido por muitas razões, e eu não quero aprofundar os detalhes de tal. Eu só mostrarei como compilar, configurar e instalar um Kernel personalizado. Os passos mencionados em baixo são tendo em vista os utilizadores da Red Hat, mas o mesmo processo aplica-se a utilizadores de Linux de outras distribuições, também, claro com umas modificações mínimas quando requeridas.

ArticleIllustration:[This is the title picture for your article]

[illustration]

ArticleBody:

Introdução

Isto é uma instrução para compilar o Kernel Linux em 27 passos. Eu procedi a todos estes passos mencionados em baixo num computador com as seguintes configurações: Compaq Presario 4010 Series, 15.5 GB Disco Rígido, 96 MB RAM, 400 MHz Processador Intel Celeron, Distribuição Red Hat Linux 7.0 com o Kernel: 2.2.16-22
O Nosso objectivo é o de obter um Kernel personalizado totalmente funcional após todos estes passos mencionados em baixo, estarem completos. Por exemplo eu tenho um Kernel personalizado chamado "2.2.16-22ghosh" a correr no meu sistema (porque o meu nome é Subhasish Ghosh, você pode ter outra coisa qualquer, de facto um conjunto deles a rodar juntos). Então boa sorte na compilação do Kernel do Linux.

Os passos

Passo 1: Faça login como "root" e proceda a estes passos.

Passo 2: Na linha de comandos digite: rpm -q kernel-headers kernel-source make dev86

Passo 3: Se estes RPMs já estão instalados, então salte para o passo 4. Senão, monte o CD-ROM com o Red Hat Linux 7.0 CD-ROM e depois faça rpm -Uvh para instalar estas RPMs.

Passo 4: Se tem o sistema X Windows a funcionar correctamente, então digite startx na linha de comandos. No caso de não ter o sistema X Windows configurado, Eu pessoalmante sugiro que o tenha antes de proceder pois é um benefício extremo. Se o sistema X Windows NÃO está configurado digite make config ou make menuconfig na linha de comandos. Por favor note que eu assumi que você tem o sistema X Windows a correr no seu sistema e por esta razão digite startx.

Passo 5: Uma vez no ambiente GNOME, abra um terminal GNOME e digite: cd /usr/src/linux e prima enter.

Passo 6: Então no directório /usr/src/linux, digite make xconfig.

Passo 7: A versão GUI do make config devia aparecer no ecrã. Providenciar-lhe várias opções que tem para obter um Kernel personalizado.

Passo 8: Agora, sugeria-lhe que deixasse a maior parte das opções como estão.

A configuração por defeito é algo pesado. Por outro lado é provável que trabalhe na maioria dos computadores. A minha sugestão é que complete todos os passos para saber como este processo trabalha. Depois disto pode tornar-se familiar com o hardware do seu computador e as suas especificações para que tenha um "conhecimento expert" suficiente e para que possa tornar o seu kernel mais pequeno e melhor. Um bom lugar para aprender acerca das pastas internas do seu computador são ficheiros em /proc como /proc/pci, /proc/interrupts, /proc/modules etc ...

Pelo momento não tente mexer em nada. Para o propósito desta experiência garanta que faz as seguintes alterações:

1.Tipo de Processador e Especificações: Escolha o Processador correcto com o qual está a trabalhar Pentium 2, 3, ou Intel Celeron como eu. Por exemplo, eu fiz o seguinte: Família de Processador: PPro/686MX, Máxima Memória Física: 1 GB, Emulação Matemática: Yes, MTRR: Yes, SMP: Yes.

2.Abra o diálogo de Filesystems e faça as seguintes alterações no mesmo: Por exemplo eu fiz: suporte fs DOS FAT: Yes(y), suporte fs MSDOS: Yes(y), UMSDOS: m, suporte VFAT(Windows 95) Yes(y), suporte fs NTFS (só de leitura): Yes(y), suporte fs (leitura-escrita) NTFS (PERIGOSO): No(n).
Após ter feito estas alterações, tenha a certeza que não alterou outras no processo. Todas estas alterações mencionadas acima são inofensivas e não fazem nenhum mal ao seu Kernel Linux existente.

3.Guarde e Saia do diálogo principal.

Passo 9: Depois faça um ls -al ainda no caminho: /usr/src/linux.

Passo 10: Estou certo que consegue ver um ficheiro chamado: "Makefile". É um ficheiro extremamente importante para este processo de compilação. Então tenha a certeza que faz uma salvaguarda deste ficheiro usando: cp Makefile Makefile.bak

Passo 11: Agora, faça: (ainda no directório /usr/src/linux) vi Makefile.

Passo 12: Vá para a linha EXTRAVERSION e altere-a para algo como isto, por exemplo eu alterei EXTRAVERSION=-22, para EXTRAVERSION="-22ghosh". Você é livre de o nomear como desejar.

Passo 13: Salve o ficheiro e saia do vi (opção :wq).

Passo 14: Todos os passos seguintes devem ser feitos: /usr/src/linux. Digite: make dep clean e prima enter.

Passo 15: Depois Digite: make bzImage modules. Isto deve demorar algum tempo, vá e beba uma bebida enquanto compila os ficheiros necessários. Eu normalmente faço uma sesta nesta altura, pois faço tudo isto a meio da noite.

Passo 16: Depois deste processo terminar, um ficheiro "bzImage" devia estar criado no directório /usr/src/linux/arch/i386/boot, vá até este directório e verifique se o ficheiro chamado "bzImage" foi ou não criado. SE E SÓ SE todos os passos da compilação foram executados correctamente e todas as opções que escolheu no make xconfig estão correctas, este ficheiro deve ser criado. Se você consegue encontrar este ficheiro, o que eu tenho a certeza que consegue bem, já se pode começar a divertir, pois já tem 75% da batalha ganha. Se você não consegue ver este ficheiro, lamento, mas deve ter feito um erro algures, faça uma pausa e comece de novo todos os passos desde o início como especificado. Tenho a certeza que terá sucesso.

Passo 17: Digite (ainda em /usr/src/linux): cp ./arch/i386/boot/bzImage /boot/vmlinuz-2.2.16-22ghosh e prima enter.

Passo 18: Digite, depois: cp System.map /boot/System.map-2.2.16-22ghosh
Apesar de não obrigatório eu sugeria-lhe que guardasse o ficheiro de configuração do Kernel (/usr/src/linux/.config) de maneira a ter uma referência para construir, posteriormente, Kernels sem ter de especificar tudo novamente. A janela com a interface gráfica (make xconfig) oferece a possibilidade de carregar um ficheiro de configuração. Para guardar um ficheiro de configuração digite:
cp /usr/src/linux/.config /boot/Config-2.2.16-22ghosh

Passo 19: Digite depois: make modules_install e prima enter. Deve ver todos os módulos a serem instalados num novo directório personalizado.

Passo 20: Digite depois: mkinitrd /boot/initrd-2.2.16-22ghosh.img 2.2.16-22ghosh

Passo 21: Digite depois: vi /etc/lilo.conf e adicione a seguinte entrada:

image=/boot/vmlinuz-2.2.16-22ghosh

label=GhoshKernel
initrd=/boot/initrd-2.2.16-22ghosh.img
root=/dev/hdc5
read-only

Passo 22: Guarde e Saia (:wq). Note que pode adicionar as entradas que desejar no ficheiro lilo.conf e a raiz (root) deve ser a raiz do seu sistema, na minha máquina, está no /dev/hdc5. Então insira a informação do seu próprio sistema. O comando
df | grep '/$'
dir-lhe-á qual o ficheiro raiz que o seu sistema tem. Note nas películas à volta da expressão a seguir ao grep.

Passo 23: Digite: /sbin/lilo -v -v

Passo 24: Leia toda a informação no ecrã. Se não houver erros, todos os trabalhos foram bem feitos. Parabéns!!!!

Passo 25: Faça reboot ao sistema digitando: /sbin/reboot ou /sbin/shutdown -r now.

Passo 26: No ecrã de inicio, prima Tab (ou Control-X, se está a usar o ecrã de inicio do LILO) e pode ver a entrada: "GhoshKernel" juntamente com outras entradas preexistentes.

Passo 27: Seleccione o GhoshKernel. O Kernel personalizado totalmente funcional, será visto a iniciar o seu sistema. Então você tem um Kernel personalizado totalmente funcional a funcionar no seu sistema.

O Resultado

Observe o processo de arranque, as mensagens no ecrã e verifique os erros. Mais tarde verifique com o comando dmesg as mensagens do ficheiro /var/log/boot.log. Se não há erros, o kernel trabalha bem para o seu hardware. Muito Bem!!!

Após fazer login digite: uname -a e prima enter. Você pode ver a seguinte entrada no ecrã: 2.2.16-22ghosh seguida da data de compilação e mais alguma outra informação. O que prova que está a correr um kernel personalizado. E é tudo. Lembre-se que pode ter as versões do Kernel que gostar, bem como em número. No caso de isto não trabalhar ou você encontrar problemas, certifiquem-se de me mandar um mail para auspicious_blessingsindia@hotmail.com com questões e sugestões. Gostaria de vos ouvir e ajudar e espero que este artigo ajude toda a gente que quer correr um kernel personalizado totalmente funcional.
Cuidem-se.
Subhasish Ghosh