| Написал драйвер для pci-онй платы что с ним дальше сделать? |
Втр, 18 Ноябрь 2008 09:41  |
|
|
Есть плата pci. Написал драйвер для нее. Все работает замечательно. Сейчас загружаю его с помощью insmod. А хочеться сделать так чтобы система сама это делала. Т.е. если эта плата в компе торчит то драйвер грузиться автоматически. Как и что для этого нужно сделать. Ядро 2.6. С линуксом пока знаком довольно мало.
|
|
|
|
| Re: Написал драйвер для pci-онй платы что с ним дальше сделать? |
Втр, 18 Ноябрь 2008 14:21   |
|
|
Драйвер писал сам. Соответственно и цели в makefile тоже я пишу. И цели инсталл я не писал. Не знаю как писать. В makefile написал только две цели, first где компилируеться драйвер и получаеться файл *.ко и clean для удаления "мусора".
|
|
|
|
| Re: Написал драйвер для pci-онй платы что с ним дальше сделать? |
Втр, 18 Ноябрь 2008 15:54   |
|
Я может и не понимаю чего, но вопрос был такой:
| Цитата: | ейчас загружаю его с помощью insmod. А хочеться сделать так чтобы система сама это делала.
|
При чём здесь make modules_install? По-моему это как-то ближе к udev и подобным вещам. Т.е. при обнаружении устройства система должна знать какой модуль к ядру подгрузить и делать это. Или я неправильно понял вопрос?
|
|
|
| Re: Написал драйвер для pci-онй платы что с ним дальше сделать? |
Втр, 18 Ноябрь 2008 16:06   |
|
Ну за исключением строки с modules_install в моём makefile тоже самое.
Добавил строку с modules_install.
Но проблема усложнилась тем что у меня забрали плату.
Можно как-нибудь без неё понять что все хорошо? Что именно делаеться в этой строке?
|
|
|
|
|
| Re: Написал драйвер для pci-онй платы что с ним дальше сделать? |
Срд, 19 Ноябрь 2008 00:27   |
Mr.Nobody  Сообщений: 909 Зарегистрирован: Ноябрь 2004 Географическое положение: Russia, Moscow |
Старожил guru |

|
|
| Цитата: |
menuconfig MODULES
bool "Enable loadable module support"
help
Kernel modules are small pieces of compiled code which can
be inserted in the running kernel, rather than being
permanently built into the kernel. You use the "modprobe"
tool to add (and sometimes remove) them. If you say Y here,
many parts of the kernel can be built as modules (by
answering M instead of Y where indicated): this is most
useful for infrequently used options which are not required
for booting. For more information, see the man pages for
modprobe, lsmod, modinfo, insmod and rmmod.
If you say Y here, you will need to run "make
modules_install" to put the modules under /lib/modules/
where modprobe can find them (you may need to be root to do
this).
If unsure, say Y.
|
Можно также прочитать modules.txt в директории Documentation исходников ядра.
|
|
|
| Re: Написал драйвер для pci-онй платы что с ним дальше сделать? |
Срд, 19 Ноябрь 2008 07:26   |
|
San дал весьма верный совет.
1. Вы должны определить воткнута ли плата.
2. Если воткнута, то загрузить драйвер.
В более менее современном дистрибутиве есть файловая система /sys
Примерно тут :
/sys/bus/pci/devices/ (может зависеть от дистрибутива)
информация обо всех обнаруженных PCI-устройствах.
Нужно проверить наличие соответсвующих записей и загрузить модуль.
Сделать это без платы трудновато, но могу предположить, что это возможно, если Вам известны PCI-ID и вообще какие записи создаются в /sys/bus/pci/devices/ при вставленной плате.
|
|
|
|
| Re: Написал драйвер для pci-онй платы что с ним дальше сделать? |
Срд, 19 Ноябрь 2008 08:58   |
|
Где лежит модуль неважно. Не плохо если он лежит там где у Вас - это его штатное место. В RH-based дистрибутивах есть файлик /etc/modules.conf, в котором можно сделать запись типа alias, сопоставляющую имя устройства с модулем для него, например:
При этом может быть указан абсолютный путь к модулю (хоть в /opt его кладите). В этом случае при вставленной карте модуль загрузится при загрузке системы автоматически.
|
|
|
| Re: Написал драйвер для pci-онй платы что с ним дальше сделать? |
Срд, 19 Ноябрь 2008 09:02   |
|
Меня что смущает...
Я когда делаю руками, то пишу:
mknod /dev/устройство с 253 0
insmon мой_драйвер.ко
И что-то я нигде не вижу куда эти номера ( те что 253 0) надо писать чтоб линукс про них знал. Хотя есть у меня мысль что это важно.
|
|
|
|
|
| Re: Написал драйвер для pci-онй платы что с ним дальше сделать? |
Срд, 19 Ноябрь 2008 13:45   |
|
А драйвер сам как устройство делает?
Или функция registr_chrdev еще и файл устройства создает?
После depmod ядро вроде мой модуль знает. modprobe мой_модуль его загружает и в выводе lsmod он присутствует (без modprobe его там нет) и стоит 0 т.е. никто его не использует. Файл устройства не создаеться. Если самому запустить mknod и modprobe то все работает. При этом плата стоит на месте( присутствует в выводе lspci -v).
|
|
|
|
|
|
|