讨论广场 问答详情
OH5.0 挂载异常 切换root异常问题
Juusi 2025-01-12 11:28:18
89 评论 分享

[    3.032060] [pid=1][Init][INFO][init_mount.c:29]Mount required partitions
[    3.032417] [pid=1][BEGET][INFO][fstab_mount.c:503]Mount device /dev/block/platform/fe310000.sdhci/by-name/system to /usr
[    3.034603] [pid=1][BEGET][WARNING][fstab_mount.c:452]Mount /dev/block/platform/fe310000.sdhci/by-name/system to /usr busy, ignore
[    3.034907] [pid=1][Init][WARNING][switch_root.c:162]Try to switch root in same device, skip switching root
[    3.123900] bbox:[info][blackbox_core.c:267] wait for log part [/data] end!
[    3.504555] [pid=1][BEGET][INFO][fstab_mount.c:616]Mount /dev/block/platform/fe310000.sdhci/by-name/system to /usr successful
[    3.504976] [pid=1][BEGET][INFO][fstab_mount.c:503]Mount device /dev/block/platform/fe310000.sdhci/by-name/vendor to /vendor
[    3.509453] EXT4-fs (mmcblk0p7): mounted filesystem without journal. Opts: barrier=1
[    3.509728] [pid=1][BEGET][INFO][fstab_mount.c:616]Mount /dev/block/platform/fe310000.sdhci/by-name/vendor to /vendor successful
 

 

[    3.512541] [pid=1][Init][INFO][init_firststage.c:132]Start init second stage.
[    3.514287] [pid=1][Init][ERROR][init_firststage.c:147]Failed to exec "/bin/init", err = 2
[    3.514719] Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000ff00
 

替换uboot 后,发现在挂载这个Mount /dev/block/platform/fe310000.sdhci/by-name/system to /usr busy, ignore 出现busy 然后root没有切换,导致后面/bin/init 异常了

是否有人也碰到类似问题的

89 评论 分享
写回答
全部评论(5)
1 楼

这个没有返回错误,应该不是这里的问题

2025-01-13 14:50:21
2025-01-17 11:47:49
引用:“我有试过这样,是不会报Failed to exec "/bin/init", err = 2,也就是已经能读的到/bin/init了,但是执行一会后就卡死了没有信息了,切后面几个SwitchRoot都有不同的错误;,所以我在想是不是Mount /dev/block/platform/fe310000.sdhci/by-name/system to /usr busy, igno”
很有可能,第一次SwitchRoot好像就是/usr,/usr如果没有挂载成功应该会对后面的流程产生影响,可以看看替换uboot前有没有这个警告信息。 busy可能是该设备被占用或者驱动异常,能不能进fastboot模式手动挂载,查查是否被占用呢
2025-01-17 11:47:49
2025-01-13 16:42:46
引用:“我有试过这样,是不会报Failed to exec "/bin/init", err = 2,也就是已经能读的到/bin/init了,但是执行一会后就卡死了没有信息了,切后面几个SwitchRoot都有不同的错误;,所以我在想是不是Mount /dev/block/platform/fe310000.sdhci/by-name/system to /usr busy, igno”
而且奇怪的是为什么Mount /dev/block/platform/fe310000.sdhci/by-name/system to /usr busy 挂载busy了他们会忽略继续执行,我看源码上这也是个警告而已
2025-01-13 16:42:46
2025-01-13 16:41:16
引用:“你可以把163,164行注释掉,让SwitchRoot流程继续往下走,看看是否还会panic。 从代码来看是不允许在同一个分区内SwitchRoot”
我有试过这样,是不会报Failed to exec "/bin/init", err = 2,也就是已经能读的到/bin/init了,但是执行一会后就卡死了没有信息了,切后面几个SwitchRoot都有不同的错误;,所以我在想是不是Mount /dev/block/platform/fe310000.sdhci/by-name/system to /usr busy, ignore;这个问题,只是替换了uboot ,查看uboot mmc加载也是正常的,uboot part list 查看system 的uuid 也跟cmdline 给的一样,是否有方法查这个busy
2025-01-13 16:41:16
2025-01-13 15:24:11
你可以把163,164行注释掉,让SwitchRoot流程继续往下走,看看是否还会panic。 从代码来看是不允许在同一个分区内SwitchRoot
2025-01-13 15:24:11