確認環境
- 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 件のコメント:
コメントを投稿