如何构建自定义内核?

如何构建自定义内核?

我想在 Fedora 上测试(上游)自定义内核。

到目前为止的计划是:

  • 使用最近的 Fedora 配置作为起点,例如/boot/config-3.6.6-1.fc17.x86_64
  • 查找构建依赖项
  • 查找正确的 make 命令
  • 执行一些make命令
  • cp 结果 vmlinuz/System.map 到/boot
  • 调整grub

但是 initramfs...img 文件呢?我如何生成它?

还有什么重要的?

答案1

当您在 Fedora 中编译 Linux 内核时,大多数依赖项不会给您带来麻烦。因此,您需要做的只是以下步骤:

  • 从 kernel.org 或 github 下载内核源代码;通常是一个tar.gz文件。
  • 将内核文件解压到某个目录(例如您的主目录)。
  • 配置内核。我认为这是最重要的一步。您可以使用命令.config中的旧文件,也可以使用命令自行配置。如果您需要一些 GUI 工具,则需要安装一些额外的软件包,基于 Qt 和基于 GTK 的 GUI 都可用。事实上,最重要且往往危险的一步是如何获得正确的驱动程序以及如何确定您是否确实需要内核功能。/usr/src/linuxmake oldconfigmake menuconfig
  • make
  • make modules
  • make install。对于大多数新内核,我们不需要make modules_install再运行。
  • 将内核映像放入启动目录并编辑 grub 菜单列表。
  • 重新启动你的系统,你的内核就会工作了!

如需更多信息和更准确的步骤以及提示,Linux 内核简述Greg Kroah-Hartman(O'Reilly)撰写的文章可能会有所帮助。

答案2

一种方法:首先安装 linux-source 或 kernel-source 软件包,然后我相信您执行以下步骤(已经有一段时间了):

cd /usr/src/kernels/*whereverthekernelsourcesare*
make config
make 
make modules
make modules_install
make install

相关内容