FORUM DARKERS

Tecnologia & Informática => Sistemas Operacionais => Linux => Topic started by: nibbles on 10 de June , 2006, 01:50:34 PM

Title: (tutorial) compilando o kernel.
Post by: nibbles on 10 de June , 2006, 01:50:34 PM
Eae galera, este é meu primeiro tutorial então sejam bonzinhos comigo :~
   Eu sou o Nibbles, muito prazer.

   Caso queiram copiar algo para outro lugar apenas coloque a fonte que está tudo certo :)
   Se acharem algum erro sintam-se à vontade para me dizer que corrigirei com a maior boa vontade e colocarei os devidos

créditos :D

   Irei ensiná-los como compilar uma nova versão de kernel, sempre bom dizer que isto é uma ação totalmente segura e

reversível, então pode fazer quantas vezes for necessário e nenhuma configuração será perdida pois apenas mudaremos o

'coração' do sistema, o corpo continuará o mesmo :D, no caso será a última versão estável, a versão 2.6.16.20 que até o

momento em que esta pobre pessoa vos escreve é a última versão :)
   Primeiro pegue-a em www.kernel.org (http://www.kernel.org) , este é o site oficial, você pode encontrar várias versões do kernel neste site

inclusive as que estão em teste ainda =)

   Vamos agora para a parte que nos convém. Após o download, coloquem o arquivo em /usr/src entrem na pasta para

descompactar os fontes, no caso o arquivo é um .bz2 então o comando será:

..:: /usr/src # tar xfjv linux-2.6.16.20.tar.bz2

   Será criada uma pasta de nome 'linux-2.6.16.20', antes de qualquer coisa apaguem o link chamado 'linux' que se

encontra nesta pasta e que aponta para a pasta do kernel antigo (oque está em uso no momento) e criem um soft link de mesmo

nome para a pasta que acabou de ser criada, resumindo, digite os seguintes comandos :)

..:: /usr/src # rm linux
..:: /usr/src # ln -s linux-2.6.16.20 linux

   Agora vem a parte de configuração do novo kernel, lembrando que em caso de algo der algo errado, esta  é uma ação

totalmente reversível então fique tranquilo :) primeiro entre na pasta que foi criada no momento da descompactação, você

poderá fazer as configurações em modo gráfico ou em modo texto, se for usar o modo gráfico esteja no mesmo (lol) os comandos

são os seguintes, para modo texto e gráfico, respectivamente:

..:: /usr/src/linux # make menuconfig                              // modo texto
..:: /usr/src/linux # make xconfig                                 // modo gráfico

   Esta parte normalmente confunde um pouco, o segredo é conhecer bem a máquina em que o kernel rodará e ir com bastante

calma, o ideal é ter tempo de sobra nesta parte, revisando quantas vezes forem necessárias até que fique de acordo, no final

você não se arrependerá, se ocorrer tudo certo o computador ficará mais rápido na inicialização, no momento de uso em si, e

tudo mais.
   
   Você terá três modos em cada opção de configuração:

   - Built-in [li]: a opção será compilada junto ao kernel e carregada no momento em que ocorrer a descompactação do

kernel no boot.
   - Module [M]: a opção será compilada como módulo e estará a sua disposição, que poderá ser inciada pelo comando

'modprobe [módulo]' (sem os colchetes)
   - No [ ]: seria a opção não será compilada a com o kernel, obviamente não será sendo carregado no boot e nem estará a

disposição para ser carregado caso precise.

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

    Gostaria de fazer algumas ressalvas aqui para o básico da configuração, estas ressalvas não são minhas então estou

colocando a fonte.
(fonte: http://www.vivaolinux.com.br/artigos/ve ... 4&pagina=3 (http://www.vivaolinux.com.br/artigos/verArtigo.php?codigo=2284&pagina=3) )

   -> Load module Support - Carregamento automático dos módulos que você utilizará;
    -> Processador Type - Selecione o tipo do seu processador (não selecione superior) Exemplo: PIII ou AMD; 
   -> Network Support - Selecione a sua placa de rede [li] e coloque alguns drivers mais comuns como módulo[M];
    -> Sound - Selecione sua placa de som [li] e coloque alguns drivers mais comuns como módulo [M];    
    -> File Systems - Selecione suporte a ext2 e ext3 e se tiver reiserfs também;
    -> Graphic Support - Ative o suporte a frame buffer e selecione VGA-16 color e VESA VGA [li];
    -> Console Display Driver - Ative o VGA TEXT CONSOLE e VIDEO MODE SELECTION SUPORTE;
    -> Frame Buffer Console Support - Selecione COMPILED-IN FONT e marque as as opções 8x8 8x16. Sem essas opções, quando

você liga o computador não aparecerá nada no console;
    -> Logo Configuration - Ative todas as opções;
    -> Paralell Port - Selecione ieee1284, suporte a ECP e EPP para impressoras

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

   Depois de fazer as configurações e de salva-las o resto é fácil. Iremos agora para a compilação em si, ainda em

/usr/src/linux iremos fazer a sequência de comandos:

..:: /usr/src/linux # make
..:: /usr/src/linux # make modules
..:: /usr/src/linux # make modules_install
..:: /usr/src/linux # make bzImage                             // atenção para o 'I'  maiúsculo

   Agora a imagem do kernel já está pronta para ser usada \o/
   Vamos copiá-la agora para o setor de boot com outro nome para que a imagem do kernel antigo continue intocável, para

seguir o padrão(não é necessário, é só para seguir o padrão mesmo) irei copiar esta nova imagem do kernel com o nome

'vmlinuz2', iremos copiar e mudar o nome ao mesmo tempo com o seguinte comando:

..:: /usr/src/linux # cp /usr/src/linux-2.6.16.20/arch/i386/boot/bzImage /boot/vmlinuz2

   Vamos criar as entradas no lilo agora para que possamos escolher no momento do boot este novo kernel, mas caso algo

tenha saido errado (oque é extremamente normal) ainda tenhamos o kernel antigo =)
   A minha ficou assim:

 # Linux slackware - kernel 2.6.16.20 - test
  image = /boot/vmlinuz2
  root = /dev/hda1
  label = slack_2.6.16
  read-only
 # Linux bootable partition config ends

   Como devem ter percebido eu uso Slackware :)
   Agora é só rebootar a máquina e escolher o novo kernel no lilo e rezar para que tudo tenha dado certo huauhauha :D
   Caso não tenha dado certo, o comando para limpar as configurações e tentar denovo é:

..:: /usr/src/linux # make Clean
..:: /usr/src/linux # make mrproper

FIM x)


Tutorial escrito por Nibbles.
09/06/06

greetZ para os lostminders :*
Title: Re: (tutorial) compilando o kernel.
Post by: Anonymous on 10 de June , 2006, 06:27:28 PM
Veri Gudi

Não tinha visto ainda tuto de copilar kernel 2.6xx

Muito bom mesmo.

DeamoN.Cheat
Title: Re: (tutorial) compilando o kernel.
Post by: Shady on 11 de June , 2006, 12:18:47 AM
Nao entendo de linux, mas pelo trabalho e originalidade ganhou um ponto.
Title: Re: (tutorial) compilando o kernel.
Post by: Anonymous on 12 de June , 2006, 03:51:14 AM
boa parabens