modinfo srcversion: как мне сгенерировать это из моего источника? - PullRequest
5 голосов
/ 12 августа 2010

У меня есть скомпилированная версия модуля linux, а затем у меня есть около 20+ вариантов его исходного кода.Из-за различных глупых ошибок я потерял представление о том, какая версия источника была реальной, которую я использовал для создания модуля.

Я заметил, что modinfo <module name> дает srcversion: <hash>, и я нашел где-то объяснениеэто говорит о «сумме источника, который произвел модуль».Звучит прекрасно!

Что мне делать с источниками моего модуля для создания этого хэша?

1 Ответ

7 голосов
/ 13 августа 2010

srcversion определяется программой scripts/mod/modpost.Я не знаю точных опций, которые вы должны дать modpost, чтобы он выводил это поле.Это должно быть что-то похожее на scripts/mod/modpost -a -m vmlinux you_module.o (точные параметры вы можете посмотреть на scripts/Makefile.modpost).Выходные данные доступны в drivers/path/to/your_module.mod.c

. Я рекомендую установить для config MODULE_SRCVERSION_ALL значение y (доступно в подменю Enable loadable module support), чтобы srcversion автоматически создавался для всех модулей вашей сборки.Затем вы можете переключаться между вариантами исходного кода, перестраивать свое ядро ​​с новым исходным вариантом (только первый модуль должен быть перестроен после первой сборки), а затем непосредственно смотреть на поле MODULE_INFO(srcversion, "<hash>"); в конце файла drivers/path/to/your_module.mod.c.найти запрошенную информацию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...