imprimir
compilando em 10 etapas (slacklife)


http://www.slacklife.com.br/article.php?sid=1370


Postado por grejaoo
Contribuição de grejaoo emSunday, February 13 @ 17:58:37 BRST

Esse teste foi feito utilizando o Slackware 10.0 com a versão do kernel 2.4.26, onde precisei habilitar no kernel um módulo de uma determinada placa de rede, mas pode ser utilizado, nos seguintes casos.

Atualizar a versão do kernel;
Habilitar módulos;
Após aplicar patches (nos casos que seja necessário a recompilação);
Depois de instalado o POM (Patch-O-Matic) do Iptables;
Ou em qualquer modificação onde seja preciso recompilar.

Obtendo os fontes do kernel


Certo, vamos ao que interessa primeiro. Vamos partir do princípio que vocês não tenham os fontes do kernel na máquina, pois bem, existem duas maneiras de obter estes fontes:
Uma é no CD do próprio Slackware, na pasta "K" dentro do diretório "slackware";
No próprio site do kernel:
http://www.kernel.org/pub/linux/kernel/v2.4/
E finalmente por algum programa de atualização do Slackware, como por exemplo o SWARET, que pode ser encontrado em http://swaret.sourceforge.net.

De posse dos fontes do kernel, se você pegou no CD da distro, é só instalar os fontes com o comando installpkg da seguinte forma:
  1. installpkg nome_do_pacote.tgz


Se você utilizou o SWARET, ele automaticamente baixa o pacote e instala, nos dois casos o pacote instalado vai para o diretório /usr/src/, dentro deste criando um diretório chamado "linux-(versão do kernel)" e um link simbólico chamado "linux". Um bom tutorial explicando como usar o SWARET vocês encontram em: Seu Slackware atualizado com SWARET

Já se você baixou no próprio site do kernel (kernel.org), vá para a pasta onde foi feito o download do arquivo e mova-o para a pasta /usr/src/, entre no diretório e use o comando abaixo para descompactar o pacote:
  1. tar -xvzf linux-2.4.26.tar.gz

ou
  1. tar -jxvf linux-2.4.26.tar.bz2

Preparando-se para o processo de compilação


Agora vem a parte boa, vamos começar o processo de compilação ou recompilação do kernel, independente do que você irá fazer, você vai precisar dos fontes descompactados do kernel, os passos abaixo servirão para qualquer versão do kernel 2.4.x, vamos lá para os passos:

1) Entre no diretório /usr/src/linux/;
2) Dentro deste diretório você precisa pegar o arquivo "config-ide-(versão do kernel)" e colocá-lo dentro do diretório /usr/src/linux/, que é onde você está neste momento:
  1. cp /boot/config-ide-(versão do kernel) .

3) Renomeie o arquivo que foi acabado de ser copiado de "config-ide-(versão do kernel)" para .config:
  1. mv config-ide-(versão do kernel) .config

4) Agora vamos pegar as informações contidas neste arquivo e vamos gravar nos fontes do kernel:
  1. make oldconfig

OBS) Caso queira "zerar" toda configuração dos fontes do kernel, execute o comando "make mrproper" antes do comando acima.

5) Ao final do processo você será indagado a executar um comando para verificar as dependências. O comando é:
  1. make dep

Depois de ter executado os dois comandos acima, seus fontes estão idênticos ao kernel instalado na sua máquina. Agora vamos partir para a compilação propriamente dita do seu novo kernel.

A compilação propriamente dita


6) Acesse a interface de configuração do kernel com o comando:
  1. make menuconfig

Uma tela "gráfica" será aberta e você terá acesso as configurações do seu kernel.

OBS) A título de conhecimento, já que não sei o nível dos usuários que vão ler este artigo, no momento de escolher os módulos, as seguintes informações podem ser levadas em consideração:
Para selecionar um módulo, utilize a barra de espaço;
No momento da seleção poderá aparecer as seguintes imagens:

-> O módulo não está habilitado
* -> O módulo vai ser configurado com built-in
M -> O módulo vai ser configurado como módulo




