Linux

CentOS 上的新核心編譯

  • March 17, 2012

我正在嘗試為 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

我做錯了什麼?

我自己發現了問題:我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

這將複製所需的文件並編輯您的 grub 配置以啟動新核心。

此外,您可能在核心配置過程中犯了一些錯誤make menuconfig。您可以查看現有的核心配置文件/boot/config-<kernel-version>。對於一個簡單的解決方案,您可以從與目前配置類似的配置開始,然後進行必要的更改(如果有)。

引用自:https://serverfault.com/questions/370586