您尚未登录。

楼主 #1 2020-07-07 19:23:27

h8416
会员
注册时间: 2020-03-03
已发帖子: 22
积分: 12

卡在Waiting for root device /dev/mtdblock3... 的一种解决方案

看到论坛里面有好多人问, 我也查了好多资料, 最终根据https://whycan.cn/t_3138.html 解决, 单独拿出来, 方便大家搜索

如图所示,这里应该有个m25p80开头的,但是这里没有,在卡住的上边有一行
[ 1.294661] ALSA device list:
[ 1.297627] #0: Loopback 1

因此开启

次进入配置界面:make ARCH=arm menuconfig
Device Drivers --->Block devices --->
[v]Loopback device support,勾选,

然后

这里m25p80, 未识别的ID, 这里我买的licheepi SPI FLASH是 xt25f128b 的, 因此在 drivers/mtd/spi-nor/spi-nor.c里面添加

{ "xt25f128b", INFO(0x0b4018, 0, 64 * 1024, 256, 0) },

后来提示
[ 0.905624] m25p80 spi0.0: found xt25f128b, expected w25q128
[ 0.911440] m25p80 spi0.0: xt25f128b (16384 Kbytes)

然后,添加dts:

&spi0 {
pinctrl-names = "default";
pinctrl-0 = <&spi0_pins_a>;
status = "okay";
spi-max-frequency = <60000000>;
flash: xt25f128b@0 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "winbond,w25q128,xt25f128b", "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <60000000>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;

partition@0 {
label = "u-boot";
reg = <0x000000 0x100000>;
read-only;
};

partition@100000 {
label = "dtb";
reg = <0x100000 0x10000>;
read-only;
};

partition@110000 {
label = "kernel";
reg = <0x110000 0x400000>;
read-only;
};

partition@510000 {
label = "rootfs";
reg = <0x510000 0xAF0000>;
};
};
};
};

最后:

[ 0.918276] Creating 4 MTD partitions on "spi0.0":
[ 0.923197] 0x000000000000-0x000000100000 : "u-boot"
[ 0.930860] 0x000000100000-0x000000110000 : "dtb"
[ 0.938055] 0x000000110000-0x000000510000 : "kernel"
[ 0.945687] 0x000000510000-0x000001000000 : "rootfs"

成功!

最近编辑记录 h8416 (2020-07-07 19:33:39)

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn


东莞哇酷科技有限公司开发