Quando digo que o módulo vai ser compilado com built-in, este será compilado dentro do kernel, não havendo assim a necessidade de usar comandos para levantar os módulos configurados desta maneira, mas não é uma prática muito boa, já que pode deixar a imagem do kernel muito pesada. Já se você escolher compilar como módulo, havendo a necessidade de utilizá-lo, será preciso levantá-lo manualmente, procedendo da seguinte maneira:
modprobe

Ou adicionando o comando acima no final do arquivo /etc/rc.d/rc.modules.

Depois de ter escolhido os módulos a serem compilados no seu novo kernel, saia da tela de configuração e salve as alterações que foram feitas por você.

Saindo desta tela o Linux pedirá pra você executar um comando e vai lhe informar alguns. Dentre eles você encontrará o "make bzImage", esse será o nosso sétimo passo.

7)agora você executará:
  1. make bzImage

OBS) Note que o "i" do Image é maiúsculo, ele tem que ser assim mesmo. Deste momento em diante, o processo se torna mais lento e dependendo da máquina pode demorar horas.

8) Nosso oitavo passo é compilar os módulos referentes ao novo kernel com a nova configuração, onde o comando a ser executado é o seguinte:
  1. make modules

9) No penúltimo passo, vamos instalar os módulos que foram previamente compilados no passo anterior:
  1. make modules_install

Configurando o lilo


10) Para finalizar a instalação do novo kernel, vamos ter que pegar a imagem gerada com comando "make bzImage", que fica no arquivo /usr/src/linux/arch/i386/bzImage e colocá-la dentro do diretório /boot. Depois disso vamos configurar o nosso lilo para poder fazermos a chamada do nosso kernel no boot, os passo serão descritos abaixo.

Passos para a copia do arquivo para o diretório /boot:
  1. cd /boot # cp /usr/src/linux/arch/i386/bzImage .

Passos para a configuração do lilo:
  1. vi /etc/lilo.conf


E adicionar as seguintes linhas:
image = /boot/vmlinuz root = /dev/hda1 label = Linux # mude o nome para um de sua escolha (sem espaço) read-only


Salve o arquivo e saia. No prompt digite o comando:
  1. lilo -v

Pronto, agora é só reiniciar sua box Linux e no boot do lilo escolher a opção referente ao nome dado por você em sua configuração.

Beleza pessoal, espero ter ajudado com esse artigo sobre a compilação do kernel no Slackware, sempre lembrando, esse processo poderá ser usada sem nenhum trauma em algumas outras distros.
Gostaria de agradecer a algumas pessoas que pra mim são muito importantes, acima de tudo vem os meus PAIS, que não tem nem um pouco de paciência em me ver acordado de madrugada e ficam mandando eu dormir toda hora :D, também ao meu amor, MANOELA CARINA você é especial pra mim.

Rafael Cristian
rafaelcristian at hotmail.com

[]´s a todos


Fonte: Vivaolinux.com.br









SLACKWARE

Compilando o kernel 2.6.13 no Slackware 10.2
Autor: José Lino de Menezes Neto <joselinoneto at gmail.com>
Data: 05/11/2005

Introdução

Olá comunidade,

Venho com esse meu primeiro artigo ajudar quem queria testar o seu Slackware com o kernel 2.6.13.

Vasculhando a Internet, nunca consegui achar um roteiro de procedimentos básicos para conseguir rodar um kernel novo, sempre fui buscando pedaços de informações em várias fontes e depois de tanto apanhar cheguei aos passos seguintes, que são muito simples para conseguir instalar o novo.

Aguardo sugestões e críticas.


Instalando os fontes

No segundo CD do Slackware 10.2 encontram-se os fontes do novo kernel. Eles se encontram no diretório "linux-2.6.13".

Para instalar os fontes siga os seguintes passos:

1. Monte a unidade de CD;

2. Entre no diretório indicado;

3. Com o comando "installpkg", instale os seguintes pacotes:

* kernel-source-2.6.13-noarch-1.tgz
* kernel-modules-2.6.13-i486-1.tgz
* alsa-driver-1.0.9b_2.6.13-i486-1.tgz


Exemplo:

  1. installpkg kernel-source-2.6.13-noarch-1.tgz
  2. installpkg kernel-modules-2.6.13-i486-1.tgz
  3. installpkg alsa-driver-1.0.9b_2.6.13-i486-1.tgz


