djypanda 发表于 2004-4-1 09:55:50

HELP!重编译以后出现kernel mismatch

由于更新显卡驱动程序需要重新编译内核,编译前运行完全正常。
系统:rh9.0
内核:2.4.20-8

现在启动显示如下:
Loading jbd.o module
/lib/jbd.o:kernel-module version mismatch
/lib/jbd.o was compiled for kernel version 2.4.20-8
while this kernel is version 2.4.20-8custom
Error:
/bin/insmod exit abnormally!
......
kernel panic: No init found.

我重编译是用RedhatLinux官方编译内核步骤
cd /usr/src
cd linux
make oldconfig
make menuconfig
make dep
make clean
make bzImage
make modules
make modules_install
cp System.map /boot/System.map-2.4.20-8
cp arch/i386/boot/bzImage /boot/vmlinuz-2.4.20-8
cp .config /boot/config-2.4.20-8
mkinitrd /boot/initrd-2.4.20-8 2.4.20-8

我的grub如下:
root (hd0,2)
kernel /boot/vmlinuz-2.4.20-8 ro root=/dev/sda2
initrd /initrd-2.4.20-8


我想知道是否遗漏了什么步骤。
然后现在还有办法挽救么?
谢谢大家了 :cry: !

Dragonfly 发表于 2004-4-2 02:32:55

u already overwrote old kernel?

djypanda 发表于 2004-4-2 09:16:37

又没人回答我的问题。

哎。。。

摸索了一晚上,害的现在上班都没精神。

我的rescue的方法如下:
将安装盘上的一个bootkernel的rmp装上,名字我忘了。可以用图形界面选择,就是安装的时候选自定义升级,然后到数形列表里面选择就可以了。
然后更改grup的config文件用刚才装上的kernel的配置,一般后面都有BOOT的字样,比如:vmlinuz-2.4.20-8BOOT
然后可以启动到boot的内核,当然很多模块都failed的。
但是没关系,重要的是可以make
然后到linux src的目录底下,打开Makefile文件,把版本号-8custom的该死的custom去掉,出现版本不对的原因就是这个。然后rebuild and install.
ok一切又回来了。
哈哈哈哈!
页: [1]
查看完整版本: HELP!重编译以后出现kernel mismatch