5

我正在学习 Linux 驱动程序编程,在其中,建议我使用自编译的 Linux 内核而不是任何发行版。我曾尝试在 ubuntu 中编译 Linux 2.6.9,但该过程在“make menuconfig”阶段返回错误。

我更喜欢在虚拟环境中使用 Linux,这样我就可以无所畏惧地试验内核。那么,有什么方法可以在虚拟机中编译和运行 Linux(比如安装在 Windows 上的 VMware)?我可以使用 live CD 来编译内核。

所以简而言之,请建议,我怎样才能在虚拟机中以无错误的方式编译、安装和运行 Linux 内核?

我搜索并阅读了这个。但是在我重新启动计算机时执行了这些步骤后,没有单独的 Linux 3.2.17 操作系统。但是我的 ubuntu 12.04 现在显示的是 3.2.17 内核。虽然这是我第一次在 ubuntu 上编译整个内核而没有任何错误,但我想将该内核加载到其他分区并将其用作独立操作系统。那么,如果有人能告诉我,除了教程中的步骤之外,我还能做些什么来实现这一点?

4

3 回答 3

2

最简单的做法可能是在 VM 上安装一些 Linux 发行版,例如 VMWare 或 VirtualBox,然后从那里继续。您可以尝试使用 live-cd,但我猜缺少持久性存储可能会让人恼火。当然,有一些方法可以解决这个问题,但安装一些发行版可能更简单,如果你只想编译一个内核,你真的不需要那么多磁盘空间。

如果您只想编译一个内核模块,并且如果您已经预装了一些 Linux 环境,那么您还应该注意现代 Linux 安装允许您编译模块而无需重新编译整个内核。不过,您将需要内核源代码和头文件。例如,请参阅本文档

顺便说一句,说到现代内核,你为什么选择使用 2.6.9?到现在已经快8岁了。较新的内核实际上可能更容易开发。此外,不能保证用这种旧内核开发的模块仍然可以与当前内核一起工作。

于 2012-09-01T09:18:59.417 回答
1

我建议你阅读这个页面。本文档向您展示如何在 qemu 上启动您的个人内核以及如何在其上使用调试器。

于 2012-09-02T00:32:38.393 回答
1

Kernelnewbies是开始内核黑客攻击的好地方。该网站包含一组丰富的关于内核黑客和调整的教程,仅供新手 Linux 开发人员使用。此外,您可以加入社区并开始为一些小型 Linux 项目做出贡献。

要快速开始,请按照“内核第一个补丁”教程中的说明进行操作。由于您在本教程中克隆了“原始”远程存储库,因此您将使用 Linux 内核的最新分支。因此,无需担心在旧版本的 Linux 上工作。同时,如果您不习惯使用 git 树,您可以随时从“kernel.org”的首页下载最新版本的 Linux。

于 2016-07-04T19:36:05.697 回答