来自 initrd 的 shell 提示符

来自 initrd 的 shell 提示符

我遇到了 Linux 系统无法启动的问题。引导加载程序愉快地加载内核和 initrd,但随后 initrd 脚本会抱怨并抱怨它找不到根设备。

我如何力量initrd 脚本给我一个 shell 提示所以我实际上可以调查这是怎么回事?

我尝试解压 initrd 并/init启动 shell 脚本bash -i。但这根本不起作用;我看到出现 Bash 提示符,但键盘不起作用。 (Bash 抱怨“无法设置进度组”和“设备的 ioctl 不合适”。)

如果重要的话:OpenSUSE 13.1,它使用旧mkinitrd系统。 (显然较新的版本使用 Dracut。)据我所知,/init这是一个小脚本,可以执行/boot(一系列编号的 Bash 脚本)中的所有内容。

  • 有一个名为 的脚本/boot/91-shell.sh,其中包含一条注释,表明传递shell=1内核命令行会给我一个 shell 提示符;它不是。

  • 还有一条评论声称/boot-02-start.sh通过linuxrc=trace将给我调试输出。确实如此,但没有什么用;我所看到的只是脚本末尾滚动过去的无休止的设备轮询循环,从而消除了所有先前的输出。

我真的真的需要得到那里和亲眼目睹实际发生的情况才知道问题出在哪里。 (公平地说,我试图以一种稍微奇怪的方式启动系统,所以这里出现问题并不意外。)

答案1

这是 Apple 特有的问题。如果我在 MacBook Air 上启动我必须使用的任何 Linux 系统,键盘就会无法工作。在任何基于 PC 的系统上,这都可以完美运行。因此,与 Linux 未启动正确的 init 二进制文件无关;这是某种硬件驱动程序问题。

相关内容