Страница 1 из 1

[Решено] Ошибка при установке модуля (пакет из aur: synaptics-led-dkms) (dkms 3.0.10-1)

Добавлено: 31.01.2023 13:17
vantu5z
В AUR есть пакет с модулем для тачпада synaptics-led-dkms, который заменяет модуль ядра psmouse.
После обновления dkms с 3.0.9-1 на 3.0.10-1 возникла проблема с установкой модуля при обновлении ядра:
:: Запуск post-transaction hooks...
(1/3) Arming ConditionNeedsUpdate...
(2/3) Updating module dependencies...
(3/3) Install DKMS modules
==> dkms install --no-depmod synaptics-led/6.1.1 -k 6.1.8-arch1-1
Module version  for psmouse.ko.zst
exactly matches what is already found in kernel 6.1.8-arch1-1.
DKMS will not replace this module.
You may override by specifying --force.
Error! Installation aborted.
==> WARNING: `dkms install --no-depmod synaptics-led/6.1.1 -k 6.1.8-arch1-1' exited 6
Если откатить dkms до 3.0.9-1, то установка модуля проходит нормально.

Если модуль устанавливать вручную:

При установке модуля с dkms 3.0.10-1:
$ sudo dkms install synaptics-led/6.1.1
Sign command: /usr/lib/modules/6.1.8-arch1-1/build/scripts/sign-file
Signing key: /var/lib/dkms/mok.key
Public certificate (MOK): /var/lib/dkms/mok.pub
Creating symlink /var/lib/dkms/synaptics-led/6.1.1/source -> /usr/src/synaptics-led-6.1.1

Building module:
Cleaning build area...(bad exit status: 2)
make -j4 KERNELRELEASE=6.1.8-arch1-1 -C '/usr/lib/modules/6.1.8-arch1-1/build' 'M=/var/lib/dkms/synaptics-led/6.1.1/build' psmouse.ko.....
Signing module /var/lib/dkms/synaptics-led/6.1.1/build/psmouse.ko
Cleaning build area...(bad exit status: 2)

psmouse.ko.zst:
Running module version sanity check.
Module version  for psmouse.ko.zst
exactly matches what is already found in kernel 6.1.8-arch1-1.
DKMS will not replace this module.
You may override by specifying --force.
Error! Installation aborted.
Исправить ошибку получается указав флаг --force.

При установке модуля с dkms 3.0.9-1:
$ sudo dkms install synaptics-led/6.1.1
Sign command: /usr/lib/modules/6.1.8-arch1-1/build/scripts/sign-file
Signing key: /var/lib/dkms/mok.key
Public certificate (MOK): /var/lib/dkms/mok.pub
Creating symlink /var/lib/dkms/synaptics-led/6.1.1/source -> /usr/src/synaptics-led-6.1.1

Building module:
Cleaning build area...(bad exit status: 2)
make -j4 KERNELRELEASE=6.1.8-arch1-1 -C '/usr/lib/modules/6.1.8-arch1-1/build' 'M=/var/lib/dkms/synaptics-led/6.1.1/build' psmouse.ko.....
Signing module /var/lib/dkms/synaptics-led/6.1.1/build/psmouse.ko
Cleaning build area...(bad exit status: 2)

psmouse.ko.zst:
Running module version sanity check.
 - Original module
   - Found /usr/lib/modules/6.1.8-arch1-1/kernel/drivers/input/mouse/psmouse.ko.zst
   - Storing in /var/lib/dkms/synaptics-led/original_module/6.1.8-arch1-1/x86_64/
   - Archiving for uninstallation purposes
 - Installation
   - Installing to /usr/lib/modules/6.1.8-arch1-1/updates/dkms/
depmod...
Что нужно подправить в пакете или настройках dkms, чтобы установка проходила автоматически?

Re: Ошибка при установке модуля (пакет из aur: synaptics-led-dkms) (dkms 3.0.10-1)

Добавлено: 31.01.2023 17:20
vall
Так это же похоже Ваш патч на GitHub и пакет в AUR. Вам и карты в руки в поиске решения )

Re: Ошибка при установке модуля (пакет из aur: synaptics-led-dkms) (dkms 3.0.10-1)

Добавлено: 31.01.2023 17:23
vasek
vantu5z:Что нужно подправить в пакете или настройках dkms, чтобы установка проходила автоматически?
С большой долей вероятности причина в наличии файла synaptics-led-dkms.install - для чего он тебе нужен? Почитай Wiki и man dkms - если модуль уже установлен, он не будет переустанавливаться заново … о чем и сообщают
vantu5z:exactly matches what is already found in kernel 6.1.8-arch1-1.
DKMS will not replace this module.
… и далее сообщают, что для перезаписи модуля следует использовать параметр --force
vantu5z:You may override by specifying --force
Рекомендую убрать этот файл - цитата из Wiki (ссылка выше)
Do not use .install file to load or unload modules. Leave it to the user, since there is a possibility a module may crash when loaded. 
Also do not call dkms as it is automatically done via pacman hook provided by dkms. 
This hook runs dkms install and dkms remove leaving no manual task for the package maintainer.
Все делается автоматом … и рекомендую после обновления ядра и dkms выполнять reboot

PS - зайди в AUR, набери dkms … и посморти на выбор любой пакет dkms - file.install НЕТ

Re: Ошибка при установке модуля (пакет из aur: synaptics-led-dkms) (dkms 3.0.10-1)

Добавлено: 01.02.2023 11:29
vantu5z
vasek: С большой долей вероятности причина в наличии файла synaptics-led-dkms.install
Удалил *.install из пакета, да он не нужен.
Но ситуация не изменилась, модуль собирается, но не устанавливается.
vasek: man dkms - если модуль уже установлен, он не будет переустанавливаться заново
Я так понимаю, здесь речь идёт о попытке повторной установки уже установленного dkms модуля.

А у меня случай, когда производится установка dkms модуля с заменой существующего модуля, который входит в модули ядра.
В man dkms написано, что найденные модули будут сохранены как "original_module", для восстановления при удалении dkms модуля:
ORIGINAL MODULES
       During  the  first install of a module for a <kernelversion>, dkms will
       search /usr/lib/modules/<kernelversion> for a  pre-existing  module  of
       the  same  name.  If one is found, it will automatically be saved as an
       "original_module" so that if the newer module is  later  removed,  dkms
       will  put  the  original  module  back  in  its  place. Currently, DKMS
       searches for these original modules with first preference going to mod‐
       ules  located  in /usr/lib/modules/<kernelversion>/updates/ followed by
       $DEST_MODULE_LOCATION (as specified in dkms.conf ). If  one  cannot  be
       found  in  either  location, a find will be used to locate one for that
       kernel.  If none are found, then during a later uninstall, your  kernel
       will not have that module replaced.

       If  more  than  one is found, then the first one located (by preference
       indicated above) will be considered the "original_module". As well, all
       copies  of  the same-named module will be removed from your kernel tree
       and placed into  /var/lib/dkms/<module>/original_module/$kernelver/col‐
       lisions  so  that  they  can  be *manually* accessible later. DKMS will
       never actually do anything with the modules found underneath the  /col‐
       lisions  directory,  and  they  will be stored there until you manually
       delete them.

Re: Ошибка при установке модуля (пакет из aur: synaptics-led-dkms) (dkms 3.0.10-1)

Добавлено: 01.02.2023 11:58
vantu5z
Нашел, проблема была в dkms в проверке версии модуля:
Issue:
DKMS Issue when module has to be replaced #296
PR (принятый):
Fix updating modules with no version #297

Всем спасибо за участие, ждем релиза.

Re: [Решено] Ошибка при установке модуля (пакет из aur: synaptics-led-dkms) (dkms 3.0.10-1)

Добавлено: 01.02.2023 14:03
vasek
vantu5z:Нашел, проблема была в dkms в проверке версии модуля:
Молодец ...
Вопрос для ликбеза - как производится замена модуля?
Не проще просто запретить загрузку psmouse? ... а остальное dkms все будет делать автоматом.

Re: [Решено] Ошибка при установке модуля (пакет из aur: synaptics-led-dkms) (dkms 3.0.10-1)

Добавлено: 02.02.2023 11:52
vantu5z
vasek:Вопрос для ликбеза - как производится замена модуля?
Не совсем понял вопрос, но вот так сейчас производится установка модуля dkms:
 - Original module
   - Found /usr/lib/modules/6.1.9-arch1-1/kernel/drivers/input/mouse/psmouse.ko.zst
   - Storing in /var/lib/dkms/synaptics-led/original_module/6.1.9-arch1-1/x86_64/
   - Archiving for uninstallation purposes
 - Installation
   - Installing to /usr/lib/modules/6.1.9-arch1-1/updates/dkms/
vasek: Не проще просто запретить загрузку psmouse? ... а остальное dkms все будет делать автоматом.
Имеется ввиду включить psmouse в blacklist, а модуль dkms переименовать, например в psmouse-led?
Если так, то возникают несколько других вопросов:
  • где и как указать, что нужно загружать psmouse-led вместо psmouse?
  • не будет ли каких-то неразрешенных зависимостей, если кто-то использует psmouse увидит ли он модуль с новым именем?
  • и собственно, чем это упростит процесс, dkms и так всё делает автоматом?

Re: [Решено] Ошибка при установке модуля (пакет из aur: synaptics-led-dkms) (dkms 3.0.10-1)

Добавлено: 02.02.2023 12:33
vasek
Дошло, понятно ... просто не совсем правильно представял сам процесс .