__modver_version_show erro indefinido ao compilar a versão 3.0.4 do kernel do Linux

1

Eu tentei construir o kernel Linux 3.0.4 no Ubuntu 11.10 no VirtualBox. Aqui estão meus passos:

  1. Faça o download do código-fonte
  2. tar xjvf linux-source-3.0.0.tar.bz2
  3. cd linux-source-3.0.0
  4. faça menuconfig, não alterou nada, mas usou a configuração padrão e salvou em .config
  5. fazer

Na verdade eu acho que deveria ser 3.0.4 porque do Makefile eu pude ver

VERSION = 3
PATCHLEVEL = 0
SUBLEVEL = 4
EXTRAVERSION =

Então, no estágio 2, que é fazer módulos, ocorreu um erro:

ERROR: "__modver_version_show" [drivers/staging/rts5139/rts5139.ko] undefined!
make[1]: *** [__modpost] Error 1
make: *** [modules] Error 2

Talvez porque 3.0.4 seja uma nova versão, por isso não posso encontrar o mesmo problema nem qualquer solução.

    
por Jie Liu 21.11.2011 / 02:52

2 respostas

2

__ modver_version_show () é uma função interna que é usada somente quando você não habilitou CONFIG_MODULE e ativou CONFIG_SYSFS. IOW, somente quando você tem CONFIG_SYSFS mas não CONFIG_MODULE no seu .config, você verá este erro.

Para desktops normais,! CONFIG_MODULE & & CONFIG_SYSFS é uma configuração quebrada.

Dadas as configurações que você fez, você deve copiar o arquivo .config do seu kernel fornecido pela sua distribuição para o diretório principal do código fonte do kernel primeiro, e então fazer "make oldconfig".

Eu não sou usuário do ubuntu, para encontrar o seu kernel de distribuição .config, por favor, faça uma busca em / boot ou verifique se você tem /proc/kconfig.gz, e copie-o (você precisa do zcat para copiar o kconfig.gz está comprimido) para o lugar certo.

    
por 22.11.2011 / 13:36
2

Desde que a configuração do Ubuntu,

CONFIG_MODULE=Y
CONFIG_SYSFS=Y

Eu não acho que o problema seja devido a essa opção. Eu costumo ignorar esse driver.

Driver Module » Staging » RTS5139 »<N>

    
por 28.06.2012 / 06:35