реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
nill
сообщение Feb 7 2016, 00:04
Сообщение #1


Частый гость
**

Группа: Validating
Сообщений: 124
Регистрация: 10-08-05
Пользователь №: 7 502



Продолжаю осваивать разработку модулей и столкнулся с очередной непонятной мне ситуацией. Я экспериментирую с существующим в основной ветке модулем и устанавливал его командой
Код
INSTALL_MOD_PATH=./mods make M=./drivers/ata modules_install

После нескольких переходов по истории git и правок исходников этот метод перестал работать, и я уже не могу точно вспомнить в какой момент это всё сломалось. Выглядит это как-то вот так после пересборки модуля:
CODE
$ ls -l ./drivers/ata/*.ko | grep libahci
-rw-rw-r-- 1 mk mk 382712 Feb 3 16:08 ./drivers/ata/libahci_debug.ko
-rw-rw-r-- 1 mk mk 538128 Feb 3 16:08 ./drivers/ata/libahci_exp.ko
-rw-rw-r-- 1 mk mk 489336 Feb 2 17:59 ./drivers/ata/libahci.ko
-rw-rw-r-- 1 mk mk 364528 Feb 2 17:59 ./drivers/ata/libahci_platform.ko
$ ls -l /lib/modules/4.3.0+/kernel/drivers/ata/ | grep libahci
-rw-rw-r-- 1 mk mk 382966 Feb 3 15:24 libahci_debug.ko
-rw-rw-r-- 1 mk mk 538838 Feb 3 15:24 libahci_exp.ko
-rw-rw-r-- 1 mk mk 490046 Feb 3 15:24 libahci.ko
-rw-rw-r-- 1 mk mk 365238 Feb 3 15:24 libahci_platform.ko
$ INSTALL_MOD_PATH=./mods make M=./drivers/ata modules_install
DEPMOD 4.3.0+
$

/lib/modules/4.3.0+ здесь является симлинком на ./mods.
Теперь мне приходится переустанавливать все модули командой make modules_install, что занимает некоторое время. Почему перестала работать установка из указанного каталога?
Go to the top of the page
 
+Quote Post
Tarbal
сообщение Feb 7 2016, 21:25
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 351
Регистрация: 21-05-10
Пользователь №: 57 439



Ну если вы пробовали разные версии кернела, то может версии ядра и модулей отличаются.
Вообще-то в модулях (вернее в ядре) жесткая адресация и при изменении в кернеле надо все модули перекомпиллировать и переустановить (make modules_install). Если не сделать этого, то могут возникнуть "необъяснимые" глюки.

сравните выдачу
uname -r
с
modinfo your_module.ko
Go to the top of the page
 
+Quote Post
nill
сообщение Feb 7 2016, 23:52
Сообщение #3


Частый гость
**

Группа: Validating
Сообщений: 124
Регистрация: 10-08-05
Пользователь №: 7 502



Я работал только с одной версией ядра. Все изменения и путешествия по истории касались только одного тестового модуля, так что я не уверен, что проблема именно в разных версиях ядра и модулей.
Возможно, что после git commit ядро было "помечено" как dirty и тогда ситуация с разными версиями вполне вероятна. Проверю, когда доберусь до тестовой машины. Спасибо за подсказку.
Go to the top of the page
 
+Quote Post
Tarbal
сообщение Feb 8 2016, 12:19
Сообщение #4


Профессионал
*****

Группа: Свой
Сообщений: 1 351
Регистрация: 21-05-10
Пользователь №: 57 439



Цитата(nill @ Feb 8 2016, 03:52) *
Я работал только с одной версией ядра. Все изменения и путешествия по истории касались только одного тестового модуля, так что я не уверен, что проблема именно в разных версиях ядра и модулей.
Возможно, что после git commit ядро было "помечено" как dirty и тогда ситуация с разными версиями вполне вероятна. Проверю, когда доберусь до тестовой машины. Спасибо за подсказку.


У меня svn к версии ядра в конце добавляет порядковый номер под которым был сделан checkin в svn repository. Разные версии имеют разные номера версии ядра.
Go to the top of the page
 
+Quote Post
nill
сообщение Feb 9 2016, 07:49
Сообщение #5


Частый гость
**

Группа: Validating
Сообщений: 124
Регистрация: 10-08-05
Пользователь №: 7 502



Вид суффикса в версии ядра зависит в том числе и от используемой системы контроля версий. Если интересны подробности, то можно заглянуть в scripts/setlocalversion.
У меня совпадают версия ядра и vermagic модулей, так что вопрос остаётся открытым.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 30th June 2025 - 22:52
Рейтинг@Mail.ru


Страница сгенерированна за 0.0142 секунд с 7
ELECTRONIX ©2004-2016