Compilation 虚拟机上的Linux内核

Compilation 虚拟机上的Linux内核,compilation,linux-kernel,virtual-machine,Compilation,Linux Kernel,Virtual Machine,我正在学习Linux驱动程序编程,在这方面,建议我使用自编的Linux内核,而不是任何发行版。我曾尝试在ubuntu中编译Linux2.6.9,但该过程在“makeMenuConfig”阶段返回错误 我更喜欢在虚拟环境中使用Linux,这样我就可以无所畏惧地尝试内核了。那么,有没有办法在虚拟机(比如安装在Windows上的VMware)中编译和运行Linux?我可以使用livecd来编译内核 简而言之,请建议,如何在虚拟机中以无错误的方式编译、安装和运行Linux内核? 我搜索和阅读。但是当我重

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

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

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


我搜索和阅读。但是当我重新启动计算机时,遵循这些步骤之后,就没有单独的Linux3.2.17操作系统了。但是我的Ubuntu12.04现在显示了3.2.17内核。虽然这是我第一次在ubuntu上编译一个完整的内核而没有任何错误,但我想在其他分区上加载该内核,并将其作为一个独立的操作系统使用。那么,如果有人能告诉我,除了教程中的步骤,我还需要做些什么才能实现这一点

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

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

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

我建议您阅读。本文档向您展示了如何在qemu上引导您的个人内核,以及如何在其上使用调试器。

是开始内核黑客攻击的正确地方。这个网站包含一套丰富的内核黑客和调整教程,仅供Linux新手使用。此外,您还可以加入社区并开始为一些小型Linux项目做出贡献


要快速入门,请按照“”教程中的说明进行操作。由于您在本教程中克隆了“源”远程存储库,因此您将学习Linux内核的最新分支。因此,不必担心在旧版本的Linux上工作。同时,如果你不喜欢使用git树,你可以从“kernel.org”的首页下载最新版本的Linux。

@tristram…谢谢你的回答…我有ubuntu作为操作系统…但是当我在上面编译Linux内核时…它会返回错误…我在问我如何解决这个问题(这就是为什么我写了“无错误方式”)@avinash,当然这在很大程度上取决于你所遇到的错误。但是如果你查看上面的链接,你会发现它指向了一个完整的“编译内核”指南——尽管我特别指出了模块编译一章。