Библиотека сайта rus-linux.net
Цилюрик О.И. Модули ядра 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 | Системные файлы |