在Linux中删除内核?

时间:2010-10-09 23:27:46

标签: linux linux-kernel kernel

我最近读了一篇文章(不可否认它已经有几年了),这是对快速数字运算程序的建议:

“使用Gentoo Linux和64位处理器之类的东西,因为你可以在安装时本地编译它。这样你就可以最大限度地利用机器,因为你可以将内核直接剥离到你需要的地方。 “

任何人都可以通过剥离内核来详细阐述它们的含义吗?此外,由于这篇文章大约有6年的历史,当前版本的Linux最适合这个(帮助我的谷歌搜索)?

2 个答案:

答案 0 :(得分:4)

声明中有一些事实,以及有些荒谬的事情。

您不会在未运行的流程上花费资源。因此,作为第一个实例,我会尝试最小化运行的进程数。为此我们非常喜欢Ubuntu服务器iso映像在工作中 - 如果你从那些安装,登录并运行pspstree你会看到一个美丽的东西:六到七个进程。而已。那是

内核很大(就源大小或安装而言)本身并不重要。许多这样的尺寸源于您可能无法使用的驱动程序。同样的规则再次适用:你没有运行的东西不会竞争资源。

因此,考虑一下无头服务器,而不是普通的桌面安装,而不仅仅是一系列过程试图让桌面用户的生活变得更轻松。

答案 1 :(得分:2)

您可以为任何发行版创建自定义Linux内核。

首先转到kernel.org并下载最新来源。然后选择您的配置界面(您可以选择控制台文本,'config',ncurses样式'menuconfig',KDE样式'xconfig'和GNOME样式'gconfig'这些天)并执行./make whateverconfig。选择所有选项后,键入make以创建内核。然后make modules编译该内核的所有选定模块。然后,make install将文件复制到/ boot目录,make modules_install复制模块。接下来,转至/ boot并使用mkinitrd创建正确引导所需的ram磁盘(如果需要)。然后,您将通过编辑menu.lst并复制最新的条目并添加指向新内核版本的类似内容,将内核添加到GRUB menu.lst。

当然,这是一个基本的概述,你应该搜索'linux kernel compile'来查找更详细的信息。选择必要的内核模块和选项需要一些经验 - 如果你选择了错误的选项,内核可能无法启动而你必须重新开始,这很痛苦,因为选择选项和编译内核可能需要15 -30分钟。

最终,编译精简的自定义内核不会产生很大的不同,除非您的给定任务对性能非常敏感。但是,从内核中删除你永远不会使用的东西是有意义的,比如ISDN支持。

顺便说一句,我不得不说这个问题更适合SuperUser.com,因为它不太适合编程。

相关问题