自定义编译内核的启动错误 - 放弃等待根设备

自定义编译内核的启动错误 - 放弃等待根设备

我已经在我的 Lenevo 笔记本电脑(Y 410 系列,x86 平台)上安装了 lucid,它运行良好。现在我已经编译了从内核树下载的内核 2.6.37。我遵循了编译内核的常规程序(make menuconfigmakemake modules)。然后我使用命令创建了 initrd 映像mkinitramfs,并更新了我的 grub update-grub

update-grub检测到已编译内核的 initrd 映像。但是当我从此内核启动时,出现以下错误:

Gave up waiting for root device. Common problems:
 - Boot args (cat /proc/cmdline)
   - Check rootdelay= (did the system wait long enough?)
   - Check root= (did the system wait for the right device?)
 - Missing modules (cat /proc/modules; ls /dev)
ALERT! root=UUID=/... does not exist. Dropping to a shell!

BusyBox v1.19.3 (Ubuntu 1:1.10.3-7ubuntu1.1) built-in shell (ash)
Enter 'help' for a lost of built-in commands.
(initramfs)

然后它进入到 initramfs 提示符下。

我尝试过不同 Ubuntu 论坛中讨论的以下解决方案:

  1. 禁用 uuid 并指向 root=/dev/sda8 (sda8 是我的内核映像所在的位置(默认内核和编译的内核)来自 /etc/default/grub
  2. 使用 CONFIG_DEVTMPFS=y 编译内核建议在这里 我仍然无法从编译内核启动。

有人可以给我建议解决方案吗?

答案1

我建议使用内核检查为此,只需单击几下即可轻松编译内核。

答案2

root=应该是根磁盘分区(/文件系统所在的位置),而不是启动分区。

您确定您已经编译了磁盘控制器和根文件系统的驱动程序吗?

答案3

我遇到了同样的问题-要解决它,您必须运行:

make modules_install

然后再次运行:

sudo make install

相关内容