2011-01-11 5 views
8

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

+1

Местонахождение? Вы имеете в виду адрес базовой памяти или файл, из которого был загружен модуль? – cdhowie

+0

Расположение в памяти, где загружен модуль – user567879

ответ

18

Если вы хотите узнать адрес базовой памяти для модуля в виртуальном адресном пространстве ядра, его можно найти в качестве последнего поля в /proc/modules; поиск модуля в вопросе:

$ grep '^ext3' /proc/modules 
ext3 125513 1 - Live 0xf88ce000 

Если вы хотите узнать путь к файлу был загружен из, оригинальный путь на самом деле не хранятся в любом месте, но вы можете попросить modprobe для повторного поиска модуля и отображения путь с помощью modprobe -l:

$ /sbin/modprobe -l ext3 
/lib/modules/2.6.18-194.el5PAE/kernel/fs/ext3/ext3.ko 

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

EDIT: С 2015 года информация неверна (не только то, что ext4 не существует как модуль ядра). Получить информацию о модуле, включая путь изображения с:

modinfo floppy

+3

Просто примечание: 'cat/proc/modules' на Ubuntu 11.04 дает' Live 0x00000000' для всех модулей; однако 'sudo cat/proc/modules' действительно показывает фактические адреса. – sdaau

2

№ Эта информация не сохраняется при загрузке модуля.

1

Выше информация не является правильным, для 2015.

MODINFO теперь будет давать вам информацию о модуле. например: modinfo floppy

+0

это неверно, 'modinfo' показывает расположение модуля« 'floppy'» в пути поиска (в основном в '/ lib/modules' не место, откуда был загружен модуль« floppy ». Иными словами, Посмотрите, что на самом деле загружено, но что существует на диске в некоторых заранее определенных местах. – Eric