Compilando Drivers
De Fórum Debian Wiki
Í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.
