web-dev-qa-db-fra.com

Avertissement: modules_install: fichier 'System.map' manquant. Dépasser le depmod

J'essaie d'insérer un module de noyau en utilisant les utilitaires depmod et modprobe afin de résoudre les dépendances. Lorsque je crée le module, il lance "Avertissement: modules_install: fichier 'System.map' manquant. Ignorer depmod."

Et plus tard, lorsque j'essaie d'exécuter modprobe, il génère une erreur indiquant "modprobe: FATAL: Module i2c_eeprom_client.ko introuvable dans le répertoire /lib/modules/4.19.58-v7+"

Ci-dessous le fichier make que j'utilise:

obj-m += i2c_eeprom_client.o
KDIR = /lib/modules/$(Shell uname -r)/build

all:
    make -C /lib/modules/$(Shell uname -r)/build M=$(PWD) modules
    make -C $(KDIR) M=$(PWD) modules_install

clean:
    make -C /lib/modules/$(Shell uname -r)/build M=$(PWD) clean

Et ci-dessous est la sortie de build:

make -C /lib/modules/4.19.58-v7+/build M=/home/pi/work/eeprom modules
make[1]: Entering directory '/usr/src/linux-headers-4.19.58-v7+'
  Building modules, stage 2.   
  MODPOST 1 modules
make[1]: Leaving directory '/usr/src/linux-headers-4.19.58-v7+'
make -C /lib/modules/4.19.58-v7+/build M=/home/pi/work/eeprom 
modules_install  
make[1]: Entering directory '/usr/src/linux-headers-4.19.58-v7+'
  INSTALL /home/pi/work/eeprom/i2c_eeprom_client.ko
  DEPMOD  4.19.58-v7+
Warning: modules_install: missing 'System.map' file. Skipping depmod.
make[1]: Leaving directory '/usr/src/linux-headers-4.19.58-v7+'

Comment puis-je résoudre ce problème? Veuillez aider

Plate-forme: Raspberry Pi 3b +, Raspbian - linux 4.19.58-v7 +

3
user11875340

Vous pouvez exécuter depmod après le modules_install étape. En outre, il est préférable de séparer l'installation du bâtiment pour éviter d'avoir à créer avec les privilèges root:

obj-m += i2c_eeprom_client.o

# Default to running kernel's build directory if KDIR not set externally
KDIR ?= "/lib/modules/$(Shell uname -r)/build"

all:
    $(MAKE) -C "$(KDIR)" M="$(CURDIR)" modules

install:
    $(MAKE) -C "$(KDIR)" M="$(CURDIR)" modules_install
    depmod -A

clean:
    $(MAKE) -C "$(KDIR)" M="$(CURDIR)" clean

Invoquer en tant que:

$ make
$ make install
2
Ian Abbott