Анонсирован первый выпуск проекта kmod, в рамках которого началось формирование нового набора утилит и библиотеки для управления загрузкой модулей ядра Linux. Ключевым отличием от утилит, подобных modprobe и insmod, является использование в качестве основы библиотеки libkmod, функции которой можно использовать в любых других программах. Использование библиотеки позволит избавить от необходимости вызова внешних утилит такие приложения, как udev, инсталляторы, утилиты работающие на раннем этапе загрузки. Код всех компонентов нового инструментария распространяется под лицензией GPLv2.

В десктоп-дистрибутивах и некоторых встраиваемых системах на этапе загрузки для проверки доступного оборудования используется udev, который создаёт устройства в директории /dev и на основании содержимого псевдофайловой системы /sys загружает необходимые для обеспечения взаимодействия с оборудованием модули ядра. Так как модулей загружается достаточно много, утилита modprobe может вызываться сотни раз, при этом не каждый запуск modprobe приводит к загрузке модуля так как модуль может уже быть загружен. Подобные действия приводят к большой паразитной нагрузке и замедляют процесс загрузки. Используя libkmod все операции по проверке активности и загрузке модулей могут производиться через обычные библиотечные вызовы, занимая при этом минимум ресурсов, так как файлы конфигурации и индексы со списком имеющихся в наличии модулей будут разобраны один раз, а не при каждом обращении к утилите modprobe.

В настоящее время в kmod входит реализация утилит kmod-lsmod, kmod-insmod, kmod-rmmod, kmod-modprobe, в которых обеспечена совместимость и реализована функциональность, аналогичная утилитам lsmod, insmod, rmmod и modprobe. Библиотека libkmod предоставляет API для вывода уже загруженных ядром модулей; получения информации о заданном модуле, включая такие данные как зависимости, размер и позиция в адресном пространстве ядра; поиска модулей по заданным критериям (алиас, имя модуля и путь); загрузки модулей с передачей параметров конфигурации; удаления модулей; использования чёрных списков; получения данных о поддерживаемых модулем опциях; управления индексом с данными о модулях. В настоящее время разработчики kmod обсуждают вопрос использования libkmod с мэйнтейнерами проектов udev и systemd.

Источник: http://www.opennet.ru/opennews/art.shtml?num=32577