type
status
slug
summary
tags
category
icon
password
new update day
Property
Oct 22, 2023 01:31 PM
created days
Last edited time
Oct 22, 2023 01:31 PM
0 前言
在进行内核修改开发的时候,发现如果一直在物理机上进行新内核的安装与测试,那么每次做一点修改都要进行物理机的重启让内核生效,而且如果因为操作不当,导致内核无法正常启动的话,就会导致重启失败内核陷入 panic 状态,容错率非常低,同时效率也不是很高,后面了解到可以使用 qemu 进行内核开发,在做好内核修改编译之后即可使用 qemu 进行启动测试。
1 环境准备
2 代码准备
对应的代码修改可以参考这篇文章的相关内容,我就不再进行赘述了。前面的操作完全一致,直到在安装内核部分才有所不同。
3 安装模块
命令参数解释如下:
4 手动生成 initramfs
5 生成 rootfs
qemu 启动的时候需要对应的根文件系统,原来的 busybox 因为过于简化所以有些问题,于是使用 debian 的 rootfs,具体配置方式参考我下面的文章。
6 启动 qemu
7 启动完成进行测试
- 因为在进行修改内核的时候对系统调用进行了捕捉,同时内核模块没有加载,my_audit 函数不存在,所以大部分内核日志都在抱怨这个情况。
7.1 加载内核模块
7.2 用户态测试程序查看
- Author:tangcuyu
- URL:https://expoli.tech/articles/2023/07/08/Add-monitoring-system-calls-based-on-kernel-6.4.2-on-qume
- Copyright:All articles in this blog, except for special statements, adopt BY-NC-SA agreement. Please indicate the source!
Relate Posts