Как работать с модулями с закрытым исходным кодом при настройке новой сборки ядра

Как работать с модулями с закрытым исходным кодом при настройке новой сборки ядра

Я нашел эту команду очень полезной:

make localmodconfig

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

У меня такой вопрос: например, если у меня fglrxустановлен модуль, как мне настроить сборку ядра?

решение1

Драйверы с закрытыми исходными кодами не являются частью дистрибутива исходного кода ядра Linux и, как таковые, не могут быть случайно собраны с использованием makefile ядра Linux.
Обычно они поставляются производителем отдельно в виде пакета файлов, включая необходимые скрипты для запуска в соответствии с предоставленными инструкциями для правильной установки драйвера в системе.

В частном случае (теперь устаревшего)фирменный драйвер fglrx, необходимые файлы будут упакованы в .rpm и предоставят:

Файл readme или набор страниц документации,
совместимый с DRI модуль драйвера для поддержки 2D,
совместимый с DRI модуль драйвера для поддержки OpenGL,
модуль ядра (предварительно скомпилированные двоичные файлы плюс исходный код/библиотека для самостоятельной сборки)

и прочие другие утилиты

В качестве альтернативы и в зависимости от вашего дистрибутива Linux и того, насколько широко распространено используемое оборудование, соответствующий репозиторий может предлагать некий специальный пакет, который может установить фирменный драйвер, прибегнув к инструкциям специального менеджера пакетов, например, относительно драйвера fglrx в те времена, когда он не был объявлен устаревшим:

emerge media-video/ati-drivers # gentoo portage way
apt-get install fglrx-driver # debian way

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

Некоторые параметры ядра CONFIG_* могут потребовать корректировки для корректной работы проприетарного драйвера. Это особенно актуально, когда альтернативы проприетарному драйверу с открытым исходным кодом компилируются в ядре, что приводит к конфликтным ситуациям.
Как это могло бы произойти с драйвером fglrx, еслиCONFIG_DRM_RADEON=[y]

Все лучшие дистрибутивы будут документировать эти требования в деталях. Конечно, если в этот момент потребуются какие-либо изменения, ядро ​​придется пересобрать.

Связанный контент