確認環境
- CentOS5.5(Intel64)
モジュールのソースコード(ファイル名はtoy_mod.c)
#include <linux/init.h>
#include <linux/module.h>
#include <linux/kernel.h>
static int toy_mod_init(void)
{
return 0;
}
static void toy_mod_exit(void)
{
}
module_init(toy_mod_init);
module_exit(toy_mod_exit);
MODULE_LICENSE("GPL");
MODULE_DESCRIPTION("toy module: no function, no action");
MODULE_AUTHOR(“Nekooyaji”);
Makefile
obj-m := toy_mod.o
コンパイル方法
# make -C /lib/modules/$(uname -r)/build SUBDIRS=$PWD modules
モジュール組み込み
# /sbin/insmod toy_mod.ko # /sbin/lsmod | grep toy toy_mod 34304 0
モジュール取り外し
# /sbin/rmmod toy_mod # /sbin/lsmod | grep toy
メモ
- MODULE_DESCRIPTION、MODULE_AUTHORは動作上必須ではない
- MODULE_LICENSEを設定しない場合、insmod時に下記メッセージが/var/log/messagesに発生
toy_mod: module license 'unspecified' taints kernel.
0 件のコメント:
コメントを投稿