我正在研究Linux驱动程序编程,在其中,建议我使用自编译的Linux内核而不是任何发行版。我曾尝试在ubuntu中编译Linux 2.6.9,但该过程在'make menuconfig'阶段返回错误。
我更愿意在虚拟环境中使用Linux,这样我就可以无所畏惧地试验内核。那么,有什么方法可以在虚拟机中编译和运行Linux(比如安装在Windows上的VMware)?我可以使用live CD来编译内核。
简而言之,请建议,如何以无错误的方式在虚拟机中编译,安装和运行Linux内核?
我搜索并阅读了this。但在重新启动计算机后执行这些步骤后,没有单独的Linux 3.2.17操作系统。但我的ubuntu 12.04现在显示3.2.17内核。虽然这是我第一次在ubuntu上编译整个内核而没有任何错误,但我想在其他分区上加载该内核并将其用作独立的操作系统。那么,如果有人可以告诉,除了教程中的步骤之外该怎么做才能实现这一目标?
答案 0 :(得分:2)
最简单的事情可能是在VM上安装一些Linux发行版,例如VMWare或VirtualBox,然后从那里继续。您可以尝试使用live-cd,但我猜测缺乏持久存储可能会让人烦恼。当然,有一些方法可以解决这个问题,但是安装一些发行版可能更简单,如果您只想编译内核,那么实际上并不需要那么多的磁盘空间。
如果您只想编译内核模块,并且已经有一些预先安装的Linux环境,那么您还应该注意到现代Linux安装允许您编译模块而无需重新编译整个内核。但是,您将需要内核源代码和标头。例如,请参阅this document。
而BTW,谈到现代内核,你为什么选择使用2.6.9?现在差不多已经8岁了。更新的内核实际上可能更容易开发。此外,无法保证 使用这样一个旧内核开发的模块仍然适用于当前的模块。
答案 1 :(得分:1)
我建议你阅读this page。本文档介绍如何在qemu上启动个人内核以及如何在其上使用调试器。
答案 2 :(得分:1)
Kernelnewbies是启动内核黑客攻击的最佳位置。本网站包含一系列关于内核黑客攻击和调整的丰富教程,仅适用于新手Linux开发人员。此外,您可以加入社区并开始为一些小型Linux项目做出贡献。
要快速入门,请按照" kernel first patch"的说明进行操作。教程。因为你正在克隆"起源"在本教程中,您将使用远程存储库,您将在Linux内核的最新分支上工作。因此,没有必要担心在旧版本的Linux上工作。同时,如果你不习惯使用git tree,你可以随时从" kernel.org"的首页下载最新版本的Linux。