LINUX.ORG.RU

Как до блеклиста модуля запустить скрипт?

 


0

1

Есть файл с чёрным списком:

blacklist dwc2

Надо до его чтения запустить скрипт modinfo dwc2_dkms && echo "blacklist dwc2" > /etc/modprobe.d/blacklist_dwc2.conf

А потом уже прочитать blacklist_dwc2.conf

Как это можно сделать?

Или другой вопрос, как настроить приоритет модулей?

★★★★★

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

для задачи переопредлить модуль поставляемый с ядром (dwc2) при установке/dkms-сборке другого модуля, работающего с тем же устройством можно вместе с собираемым модулем добавлять udev-правило. У меня рабочий пример только для PCI-устройств, но наверное для USB сходно

SUBSYSTEM=="pci", ATTR{vendor}=="0x1111", ATTR{device}=="0x2222", SYSCTL{kernel.osrelease}=="@KERNEL_RELEASE@", ENV{MODALIAS}:="dwc2_dkms"

Проверку на kernel.osrelease можно убрать, но тогда правило будет работать для всех ядер, а не только для того для котрого собран модуль (в качестве @KERNEL_RELEASE@ подставляем силами системы сбрки версию ядра под которую собирается dkms-модуль)

GPFault ★★
()
Ответ на: комментарий от GPFault
pi@becker22:~ $ lsusb
Bus 001 Device 004: ID 1c4f:0063 SiGma Micro Touchpad (integrated in detachable keyboard of Chuwi SurBook)
Bus 001 Device 003: ID 0424:ec00 Microchip Technology, Inc. (formerly SMSC) SMSC9512/9514 Fast Ethernet Adapter
Bus 001 Device 002: ID 0424:9514 Microchip Technology, Inc. (formerly SMSC) SMC9514 Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
pi@becker22:~ $ lspci
pcilib: Cannot open /proc/bus/pci
lspci: Cannot find any working access method.

Тут в том и проблема, что если dwc2 залит в dts, но не загружен, то сетка и ввод не работают.

steemandlinux ★★★★★
() автор топика
Последнее исправление: steemandlinux (всего исправлений: 1)

insmod не смотрит blacklist.

На нужном этапе загрузки тупо загрузить модуль через insmod.

vel ★★★★★
()
Ответ на: комментарий от vel

В том и вопрос, куда его сунуть до modprobe. initramfs нет.

Есть systemd-modules-load.service, но это не оно.

steemandlinux ★★★★★
() автор топика
Последнее исправление: steemandlinux (всего исправлений: 1)

В modprobe.d есть инструкция install, которая выполняет команду вместо загрузки модуля.

что-то типа

install dwc2 modinfo dwc2_dkms && modprobe dwc2_dkms || modprobe --ignore-install dwc2
Aceler ★★★★★
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.