Mantendo cópia do kernel anterior

Pode acontecer de você ao compilar o kernel novo faça alguma coisa errada e receba aquela mensagem básica: "Kernel Panic".

Para garantir a versão anterior para qualquer alteração, faça os seguintes passos antes mesmo de mexer com o novo:

1. Abra o arquivo de configuração do LILO (gerenciador de boot) e adicione as seguintes linhas ao final do arquivo. Quando adicionar no final do arquivo, o kernel padrão será o 2.4. Caso queria colocar o novo como padrão, insira antes das configurações anteriores:

...
image = /boot/2.6.13/vmlinuz
root = /dev/hda1
label = Linux-2.6.13
read-only
...

2. Observe que no "image" existe um diretório "/boot/2.6.13/". Esse diretório não existe, logo é necessário criar o mesmo logado como root:

  1. mkdir /boot/2.6.13/

3. Como o diretório foi criado e também foi indicado ao LILO o lugar da imagem, vamos agora mexer com os arquivos do novo kernel. Á necessário editar o arquivo Makefile, que fica dentro do diretório /usr/src/linux-2.6.13/.

Dentro desse arquivo procure a seguinte linha:

export INSTALL_PATH ?= /boot

e altere para:

export INSTALL_PATH ?= /boot/2.6.13/

Com essa alteração, após a compilação os novos arquivos serão gerados no diretório indicado.


Configurações genéricas

Depois das fontes instaladas, de ter sido feito os procedimentos para não perder o kernel anterior, é hora de baixar do site do Slackware as configurações genéricas que garantem quase 100% de compatibilidade com os hardwares da plataforma i486.

Á necessário baixar esse arquivo, pois o source que vem no CD não é alterado, ou seja, é original da forma que o Sr. Linus o publicou.

Para baixar esse arquivo, tente clicando no link abaixo ou então nos mirrors de download procure no diretório "slackware-10.2/testing/source/linux-2.6.13/config-2.6.13":

ftp://ftp.slackware-brasil.com.br/.../linux-2.6.13/config-2.6.13

Salve esse arquivo dentro do diretório que os fontes do novo kernel se encontra: /usr/src/linux-2.6.13/.



Compilando

Se você chegou até aqui sem problemas, está quase perto do final.

Vamos abrir o menu de configuração:

  1. make menuconfig

Agora vamos carregar aquelas configurações que baixamos do site do Slackware. Na penúltima opção do menu temos:

"Load an Alternate Configuration File"

Quando abrir a outra caixa, altere o texto para o nome do arquivo conforme salvou: config-2.6.13

Basicamente já estamos prontos para compilar o kernel e fazê-lo funcionar normalmente.

Particularmente altero duas opções para melhorar meu desempenho:

* Altero o modelo do processador para o modelo de acordo com meu PC;
* Habilito suporte ao ReiserFS como built-in no kernel e não como modulo.


Detalhes das inúmeras opções do kernel não é meu objetivo aqui nesse meu primeiro artigo.

Após ter terminado suas modificações, saia do menu e claro, salve suas alterações. Quando voltar ao console vamos ao primeiro passo:

  1. make

Depois de muitos minutos...

  1. make modules

em seguida:

  1. make modules_install

e para finalizar:

  1. make install

Bom, cheguei ao fim. Acredito que seguindo esses passos todo mundo consiga compilar o kernel 2.6.13 no Slackware 10.2. Foi assim que eu fiz e deu certo!






















Debian com kernel 2.6.10 - passo a passo
Autor: Sebastião Relson Reis da Luz <sebastiaorelson at msn.com>
Data: 31/01/2005

Introdução

Após os sistema básico instalado, será necessário que algumas ferramentas adicionais sejam instaladas para compilar o novo kernel.

No exemplo a seguir usei o Debian Woody com o sistema básico instalado. Vamos executar as seguintes tarefas:

1. Atualizar o sistema;
2. Baixar os pacotes necessários;
3. Baixar o kernel;
4. Compilar/Configurar o kernel;
5. Configurar o Boot Manager.



Atualizando o sistema

