Сборка модулей ядра: различия между версиями
Строка 10: | Строка 10: | ||
<li>kernel-source-<module> который содержит только исходники. | <li>kernel-source-<module> который содержит только исходники. | ||
<li>kernel-modules-<module>-<flavour> модуль module собраный для ядра flavour(например kernel-modules-nvidia-std-def) | <li>kernel-modules-<module>-<flavour> модуль module собраный для ядра flavour(например kernel-modules-nvidia-std-def) | ||
Теперь о релизах пакетов с модулями: | |||
поле release заполяется так alt<module release>.<kernel version>.<kernel release> где- | |||
<li> module release - релиз собственно модуля, тоесть если мы обновили именно модуль, то это поле изменяется | |||
<li> kernel version - версия ядра в формате 65535 * major version + 256 * mid version + minor version, тоесть 2.6.25 = 132633. Не пугайтесь это число рассчитавает скрипт, описаный позже. | |||
<li> kernel release - номер релиза пакета с ядром. | |||
Таким образом модуль с nvidia для ядра kernel-image-std-def-2.6.25-alt8 будет kernel-modules-nvidia-std-def-173.14.12-alt1.132633.8 | |||
= Как собрать модуль локально = | = Как собрать модуль локально = |
Версия от 13:35, 1 сентября 2008
Введение
Ядро Linux содержит в себе множество кода, поддерживающего ту или иную возможность или обрудование. Основная часть этого кода вкомпилино в ядро и загружается с ним, обычно это код поддерки процессоров, памяти и других базовых вещей, а код необходимый только части пользователей: драйверы устройств, поддержка файловых систем, и тд собрано в виде модулей. Модули могут подключаться к ядру по команде пользователя (modprobe',insmod) или автоматически при помощи udev, также модули могуть быть выгруженны либо самим ядром либо командой rmmod.
Большенство модулей находиться в пакете ядра, иногда по техническим, административным, или юредическим причинам некоторые модули выносяться в отдельные пакеты, и соответвенно собиратются отдельно.
О модулях и названиях
Поскольку в репозитарии может быть множество ядер, модули собираются так: имеется пакет с исходными кодами модуля, и пакет с модулем собранным для конкретного ядра. Приэтом SRPM второго содержит только spec и пачи, а исходные коды получает по сборочным зависимостям. Таким образом у нас есть пакеты:(module - имя модуля, flavour - вариант ядра)