Responder 
 
Avaliação do Tópico:
  • 0 Votos - 0 Média
  • 1
  • 2
  • 3
  • 4
  • 5
[TUTORIAL] Compilar kernel 2.6.32.21 no Debian Lenny
31/08/2010, 21:04 (Resposta editada pela última vez em: 04/06/2011 13:26 por renatov.)
Resposta: #1
[TUTORIAL] Compilar kernel 2.6.32.21 no Debian Lenny
Acabei de compilar o kernel 2.6.32.21 no Debian Lenny e escrevi um tutorial para quem quiser fazer o mesmo. Basta seguir os passos que dará certo.

Em primeiro lugar, é preciso ter alguns pacotes para conseguir compilar:

Código:
# aptitude install kernel-package bzip2 module-init-tools initramfs-tools procps fakeroot zlib1g-dev

Dependendo da ferramenta que você vai querer utilizar para configurar os módulos do kernel, alguns pacotes adicionais precisam ser baixados.

Para menuconfig:
Código:
# aptitude install libncurses5-dev

Para gconfig:
Código:
# aptitude install libgtk2.0-dev libglib2.0-dev libglade2-dev

Para xconfig (mais recomendável):
Código:
# aptitude install libqt3-mt-dev

O próximo passo é fazer download do kernel na versão 2.6.32.21, que é a última versão estável para a data de hoje. Escolha a imagem apropriada para sua arquitetura:

http://www.kernel.org/

Descompacte o arquivo linux-2.6.32.21.tar.bz2 e crie um link simbólico:

Código:
# tar xvjf linux-2.6.32.21.tar.bz2 -C /usr/src
# ln -sf linux-2.6.32.21 linux

Existem arquivos pré-configurados pra compilação do kernel, feitos especificamente pro Debian. Acesse o site abaixo e faça download do arquivo para a versão 2.6.32.21 na arquitetura da imagem que baixou:

http://merkel.debian.org/~jurij/

Descompacte o arquivo de configuração que você baixou, renomeie-o para .config e mova-o para a pasta criada pelo link simbólico:

Código:
# gunzip config-2.6.32-5-686.gz
# mv config-2.6.32-5-686 /usr/src/linux/.config

--------------------------------------------------------------------------------------------------------------------------------

EDIT: O site "Debian Official Kernel Configuration files" temporariamente saiu do ar. Por isso, para compilar um novo kernel você pode simplesmente utilizar o arquivo .config do kernel atual em uso pelo seu sistema. Para isso, apenas copie o arquivo existente em /boot para a pasta da compilação que você está fazendo:

Código:
# cp /boot/config-[pressione TAB] /usr/src/linux/.config

--------------------------------------------------------------------------------------------------------------------------------

Entre na pasta criada pelo link simbólico e personalize a configuração do seu kernel:

Código:
# cd /usr/src/linux
# make xconfig

Para a maioria dos módulos, existem três valores que você pode colocar: Y/M/N (no modo gráfico do xconfig, respectivamente será um check, uma bolinha ou um espaço vazio). Os módulos especificados como Y serão carregados junto com o kernel. Os que forem especificados como M, não serão carregados automaticamente com o kernel, mas poderão ser carregados manualmente pelo usuário (usando modprobe, por exemplo). Já os módulos como N, não serão compilados e, por isso, não serão carregados com o kernel e também não poderão ser carregados pelo usuário.

Uma dica aqui pra ver quais módulos seu sistema precisa é verificar quais módulos estão atualmente carregados, usando o comando lsmod num terminal. Procure esses módulos com ferramenta de busca do xconfig e verifique se todos estão especificados ao menos como M (bolinha). De maneira geral, vá fuçando, lendo o help e usando o google. Não precisa ter medo de fazer besteira, o máximo que vai acontecer é ter que compilar de novo, com outra configuração.

Recomendo que se especifique um nome para a imagem que você está compilando, para ficar mais organizado. Coloque a data de compilação ou alguma palavra para você saber do que se trata. Para isso, vá em General setup >> Local version e preencha com a data ou qualquer outra coisa.

