linux/module.h インクルードできない
もう自力ではわからず、検索しても解決できなかったので、わかる方、力を貸してください。
まず環境は Ubuntu 12.10 をVirtualBoxで動かしています。
そして、以下のパッケージをインストールしました。
linux-source-3.5.0
linux-header-3.5.0-19-generic
その後、以下のソースをコンパイルしようとしました。
1 #include <linux/module.h> /* module 作成には必須 */
2 #include <linux/kernel.h> /* printk */
3
4 MODULE_LICENSE( "GPL" );
5
6 static char* msg = "module [message.o]";
7
8
9 /*
10 * モジュールの初期処理
11 * insmod 時に呼ばれる
12 */
13 int
14 init_module( void )
15 {
16 printk( KERN_INFO "%s : loaded into kernel\n", msg );
17
18 /* モジュール初期化に成功したので 0 を返す
19 0 以外の値を返せば初期化失敗とみなされモジュールは
20 カーネルには組み込まれない */
21 return 0;
22 }
23
24
25 /*
26 * モジュールの解放処理
27 * モジュールの参照数が 0 であれば、rmmod 時に呼ばれる
28 */
29 void
30 cleanup_module( void )
31 {
32 printk( KERN_INFO "%s : removed from kernel\n", msg );
33 }
34
35
36 /* End of message.c */
このソース自体はネットで公開されていたもののコピペです。
これを解説を読んで、いざコンパイルというときに、
linux/module.h そのようなファイルやディレクトリはありません
上のエラーが出ます。
でも、/usr/src/linux-source-3.5.0/include/linuxの中に、module.hは確かにありました。
あったのにもかかわらず、そのようなファイルやディレクトリがありませんというのは、いったいどのような原因が考えられるのでしょうか。
自力では解決できなかったので、わかるかた教えてください。