Para evitar pendências quando for compilar o kernel com pacotes sem suporte para a versão 2.6.x, recomendo atualizar o sistema para Debian Sarge (3.1) ou Sid. Meus fontes do apt são os seguintes:

  1. vim /etc/apt/sources.list

deb http://ftp.br.debian.org/debian/ unstable main contrib non-free
deb-src http://ftp.br.debian.org/debian/ unstable main non-free contrib

Se você estiver usando o Debian em um servidor, é recomendável usar a versão stable (apenas troque no /etc/sources.list unstable por stable).

Atualizando o sistema

Atualizando a lista de pacotes:

  1. apt-get update

Atualizando toda a distro:

  1. apt-get dist-upgrade

Depois de terminado o upgrade do sistema e feito as configurações do debconf, não esqueça de reativar as configurações do lilo, pois podem ocorrer problemas na reinicialização do sistema. Para isso digite:

  1. lilo


Instalando os pacotes necessários

* wget
* bzip2
* binutils
* module-init-tools
* libncurses*
* kernel-package
* libc6-dev
* gcc
* make
* linux-kernel-headers
* dpkg-dev
* initrd-tools
* cramfsprogs
* dash


  1. apt-get install wget bzip2 binutils module-init-tools libncurses* kernel-package libc6-dev gcc make linux-kernel-headers dpkg-dev initrd-tools cramfsprogs dash

Outros pacotes adicionais também serão instalados.


Baixando os fontes do kernel

Mude para o diretório /usr/src:

  1. cd /usr/src

Download dos fontes:

  1. wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.10.tar.bz2

Descompactando:

  1. tar -xvjf linux-2.6.10.tar.bz2

Criando o link simbólico:

  1. ln -s linux-2.6.10 linux


Configurando e compilando o kernel

Entre no diretório dos fontes:

  1. cd /usr/src/linux

Para o menu no modo texto digite:

  1. make menuconfig

No modo gráfico:

  1. make xconfig

Pra você aproveitar sua configuração do kernel anterior, no menu escolha a opção "Load Alternate Configurate File" e digite no modo texto:

/boot/config-2.4.18-bf2-4

Ou então no gráfico em:

File > Load > /boot/config-2.4.18-bf2-4

que é o arquivo de configuração padrão do woody com a instalação do kernel 2.6.18-bf2.4.

Salve as configurações e saia.

Gerando a imagem do kernel (um pacote .deb):

  1. make-kpkg -initrd kernel_image

Finalizado o processo, vamos instalar o seu "personal kernel". Um binário do seu kernel com suas configurações foi criado, agora é só instalar o pacote com o dpkg. Vá pra o diretório /usr/src:

  1. cd ..

(supondo que você esteja no diretório /usr/src/linux)

  1. dpkg -i kernel-image.x.deb

(digite dpkg -i kernel-image e tecle TAB que ele completa o resto :-), você tem que estar no diretório /usr/src/)

Será mostrada uma mensagem chamando sua atenção para a instalação da imagem do kernel e no final tem:

Do you want to stop now? Y/n escolha n pra continuar


Configurando o boot manager (lilo)

Agora virão as configurações do seu boot manager, no meu sistema é o lilo, mas creio que a semântica dos outros sejam a mesma.

Em um momento da instalação ele perguntará se você deseja que as configurações do lilo sejam feitas com o arquivo de configuração já existente no seu sistema (/etc/lilo.conf), então não confirme, pois ele está configurado para o seu kernel anterior.

A próxima etapa será escolher uma nova configuração, daí digite "yes". A próxima pergunta é se será instalado no seu disco, confirme com "yes" também. A configuração do lilo vai ficar mais ou menos assim:

  1. vim /etc/lilo.conf

  1. sendo no hda ele será instalado no mbr do seu disco agora
  2. se deixar com está hdax será instalado na # partição onde
  3. está instalado o sistema onde x cnrresponde a partição
  4. que está instalado o seu sistema
boot=/dev/hda

  1. root é onde está montado a sua partição raíz do seu sistema,
  2. substitua o 2 por sua partição correspondente e ele já terá
  3. adicionado a partição correta
root=/dev/hda2

  1. Resolução de vídeo
vga=normal

  1. não é necessário modificar o resto, desde que não tenha outro
  2. sistema instalado
