我想了解更多有关 Linux 内核的知识,这意味着我想开始编译和测试自己的内核。我的机器上运行着 Ubuntu 10.04,因此我将使用 QEMU/KVM 进行虚拟化。
一开始我希望能做一些简单的事情,因为对于教育目的来说,额外的东西没什么用。我在自己创建的虚拟机上安装了 Ubuntu Server,然后开始按照我在网上找到的一些说明来构建内核。
这似乎是一个错误,因为说明中没有做任何事情,我知道这是其中的一个步骤。另外,默认情况下 Ubuntu Server 上make menuconfig
没有- 学习的另一个问题。最后,当我尝试自己做的时候,我不知何故要求编译大量的模块,尽管我试图检查并取消选中不必要的东西。/boot/grub/menu.lst
make menuconfig
那么,有人可以推荐一种更好的方法来在 KVM 中构建我自己的内核以供学习吗?
答案1
您找到的说明可能是按照 Debian 方式构建内核,这与基本过程有很大不同。构建内核非常简单。
这是一个很好、简单的描述:
http://www.cyberciti.biz/tips/compiling-linux-kernel-26.html
执行摘要:
wget https://www.kernel.org/pub/linux/kernel/v3.0/linux-3.2.9.tar.bz2
tar xjf linux-3.2.9.tar.bz2
cd linux-3.2.9
make menuconfig
make all
make install
make modules_install
如果您正在运行最新版本的 Ubuntu,那么 grub 配置文件现在/boot/grub/grub.cfg
具有全新的格式。Ubuntu 有一篇关于配置现代版 grub 的好文章: https://help.ubuntu.com/community/Grub2