Criando o módulo do kernel usando dkms, faltando cabeçalhos

4

Eu apreciaria, se alguém puder me ajudar.

1) Eu estou tentando construir o módulo do kernel para o servidor do Ubuntu usando o dkms. O manual detalhado é aqui .

2) Quando está construindo módulo usando esta sintaxe:

sudo dkms build -m ixgbevf -v 2.15.3

diz que alguns cabeçalhos do kernel estão faltando:

Kernel preparation unnecessary for this kernel.  Skipping...

Building module:
cleaning build area....(bad exit status: 2)
cd src/; make BUILD_KERNEL=....(bad exit status: 2)
ERROR (dkms apport): binary package for ixgbevf: 2.15.3 not found
Error! Bad return status for module build on kernel: 3.13.0-36-generic (x86_64)
Consult /var/lib/dkms/ixgbevf/2.15.3/build/make.log for more information.

3) Arquivo de log: /var/lib/dkms/ixgbevf/2.15.3/build/make.log:

DKMS make.log for ixgbevf-2.15.3 for kernel 3.13.0-36-generic (x86_64)
Tue Dec 23 09:27:47 UTC 2014
Makefile:64: *** Kernel header files not in any of the expected locations.
Makefile:65: *** Install the appropriate kernel development package, e.g.
Makefile:66: *** kernel-devel, for building kernel modules and try again.  Stop.

4) Eu tenho cabeçalhos aqui:

/usr/src/linux-headers-3.13.0-36
/usr/src/linux-headers-3.13.0-36-generic
/usr/include

E o cpp -v mostra:

#include <...> search starts here:
 /usr/lib/gcc/x86_64-linux-gnu/4.8/include
 /usr/local/include
 /usr/lib/gcc/x86_64-linux-gnu/4.8/include-fixed
 /usr/include/x86_64-linux-gnu
 /usr/include

Se você precisar de mais informações, eu fornecerei a você imediatamente. Obrigado.

--- Informações adicionadas ---

1) dpkg -l | grep linux-headers mostra:

ii  linux-headers-3.13.0-36          3.13.0-36.63                         all          Header files related to Linux kernel version 3.13.0
ii  linux-headers-3.13.0-36-generic  3.13.0-36.63                         amd64        Linux kernel headers for version 3.13.0 on 64 bit x86 SMP
ii  linux-headers-generic            3.13.0.36.43                         amd64        Generic Linux kernel headers
ii  linux-headers-virtual            3.13.0.36.43                         amd64        Transitional package.

2) Informação de saída do dpkg -l | grep linux-image

ii  linux-image-3.13.0-36-generic    3.13.0-36.63                         amd64        Linux kernel image for version 3.13.0 on 64 bit x86 SMP
ii  linux-image-virtual              3.13.0.36.43                         amd64        This package will always depend on the latest minimal generic kernel image.

3) Saída do uname -a

Linux ip-10-0-3-11 3.13.0-36-generic #63-Ubuntu SMP Wed Sep 3 21:30:07 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

4) O link para fontes do módulo ixgbevf é aqui .

    
por antonbormotov 24.12.2014 / 07:36

2 respostas

3

Então, finalmente, eu consegui instalar o driver ixgbevf v. 2.15.3 para a versão do kernel 3.13.0-43.

Mas há alguns pontos importantes:

  1. Primeiro, tentei usar o make para criá-lo manualmente e obtive o mesmo resultado: Makefile:64: *** Kernel header files not in any of the expected locations. Makefile:65: *** Install the appropriate kernel development package, e.g. Makefile:66: *** kernel-devel, for building kernel modules and try again. Stop.

  2. Em segundo lugar, eu corri apt-get upgrade e apt-get dist-upgrade para atualizar o kernel de 3.13.0-36 para 3.13.0-43, e reinicialize a máquina depois, para atualizar o kernel. Detalhes são aqui . Ele também instalou cabeçalhos de kernel para o 3.13.0-43.

  3. Em terceiro lugar, tive que alterar o arquivo de configuração dkms.conf, como aqui: MAKE="make -C src/ KERNELDIR=/lib/modules/${kernelver}/build" CLEAN="make -C src/ clean" BUILT_MODULE_NAME=ixgbevf BUILT_MODULE_LOCATION=src/ DEST_MODULE_LOCATION="/updates" PACKAGE_NAME=ixgbevf-dkms PACKAGE_VERSION=2.15.3 REMAKE_INITRD=no

Depois disso, foi capaz de construir o driver. Se você tiver o mesmo problema e precisar de ajuda, não hesite em entrar em contato comigo. @Faheem Mitha, Muito obrigado pela sua ajuda.

    
por 08.01.2015 / 04:15
3

Existe um patch lançado para o Ubuntu14.04 link

Posso confirmar que está funcionando:

root@ip-172-31-119-53:~# modinfo ixgbevf
filename:       /lib/modules/3.13.0-45-generic/updates/dkms/ixgbevf.ko
version:        2.16.1
license:        GPL
description:    Intel(R) 10 Gigabit Virtual Function Network Driver
author:         Intel Corporation, <[email protected]>
srcversion:     3F8AACF779F38FD444B1CD3
alias:          pci:v00008086d00001515sv*sd*bc*sc*i*
alias:          pci:v00008086d000010EDsv*sd*bc*sc*i*
depends:        
vermagic:       3.13.0-45-generic SMP mod_unload modversions 
parm:           InterruptThrottleRate:Maximum interrupts per second, per    vector, (956-488281, 0=off, 1=dynamic), default 1 (array of int)
    
por 03.03.2015 / 02:33