在 qemu 上加载的 bzImage 中缺少内核头文件

Missing headers for kernel in bzImage loaded on qemu

我正在尝试在 qemu 模拟器上加载的 linux 内核 bzImage 上编译内核版本 3.2.0 的内核模块,但是我收到以下错误: /lib/modules/3.2.0/build no such file or directory。我试图通过网络查找解决方案,但没有与通过 qemu 加载的内核映像解决此问题的具体相关。我发出的用于在 qemu 上加载 bzImage 的命令是 qemu/qemu-system-x86_64 -m 2G -kernel ../linuxkernel/arch/x86/boot/bzImage -hda ../../sid.ext2 -append "root=/dev/sda"

bzImage只包含内核映像,不包含构建模块所需的文件。

你应该:

  1. 找到与您的内核相对应的内核头文件(构建了一些文件),并将它们安装到 /lib/modules/3.2.0/build 指向的目录。
  2. 或者手动从源代码构建内核。在这种情况下,引用 /lib/modules/<kernel-version>/build 将自动指向您编译的源文件。