RE: Error in Make for Kernel Module

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> -----Original Message-----
> From: kernelnewbies-bounces@xxxxxxxxxxxxxxxxx [mailto:kernelnewbies-bounces@xxxxxxxxxxxxxxxxx] On Behalf Of Arun M
> Kumar
> Sent: Tuesday, January 07, 2014 1:25 PM
> To: Kernel Newbies Mailing List
> Subject: Error in Make for Kernel Module
> 
> I am starting with Device Drivers for Linux
> 
> System Details:
> Linux linux-nwya.site 3.10.25-2.10-desktop #2 SMP PREEMPT Tue Jan 7
> 00:25:03 IST 2014 i686 i686 i386 GNU/Linux
> 
> I created a Simple Hello_world Kernel Module. "Hello_World.c"
> //---------------------------------------------------------
> /* My first kernel Module */
> 
> #include <linux/init.h>
> #include <linux/module.h>
> 
> static init my_init(void){
>          printk(KERN_ALERT "Hello World\n");
>          return 0;
> }
> 
> static void my_exit(void){
>          printk(KERN_ALERT "Exit\n");
> }
> 
> MODULE_LICENSE("GPL");
> module_init(my_init);
> module_exit(my_exit);
> //---------------------------------------------------------------------
> 
> The Makefile is as follows:
> The file name is "Makefile"
> //---------------------------------------------------------------------
> obj-m := Hello_World.o
> //---------------------------------------------------------------------
> 
> on running the make command i get the following error.
> //----------------------------------------------------------------------------
> make: Entering directory `/home/arun/Linux_Source'
> 
>    ERROR: Kernel configuration is invalid.
>           include/generated/autoconf.h or include/config/auto.conf are
> missing.
>           Run 'make oldconfig && make prepare' on kernel src to fix it.
> 
> make: *** No rule to make target `Device'.  Stop.
> make: Leaving directory `/home/arun/Linux_Source'
> //-------------------------------------------------------------------------------
> 
> I have tried "make prepare" but the issue remains....
> any suggestions would be appreciated. Thanks in advance.
> 

You don't say whether you are attempting to build your module out of the kernel source tree or not.
Assuming you are trying to build out of the tree, this is more or less what I do:

$ cat Makefile
all:
        make -C <path to top of kernel source tree you are building for> M=<path to directory your module source is in>

clean:
        make -C  <path to top of kernel source tree you are building for> M=<path to directory your module source is in> clean
$

$ cat Kbuild
obj-m += Hello_World.o
$

Your mileage may vary.

Good luck,

Jeff Haran


_______________________________________________
Kernelnewbies mailing list
Kernelnewbies@xxxxxxxxxxxxxxxxx
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies




[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux