我一直在尝试在我的树莓派 4板。但是,我甚至无法实现运行引导程序正确。主板启动没有任何问题,并开始运行引导程序。 这引导程序然后尝试读取 SD 卡的内容,但无法读取。终端屏幕如下所示:
U-Boot 2021.01 (Aug 07 2021 - 16:54:46 +0300)
DRAM: 7.9 GiB
RPI 4 Model B
MMC: mmcnr@7e300000: 1, emmc2@7e340000: 0
Loading Environment from FAT... ** No partition table - mmc 0 **
... (Some unrelated info here)
switch to partitions #0, OK
mmc0 is current device
** No partition table - mmc 0 **
Card did not respond to voltage select! : -110
我相信我的 SD 卡分区没有问题,因为我已经仔细遵循了 SD 卡准备教程。在这里您可以看到fdisk
下面工具生成的输出。
Disk /dev/mmcblk0: 119,9 GiB, 127865454592 bytes, 249737216 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xbb50dfe5
Device Boot Start End Sectors Size Id Type
/dev/mmcblk0p1 * 2048 249737215 249735168 119,1G c W95 FAT32 (LBA)
每当我调用mmc part
或fatls mmc 0:1
命令时,我都会看到以下错误提示。
U-Boot> mmc part
## Unknown partition table type 0
U-Boot> fatls mmc 0:1
** No partition table - mmc 0 **
您认为我做错了什么?我应该如何继续寻找解决方案?
顺便说一下,引导程序我使用的编译版本是aarch64-rpi4-linux-gnu-gcc
并从主线克隆的回购。
SD卡的前512个字节如下。
0000000 58eb 6d90 666b 2e73 6166 0074 4002 0040
0000010 0002 0000 f800 0000 0010 0004 0800 0000
0000020 a800 0ee2 7740 0000 0000 0000 0002 0000
0000030 0001 0006 0000 0000 0000 0000 0000 0000
0000040 0180 9829 1a87 5662 4c4f 4d55 5f45 414e
0000050 454d 4146 3354 2032 2020 1f0e 77be ac7c
0000060 c022 0b74 b456 bb0e 0007 10cd eb5e 32f0
0000070 cde4 cd16 eb19 54fe 6968 2073 7369 6e20
0000080 746f 6120 6220 6f6f 6174 6c62 2065 6964
0000090 6b73 202e 5020 656c 7361 2065 6e69 6573
00000a0 7472 6120 6220 6f6f 6174 6c62 2065 6c66
00000b0 706f 7970 6120 646e 0a0d 7270 7365 2073
00000c0 6e61 2079 656b 2079 6f74 7420 7972 6120
00000d0 6167 6e69 2e20 2e2e 0d20 000a 0000 0000
00000e0 0000 0000 0000 0000 0000 0000 0000 0000
*
00001f0 0000 0000 0000 0000 0000 0000 0000 aa55
答案1
这似乎是一个问题:
/dev/mmcblk0p1 * 2048 249737215 249735168 119,1G c W95 FAT32 (LBA)
按照U-Boot 维基百科页面u-boot 仅支持 FAT,不支持 FAT32。U-Boot 手册也没有提到它,只是普通的 FAT。