Compile e instale o módulo do kernel em um diretório de kernel / lib / module / * definido

2

Espero que alguém possa ajudar. Eu tive problemas com o kernel da minha distribuição, então eu construí um kernel (mesma versão) para construir meus módulos. Meus módulos seriam compatíveis. No entanto, se eu instalar os módulos, o script cria um novo diretório em / lib / modules / em vez de gravar no diretório do módulo do kernel. Isso parece de alguma forma assim:

/lib/modules/old_kernel
/lib/modules/new_kernel

Existe uma maneira de escrever em um caminho fixo como / lib / modules / old_kernel / TARGET1. Até agora, a superação dos patches de instalação apenas levou a um comportamento muito estranho. Por exemplo: / lib / modules / old_kernel / lib / modules / new_kernel / TARGET1

obj-m += rcio_core.o
obj-m += rcio_spi.o
obj-m += rcio_adc.o
obj-m += rcio_pwm.o
obj-m += rcio_rcin.o
obj-m += rcio_status.o

ccflags-y := -std=gnu99

KVERSION ?= $(shell uname -r)
KERNEL_SOURCE ?= /lib/modules/$(KVERSION)/build

all:
  $(MAKE) -C $(KERNEL_SOURCE) M=$(PWD) modules
  /usr/local/bin/dtc -@ -I dts -O dtb rcio-overlay.dts -o rcio-overlay.dtb
  cp rcio-overlay.dtb /boot/overlays

install:
$(MAKE) -C $(KERNEL_SOURCE) M=$(PWD) modules_install

clean:
  $(MAKE) -C $(KERNEL_SOURCE) M=$(PWD) clean
  $(RM) rcio-overlay.dtb
    
por dgrat 09.06.2016 / 10:49

1 resposta

0

Eu assumo que você está usando o comando "make modules_install" para instalar estes módulos. O destino em / lib / modules é determinado de acordo com os cabeçalhos do kernel em que você está construindo os arquivos de origem dos módulos do kernel. No Fedora, esses cabeçalhos são fornecidos pelo kernel-devel. Então, se "rpm -q kernel-devel" mostrar a versão do kernel em / lib / modules que é o que você quer, então está tudo bem. Se não, você pode remover este rpm e instalar um que tenha a versão que você precisa e então construir e instalar os módulos. Em outras distros, o mesmo princípio vale, embora o nome desse pacote possa variar.

Rami Rosen

    
por 11.12.2016 / 20:57