LINUX.ORG.RU

Установка ARM Linux под модуль

 ,


1

1

Пытаюсь загрузить модуль. modinfo выводит: 4.19.91 SMP mod_unload ARMv7. Скомпилировал ядро, ввожу команду uname -a, выводит тоже самое 4.19.91 SMP mod_unload ARMv7. Но когда делаю insmod, выходит ошибка: version magic ’4.19.91 SMP mod_unload ARMv7 ’ should be ’4.19.91 SMP mod_unload ARMv7 p2v8 ’ Я так понимаю мне нужно скомпилировать ядро, чтобы оно было с p2v8, но как и какие параметры нужно включить в menuconfig при компиляции? modinfo и uname одинаковые, почему он требует версию с p2v8?

1. Ваш вопрос переслал в телеграмм-канал Alt'а. Жду ответа, самому интересно очень.
2. На сайте Alt'а есть информация о том, что компилировать ядро не надо, с чем лично я не могу согласиться. Однако пересобирать ядро пока не пробовал.

sparkie ★★★★★
()

потому что такая строка заложена в настройках модуль для проверки совместимости.
номинально можно просто поменять имя ядра перед компиляцией, будет ядро без приписки p2v8. в модуле имя ядра схавается и модуль инсталируется в ядро. дальше уже все будет зависеть от обживется модуль или нет.

обычно все таки модуль компилят под ядро (а не наобормот).
при этом модуль при компиляции берет необходимые адреса и прочие статические настройки из заголовков ядра, получающиеся при компиляции ядра.
когда происходит наоборот, то модуль может напрямую обратится в совершенно не предназначенное для онного обращение место. ибо заголовки будут отличатся.

pfg ★★★★★
()