Kernel2.4のLKMコンパイルメモ
昨日で言ったLKMの基本からメモ。
//hello.c //ここのdefineを行わない場合は、 //コンパイル時に-DMODULEのように指定する必要がある。 #define MODULE #define LINUX #define __KERNEL__ #include <linux/module.h> #include <linux/kernel.h> MODULE_LICENSE("GPL"); int init_module(void) { printk(KERN_INFO, "Hello world start\n"); return 0; } void cleanup_module(void) { printk(KERN_INFO, "Hello world end\n"); }
$ gcc -c hello.c
init_module()はinsmodを行ったときに呼ばれる関数。
cleanup_module()は逆にrmmodを行ったときに呼ばれる関数。
家でもKernel2.4を試したいんだけれど環境が今のLinuxは2.6なので試せない。
簡単に2.4の環境を用意できないかな?
vmwareで2.4の開発環境つきのイメージをどっかからダウンロード出来ないかな?
2.6もそのうち勉強したい。
リアル環境でLKMの開発(というかテスト)は恐い。
2.6だったらUbuntuのvmwareがあるので、それで行うかな?