Como sei se o kernel foi construído com CONFIG_MODVERSIONS?

4

Estou executando o Ubuntu:

#lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 12.04.4 LTS
Release:    12.04
Codename:   precise## Heading ##

E:

Informações do kernel:

3.8.0-38-generic #56~precise1-Ubuntu SMP Thu Mar 13 16:23:47 UTC 2014 i686 i686 i386 GNU/Linux

Eu gostaria de saber se este kernel em execução foi construído usando CONFIG_MODVERSIONS ou não. Algum comando para isso?

Atualizar

#/usr/src/ubuntu-precise# make oldconfig | grep CONFIG_MODVERSIONS
/boot/config-3.8.0-38-generic:3420:warning: symbol value 'm' invalid for SPI_PXA2XX_PCI
/boot/config-3.8.0-38-generic:4222:warning: symbol value 'm' invalid for VIDEO_EM28XX_RC
/boot/config-3.8.0-38-generic:6694:warning: symbol value 'm' invalid for NFS_V3
/boot/config-3.8.0-38-generic:6696:warning: symbol value 'm' invalid for NFS_V4

sem progresso depois disso. pendurado aqui por mais de 30 minutos

    
por user2799508 21.04.2014 / 11:22

3 respostas

4

Tente isto:

  1. Instale o pacote dpkg-dev . Isso é necessário para o passo 2.

    sudo apt-get install dpkg-dev
    
  2. Faça o download do código fonte do kernel que você está usando atualmente:

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

    Isso criará um diretório em seu diretório atual que contém a origem do kernel. Por exemplo, no 13.10 executando a versão do kernel 3.11.0-12-generic , ele criou:

    /home/terdon/linux-3.11.0
    
  3. Verifique se a opção está definida no arquivo ~/linux-3.11.0/.config :

    $ grep CONFIG_MODVERSIONS  ~/linux-3.11.0/debian.master/config/config.common.ubuntu
    CONFIG_MODVERSIONS=y
    

Como você pode ver acima, a opção está configurada para y (on) por padrão, então presumivelmente, a menos que você tenha compilado seu próprio kernel, a opção é definida no kernel que você está usando.

    
por terdon 21.04.2014 / 15:32
2

tente grep MODVERSIONS /boot/config-$(uname -r)

se você conseguir CONFIG_MODVERSIONS=y

então está ativado.

    
por Hertzel Guinness 26.04.2014 / 12:51
0

No caso do kernel 2.4, o CONFIG_MODVERSIONS pode ser encontrado no Makefile na pasta /usr/src/linux-2.4.x-xx/ .

Outro sintoma é uma mensagem de erro, como unresolved symbol reference , para a qual um dos possíveis motivos pode ser - CONFIG_MODVERSIONS está ativado, mas o LKM não é compilado da mesma forma.

    
por Karthik Balaguru 15.11.2014 / 22:00

Tags