2016-11-22 2 views
2

Ich versuche, ein Demo-Kernel-Modul zu bauen, aber wenn ich mache, bekomme ich folgenden,Wie zu beheben: Keine Regel, Ziel zu machen?

make[1]: Entering directory '/usr/src/linux-headers-4.4.0-47-generic' 
make[2]: *** No rule to make target 'arch/x86/entry/syscalls/syscall_32.tbl', needed by 'arch/x86/entry/syscalls/../../include/generated/asm/syscalls_32.h'. Stop. 
arch/x86/Makefile:199: recipe for target 'archheaders' failed                      
make[1]: *** [archheaders] Error 2 
make[1]: Leaving directory '/usr/src/linux-headers-4.4.0-47-generic' 
Makefile:4: recipe for target 'all' failed 

Ich baue Modul über Linux-Kernel - 4.4.0-47 Version - 64-Bit-OS. Kann mir bitte jemand helfen zu verstehen, warum ich mit diesem Fehler konfrontiert bin. Vielen Dank im Voraus.

+0

Haben Sie versucht, Google? Fehler 'Keine Regel, um Ziel zu machen 'arch/x86/entry/syscalls/syscall_32.tbl'' ist ziemlich populär und kann mehrere Unterstreichungsprobleme haben. ** Wie genau kompilieren Sie das Kernelmodul (welches Makefile oder welche Befehlszeile benutzen Sie)? – Tsyvarev

Antwort

0

Stellen Sie sicher, dass Sie die richtige Make-Datei haben. Das ist ein sehr häufiges Problem. oder Sie könnten auch unter Anweisung in Makefile verwenden.

obj-m += your_module_name.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 

sollte es funktionieren.

Verwandte Themen