Também acho interessante habilitar suporte a frame buffer. Vá em Device Drivers >> Graphics support >> Support for frame buffer devices e habilite "VGA 16-color graphics support" como M (bolinha) e "VESA VGA graphics support" como Y (check). Em seguida, vá em Device Drivers >> Graphics support >> Bootup logo e habilite as três opções. Isso vai colocar um pinguim no seu boot =]

Quando você terminar, salve as configurações File >> Save, e feche o xconfig. Em teoria, está tudo pronto pra compilar, mas se você tentar compilar agora, muito provavelmente vai receber o seguinte erro:

lguest.c:21:25: error: sys/eventfd.h: No such file or directory
lguest.c: In function ‘create_thread’:
lguest.c:1027: warning: implicit declaration of function ‘eventfd’
make[1]: *** [lguest] Error 1


Para que isso não aconteça (ou para corrigir o erro, caso você já tenha tentado compilar):

Código:
# gedit /usr/src/linux/Documentation/lguest/Makefile

Altere a entrada:

all: lguest

para

all:

Ou seja, remova a palavra lguest, salve e feche. Agora sim, é só compilar e esperar.

Código:
# make-kpkg --initrd kernel_image

Ao final do processo (que pode demorar muitos minutos, dependendo do seu computador e da quantidade de coisa que precisa ser compilada), uma imagem terá sido gerada em /usr/src. Caso você não tenha especificado nada em General setup >> Local version, o nome dela será linux-image-2.6.32.21_2.6.32.21-10.00.Custom_i386.deb. Se especificou, haverá também a data ou alguma outra coisa no nome do arquivo.

Por fim, agora é só lidar com esse arquivo como um pacote .deb qualquer. Para instalar o novo kernel,

Código:
# dpkg -i linux-image-2.6.32.21_2.6.32.21-10.00.Custom_i386.deb

Pronto! Seu kernel 2.6.32.21 foi instalado e está pronto para ser usado. Se futuramente você precisar remover esse kernel, basta removê-lo como você removeria qualquer outro pacote:

Código:
# aptitude purge linux-image-2.6.32.21_2.6.32.21-10.00.Custom_i386

Se você usa lilo, adicione a entrada para o novo kernel manualmente. Se você usa grub legacy ou grub2, não precisa fazer absolutamente nada, na próxima vez que você ligar o computador vai haver uma nova entrada para o kernel que você acabou de instalar.

Caso você tenha habilitado a opção Boot logo, pro pinguim aparecer é só especificar um modo vga nos parâmetros de inicialização de kernel. Pra fazer isso no grub, é só acrescentar vga=XXX na linha referente ao kernel. Os modos vga disponíveis são esses aqui, veja a tabela:

http://a.imageshack.us/img828/8143/vgamodes.png

Eu uso vga=795. Minha entrada no menu.list do grub é assim:

title Debian GNU/Linux, kernel 2.6.32.21
root (hd0,0)
kernel /boot/vmlinuz-2.6.32.21 root=/dev/sda1 ro quiet vga=795
initrd /boot/initrd.img-2.6.32.21


Bom, é isso aí pessoal! Deu tudo certo por aqui. Se vocês tiverem algum problema, postem aí. t+

"Vamos tirar a barriga, senhor Barba? Digo..."

Debian Jessie | Usuário #517613
Encontrar todas as respostas deste usuário
Citar esta mensagem em uma resposta
31/08/2010, 21:21
Resposta: #2
Re: [TUTORIAL] Compilar kernel 2.6.32.21 no Debian Lenny
Bem interessante, acho que vou testar no Squeeze.
Encontrar todas as respostas deste usuário
Citar esta mensagem em uma resposta
31/08/2010, 21:54
Resposta: #3
Re: [TUTORIAL] Compilar kernel 2.6.32.21 no Debian Lenny
Testa sim, se der algum problema, posta aqui. Eu fiz no Lenny com o kernel 2.6.32.21, mas esse procedimento provavelmente funciona pra outras versões de kernel também, tanto no Lenny quanto no Squeeze.

