Compilando Drivers

De Fórum Debian Wiki

(Diferenças entre revisões)

Edição de 12h51min de 26 de Junho de 2007

Índice de conteúdo

Compilando Drivers

Antes de construir modulos, compilando através das fontes, para fazer funcionar os diversos periféricos ( Placas de Modens, Rede, Wireless, Video, Tv, etc ) devemos preparar o ambiente instalando um conjunto de ferramentas para compilar.


Baixando os pacotes

O modo mais fácil de baixar os pacotes do source, headers e ferramentas é utilizar o seguinte comando em uma janela de terminal estando com o CD de instalação na unidade:

~# apt-cdrom add
~# aptitude update
~# aptitude install build-essential linux-headers-`uname -r` linux-source-`uname -r | cut -f1 -d-`

Isto deve baixar e instalar os pacotes: Kbuild, Headers e Source do seu Kernel Caso a versão do seu kernel seja 2.6.8 e distro CDD-br então você deve baixar utilizando outra sintaxe:

~# aptitude install kernel-kbuild-2.6.3
~# aptitude install kernel-headers-`uname -r`
~# aptitude install kernel-source-`uname -r | cut -f1 -d-`


Caso baixe o pacote source no site www.kernel.org http://www.kernel.org/pub/linux/kernel/v2.6/, copie ou mova para o diretório /usr/src.

Extraindo o Source

Agora vamos extrair o pacote source, vá até o diretório:

~# cd /usr/src
~# bunzip2 -c linux-source-`uname -r | cut -f1 -d-`.tar.bz2 | tar xvf -

ou no caso do CDD-br com kernel 2.6.8:

~# bunzip2 -c kernel-source-`uname -r | cut -f1 -d-`.tar.bz2 | tar xvf -


Esse comando vai extrair o pacote e criar outro diretório em /usr/src. Criando os links simbolico:

~# cd /usr/src
~# rm linux          ( Removendo antigo link caso exista )          
~# ln -s /usr/src/linux-source-`uname -r | cut -f1 -d-` linux 

caso seja distro CDD-br o link será assim:

~# ln -s /usr/src/kernel-source-`uname -r | cut -f1 -d-`  linux

Crie o outro link no diretório /lib/modules:

~# cd /lib/modules/`uname -r`
~# rm build            ( Removendo antigo link caso exista )
~# ln -s /usr/src/linux-source-`uname -r | cut -f1 -d-` build

caso seja distro CDD-br o link será assim:

~# ln -s /usr/src/kernel-source-`uname -r | cut -f1 -d-`  build

Provávelmente este link simbólico do build em /lib/modules/`uname -r` já exista apontando para o headers, alguns pacotes de drivers ( .tar) passam sem dar erros com esse apontamento outros não.

Preparando Source do Kernel

Agora vamos fazer com que o source do kernel tenha a mesma configuração do kernel ativo:

~# cd /usr/src/linux
~# make mrproper
~# cp /boot/config-`uname -r` .config

Agora edite o arquivo Makefile com:

~# mcedit /usr/src/linux/Makefile

ou se preferir

~# vi /usr/src/linux/Makefile

Altere os dados no parâmetro "EXTRAVERSION" que está no inicio do arquivo:

VERSION = 2
PATCHLEVEL = 6
SUBLEVEL = 8
EXTRAVERSION = -x-xxx         ( aqui você completa a versão apresentada no comando uname -r )      

Agora vamos dar início a criação dos arquivos do kernel:

~# cd /usr/src/linux
~# make oldconfig
~# make clean
~# make


Obs: A conclusão deste ultimo comando deve demorar cerca de 1 hora dependendo do tipo do processador.


Concluindo

Não é necessário esperar terminar o make final, pode-se cancelar depois de uns 5 minutos, porém não custa nada esperar terminar. Concluído o procedimento acima, pode-se seguir com a instruções de instalação dos drivers que pode requer a instalação de pacotes adicionais libs e outras dependências, por isso sempre leia o README e ou INSTALL quase sempre presentes nos fontes.

Ferramentas pessoais