【发布时间】:2020-09-21 05:37:03
【问题描述】:
这就是我所做的。
在路径 ./linux-5.7
mkdir 你好
你好
vim hello.c
#include <linux/kernel.h>
asmlinkage long sys_hello(void) {
printk ("\n\nHello Kernel\n\n");
return 0;
}
vim 生成文件
obj-y := hello.o
vim arch/x86/entry/syscalls/syscall_64.tbl
439 common hello sys_hello
vim 包含/linux/syscalls.h
asmlinkage long sys_hello(void);
...
...
编译内核
制作-j4
错误...
ld: arch/x86/entry/syscall_64.o:(.rodata+0xdb8): undefined reference to `__x64_sys_hello'
make: *** [Makefile:1113: vmlinux] Error 1
这里有什么问题... ...
...
...
【问题讨论】:
-
首先定义系统调用的语法改为:SYSCALL_DEFINEn(...)。检查此文档:link
标签: linux system-calls