linux内核 调用静态库,linux内核4.15.5添加系统调用

linux内核4.15.5添加系统调用

linux内核4.15.5添加系统调用

1.编译内核方法

a.首先介绍linux4.15.5内核编译方法(x86平台实验)

make ARCH=x86 defconfig

此命令会在linux-4.15.5根目录生成.config内核配置文件

b.)编译内核

make ARCH=x86 bzImage -j4

此命令会在linux-4.15.5/arch/x86/boot/生成bzImage(内核压缩文件)

2.添加系统调用:

a.)在linux-4.15.5/arch/x86/entry/syscalls/syscall_32.tbl最后面一行添加需要添加的系统调用函数

2fb9b2f35d92f3f7f48fad77dbf761ff.png

b.)在linux-4.15.5/include/linux/syscalls.h中添加系统调用头文件引用

96f5e46cf00d3e3ab38d95c7099714c2.png

c.)在linux-4.15.5根目录新建文件夹mycall,在文件夹中新建Makefile文件和mycall.c文件

4a6d4cb0f1fc6e2b620a00ba18f70625.png

fc191482f9795fffc373a8d561a18342.png

d)在linux-4.15.5跟目录中的Makefile文件添加上一步添加的mycall文件夹

e3f39eb7a42c09482e8f9b758fbf95d8.png

3.重新按照第一步介绍的编译内核方法生成bzImage即可

4.在用户层验证:

a)新建test.c测试程序,然后使用静态库编译,便于测试 gcc test.c -o test -static :

c134f9227fe64ec32479252994dbb520.png

b)使用qemu-system-x86_64 启动内核测试结果

50ca93e9a51639a07ad92602b481172b.png

此文章并不完整,省去了busybox的构建和根文件系统的简单制作:)

linux内核4.15.5添加系统调用相关教程

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值