我试图为CentOS 5.6编译和安装内核3.2.9。 我编译了新的内核并安装了内核模块:
make && make modules_install
我也创build了新的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
我做错了什么?
我自己发现了这个问题:我将CONFIG_SYSFS_DEPRECATED_V2=y添加到.config文件,如https://www.centos.org/modules/newbb/viewtopic.php?topic_id=23627&forum=37&post_id=97305#forumpost97305所述 ,它解决了问题
安装新内核的更好方法是使用:
$ make install
这将复制所需的文件,并编辑你的grubconfiguration,以启动新的内核。
另外,你可能在内核configurationmake menuconfig犯了一些错误。 您可以查看/boot/config-<kernel-version>下的现有内核configuration文件。 对于简单的解决scheme,您可以从类似于当前configuration的configuration开始,然后进行必要的更改(如果有的话)。