LINUX.ORG.RU

Про поломанный детектор магии. GCC 5.3.0, retpoline и блоб Nvidia.

 , retpoline, , version magic


0

1

Решил потестить эти ваши блобы Nvidia. С ядром 4.14.12 всё было OK.

А тут в -current ветку пришло новое ядро 4.14.15. Ну, я его в 14.2+ и притянул. Пересобираю nvidia-kernel, перезагружаюсь... И всё поломано.

В логах:

nvidia: version magic '4.14.15 SMP mod_unload ' should be '4.14.15 SMP mod_unload retpoline '

Получается, что старый GCC 5.3.0 собирает модуль без retpoline и оно, соответственно, не попадает в version magic модуля. А собранное с retpoline ядро такой модуль не признаёт и он не загружается. Только если руками через «modprobe -f».

И, ведь, и версия ядра та. И архитектура та. Но, вот, из за retpoline...

UPD. Добавил в /etc/inittab строчку

ar0::bootwait:/sbin/modprobe -f nvidia-drm
Теперь модуль грузится автоматически.

★★★★★

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

А с тем же «/sbin/modprobe -f nvidia-drm» в параметре install в modprobe.conf или modprobe.d/ оно не заработало, и поэтому пришлось это в init тянуть?

bormant ★★★★★
()

Какая увлекательная жизнь у тебя

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

Может и заработало бы, но я пошёл наиболее простым для меня путём (кстати, всего в nvidia-kernel 4 модуля: nvidia-drm, nvidia-modeset, nvidia-uvm и nvidia; по «/sbin/modprobe -f nvidia-drm» автоматически грузятся 3 из них: nvidia-drm, nvidia-modeset и nvidia).

saahriktu ★★★★★
() автор топика
Последнее исправление: saahriktu (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.