LINUX.ORG.RU
ФорумAdmin

откуда загружается модуль e100??


0

0

привет всем, коллеги.. вот такой вопрос.. Возьмем к примеру модуль e100 (для интеловского сетевого адаптера, но не суть). lsmod | grep -i e100 e100 40580 0 mii 5888 1 e100

далее: sudo grep -r e100 /etc/ ничего не выдает

далее: cp /boot cat ./initrd.img | gzip -d | cpio -iv sudo grep -r e100 ./ ничего не выдает

где initrd это ramdisk с модулями для ядра скопирован из /boot и поставлялся вместе с дистрибутивом. Внимание вопрос: КАКИМ ОБРАЗОМ СИСТЕМА ГРУЗИТ. Кто если знает подскажите пожалуйста куда смотреть! :) Спасибо!

P.S. Ах да, сам модуль естественно имеется: /lib/modules/2.6.15-26-386/kernel/drivers/net/e100.ko


Ответ на: комментарий от roy

ну это.... cat /boot/config-2.6.15-26-386 | grep -i module

... # Loadable module support CONFIG_MODULES=y CONFIG_MODULE_UNLOAD=y

... примерно так, и что с того - непонеятно, ну разрешена модульная архитектура ядра ........

diglan
() автор топика
Ответ на: комментарий от roy

странно то, что модуь физически есть в /lib/mudules, есть в lsmod, в конфиге ядра написано что егокомпилировать модулем, все вроде нормально, только не понятно как он грузиться ядром, я делал (как и писал выше) поиск по строке - e100 нигде этот алиас не используется, может есть ссылка на него по другому имени ? если сделать modinfo e100 то там будет довольно большой список каких-то алиасов.

diglan
() автор топика
Ответ на: комментарий от roy

странно то, что модуь физически есть в /lib/mudules, есть в lsmod, в конфиге ядра написано что егокомпилировать модулем, все вроде нормально, только не понятно как он грузиться ядром, я делал (как и писал выше) поиск по строке - e100 нигде этот алиас не используется, может есть ссылка на него по другому имени ? если сделать modinfo e100 то там будет довольно большой список каких-то алиасов.

diglan
() автор топика
Ответ на: комментарий от diglan

Скорее всего модуль грузиться udev'ом. Или ядро само знает что для такого устройства нужно загрузить такой-то драйвер.

anti_social
()
Ответ на: комментарий от anti_social

а как это "само" ??? :)

у меня на самом деле подозрения на sysfs и /sys/ книги какие-то старые читаю чтоли, ... не могу по имеющимся данный понять как это происходит ;)

ладно со временем наступит прозрение ;)

спасибо)

diglan
() автор топика
Ответ на: комментарий от diglan

+1 к anti_social

Ядро само определяет, какой модуль необходим для обнаруженного девайса, и если его находит (в initrd или как его там, или на корневой ФС) - то грузит.

roy ★★★★★
()
Ответ на: комментарий от anonymous

угу... вот - в директории initrd (распакованного) grep -r e100 ./

./etc/modprobe.d/blacklist:# replaced by e100

Binary file ./lib/modules/2.6.15-26-386/kernel/drivers/scsi/scsi_mod.ko matches

Binary file ./lib/modules/2.6.15-26-386/kernel/drivers/scsi/lpfc/lpfc.ko matches

Binary file ./lib/modules/2.6.15-26-386/kernel/drivers/scsi/qla2xxx/qla6312.ko matches

Binary file ./lib/modules/2.6.15-26-386/kernel/drivers/net/8139cp.ko matches

Binary file ./lib/modules/2.6.15-26-386/kernel/drivers/net/e1000/e1000.ko matches

Binary file ./lib/modules/2.6.15-26-386/kernel/drivers/net/e100.ko matches

таким образом все файлы бинарные, ничего не ясно пока что... но все равно благодарю ;)

diglan
() автор топика
Ответ на: комментарий от Deleted

хорошо.. вот вывод ;

ps ax | grep udev

2285 ? S<s 0:00 /sbin/udevd --daemon

10819 pts/1 S+ 0:00 grep udev последнее понятно не надо, т.е. одна строка:

2285 ? S<s 0:00 /sbin/udevd --daemon

diglan
() автор топика
Ответ на: комментарий от Deleted

а также вот это:

$ cat /proc/mounts | grep -i udev

udev /dev tmpfs rw 0 0

diglan
() автор топика
Ответ на: комментарий от roy

хм.......... надо почитать про работу udev...

спасибо всем!

diglan
() автор топика

Какой модуль грузить ядро определяет по ответу устройств какого типа устройство например у нас стоит e1000 lspci покажет
08:04.0 Ethernet controller: Intel Corporation 82541GI Gigabit Ethernet Controller (rev 05)
Вот и ядро увидит вендора и тип устройства опросив шину и загрузит нужный
модуль автоматом
Другое дело что не все устройства могут(умеют) правильно ответить ядру тогда и нужно указать какой именно модуль необходимо загрузить в любом случае через конфиги и или скрипты загрузки

sova ★★
()
Ответ на: комментарий от sova

вот оно что... ясно, спасибо ! буду знать теперь...

diglan
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.