Наши партнеры

UnixForum





Библиотека сайта rus-linux.net

На главную -> MyLDP -> Электронные книги по ОС Linux
Цилюрик О.И. Модули ядра Linux
Назад Окружение и инструменты Вперед

Окружение и инструменты

«Учитель, всегда нужно знать, куда попал, если, стреляя в цель, промахнулся!»

Милорад Павич «Вывернутая перчатка».

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

Основные команды

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

# sudo insmod ./hello_printk.ko

- загрузка модуля в систему.

# rmmod hello_printk

- удаление модуля из системы.

# modprobe hello_printk

- загрузка модуля, ранее установленного в систему, и всех модулей, требуемых его зависимостями.

$ modinfo ./hello_printk.ko

- вывод информации о файле модуля.

Команды rmmod, modprobe требуют указания имени модуля, а команды insmod, modinfo - указания имени файла модуля.

$ lsmod

- список установленных модулей.

# depmod

- обновление зависимостей модулей в системе.

$ dmesg

- вывод системного журнала, в том числе, и сообщений модулей.

# cat /var/log/messages

- вывод системного журнала, в том числе, и сообщений модулей, формат отличается от dmesg, требует прав root.

$ nm mobj.ko

- команда, дающая нам список имён объектного файла, в частности, экспортируемых имён модуля.

$ objdump -t hello_printk.ko

- детальный анализ объектной структуры модуля.

$ readelf -s hello_printk.ko

- ещё один инструмент анализа объектной структуры модуля.


Предыдущий раздел: Оглавление Следующий раздел:
Обсуждение итогов раздела 3   Системные файлы