Origem do kernel Linux não encontrada

0

Eu baixei o código-fonte de um driver (tun 1.1) e estava planejando instalar quando obtive o seguinte erro:

root@sergiosaturn-HP-Pavilion-dv6500-Notebook-PC:~/Documentos/Tese/tun-1.1# ./configure
loading cache ./config.cache
checking host system type... i686-pc-linux-gnu
checking host system type... i686-pc-linux-gnu
checking target system type... i686-pc-linux-gnu
checking build system type... i686-pc-linux-gnu
checking for gcc... (cached) gcc
checking whether the C compiler (gcc  ) works... yes
checking whether the C compiler (gcc  ) is a cross-compiler... no
checking whether we are using GNU C... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking for gawk... (cached) mawk
checking for a BSD compatible install... (cached) /usr/bin/install -c
creating ./config.status
creating Makefile
configuring in linux
running /bin/sh ./configure  --cache-file=.././config.cache --srcdir=.
loading cache .././config.cache
checking for gcc... (cached) gcc
checking whether the C compiler (gcc  ) works... yes
checking whether the C compiler (gcc  ) is a cross-compiler... no
checking whether we are using GNU C... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking for kgcc... gcc
checking for gawk... (cached) mawk
checking for a BSD compatible install... (cached) /usr/bin/install -c
configure: error: Linux kernel source not found in /usr/src/linux 
configure: error: ./configure failed for linux

Para resolver este problema, usei os seguintes comandos:

apt-get source linux-image-$(uname -r)

make oldconfig

make

Isso não apenas não resolveu meu problema, mas também destruiu minha instalação do ubuntu. Eu fui forçado a salvar meus arquivos e reinstalar o Ubuntu novamente. Se alguém souber como resolver esse problema, você poderia me ajudar?

Obrigado pelo seu tempo.

    
por sergiosaturn 14.08.2013 / 11:54

1 resposta

1

Você está sentindo falta dos fontes do kernel, não da imagem do kernel (que você já tem, porque você o inicializou).

Teste apt-cache search kernel | grep source para ver uma lista de possíveis candidatos. É linux-source para mim, mas pode ser chamado de outra forma na sua distro. Veja também que a versão corresponde àquela que você está usando agora.

Usar apt-get source também deve fornecer o código-fonte correto, conforme indicado nos comentários.

Btw .: se o driver precisar dos fontes do kernel (e não apenas dos cabeçalhos), parece que ele não será construído como um módulo, mas compilado diretamente no kernel. Isto significa que você tem que compilar e instalar o kernel inteiro (e fazer isso novamente toda vez que seu kernel fosse atualizado automaticamente). Você só deve fazer isso se souber exatamente o que está fazendo e o motorista vale o esforço. Quase todos os drivers comuns estão disponíveis como um módulo e, portanto, não precisam das fontes do kernel (mas apenas dos cabeçalhos) para construir.

    
por 14.08.2013 / 14:07