如何在 Ubuntu 上编译最小的 Linux 内核

如何在 Ubuntu 上编译最小的 Linux 内核

我想编译我自己的 Linux 内核版本,并尽可能最小化,运行 Ubuntu 16.10。我想到了以下方法,但没有成功。

首先,我将构建一个完全模块化的 Linux 内核,通过使用 . 生成的 .config 文件来安装它make allmodconfig。然后,我将启动到该内核并通过运行创建一个新的 .config 文件make localyesconfig,以创建一个包含所有活动内置模块的内核(是的,附加了我的所有 USB 组件等)。

然而,完全模块化的内核无法启动。我在互联网上读了一些东西,我认为这是因为有些模块实际上不能模块化,例如 ext4 的模块。

所以我的问题是:如何确定应该将哪些模块构建到内核中,以便正确启动这样的“完全”模块化内核?

干杯,
杜克将军

答案1

make allmodconfig您可以确保已加载所需的所有模块(即插入可能连接到计算机的所有模块,手动加载您知道需要的任何模块等),而不是运行。然后跑make localyesconfig

请记住,如果添加任何需要新模块的新硬件或软件,则必须重建内核。

相关内容