Операционная система ЗОСРВ «Нейтрино» > Руководство пользователя > Настройка и управление > Подсистема поддержки открытых драйверов (LXDev) > Поддержка драйверов с кодовой базой Linux



Поддержка драйверов с кодовой базой Linux

Настройка системы совместимости с модулями Linux

Статья включает:

Общее описание менеджера io-lxdev
Настройка менеджера io-lxdev

Общее описание менеджера io-lxdev

Cистема совместимости с модулями Linux состоит из менеджера io-lxdev, библиотеки совместимости liblxcompat и набора динамически подгружаемых драйверов devl-* на базе исходных кодов Linux, представляющих из себя аналоги модулей ядра Linux.

Менеджер может быть запущен как без параметров:

# io-lxdev

При этом загрузка требуемых модулей регулируется конфигурационным файлом по умолчанию.

Также менеджер может быть запущен с явным указанием загружаемых модулей и возможностью передать им параметры:

# io-lxdev mali-mcom02 -p mali_debug_level=5

Получить информацию о модуле и узнать возможные параметры можно передав менеджеру io-lxdev ключ -i и имя модуля:

# io-lxdev -i mali-mcom02
loading module 'mali-mcom02' info
Module: mali
- version:
- author: ARM Ltd.
- license: GPL
- parameter: mali_l2_max_reads
Maximum reads for Mali L2 cache
- parameter: mali_max_job_runtime
Maximum allowed job runtime in msecs.
Jobs will be killed after this no matter what
- parameter: mali_major
Device major number
- parameter: mali_debug_level
Higher number, more dmesg output
- parameter: mem
Mali system memory size

Настройка менеджера io-lxdev

Для того, чтобы драйвер устройства запустился, менеджером io-lxdev должен быть загружен соответствующий модуль и произведена ассоциация драйвера с поддерживаемым им оборудованием.

Чтобы сопоставить драйвер с устройством, менеджер io-lxdev должен знать о конфигурации оборудования. В случае, если шина, на которой расположено устройство, имеет возможность обнаружения и идентификации устройств (например, PCI или USB) это может происходить автоматически, иначе конфигурация должна быть описана в конфигурационном файле.

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

Пример:

// загрузка модулей
#module "mali-mcom02"
#module "mcom02-gpuclk"
// структура оборудования
clocks {
gpuclk: mcom02-cmctr {
#clock-cells = <0>;
compatible = "elvees,mcom02-pll";
clock-frequency = <300000000>;
};
};
gpu {
compatible = "arm,mali-dev";
clocks = <&gpuclk>;
};

В данном примере описаны и привязаны к драйверам два связаных устройства: GPU Mali и его тактовый генератор. Конфигурация также предусматривает автоматическую загрузку соответствующих модулей.

Подробнее о формате конфигурационного файла можно прочитать в статье /etc/system/config/lxdev.conf.




Предыдущий раздел: перейти