Compilação do motorista redhat
-
22-07-2019 - |
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 ???
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 é:
- 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.
- Correr make. Isso usa o makefile gerado na etapa 1 para construir o binário.
- Run Make Install. Isso instala o binário no local correto no sistema.
Você executou o script .configure que acompanha o pacote de driver?