2

シンプルなLinuxモジュールとそのmakeファイルを作成しました

これは私のモジュールです

    #include <linux/init.h>
    #include <linux/module.h>
    #include <linux/kernel.h>

MODULE_LICENSE("Dual BSD/GPL");

static int hello_init(void) {
  printk("<1> Hello world!\n");
  return 0;
}

static void hello_exit(void) {
  printk("<1> Bye, cruel world\n");
}

module_init(hello_init);
module_exit(hello_exit);

これは私のメイクファイルです

    obj-m :=Hello.o


KDIR = /usr/src/linux-headers-3.5.0-17

all:
    $(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules

clean: 
    rm -rf *.o *.ko *.mod.* *.symvers *.order

make -f MakeFile を実行すると、次の o/p が得られます

make -C /usr/src/linux-headers-3.5.0-17 SUBDIRS=/home/linux/Desktop modules
make[1]: Entering directory `/usr/src/linux-headers-3.5.0-17'

  WARNING: Symbol version dump /usr/src/linux-headers-3.5.0-17/Module.symvers
           is missing; modules will have no dependencies and modversions.

scripts/Makefile.build:44: /home/linux/Desktop/Makefile: No such file or directory
make[2]: *** No rule to make target `/home/linux/Desktop/Makefile'.  Stop.
make[1]: *** [_module_/home/linux/Desktop] Error 2
make[1]: Leaving directory `/usr/src/linux-headers-3.5.0-17'
make: *** [all] Error 2

これらのエラーを取り除く方法を教えてください。前もって感謝します

4

2 に答える 2

0
obj-m += xyz.o

KDIR:=/usr/src/linux-headers-3.5.0-46-generic

all:

       make -C $(KDIR) M=$(PWD) modules

clean:

       make -C $(KDIR) M=$(PWD) clean

/usr/src/linux-headers-3.5.0-46-generic ファイルが含まれていますか? そうでない場合は、以下をダウンロードしてください。

sudo apt-get install linux-headers-3.5.0-46

sudo apt-get install linux-headers-3.5.0-46-generic
于 2014-03-07T06:19:22.700 に答える