Qemu - 调试新的系统调用

Qemu - 调试新的系统调用

作为一个学校项目,我必须向最新的稳定 Linux 内核添加一个系统调用。我这样做了,并使用make defconfig和重新编译了内核make

经过几个引导内核的教程(没有一个起作用)后,我终于找到了一些东西这里(使其适应x86_64版本的内核)。本教程让我使用创建一个 initramfs mkinitramfs -o file

问题是,我需要在这个新内核上测试我的系统调用,但是一旦启动它,我就会被重定向到提示符(initramfs),我不知道如何安装软件包,或者它是否是正确的解决方案。

我的问题 -> 我如何在这个虚拟机上获得 gcc,以便我可以编译一个简单的 C 测试程序,运行它并确保我的系统调用有效?

答案1

好吧,如果有人想知道如何做到这一点,我就是这样做的 -> 我在我的机器上编译,创建了我自己的 initramfs (按照说明这里(不要 gzip 或 qemu 不会以某种方式读取它)),将可执行文件放在 cpio 之前的 initramfs 中,然后启动 qemu 和可执行文件,瞧。

我知道这不是理想的解决方案,它之所以有效,是因为我正在测试的内核和我的机器都是 linux x86_64,但我别无选择。

(如果您想将 gcc 传递给 initramfs,请不要这样做,它在编译时会出现段错误)。

相关内容