This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] 对 eMMC 进行分区和格式化时出错

Guru**** 2614265 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/580222/error-occur-while-partitioning-and-formatting-emmc

我使用"DRA7xx_GLSDK_Software_Developers_Guide"提供的方法对 eMMC 进行分区和格式化。

我 继续执行命令"./mk-eMMC-boot.sh --device /dev/mmcblk1,几次后,当系统将文件系统复制到/dev/mmcblk1p2时,会出现错误。 日志是:

正在准备复制...
ext4-fs (mmcblk1p2):已安装的具有有序数据模式的文件系统。 OPTS:(空)
将引导映像从/dev/mmcblk0p1复制到/dev/mmcblk1p1
将文件系统从/dev/mmcblk0p2复制到/dev/mmcblk1p2
无法处理虚拟地址3f0f490f 上的内核分页请求
PgD = e9728000
[3f0f490f]* PgD=00000000
内部错误:Oops:805 [#1]抢占 SMP ARM
链接的模块:m25p80 dwc3_OMAP
CPU:1 PID:1476 Comm:CP 被污染:G          O 3.14.63 #10
任务:ea360dc0 ti:e19f0000 task.ti:e19f0000
PC 位于 get_page_from 自由译员+0x268/0x574
LR 位于 get_page_for_freeist+0x108/0x574
PC:[ ]   LR:[ ]   PSR:20000093
SP:e19f1c30 IP:e19f1c30 FP:e19f1cb4
R10:00000000 R9:000001c1 R8:eb514360
R7:2a02b000 R6:c0741310 R5:60000013 R4:c0796a00
r3:3f0f490f r2:ea76c32c r1:ea76c328 r0:00000001
标志:nzCv 在  模式 SVC_32 ISA ARM 段用户上关闭 FIQ 的 IRQ
控制:10c5387d 表:a972806a DAC:00000015
进程 CP (pid:1476、栈限制= 0xe19f0240)
堆栈:(0xe19f1c30至0xe19f2000)
1c20:                                    000001c1 00000000 e19f1c94 e19f1c48
1c40:00000001 00000018 c0797200 c01677fc 0055b000 00000000 00000000 00000000
1c60:ea76c32c 00000001 c0797204 ea76c328 ffff 00000001 00000000 000213da
1c80:2a02b000 c0796a00 c073dc94 000213da 00000000 00000581 c0797200 00000020
1ca0:00000000 00000005 e19f1d64

…………

--[结束线迹 f264b9353c09b6b1]---
修复递归故障、但需要重新启动!

似乎是系统崩溃、我对 eMMC 进行分区和格式化的步骤是否有问题?

P.S. 尽管出现错误、但我仍然移除了 micro-SD 卡并重新启动、系统仍然可以启动、看起来像 eMMC 编程成功。

此致

肖恩

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Shawn、

    我已将您的问题转交给 eMMC 专家。

    此致、
    Yordan
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Yordan、您好!

    专家团队是否有任何消息?

    此致、
    肖恩
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Shawn、

    我将对它们执行 ping 操作。

    此致、
    Yordan
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    这是在 TI DRA7x EVM 上还是在定制板上?

    请将从 u-boot 开始的完整引导日志共享到错误。

    也可以在内核提示符下运行以下命令、并让我知道输出

    "fdisk -l /dev/mmcblk1

    此致、

    RK

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 RK、

    EVM 上。 (定制板上也会发生相同的情况)

    EVM 的日志为 e2e.ti.com/.../boot_5F00_info2.txt

    EVM 的命令输出为

    root@dra7xx-EVM:~# fdisk -l /dev/mmcblk1

    磁盘/dev/mmcblk1:7.3 GiB、7784628224字节、15204352扇区

    单位:1 * 512 = 512字节的扇区

    扇区大小(逻辑/物理):512字节/512字节

    I/O 大小(最小值/最佳值):512字节/ 512字节

    disklabel 类型:DOS

    磁盘标识符:0xd6096cfa

    器件     启动  启动   结束 块 ID 系统

    /dev/mmcblk1p1 *     2048  133119 65536 c W95 FAT32 (LBA)

    /dev/mmcblk1p2     133120 15204351 7535616 83 Linux

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!
    我查看了日志、它似乎更多地是 VFS/文件系统问题、而不是 MMC 卡/驱动程序问题。

    这种可重复性是否一致? 如果您重新启动并尝试、您是否仍然看到问题。
    此外、当您说在 EVM 和定制板上都发生这种情况时、您是否使用了相同的 SD 卡?

    如果是、请尝试以下操作:

    1.执行“同步”和“重新启动”电路板,启动后在 SD 卡的 rootfs 分区上运行 fsck (/dev/mmcblk0p2)
    -如果问题是由于在强制关闭期间可能发生的文件系统错误(但可恢复的错误)而导致的,则应解决此问题。
    2.如果在#1之后仍然出现问题、请重新格式化同一 SD 卡并重试。 确保在下载发行版时验证 md5sum。
    -如果文件系统在提取/格式化过程中损坏,则应解决此问题。
    3.尝试使用其它 SD 卡或大于4GB 的卡

    请告诉我结果。

    此致、
    RK
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 RK、

    很抱歉、有一些错误信息、让我向您澄清一下。
    1.我使用我们的自定义电路板配置来构建映像、并在自定义电路板上启动、在我尝试更新 eMMC 后、会发生类似 e2e.ti.com/.../boot_5F00_info_2800_custom_2900_.txt.(always这样的错误)

    有时错误消息是"无法处理虚拟地址2b524000 PgD = c0004000"、有时是"无法处理虚拟地址00000000 PgD = e43ec000处的内核 NULL 指针解除引用"
     如果我使用 EVM 配置来构建映像、则在更新 eMMC 后没有错误。
    我使用相同的 SD 卡、因此我认为 SD 卡应该可以。

    在我与我们的硬件成员确认后、EVM 板和定制板之间的 eMMC 模块会有所不同。
    EVM 板使用:MTFC8GLWDM-3M AIT Z
    客户电路板使用:MTFC4GMWDM-3M-AIT
    我是否应该修改任何文件以适应此更改?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    您能在下面澄清一下吗?

     如果我使用 EVM 配置来构建映像、则在更新 eMMC 后没有错误。
    我使用相同的 SD 卡、因此我认为 SD 卡应该可以。

    它只是不同的内核配置、还是您在不同的电路板上尝试?

    此致、

    RK

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 RK、

    这两个配置都在 EVM 板上进行测试。

    我使用定制电路板配置从 EVM 电路板引导、仍然可以引导至内核。

    但在尝试 mk-eMMC-boot.sh 时出错

    我已经检查了 DTS 文件设置(e2e.ti.com/.../dts.7z)、但找不到问题。

    我应该检查其他文件吗?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 RK、

    问题已解决。 在我检查 EVM.c 中的 EMIF 设置(SDK/board-support/u-boot/board/ti/...)后
    由于我们的定制板会更改存储器大小、因此设置已为此进行修改
    原始:#define board_ti_get_emif_size ()board_ti_get_emif1_size ()+ board_ti_get_emif2_size ()
    我们的设置:#define board_ti_get_EMIF_SIF_SIZE ()(2147483648UL + 1)/* 2GB */

    因此、我更改为原来的 μ,并使用 mk-eMMC-boot.sh 命令成功更新 eMMC。
    感谢您的大力支持。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    很高兴听到这个消息。
    感谢您的更新。

    此致、
    RK