Нажатие изменений в репозитории драйверов

Мое понимание dkms – это способ динамического управления всеми подключенными / отключенными драйверами устройств в системе Linux. Если это так, то я должен представить, что он позволяет настроить «репо», где драйверы устройств могут быть установлены, так что, как только к нему подключено устройство с возможностью горячей замены, он обнаруживает, что драйвер устройства (в этом репо) и загружает его.

Если это правильно, то где это репо и настраивается ли это местоположение? Может ли он быть настроен на поиск драйверов в удаленном месте (с использованием HTTP, TCP и т. Д.)?

Кроме того, поддерживает ли dkms динамическое обновление / обновление драйверов устройств во время выполнения? Было бы неплохо подтолкнуть обновления драйверов устройства к этому репо, а затем dkms автоматически выпустить / выгрузить драйвер, перезаписать старый драйвер с новым / обновленным, а затем перезагрузить новый драйвер.

  • udev запускает правило, но скрипт не выполняется должным образом
  • как включить или добавить / dev с tar -one-файловой системой
  • Как определить, загружается ли USB-устройство в udev?
  • Как получить udev для идентификации устройства USB, независимо от того, какой USB-порт подключен?
  • Правило Udev hwdb не работает
  • предоставить групповые разрешения конкретному устройству
  • Разрешение отклонено: запись правила udev в тестовый файл в /etc/udev/rules.d/
  • Как отпечатать систему Unix
  • One Solution collect form web for “Нажатие изменений в репозитории драйверов”

    Ни udev, ни DKMS не могут быть адекватно описаны как «способ динамического управления всеми подключенными / отключенными драйверами устройств в системе Linux». Udev динамически управляет устройствами , а не драйверами – он создает записи в /dev когда устройство подключено. DKMS касается драйверов, но это не имеет никакого отношения к поиску драйвера для устройства: это способ скомпилировать сторонние драйверы из источника при установке ядра.

    Когда ядро ​​обнаруживает устройство, для которого нет драйвера, он вызывает программу modprobe чтобы попытаться загрузить модуль, который предоставляет этот драйвер. Программа modprobe в свою очередь, обращается к базе данных, созданной depmod которая перемещает файлы модулей ( *.ko ), расположенные под /lib/modules/ VERSION / . См. Debian не обнаруживает последовательную PCI-карту после перезагрузки для более подробного описания этого механизма.

    Номинальная последовательность событий, когда устройство подключено и в памяти нет драйвера, является:

    1. Ядро вызывает modprobe для загрузки драйвера.
    2. modprobe загружает файл модуля из /lib/modules .
    3. Теперь, когда драйвер доступен, ядро ​​уведомляет udev о наличии нового устройства.
    4. udev создает запись под /dev для нового устройства.

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

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

    Linux и Unix - лучшая ОС в мире.