Linux
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
我做錯了什麼?
我自己發現了問題:我
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>
。對於一個簡單的解決方案,您可以從與目前配置類似的配置開始,然後進行必要的更改(如果有)。