0

我正在尝试在 RHEL 5.10 32 位(2.6.18 内核)上使用新内核(2.6.32)。.32 内核是从 kernel.org 下载的,未经过 Redhat 修补。我知道这很愚蠢,但升级到 RHEL 6 对我们来说不是一个选项。

我做到了make menuconfig; make; make modules; make modules_install; make install; reboot。然后我得到了内核恐慌。我从源代码构建了 2.6.18 内核,无论是否由 redhat 修补。两者都工作得很好。

我的问题是是否可以将 2.6.32 内核与 RHEL 5.10 安装(2.6.18)中的所有文件系统和库一起使用。如果可能,那么我的流程有什么问题?

========

Mounting root filesystem.
mount: could not find filesystem '/dev/root'
Setting up other filesystems.
Setting up new root fs
setuproot: moving /dev failed: No such file or directory
no fstab.sys, mounting internal defaults
setuproot: error mounting /proc: Nosuch file or dirctory 
Switching to new root and running init.
unmounting old /dev
unmounting old /proc
unmounting old /sys
switchroot: mount failed: No such file or directory
Kernel panic - not syncing: Attempted to kill init!
Pid: 1, comm: init Not tainted 2.6.32.63 #1
Call Trace:
[<c0xxxxxx>] ? panic
[<c0xxxxxx>] ? do_exit
[<c0xxxxxx>] ? do_group_exit
[<c0xxxxxx>] ? sys_exit_group
[<c0xxxxxx>] ? syscall_call

我的 /boot/grub/grub.conf 有以下内容。

root (hd0,0)
kernel /boot/vmlinuz-2.6.32-63 ro root=LABEL=/ rhgb
initrd /boot/initrd-2.6.32-63.img
4

1 回答 1

0

感谢所有帮助和评论,我能够自己回答。

这是我尝试但失败的方法。区分新旧 initrd (gunzip | cpio)。安装了不同的模块,但它们并不重要。我禁用了可加载模块(所有内置模块),问题仍然存在。我编译了busybox并将其放入initrd(编辑/init),我得到了一个shell。从那里我可以手动 mknod 并挂载文件系统,但在切换 root 时仍然会出现内核恐慌。

最后我找到了这个。它对问题有更好的描述和解决方案。启用“不推荐使用的 sysfs”,这一切都已修复。

于 2014-08-27T20:57:39.623 回答