一尘不染

如何使用QEMU调试Linux内核模块?

linux

我正在从事学术项目,该项目修改了一些Kernel Networking代码并包含了新代码Kernel module

我正在使用QEMU加载修改后的内核并进行测试。

但是,我发现某些操作系统需要完整的操作系统才能.img进行调试。
没有它可能吗?

或者,这是可以与Kernel 2.6一起用于系统的发行版。除了运行程序的功能(包括网络支持)以外,发行版不需要具有任何功能。


阅读 296

收藏
2020-06-02

共1个答案

一尘不染

我认为最简单的方法是使用buildroot
http://buildroot.uclibc.org/

克隆它,将其配置为使用您的自定义内核(默认用户空间适合开始使用,您可能以后需要更改它)。

它将构建您的内核和根文件系统。整个过程大约需要半小时,其中二十分钟是在编译怪物

我的运行行看起来像:qemu-system-i386 -hda rootfs.ext2-内核bzImage -m 512M-追加“ root = / dev
/ sda console = ttyS0” -localtime -serial stdio

以及有关分接头设备的更多选项

2020-06-02