【发布时间】:2015-06-11 15:16:52
【问题描述】:
我是内核编码的新手,我正在完成一项学校作业。我应该向内核添加一个系统调用并编译它。 到目前为止,我所做的如下: 我在内核中创建了一个文件夹,称为 syscalls。
在该系统调用文件夹中,我添加了 3 个文件:
1) syscall.c 2)syscall.h 3) 生成文件
make文件只有一行代码
obj-y := syscall.o
syscall.c 有一个方法,签名如下:
asmlinkage long sys_call_function(struct array_stats *stats, long data[],long size)
然后我将以下内容添加到 arch/x86/syscalls/syscall_64.tbl
330 common syscall sys_call_function
然后我将下面的粗体文本添加到内核的 Make 文件中 core-y += kernel/ mm/ fs/ ipc/ security/ crypto/ block/ syscalls/
然后我去了 make clean 然后 make -j3 但我收到以下错误:
make[1]: *** No rule to make target `syscalls/syscall.o', needed by `syscalls/built-in.o'. Stop.
make: * [cs300] 错误 2 make: * 等待未完成的工作......
谁能给我一些提示。我被卡住了,无法继续前进。
【问题讨论】: