Open Source & Linux Lab

It's better when it's simple

User Tools

Site Tools


etc:users:kernel

This is an old revision of the document!


Тут попробуем разобраться, как устроены модули ядра Linux.

Как загружать модули в ядро

Увидеть какие модули уже загружены в ядро можно выполнить команду lsmod, которая прочитает данные из /proc/modules Как же они загружаются в ядро? В самых общих чертах это выглядит так: когда ядру нужна функциональность, которой нет резидентно в ядре, демон kmod вызывает команду modprobe для загрузки модуля. modprobe получает как параметр строку указывающую на модуль (имя модуля или его псевдоним см. файл /etc/modprobe.conf??? у меня псевдонимы находятся в /etc/modprobe.d/aliases). Затем определяются зависимости модуля (модули, которые нужны для работы нашему модулю см. файл /lib/modules/<версия ядра>/modules.dep), затем собственно производится загрузка модулей с помощью insmod в нужном порядке (сначала те модули, которые указаны в зависимости, потом сам модуль)

Версия модуля

Модули скомпилированные для одной версии ядра, могут не подходить для другой версии ядра, поэтому не следует загружать модули для одной версии в другой. Данное руководство предназначено для версии ядра 2.6

Discussion

jcmvbkbc, 2010/01/30 22:00

Традиционно, для linux код возврата в случае ошибки (если не указано иного) – - <код ошибки>. Например -ENOMEM.

Существующие коды ошибок – include/linux/errno.h, include/asm/errno.h, include/asm-generic/errno-base.h

You could leave a comment if you were logged in.
etc/users/kernel.1264619351.txt.gz · Last modified: 2010/01/27 22:09 by krinkinmu