我需要使用最小配置重新编译内核,以便编译后其大小保持在 950 KB 以下,并且编译后应该可以正确启动。我需要使用尽可能少的功能进行编译才能从内核启动。我怎样才能做到这一点?
答案1
940K是一个很难达到的目标。内核可以配置各种选项。特殊的 make 目标allnoconfig
可以回答No
每个配置问题。生成的内核禁用了所有可选功能,因此理论上结果应该是该版本内核的最小可能图像。然而,它很可能是一个非常无用的内核。
在此处的 x86 系统上,使用(即)编译allnoconfig
和压缩的Linux 3.0 内核的运行速度为 767K,这与您的 950K 目标非常接近。启用配置选项来支持可加载模块、特定硬件等对于拥有有用的内核是必要的,并且会夸大该数字。bzip2
bzImage
答案2
定制的内核可能会没有明显更快地运行您的软件。如果您的笔记本电脑是 HP nc6400 (RB515UA),那么它配备 1024 MB 内存(参考)。因此,950 KB 的自定义内核可以节省内存,但总内存使用量只会减少很小的量(小于 1%)。所以编译一个自定义内核会不值得付出努力。
如果您希望 Ubuntu 在您的 PC 上运行得更快,请考虑:
- 安装更多内存。
- 将您的硬盘更换为 Seagate Momentus XT。它是混合硬盘它应该在其固态闪存芯片上缓存常用文件,例如桌面环境和网络浏览器。它可以将计算机的启动速度提高三分之一或更多。我用过一个。它在 Ubuntu 上运行得很好。
- 安装XFCE,一个轻量级桌面环境:只需要几个简单的步骤。
您的计算机上最慢的操作是什么?您最希望加快哪些操作?
答案3
要使内核变得非常小,请检查 lspci -vvv 以确定使其可引导的模块,禁用所有内核黑客树,启用小内核大小并使用 lzma 方法来压缩内核。最终禁用 initramfs 它可以节省一些 kb。我的内核大小是 3,3M 大,使用 lzma,但使用 bzip2 3,8M,但我不使用小尺寸内核。 lzma 压缩很可能不适用于所有内核。