LINUX.ORG.RU

Собрать модуль ядра с зависимостью от другого модуля

 


0

1

Модуль в общем-то собирается нормально, но при insmod имеем в dmesg:

[ 2840.458824] mymodule: Unknown symbol w1_remove_master_device (err -2)
[ 2840.458917] mymodule: Unknown symbol w1_add_master_device (err -2)

В /usr/src/linux-headers-$(uname -r)/Module.symvers оба нужных символа имеются, но это не очень-то помогает. Возможно ли решить эту проблему без сборки всего ядра без исходников, обойдясь только хидерами?

Мой Makefile:

KBUILD_EXTRA_SYMBOLS := /usr/src/linux-headers-$(uname -r)/Module.symvers

obj-m += mymodule.o

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

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

Последнее исправление: Minoru (всего исправлений: 1)

Может быть надо просто вызвать depmod перед insmod? И лучше не insmod, а modprobe. Не уверен, что insmod загружает зависимости.

iliyap ★★★★★
()
Последнее исправление: iliyap (всего исправлений: 1)

depmod -a после добавления модуля в /lib/modules

ananas ★★★★★
()

[ 2840.458824] mymodule: Unknown symbol w1_remove_master_device (err -2)

Неужели и тут слово master запретили?

Korchevatel ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.