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.

[参考译文] Linux/BEAGLEBK:用于生产的 BeagleBone Black 闪存 eMMC

Guru**** 2540720 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/757606/linux-beaglebk-beaglebone-black-flash-emmc-for-production

器件型号:BEAGLEBK

工具/软件:Linux

大家好、

我需要一种在 BeagleBone Black eMMC 上刷写映像以用于生产(和开发)的解决方案。

阅读 以下内容后、我有一些问题/要求:http://processors.wiki.ti.com/index.php/Sitara_Linux_Program_the_eMMC_on_Beaglebone_Black

1.以上链接中描述的解决方案需要 Flasher 映像,其中包括自定义的 u-boot、SPL、设备树和 zImage (包括 rootfs)以及 Flasher 脚本。 这些文件是否可供下载、以便我们无需从头开始配置和构建它们?

2.我需要将 eMMC 分区到多个分区。 该解决方案能否实现这一目标? 请说明。

3.我认为这是在没有 SD 卡的情况下对 eMMC 进行编程的最简单的解决方案。 如果不是、我很乐意了解其他解决方案。

感谢你的帮助!

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

    请注意、可能会延迟回复、因为可以评论的人员已不在办公室。 很抱歉给您带来不便。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    嗨、Matt、谢谢您的发帖。

    感谢您阅读文档。 它有点旧、过时、因此我可以理解您的困惑。 当然、当我们对即将发布的5.2版本进行一些更改时、它应该立即进行更新、以帮助完成此过程。

    [引用 user="Matt Tsai52]1. 以上链接中所述的解决方案需要 Flasher 映像、其中包括自定义的 u-boot、SPL、器件树和 zImage (包括 rootfs)以及 Flasher 脚本。 这些内容是否可供下载、以便我们无需从头开始配置和构建?

    即将推出的5.2版将提供除 Flasher 脚本之外的所有所需内容。 我可以私下向您提供一个示例。 它是 SDK 随附的 sdcard_create 脚本的轻微修改版本。 此文件可以是特定于系统的,并且可以轻松修改以添加更多分区、更改其大小等。

    [引用 user="Matt Tsai52"]2. 我的要求是将 eMMC 分区到多个分区中。 该解决方案能否实现这一目标? 请说明。[/报价]

    是的、请参阅上述内容并查看 sdcard_create 脚本以了解其工作原理。

    [引用 user="Matt Tsai52"]3. 我认为这是在没有 SD 卡的情况下对 eMMC 进行编程的最简单解决方案。 如果不是、我很乐意了解其他解决方案。[/引述]

    对于用于开发和生产的板载闪存、是的、这是推荐的方法。 不过、"最简单"的生产方法是让您的闪存芯片由编程机构或制造商进行预编程。 都有上下两个电阻。

    希望这能解答您的问题。 如果没有,请告诉我可以澄清的内容。

    谢谢。

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

    感谢您在假期即将到来时及时响应。

    以下是我对您回答的问题、请帮助:
    我使用 Yocto 构建系统、meta-ti 的方法构建映像、而不是使用 TI SDK 构建映像。 因此、如果我不需要使用另一个构建系统(TI SDK)、我会非常高兴。 您能否指出我可以从何处获取 Flasher 脚本?

    2.我迫切需要解决这一问题。 您能否帮助提供必要的闪光灯图像以及如何刷写我自己的图像的说明?

    如果我正确理解您、这些将有助于我解决问题。 如果不是、请说明。

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

    Matt、

    [引用 user="Matt Tsai52]1. 我使用 Yocto 构建系统、meta-ti 的方法构建映像、而不是 TI SDK。 因此、如果我不需要使用另一个构建系统(TI SDK)、我会非常高兴。 您能否指出我可以从何处获取 Flasher 脚本?

    当然、您应该能够从 Yocto 构建。 您只需构建一个可引导并刷写 eMMC 的系统即可。 这一切都必须基于您的电路板及其配置。 本质上、您正在构建一个可以从 USB 或以太网引导的映像。 这通常与您将从 eMMC 运行的生产系统不同。 因此、您通常具有不同的 U-boot def 配置、可能还有不同的内核配置。 我需要将脚本秘密发送。

    [引用 user="Matt Tsai52"]2. 我迫切需要解决这一问题。 您能否帮助提供必要的闪光灯图像以及如何刷写我自己的图像的说明?[/引述]

    我无法提供映像、因为映像需要基于已移植到电路板的 U-Boot 和内核。 因此、您需要根据以上内容进行构建。文档提供了良好的概述、只需根据您的情况进行一些调整。

    我希望这对您有所帮助。

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

    我阅读了链接 processors.wiki.ti.com/.../Sitara_Linux_Program_the_eMMC_on_Beaglebone_Black 中描述的方法
    再次进行。 结合您的回答、我对该方法还有其他疑问:

    1.链接中提到了短语"从 USB 引导"、这是否意味着 USB/RNDIS (类似于 USB 上的以太网)接口? 还是使用了 USB 主机接口? 请澄清。

    2.也许我仍然不能完全理解这种方法。 请解释我在下面写的内容是否不正确。
    此方法是否需要 eMMC 上的初始 u-boot 和 SPL 图像? 还是通过 USB/RNDIS 接口自动将初始 Flasher SPL 映像和 u-boot 映像加载到器件 RAM 中? 如果后一种情况属实、您能否解释一下器件如何获得正确的配置、以便最初从主机 PC 加载 Flasher SPL 和 u-boot 映像?

    3.需要从 Yocto 默认 u-boot 配置(AM335x_EVM_defconfig)修改哪些内容才能将闪存器 u-boot 构建为"boot from USB"? 或者默认配置已经支持"从 USB"引导?

    4.我们是否可以将“Tiny Flasher 文件系统”(AM335x_Tiny_filesystem.tar.gz)与我们的定制内核一起使用? 如果是、您还能给我发送吗? 如果这也需要我们自己构建、initramfs 是否有大小限制? 我当前的 rootfs 大约为17MB (压缩),我想知道它是否太大?

    5.我看到 Flasher 脚本使用"sfdisk "实用程序。 我的 rootfs 包含"fdisk"、而不是"sfdisk"。 如何在使用 Yocto 构建系统的 Flasher rootfs 中包含"sfdisk"实用程序?


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

    Matt、  

    以下是您的问题的一些答案。 我希望它们对您有利。

    [引用 user="Matt Tsai52]1. 该链接提到了短语"从 USB 引导"、这是否意味着 USB/RNDIS (类似于 USB 以太网)接口? 还是使用了 USB 主机接口? 请澄清。[/报价]

    USB/RNDIS

    [引用 user="Matt Tsai52"]2. 也许我仍然不能完全理解这种方法。 请解释我在下面写的内容是否不正确。
    此方法是否需要 eMMC 上的初始 u-boot 和 SPL 映像才能正常工作?

    [引用 USER="Matt Tsai52"]或者初始 Flasher SPL 映像和 u-boot 映像会自动通过 USB/RNDIS 接口加载到器件 RAM 中?

    是的

    [引述 USER="Matt Tsai52"]如果后一种情况属实,您能解释一下器件如何获得正确的配置,以便从主机 PC 初始加载 Flasher SPL 和 u-boot 映像吗?

    器件的 Sysboot 引脚由 ROM 引导加载程序(RBL)进行采样、引导位置为。 支持的源之一是使用 BOOTP 协议的 USB/RNDIS。

    [引用 user="Matt Tsai52"]3. 需要从 Yocto 默认 u-boot 配置(AM335x_EVM_defconfig)修改哪些内容才能将闪存器 u-boot 构建为"boot from USB"? 或者默认配置已支持"从 USB"引导?[/quot]

    默认配置支持它。  

    [引用 user="Matt Tsai52"]4. 我们是否可以将"微型 Flasher 文件系统"(AM335x_Tiny_filesystem.tar.gz)与我们的定制内核一起使用? 如果是、您还能给我发送吗? 如果这也需要我们自己构建、initramfs 是否有大小限制? 我当前的 rootfs 大约为17MB (压缩),我想知道它是否太大?

    只要它适合 DDR、它就应该起作用。 我认为、微型封装大约是尺寸压缩的一半。

    [引用 user="Matt Tsai52"]5. 我看到 Flasher 脚本使用"sfdisk "实用程序。 我的 rootfs 包含"fdisk"、而不是"sfdisk"。 如何在使用 Yocto 构建系统的 Flasher rootfs 中包含"sfdisk "实用程序?

    更当前的方法是使用 parted。 或者,如果您知道要处理的大小,则只需忽略 sfdisk 并对分区的大小进行硬编码即可。 请查看 SDK /bin 目录中的 create-sdcard 脚本、以了解执行此操作的更新方法。

    或者,通过 Yocto 添加 sfdisk 不应太困难。 可通过 Yocto 获取。

    我再次希望这对您有所帮助。

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

    谢谢你。 这些主要回答了我的疑问。 我要试一下。 在我将其标记为已解决之前、还有一个问题:
    该指令不清楚需要修改哪些内容(硬件和软件)才能从以太网引导。 您能不能指出、或者是否有单独的说明?

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

    您需要对 sysboot 引脚进行操作、以便通过将相应的引脚拉低或拉高来选择以太网引导选项。 技术参考手册的第26章初始化对引脚和选项进行了说明。

    我希望这对您有所帮助。 谢谢你。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Ron:

    谢谢你。 我将首先尝试 USB 解决方案、因为这涉及硬件修改。