CentOS 上的新内核编译

CentOS 上的新内核编译

我正在尝试为 CentOS 5.6 编译并安装内核 3.2.9。我编译了新内核并安装了内核模块:

make && make modules_install

我还创建了新的 initrd 映像:

mkinitrd initrd-3.2.9 3.2.9

我将 kernel-3.2.9、initrd-3.2.9 和 System.map-3.2.9 复制到 /boot 目录并编辑 grub.conf 文件:

title kernel-3.2.9
        root (hd0,0)
        kernel /kernel-3.2.9 ro root=LABEL=/ rhgb quiet
        initrd /initrd-3.2.9

在启动过程中,我遇到内核恐慌并出现以下错误:

could not find filesystem /dev/root

我做错什么了?

答案1

我自己发现了这个问题:我CONFIG_SYSFS_DEPRECATED_V2=y按照这里描述的方式添加到了.config文件中https://www.centos.org/modules/newbb/viewtopic.php?topic_id=23627&forum=37&post_id=97305#forumpost97305 并解决了这个问题

答案2

安装新内核的更好方法是使用:

$ make install

这将复制所需的文件并编辑你的 grub 配置以便能够启动新内核。

另外,你可能在内核配置过程中犯了一些错误make menuconfig。你可以查看 下的现有内核配置文件/boot/config-<kernel-version>。对于简单的解决方案,你可以从与当前配置类似的配置开始,然后进行必要的更改(如果有)。

相关内容