【问题标题】:How to check compiled linux kernel?如何检查编译的linux内核?
【发布时间】:2013-09-20 23:46:41
【问题描述】:

我是 Linux 内核开发的新手。我已经获得了 linux 源代码并添加了一个 Hello World 系统调用来开始使用。但是现在我无法弄清楚如何测试这段代码。如何运行更改后的内核?

我想我可以使用VirtualBox来检查,但是我不是每次修改和编译内核时都必须创建一个新的iso吗?

很抱歉问了这么幼稚的问题,但我在这里很困惑

【问题讨论】:

  • "并添加了一个 Hello World 系统调用只是为了开始"。 什么
  • 我的意思是我添加了一个系统调用,它只会打印 Hello World。很抱歉没有说清楚
  • 是的,这很清楚,但是为什么要添加系统调用?我们不这样做。
  • 看看这个博客。在 QEMU 环境中添加和测试示例系统调用。 linuxseekernel.blogspot.com/2014/07/…

标签: linux linux-kernel virtual-machine kernel


【解决方案1】:

您可以使用外部内核启动qemu 虚拟机,因此您无需不断修改磁盘映像来测试您的内核。例如:

qemu-kvm -kernel arch/x86/boot/bzImage -initrd initramfs.gz -append "console=ttyS0" -nographic

该示例来自this article,其中包含有关如何设置开发环境的大量信息。

【讨论】:

  • 感谢您的回复!我下载了最新的QEMU并安装了,但是没有像qemu-kvm这样的选项
  • 您找不到为您的系统预打包的 QEMU 和 KVM?您可以只使用qemu 运行内核,但它会更慢,因为它不能从硬件辅助虚拟化中受益。不过它可能已经足够快了;试试看。
  • 我正在使用 qemu 运行 linux 镜像。我正在获取 QEMU 监视器。但是,我想看看我是否可以使用我的新系统调用并为它编写一个 C 代码,但我不知道如何在虚拟机中编写 C 代码,因为 QEMU 监视器不允许我这样做
  • 你检查了 qemu 文档吗?您可以通过多种方式与 VM 交互:您可以连接到串行端口或在 GUI 窗口中查看 VGA 输出。 qemu 监视器用于停止 VM、热插拔设备等
猜你喜欢
  • 2017-03-09
  • 2012-02-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-14
  • 1970-01-01
  • 2020-09-19
相关资源
最近更新 更多