"Vamos tirar a barriga, senhor Barba? Digo..."

Debian Jessie | Usuário #517613
Encontrar todas as respostas deste usuário
Citar esta mensagem em uma resposta
01/09/2010, 11:57
Resposta: #4
Re: [TUTORIAL] Compilar kernel 2.6.32.21 no Debian Lenny
Ja li e testei alguns tutoriais para compilar meu próprio kernel, o procedimento é praticamente o mesmo, quero testar o 2.6.35 Sorrisão
Minha única duvida é sobre o .config, quero enxugar o máximo possível.
Encontrar todas as respostas deste usuário
Citar esta mensagem em uma resposta
01/09/2010, 21:01
Resposta: #5
Re: [TUTORIAL] Compilar kernel 2.6.32.21 no Debian Lenny
Eu ia instalar o 2.6.35 também, só não instalei ele porque ainda não foi lançado um .config pra essa versão. Pra enxugar os módulos, basta tentar deixar o mínimo possível como Y e deixa como M os que você não tiver certeza, assim os módulos não serão carregados com o kernel (aumentando a performance), mas se forem preciso, ainda dá pra carregar eles depois. Ou então vai na fé mesmo, colocando N em tudo huaahuahua... o máximo que vai acontecer é ter que recompilar.

"Vamos tirar a barriga, senhor Barba? Digo..."

Debian Jessie | Usuário #517613
Encontrar todas as respostas deste usuário
Citar esta mensagem em uma resposta
02/09/2010, 10:02
Resposta: #6
Re: [TUTORIAL] Compilar kernel 2.6.32.21 no Debian Lenny
renatov ,

Seria uma boa adicioanr ao wiki Sorrisão
Encontrar todas as respostas deste usuário
Citar esta mensagem em uma resposta
02/09/2010, 11:36
Resposta: #7
Re: [TUTORIAL] Compilar kernel 2.6.32.21 no Debian Lenny
Viva, estou em Squeeze com Kernel 2.6.32-5-amd64, vale a pena compilar e instalar a versão 2.6.32-21-amd64 ?!

Em relação ao tuto, boa cena, obrigado por partilhares.... Só que tou a ter um problema, quando faço make xconfig aparece:
Citar:make: *** No rule to make target `xconfig'. Stop.
:?

UPDATE:

Existe uma ferramenta chamada Kernel Check que facilita a compilação e instalação da última versão do kernel.... Vou experimentar.... :wink:
Encontrar todas as respostas deste usuário
Citar esta mensagem em uma resposta
02/09/2010, 18:04
Resposta: #8
Re: [TUTORIAL] Compilar kernel 2.6.32.21 no Debian Lenny
Spikey, o tutorial já está lá no wiki Sorrisão

http://wiki.forumdebian.com.br/index.ph ... _2.6.32.21

Zeca, veja se você seguiu todos os passos do tutorial, desde o início. É preciso fazer download e descompactar o source do kernel que você quer instalar e, em seguida, criar o link simbólico. O comando make xconfig precisa ser executado dentro da pasta /usr/src/linux depois do link simbólico ter sido criado e depois do .config ter sido corretamente movido.

Com relação a fazer ou não o upgrade para a versão 2.6.32.21, não sei se é preciso. O kernel atual está dando erro? Está faltando suporte para algum periférico que você tenha? Na minha opinião, se estiver tudo ok, não é tão necessário assim. Mas acho que vale a pena pelo aprendizado e também porque essa versão é a última estável. t+

"Vamos tirar a barriga, senhor Barba? Digo..."

Debian Jessie | Usuário #517613
Encontrar todas as respostas deste usuário
Citar esta mensagem em uma resposta
03/09/2010, 09:04
Resposta: #9
Re: [TUTORIAL] Compilar kernel 2.6.32.21 no Debian Lenny
renatov Escreveu:Zeca, veja se você seguiu todos os passos do tutorial, desde o início. É preciso fazer download e descompactar o source do kernel que você quer instalar e, em seguida, criar o link simbólico. O comando make xconfig precisa ser executado dentro da pasta /usr/src/linux depois do link simbólico ter sido criado e depois do .config ter sido corretamente movido.

Com relação a fazer ou não o upgrade para a versão 2.6.32.21, não sei se é preciso. O kernel atual está dando erro? Está faltando suporte para algum periférico que você tenha? Na minha opinião, se estiver tudo ok, não é tão necessário assim. Mas acho que vale a pena pelo aprendizado e também porque essa versão é a última estável. t+

Sim, tinha seguido os passos desde o inicio.... Depois acabei por utilizar o KernelCheck para actualizar para a última versão do kernel e correu tudo bem, tenho já a última versão a funcionar....

Eu quero actualizar para a última versão porque o meu touchpad não está a ser detectado e carregado no inicio do sistema e tinha esperança que nesta última versão estável isso já estivesse a funcionar.... mas não está, continua a não ser detectado....

O meu laptop é um Sony VPCS12M9E e o touchpad é um synaptics....

cumps Sorrisão
Encontrar todas as respostas deste usuário
Citar esta mensagem em uma resposta
03/09/2010, 13:59
Resposta: #10
Re: [TUTORIAL] Compilar kernel 2.6.32.21 no Debian Lenny
O erro make: *** No rule to make target `xconfig'. Stop. acontece quando o comando make xconfig é dado fora da pasta que está o source, daí o make não encontra o caminho para as regras de compilação. Mas se já deu tudo certo aí, então blz!

