面对 Yocto 的内核恐慌问题:内核恐慌 - 不同步:VFS:无法在未知块0,0上挂载 root fs

问题描述

场景:我在 Yocto linux 项目中工作。我用 tar.gz 扩展名创建了自己的 rootfs。我已经构建了 linux 内核(使用 bitbake linux-kernel-rt)。我无法加载内核和 rootfs。

谁能解释一下可能是什么问题。

下面是相同的日志。

VFS: Cannot open root device "mmcblk0p3" or unkNown-block(0,0): error -6
Please append a correct "root=" boot option; here are the available partitions:
0100            4096 ram0
 (driver?)
0101            4096 ram1
 (driver?)
0102            4096 ram2
 (driver?)
0103            4096 ram3
 (driver?)
0104            4096 ram4
 (driver?)
0105            4096 ram5
 (driver?)
0106            4096 ram6
 (driver?)
0107            4096 ram7
 (driver?)
0108            4096 ram8
 (driver?)
0109            4096 ram9
 (driver?)
010a            4096 ram10
 (driver?)
010b            4096 ram11
 (driver?)
010c            4096 ram12
 (driver?)
010d            4096 ram13
 (driver?)
010e            4096 ram14
 (driver?)
010f            4096 ram15
 (driver?)
1f00           65536 mtdblock0
 (driver?)
1f01           65536 mtdblock1
 (driver?)
103:00000  250059096 nvme0n1
 (driver?)
  103:00001   52428800 nvme0n1p1 7a0121e2-01

  103:00002   52428800 nvme0n1p2 7a0121e2-02

  103:00003    1048576 nvme0n1p3 7a0121e2-03

  103:00004   52428800 nvme0n1p4 7a0121e2-04

Kernel panic - not syncing: VFS: Unable to mount root fs on unkNown-block(0,0)
Kernel Offset: 0x27c00000 from 0xffffffff81000000 (relocation range: 0xffffffff8

解决方法

上周我遇到了同样的问题,在我的启动中,我可以看到使用 RAM 磁盘进行 yocto 启动,并且它的大小被指定为 409600(在我的情况下,我相信默认值为 4096,我在你的错误中看到了),当我尝试在构建中安装更多图像时,我遇到了同样的错误。我猜你的问题可能是一样的。尝试增加 RAM 磁盘的大小,它已在 recipes-bsp/grub/grub-efi 文件中指定。当我增加值时,它起作用了,但它显然是特定于板的,所以要小心。