Pergunta

Sou totalmente novo em compilar drivers para o Linux e tive alguns problemas!

Estou tentando compilar um driver para um dispositivo USB.

Resultado:


[thayoz@lacalpc13 linux]$ make
for i in driver lib qrng ; do cd $i && (make all || exit ) && cd ..; done
make[1]: Entering directory /home/thayoz/Desktop/untitled folder/Quantis-USB/src/linux/driver'
make -C /usr/src/kernels/ M=/home/thayoz/Desktop/untitled folder/Quantis-USB/src/linux/driver V=1 modules
make[2]: Entering directory/usr/src/kernels'
make[2]: * Nenhuma regra para fazer alvo folder/Quantis-USB/src/linux/driver'.  Stop.
make[2]: Leaving directory/usr/src/kernels 'make [1]: * [all] Error 2
make[1]: Leaving directory `/home/thayoz/Desktop/untitled folder/Quantis-USB/src/linux/driver'
/bin/sh: line 0: cd: lib: No such file or directory
/bin/sh: line 0: cd: qrng: No such file or directory
make: *** [all] Error 1

Eu não sei o que está errado ???

Foi útil?

Solução

Normalmente algo como:

make -C <directory to kernel source> M=<directory to module/driver source> modules
make -C <directory to kernel source> M=<directory to module/driver source> modules_install

é suficiente.

Seu motorista veio com um Makefile? Você está compilando as fontes adequadas do kernel, a versão certa, por exemplo?

Outras dicas

Eu acho que esse espaço no caminho para o seu diretório de construção pode estar causando o problema.

/home/thayoz/desktop/pasta sem título/quantis-usb ...

Observe o espaço na 'pasta sem título'.

Parece que Make está tomando o diretório do módulo como:

/home/thayoz/desktop/sem título

E:

pasta/quantis-usb/src/linux/driver

está sendo aprovado para fazer como um argumento adicional (provavelmente um alvo a ser construído).

Experimente renomear '/home/thayoz/desktop/não título pasta' para '/home/thayoz/desktop/não título' e veja o que acontece.

Meu entendimento do procedimento geral para a construção de um software embalado usando o sistema de construção GNU é:

  1. Execute o script .configure. Esse script verifica o ambiente de construção do seu sistema, garantindo que todos os executáveis, bibliotecas, bibliotecas, etc. estejam disponíveis e criem um makefile funcionando.
  2. Correr make. Isso usa o makefile gerado na etapa 1 para construir o binário.
  3. Run Make Install. Isso instala o binário no local correto no sistema.

GNU Sistema de construção

Você executou o script .configure que acompanha o pacote de driver?

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top