Sobre o touchpad, eu não sei como seria possível habilitar suporte a ele no linux. Talvez instalando uma versão mais recente do kernel do que a série 2.6.32, mas realmente não tenho certeza. Acho que se você postar um tópico sobre isso no fórum de notebooks, você terá mais chance de ser ajudado. Boa sorte aí!

"Vamos tirar a barriga, senhor Barba? Digo..."

Debian Jessie | Usuário #517613
Encontrar todas as respostas deste usuário
Citar esta mensagem em uma resposta
04/06/2011, 12:05
Resposta: #11
RE: [TUTORIAL] Compilar kernel 2.6.32.21 no Debian Lenny
esse site com os arquivos .config nao abre mais, alguem sabe onde é possível obter esses arquivos?
Encontrar todas as respostas deste usuário
Citar esta mensagem em uma resposta
04/06/2011, 13:28
Resposta: #12
RE: [TUTORIAL] Compilar kernel 2.6.32.21 no Debian Lenny
Realmente o site saiu do ar, é uma pena. Encontrei uma nota oficial esclarecendo os motivos pelo site ter sido desativado:

http://lists.debian.org/debian-devel-ann...00001.html

Aparentemente ninguém assumiu o projeto ainda para dar continuidade a ele, mas existe a possibilidade do site voltar ao ar no futuro (talvez não no mesmo endereço). Procure por "Debian Official Kernel Configuration files" no google futuramente para ver ser retornou.

Por enquanto, você poderia utilizar seu arquivo .config antigo, da versão atualmente instalada do kernel, para servir de base para a compilação. Dessa maneira, haverá poucas configurações que você precisará alterar (caso haja alguma). Para isso, apenas copie o arquivo .config atual para sua pasta de compilação:

Código:
# cp /boot/config-[pressione TAB] /usr/src/linux/.config

obs: coloquei uma nota sobre isso na minha postagem inicial desse tópico

"Vamos tirar a barriga, senhor Barba? Digo..."

Debian Jessie | Usuário #517613
Encontrar todas as respostas deste usuário
Citar esta mensagem em uma resposta
Responder 


Ir ao Fórum:


Usuários visualizando este tópico: 1 Visitantes

Entre em Contato | Fórum Debian | Voltar ao Topo | Voltar ao Conteúdo | Modo Leve (Arquivo) | Feeds RSS