compact
delay=20
image=/vmlinuz
label = Linux
read-only
initrd=/initrd.img

E observe se no seu diretório / existe o arquivo initrd.img, se não existir, crie um hard link para /boot/initrd.img-2.6.10:

  1. ln -s /boot/initrid.img-2.6.10 /initrd.img

Dica: Edite o arquivo /etc/lilo.conf retirando ou comentando a linha "compact", pois com essa opção não é mostrada nenhuma mensagem, a tela fica limpa até que a inicialização do sistema esteja completa e isso pode ser assustador, pois podemos pensar que o processo não deu certo. Depois da edição ative as novas configurações com o comando "lilo".

Reinicie o sistema:

  1. reboot

Faça o login e se tudo der certo é só conferir a nova versão do seu kernel:

  1. uname -a


http://www.vivaolinux.com.br/artigos/verArtigo.php?codigo=2039





Vou demonstrar como fica fácil o usuário compilar um kernel do "jeitinho" Debian. Muito mole!

Primeiro devemos obter um pacote essencial no processo: o kernel-package. Sem ele não será possível a compilação.

  1. apt-get install kernel-package

Antes da compilação, teremos de escolher o método que mais nos agrada para configurar os parâmetros do kernel. Existem dois modos: Menuconfig e Xconfig. Explicando rapidamente, o Menuconfig é indicado para pessoas mais experientes que já sabem o que desejam do kernel e é apresentado em modo texto. Já o Xconfig é bem mais intuitivo, nos dá explicações mais à mostra sobre os módulos e para que servem. Indico este último pela clareza com que se apresenta na tela, embora ambos façam exatamente a mesma coisa.

Se for usar o Menuconfig, instale:

  1. apt-get install libncurses5-dev

No caso do Xconfig:

  1. apt-get install libqt3-dev

OBS: Algumas dependências serão instaladas automaticamente.

Vamos escolher o kernel a ser compilado. Visite o site:

* http://kernel.org/


Logo na entrada vemos o último kernel estável disponível, sendo que este você deve buscar. No momento que escrevi esta dica era o 2.6.13.2.

Pule para a página de download do kernel:

* http://www.kernel.org/.../v2.6/


E faça o download do kernel clicando em cima do arquivo linux-2.6.13.2.tar.bz2.

Descompacte-o em /usr/src com o comando:

  1. tar -zxvf linux-2.6.13.2.tar.bz2 -C /usr/src

Um diretório linux-2.6.13.2 foi criado. Agora crie um link para este diretório, e depois entre nele:

$ cd /usr/src
  1. ln -s linux-2.6.13.2 linux
  2. cd linux

OBS-2: Se você quiser manter as configurações atuais do seu kernel no que está prestes a compilar, faça o seguinte (senão pule para o próximo comando):

  1. cp /boot/config-2pressione TAB .config
  2. make xconfig

Uma tela com os parâmetros do kernel surgirá. Clique em - File - Load - e carregue aquele arquivo de configuração antigo (caso tenha o feito). Esta parte é importante, pois você deve saber o que fazer e conhecer seu hardware, afim de não carregar drivers desnecessários ou esquecer os fundamentais para o funcionamento da máquina, enfim, não tenha medo de errar, o máximo que acontecerá é perder tempo, já que seu kernel funcional vai continuar na máquina e se errou algo, pode apagar este kernel do seu HD tão facilmente como apagaria um programa comum. Terminado, salve e feche.

Crie um pacote com seu novo kernel:

  1. make-kpkg --initrd kernel_image

Esta parte irá demorar. Ao terminar, saia do diretório atual:

$ cd ..

E instale seu kernel:

  1. dpkg-i kernel-image2.6.13.2.deb

Pronto! Nem nas configurações do gerenciador de boot terá que mexer, pois o Debian faz para você. Reinicie seu computador e verifique se ocorrerá algum erro, caso queira retirar o kernel do PC:

  1. apt-get remove --purge kernel-image2.6.13.2

Também pode apagar o download que fez e a pasta linux-2.6.13.2, pois não serão mais usados.

Tranquilo, não?

Até mais,
Percival.

Última alteração: 08/03/2006 às 01:35, por: machado