title: module compiling : asm/linkage.h file not found
body: <p>I am trying to compile an example of "hello world" Kernel Module,
  problems found on ubuntu 11.04, kernel 3.2.6, gcc 4.5.2 and fedora 16, kernel 3.2.7, gcc 4.6.7.</p>
  
  <p>code:</p>
  
  <pre><code>#include &lt;linux/module.h&gt;
  #include &lt;linux/init.h&gt;
  MODULE_LICENSE("GPL");
  
  static int __init hello_init (void)
  {
  printk("Hello module init\n");
  return 0;
  }
  static void __exit hello_exit (void)
  {
  printk("Hello module exit\n");
  }
  module_init(hello_init);
  module_exit(hello_exit);
  </code></pre>
  
  <p>compiled with:</p>
  
  <pre><code>gcc -D__KERNEL__ -I /usr/src/linux/include/ -DMODULE -Wall -O2 -c hello.c -o hello.o
  </code></pre>
  
  <p>error:</p>
  
  <blockquote>
    <p>In file included from /usr/src/linux/include/linux/kernel.h:13:0,
                     from /usr/src/linux/include/linux/cache.h:4,
                     from /usr/src/linux/include/linux/time.h:7,
                     from /usr/src/linux/include/linux/stat.h:60,
                     from /usr/src/linux/include/linux/module.h:10,
                     from hello.c:1: /usr/src/linux/include/linux/linkage.h:5:25: fatal error:
    asm/linkage.h: file not found</p>
  </blockquote>
  
  <p>then I found in /usr/src/linux/include/ there is no folder named 'asm' but 'asm-generic';
  so I made a soft link 'asm' to 'asm-generic', and compiled agail:</p>
  
  <p>this time the error was:</p>
  
  <blockquote>
    <p>In file included from /usr/src/linux/include/linux/preempt.h:9:0,
                     from /usr/src/linux/include/linux/spinlock.h:50,
                     from /usr/src/linux/include/linux/seqlock.h:29,
                     from /usr/src/linux/include/linux/time.h:8,
                     from /usr/src/linux/include/linux/stat.h:60,
                     from /usr/src/linux/include/linux/module.h:10,
                     from hello.c:1: /usr/src/linux/include/linux/thread_info.h:53:29: fatal error:
    asm/thread_info.h: file not found</p>
  </blockquote>
  
  <p>So I realized I was wrong, but why ? T_T</p>