我已经在我的 Lenevo 笔记本电脑(Y 410 系列,x86 平台)上安装了 lucid,它运行良好。现在我已经编译了从内核树下载的内核 2.6.37。我遵循了编译内核的常规程序(make menuconfig
、make
等make 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 论坛中讨论的以下解决方案:
- 禁用 uuid 并指向 root=/dev/sda8 (sda8 是我的内核映像所在的位置(默认内核和编译的内核)来自 /etc/default/grub
- 使用 CONFIG_DEVTMPFS=y 编译内核建议在这里 我仍然无法从编译内核启动。
有人可以给我建议解决方案吗?
答案1
我建议使用内核检查为此,只需单击几下即可轻松编译内核。
答案2
root=
应该是根磁盘分区(/
文件系统所在的位置),而不是启动分区。
您确定您已经编译了磁盘控制器和根文件系统的驱动程序吗?
答案3
我遇到了同样的问题-要解决它,您必须运行:
make modules_install
然后再次运行:
sudo make install