Como mandar o “Janelas” à fava! – Quinto Episódio!
A instalação de programas quando estes não existem em formato "apt", normalmente é uma grande dor de cabeça. Disso não há a menor dívida.
No entanto, às vezes é necessário passar por isso! Esta “lição” tem dois objectivos :
Apresentar os conceitos básico sobre compilação, linkagem e makefiles.
Apresentar um exemplo de aplicação do mundo real (a instalação de um driver novo no ubuntu para uma placa de rede sem fios WiFi).
Ferramentas de compilação (build)
Em primeiro lugar, queremos instalar as bibliotecas essenciais para os processos de compilação:
>sudo apt-get install build-essential
>sudo apt-get install linux-headers-`uname -r`
Para testar se tudo correu bem, experimente no terminal alguns destes comandos :
>sudo make
>sudo gmake
>sudo gcc
O que é o Compilador?
A Wikipédia (a enciclopédia livre) explica que um compilador é um programa que, a partir de um código escrito em uma linguagem, o código fonte (do inglês source code), cria um programa semanticamente equivalente porém escrito em outra linguagem, código objecto (do inglês object code).
Obviamente, os objectos só podem ser compilados se forem entendidos correctamente pelo compilador... ou seja, não podem haver erros sintácticos :)
Mas nesta fase, ainda não conseguimos gerar o ficheiro executável. Ainda temos de realizar a fase de "linkagem".
A Wikipedia explica que o Linker, em informática, é um programa que liga objectos gerados por um compilador, formando assim o ficheiro executável final.
Portanto, o Linker pega nos ficheiros que acabamos de compilar, junta-lhe as bibliotecas necessárias (que estão programadas nos ficheiros fonte e na makefile) e gera o executável final.
http://doc.gwos.org/index.php/Zydas_ZD1211
Remover o driver antigo:
>sudo apt-get remove wpasupplicant
Instalar os pacotes e bibliotecas necessárias ao processo de compilação:
>sudo apt-get update
>sudo apt-get install build-essential
>sudo apt-get install kernel-package
>sudo apt-get install gcc
>sudo apt-get install libncurses5
>sudo apt-get install libncurses5-dev
>sudo apt-get install libqt3-mt-dev
>sudo apt-get install wireless-tools
Descompactar o código fonte (em Linux os ficheiros compactados/agrupados podem estar no formato zip,tar,bz2,gz, etc) e criar um "symbolic link" (algo semelhante a uma shortcut ou atalho no Win):
>sudo tar --bzip2 -xvf linux-2.6.12.tar.bz2
>sudo ln -s /usr/src/linux-2.6.12 /usr/src/linux
Criar outro "symbolic link" para os cabeçalhos Linux:
Depois de fazer os downloads do openssl e das sources do Driver, é ainda necessário criar mais um "symbolic link" :
Editar a makefile e garantir que a linha existe no ficheiro
"KERN_26=y KERNEL_SOURCE=/usr/src/linux" (sem aspas):
Finalmente [ufa :)] a compilação:
>sudo make install
Daqui resultam vários ficheiros, mas o único que interessa é o zd1211.ko, que deverá ser copiado para /lib/modules/...../net
(obviamente os ..... representam o nome de uma directoria cujo nome depende da versão do driver)
E por último, carregar o driver :
>sudo modprobe -v zd1211
Ok, ok, já sabemos que isto foi bastante complicado....... mas afinal, era este o objectivo desta "lição"...... como instalar algo da forma complicada :))
Tecnobugiganga
0 Comments:
Enviar um comentário
<< Home