LINUX.ORG.RU

Ответ на: комментарий от ananas

За ссылку спасибо, но у меня проблема, у меня знание английского языка == 0
И с make я не знаком, компиляцию я произвожу с помощью команды
make -C /usr/src/linux-3.0.0/ SUBDIRS=$PWD
а в мейк файле всего одна строка
obj-m += my_test_module.o
Что и куда мне нужно добавить чтоб vermagic не включался в модуль?

Deleted
()
Ответ на: комментарий от Begemoth

Учить, только после того как узнаю, как vermagic убрать из модуля.

Deleted
()
Ответ на: комментарий от Deleted

а, речь про ядреные модули.

никак. или делать обвязки, а-ля nvidia и прочие блобы, или включать в ядре CONFIG_MODULE_FORCE_LOAD

ananas ★★★★★
()
Ответ на: комментарий от ananas

Как значит никак? тогда вопрос подкорректирую, если я откомпилю модуль, получу .ko открою hex редактором код, найду запись vermagic с его значением, и всё это дело затру нулями, то скажем, модуль скомпиленый на 3.0.1-1-desktop запустится на 3.0.1-3-16-desktop ?

Deleted
()
Ответ на: комментарий от Deleted

запуститься он может даже если не затирать нулями, достаточно modprobe -f. вот только как оно работать будет, и где бока вылезут - никто не предскажет

ananas ★★★★★
()
Ответ на: комментарий от ananas

modprobe -f ?
Я кажется запутался, прочёл про modprobe и про её аргументы. Спасибо. Полагаю это то что мне поможет. Однако вылез новый вопрос, а за что вообще отвечает то тогда vermagic? Для чего он нужен?

Deleted
()
Ответ на: комментарий от Deleted

для того, чтобы модуль, собранный под одну конфигурацию нельзя было загрузить под другой. те же preemt, smp и подобные фичи изрядно изменяют/расширяют api ядра, не говоря уже про разные версии. и если у тебя модуль будет пытаться дергать api, которого в текущем ядре нет - может случиться нехорошо

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