title: Unable to insmod hello_world kernel module in debian 8
body: <p>I can't get why insmod gives <code>Invalid parameters</code> error (can't see anything in <code>dmesg</code>):</p>
  
  <pre><code>$ sudo insmod hello.ko
  insmod: ERROR: could not insert module hello.ko: Invalid parameters
  
  $ sudo insmod /hello.ko
  insmod: ERROR: could not load module /hello.ko: No such file or directory
  </code></pre>
  
  <p>I have no parameters in my module. It is just hello world example.</p>
  
  <p>My environment:</p>
  
  <pre><code>$ uname -r
  3.16.0-4-amd64
  </code></pre>
  
  <p>I have installed all possible kernel headers packages:</p>
  
  <pre><code>linux-headers-3.16.0-4-all
  linux-headers-3.16.0-4-all-amd64
  linux-headers-3.16.0-4-amd64
  linux-headers-3.16.0-4-common
  linux-headers-amd64 
  </code></pre>
  
  <p>My code:</p>
  
  <pre><code>#include &lt;linux/module.h&gt;   /* Needed by all modules */
  #include &lt;linux/kernel.h&gt;   /* Needed for KERN_INFO */
  
  int init_module(void)
  {
      printk(KERN_INFO "Hello world 1.\n");
      return 0;
  }
  
  void cleanup_module(void)
  {
      printk(KERN_INFO "Goodbye world 1.\n");
  }
  
  MODULE_LICENSE("GPL");
  </code></pre>
  
  <p>I use following <code>Makefile</code>:</p>
  
  <pre><code>obj-m += hello.o
  
  all:
      make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules
  
  clean:
      make -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean
  </code></pre>
  
  <p><code>make</code> output:</p>
  
  <p>$ make</p>
  
  <pre><code>make -C /lib/modules/3.16.0-4-amd64/build M=/home/user/c.driver/driver-1 modules
  make[1]: Entering directory '/usr/src/linux-headers-3.16.0-4-amd64'
  Makefile:10: *** mixed implicit and normal rules: deprecated syntax
  make[1]: Entering directory `/usr/src/linux-headers-3.16.0-4-amd64'
    CC [M]  /home/user/c.driver/driver-1/hello.o
    Building modules, stage 2.
    MODPOST 1 modules
    CC      /home/user/c.driver/driver-1/hello.mod.o
    LD [M]  /home/user/c.driver/driver-1/hello.ko
  make[1]: Leaving directory '/usr/src/linux-headers-3.16.0-4-amd64'
  </code></pre>
  
  <p><strong>Update</strong>: same result with 14.04.1-Ubuntu </p>