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:
- 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:
- tar -xvzf linux-2.4.26.tar.gz
ou
- 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:
- 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:
- 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:
- 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 é:
- 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:
- 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á:
- 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:
- make modules
9) No penúltimo passo, vamos instalar os módulos que foram previamente compilados no passo anterior:
- 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:
- cd /boot # cp /usr/src/linux/arch/i386/bzImage .
Passos para a configuração do lilo:
- 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:
- 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:
- installpkg kernel-source-2.6.13-noarch-1.tgz
- installpkg kernel-modules-2.6.13-i486-1.tgz
- 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:
- 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:
- 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:
- make
Depois de muitos minutos...
- make modules
em seguida:
- make modules_install
e para finalizar:
- 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:
- 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:
- apt-get update
Atualizando toda a distro:
- 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:
- 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
- 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:
- cd /usr/src
Download dos fontes:
- wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.10.tar.bz2
Descompactando:
- tar -xvjf linux-2.6.10.tar.bz2
Criando o link simbólico:
- ln -s linux-2.6.10 linux
Configurando e compilando o kernel
Entre no diretório dos fontes:
- cd /usr/src/linux
Para o menu no modo texto digite:
- make menuconfig
No modo gráfico:
- 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):
- 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:
- cd ..
(supondo que você esteja no diretório /usr/src/linux)
- 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:
- vim /etc/lilo.conf
- sendo no hda ele será instalado no mbr do seu disco agora
- se deixar com está hdax será instalado na # partição onde
- está instalado o sistema onde x cnrresponde a partição
- que está instalado o seu sistema
boot=/dev/hda
- root é onde está montado a sua partição raíz do seu sistema,
- substitua o 2 por sua partição correspondente e ele já terá
- adicionado a partição correta
root=/dev/hda2
- Resolução de vídeo
vga=normal
- não é necessário modificar o resto, desde que não tenha outro
- 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:
- 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:
- reboot
Faça o login e se tudo der certo é só conferir a nova versão do seu kernel:
- 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.
- 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:
- apt-get install libncurses5-dev
No caso do Xconfig:
- 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:
- 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
- ln -s linux-2.6.13.2 linux
- 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):
- cp /boot/config-2pressione TAB .config
- 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:
- make-kpkg --initrd kernel_image
Esta parte irá demorar. Ao terminar, saia do diretório atual:
$ cd ..
E instale seu kernel:
- 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:
- 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.