LINUX.ORG.RU

Kernel module.


0

0

Вот, написал свой кернел модуль, как добавить его к ядру ?
Именно добавить, а не инсталировать insmod`ом. Возможно ли такое ?

Вопрос в догонку: как читать/писать файлы из кернел спейса ?

Спасибо.
anonymous

Re: Kernel module.

> Именно добавить, а не инсталировать insmod`ом
Э-э-э ... А в чем по-твоему разница между "добавить" и "инсталировать"?
И что такое "добавить кернел модуль к ядру" ?

anonymous ()

Re: Kernel module.

Необходимо, чтобы мой модуль был строен в ядро. 

anonymous ()

Re: Kernel module.

Поправка:

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

anonymous ()

Re: Kernel module.

Короче, у меня есть модуль (с исходниками), как мне
из этого модуля сделать "Тогда_это_уже_не_модуль", 
как его в ядро запихать ?

Народ ! Выручайте ! 
Ну не программист я! сисадмин я :)

anonymous ()

Re: Kernel module.

делаешь по аналогии например с ipc - ( если у тебя не драйвер )

linux-2.4.x/yourdir/

Делаешь makefile по аналогии как /ipc/makefile

потом в /linux-2.4.x/makefile

дописываешь в таргеты везде где ipc есть , приписываешь свою директорию

puk ()

Re: Kernel module.

читать файлы /include/linux/fs.h

file=filp_open(yourfilechar) fs=get_fs(); set_fs(KERNEL_DS); file->f_op->read/write(); set_fs(fs); filp_close(file)

что-то в этом духе

puk ()

Re: Kernel module.

писать/читать из кернел-спейса можно через task_queue(добавляешь функцию чтения с диска в очередь...)

anonymous ()

Re: Kernel module.

а так : file=filp_open(yourfilechar) fs=get_fs(); set_fs(KERNEL_DS); file->f_op->read/write(); set_fs(fs); filp_close(file) можно только если файл уже есть в кеше

anonymous ()

Re: Kernel module.

не обязательно

filp_open - открывает файл , если нету в кэше то погружает

puk ()

Re: Kernel module.

da pro cache ia zagnul eto esli iz irq-handlera faili chitat to cache nuzhen...

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